Community

Meet the zkApp Builder — Marek Narozniak

Learn more about Marek and his first zero knowledge smart contract, LendApp.

Seeking a greater challenge as a Software Engineer in Hong Kong, Marek Narozniak decided to leave his job to work on topological quantum computing while also pursuing a Ph.D. in Physics at New York University. When his ex-colleague, Vimukthi Wickramasinghe, told him about Mina, he was instantly drawn because of his works’ similarities to programming Mina zk-SNARKs — calling it “a different and exotic paradigm of computation.”

They then teamed up to join the Spring 2022 zkApps Builders Program, helping to further build out the Mina developer ecosystem and experience. Learn more about Marek and his first zero knowledge smart contract, LendApp. (Interview has been edited for clarity).

Mina zkApp Builder profile picture and quote by Marek Narozniak

Tell us about the zkApp you and Vimukthi (aka Vim) built together.

​​Vim and I built LendApp, a zero-knowledge lending app allowing you to prove your credit capabilities without revealing sensitive data. With both of our interests in zk-SNARKs, we decided to build this app on Mina because, to my knowledge, zkApps have the most convenient framework for working with zk-SNARKs. I have tried to learn to use Bulletproofs in the past but it was very difficult to get started— impossible to compare with what o1js (formerly SnarkyJS) offers in terms of user-friendliness and convenience.

Initially, we wanted the app to be based on signed strings (like letters from the bank) but there was no string type so we moved to serialized objects. Eventually, we adjusted the design to fit what o1js (formerly SnarkyJS) offers and it worked.

What did you enjoy most about your zkApp building journey?

When I first joined the zkApp Builders Program, I was completing my Ph.D. and hesitating if I should start my own venture to live off building my own ideas. The program gave me a huge confidence boost to go in that direction!

Everyone was open-minded and the zkApp core developers dedicated a lot of time and resources to help us so that we could all finish our projects. In the process, I learned a lot about designing off-chain contracts and all of the program participants inspired many new ideas that I think about currently.

Were there any challenges you faced while building LendApp?

Of course, plenty! Minor challenges like debugging as well as very complicated problems such as how to design the zk-SNARK circuit. The entire project was one big and exciting challenge.

What is the next step for your zkApp now? 

Vim and I built a proof of concept, which is accessible and anybody is welcome to pick up from where we left off. I would be open to continuing to work on it, but I am also interested in working on another project idea that I have in mind. I am looking for a grant — let’s keep our fingers crossed!

If you’d like to support me in my future Mina projects, please consider nominating me for a grant here.

Why are you excited about Mina?

When I was at the beginning of my programming journey, I felt fascinated by computing devices and honestly, was very jealous of my elder colleagues who learned programming on more primitive computers. Lack of resources, scarce computing power, and memory were motivating them to come up with more clever designs while those in my generation are spoiled and allowed to waste huge amounts of those resources on simple ‘Hello World’ programs. 

When I started to work with zkApps I felt like one of those people who had to deal with those weak computers many years ago. They struggled with limited processor cycles and memory and zkApp builders also need to optimize their designs as resources for zk-SNARKs improve over time. This is new and fresh technology and I am excited that I am one of the first people to explore its potential.

What is your dream ZK use case or app?

A completely decentralized national ID oracle system. It would allow people to produce digital signatures associated with cryptographic proof of having a valid national ID. I want this system to not require a trusted setup (apart from the Government issuing the ID) and for it to be immune to Sybil attacks (by requiring to burn value to produce a verification).

This kind of project could have a huge social impact and I believe zk-SNARKs are the perfect tool to build it. For instance, people could independently produce polls showing their attitude towards current policies and independently show election data that cannot be centrally manipulated by people counting votes.

 

You can join Marek on his zkApps journey by getting on the zkApps Beta Testers Leaderboard where you’ll learn the basics of building ZK smart contracts by completing zkApp test challenges for points. To provide a better experience, participation is being opened up in waves – sign up to join the zkApps Beta Testers Leaderboard now

If you’re interested in connecting with Marek, find him on the Mina Discord channel as renzokuken#7142 or on Twitter, GitHub, LinkedIn, or their website.

추가 블로그 글

모든 포스팅 확인
Retro / 2024-03-21 / Vitor Silva
Upgrade Mechanism Testing Retrospective
Track 3 allowed for the testing of various loads and helped uncover issues which have since been resolved. As a result, an optimal configuration was identified, and the release candidate for the Mainnet Upgrade is ready.
추가 자료
Learn / 2024-03-15 / Will Cove
Introducing ‘httpz’: the internet you can trust
추가 자료
Community, Events / 2024-03-13 / Mina Protocol
BUIDL with Mina Protocol at ETH Seoul 2024
추가 자료
Announcement / 2024-03-12 / Mina Foundation
zkIgnite, Cohort 3 Funded Projects
추가 자료

기술 살펴보기

AboutTechCta

Mina uses advanced cryptography and recursive zk-SNARKs to deliver true decentralization at scale.

시작하기

GetStartedCta

Mina makes it simple to run a node, build and join the community.