MinaClub is the leading Chinese Mina Protocol community group and recently they were able to interview the two co-founders of #ZKPASS a revolutionary Snapp that was created at the recent Mina Bootcamp. It is causing some excitement in developer circles due to it’s great potential for application in the blockchain world. Below is a transcript version of the original interview.
MinaClub: Could you please tell us a little bit about yourselves?
Coldstar: My name is Coldstar, I have been working as an R&D engineer in a first-tier internet company and a large commercial bank in China, and then gradually moved into the blockchain field in 2007. I had been focusing on exploring Ethereum before, and then occasionally I learned about Mina at the end of 2020, when I was immediately attracted by “22kb”.
Comdex: My name is Comdex, I previously worked as an R&D engineer in a well-known domestic Internet company, and started to explore the blockchain field in early 2018. It was also an occasional opportunity to get to know Mina at the end of 2020. at that time, I asked Coldstar to study it together and later joined the testnet and became a member of Genesis.
MinaClub: Thank you. It’s been four or five years since Mina was launched in and we’d like to hear about your story with Mina from the Mina test site to the main site…
Comdex: I was surprised by the 22kb blockchain size advertised by Mina and was curious about how it was achieved when I knew Mina occasionally at the end of 2020, so I asked Coldstar to study it together and started to check the various official documents and white-papers.
There is no doubt that the Mina’ node deployment and operation was relatively simple compared to other chains. Although I encountered a lot of problems during the process of participating in testnet, I could always get help from the enthusiastic and friendly community, and the Mina team also dealt with every testnet problem very quickly
It’s very lucky for me to be selected as a Genesis member in the end finally. when Mina was about to launch its mainnet, a few friends from Coldstar and I saw that there was no wallet client available at that time, so we collaborated again to develop a Wokey mobile wallet client for Mina that could support offline cold wallets. Coldstar and I have been keeping an eye on Mina’s Snapps, so we were the first to participate in this Bootcamp.
Coldstar: Yes. Because blockchain size is one of the industry clichés that affects how decentralized the network is, I was also immediately drawn to Mina’s 22kb feature, Which there had never been a blockchain that really addressed this issue in a meaningful way. I’ve since kept an eye on it and participated in the testnet, but unfortunately didn’t end up ranking high enough to become a Genesis member. We keep brainstorming and sharing our research with each other 2-3 times a week, and we hope to build an innovative product based on Mina.
MinaClub: Wokey Wallet was also the wallet project that got grant last quarter , and as for the Snapp case, it’s been officially brainstormed, and you guys have been brainstorming 2-3 times a week, which is really quite empowering! So next, could you both share what excites you as a developer to be involved in this Mina Bootcamp?
Coldstar: The Mina Bootcamp was very emotional and rewarding. during the Bootcamp we were in the early morning in GMT+8 time zone, so Comdex and I would have started to sleep first at 23:00 and got up at 1:45 on the alarm clock, but unfortunately we couldn’t sleep every time. Probably because I had been really looking forward to Snapps’ generic zero-knowledge proof beforehand and was still very excited. But we did all get very sleepy by the time we heard the mid to late part, so we cheered each other on to persevere.
What I was excited about was learning how to use SnarkyJS to bring my ideas to life step by step. Secondly, in the final project selection, the video was a brain-teaser to see the many equally passionate Mina fans and their various great creations. Of course, it was very embarrassing that I presented ZKPass in English and timed out.
Comdex: Yes, it was very exciting to see how easy it was to apply zero-knowledge proofs to the Dapp using SnarkyJS. Although the development time was very short, we were pleasantly surprised that the idea of ZKPass was officially approved.
MinaClub: What excites you about being involved in the Mina Builder Program?
Coldstar: It was a great honour to be selected to participate in the Builder Program at Bootcamp.
Being part of the Builder Program means that ZKPass will be able to grow by supporting directly by O(1) Labs which it’s what our team is looking forward to. In addition, we were able to exchange experiences and suggestions on the SnarkyJS toolkit with the Mina team as we progressed. It will be very exciting and rewarding when the Mina ecosystem grows and the SnarkyJS we have worked on is utilised by many Snapps developers
Comdex: The most exciting thing about participating in the Mina Builder Program is the hands-on support and resources we will receive from the Mina team, which will help us to better develop and launch our Snapps, and it will be very rewarding to work closely with them to improve the Snapps development kit.
MinaClub: Both of you have been engaging with Mina Protocol for a whole few years, and as developers, companionship is the longest confession, right? From testnet, mainnet, Wokey Wallet, Bootcamp to Bootcamp Builder program, now let’s talk about #ZKPass. Introducing ZKPASS please, what is the key problem that zkpass is trying to solve?
Coldstar: ZKPass is a cryptographic authenticator based on Mina’s Zero Knowledge Proof and acts as a user’s pass to the cryptographic world.
ZKPass transforms wallet addresses into friendly, readable and easy-to-remember identifiers similar to the Ethereum ENS, and gives you full control over your encrypted identity without the fear of losing your private key through an unmanaged email social recovery solution.
Through Mina Protocol’s the unique ZK Oracle zero-knowledge proof solution , ZKPass can bring in real-world attributes such as the user’s real and valid identity tag according to the user’s wishes, while maintaining privacy, allowing users to bind multiple chain addresses and verify their social accounts to make their encrypted identity more valuable. At the same time, through these real and valid off-chain data and users’ on-chain behaviour data to form the users verifiable reputation, the users’ encrypted identity formed based on ZKPass can ensure the uniqueness of the user and be integrated by all Snapps in the ecosystem through SSO services, which can be used to avoid Bots (e.g NFT or airdrop campaign) and achieve more valuable voting governance to maintain fairness users will also get more potential airdrop opportunities and additional incentives from the Dapp.
Users can use ZKPass without revealing their external wallet address, which will better protect their privacy through the separation of authorisation and asset control identity keys. We also plan to introduce a contract wallet feature to support a certain level of privacy for transactions.
MinaClub: Wonderful! What are the other solutions in the market now? What is the the advantages of #ZKPass?
Comdex: OK, I’ll answer that one! We have been paying attention to some great DID projects BrightID, Civic, Uport and Litentry, which is overlap to ZKPASS. However, there are significant differences in the details of how we implement them,
For example, BrightID wants to solve the problem of identity uniqueness by creating and analysing social graphs, but there are many problems with this, such as the need to participate in video conferences in order to obtain a higher level of identity, which requires volunteers to organise identity matching and authentication. This is both a privacy concern and very inefficient.
The existence of the ‘authority’ that is Civic’s identity verification body, for example, is still, in my view, highly ‘centralised’.
In contrast to them, we feel that our strengths lie mainly in the fact that firstly, users can bring in their real world data through ZKPass in a permission-less way, without having to interface with or go through a third party data processor, reducing the leakage of personal privacy, while at the same time revealing the data that the user is willing to display by generating zero-knowledge proofs, which is not only cryptographically verifiable but also makes this data non-guaranteed by a third party witness.
This is even more valuable. We can also enable unmanaged social recovery of emails so that users do not have to worry about losing their private keys and this is not handled by a centralised third party.
MinaClub: Next question: What is the ultimate product form for #ZKPass?
Coldstar: Haha! The final product will be a browser-only web service that connects to various Dapps via SSO, and the code will be open source so that users can run a web service by themselves.
MinaClub: After talking about #ZKPass, we all know that Mina has created the concept of Snapp, which simply means Snapp=Dapp+Privacy (ZKP), and Snapp=Dapp+privacy+off-chain data+scalability.
Coldstar: We are very excited to see how soon Mina’s ZK Oracle will be implemented. Through ZK Oracle, Snapps can privately interact with any website and access verified real-world data for use on chain, which allows us to protect user privacy while obtaining valuable data for different use cases.
Mina’s Snapps is an off-chain computation model that is not constrained by on-chain resources, so it will be more scalable. This will bring more meaningful use cases for Snapps, verifying users’ addresses on different public chains and providing better interoperability with common Internet infrastructures.
In addition, as it is difficult to run more complex computations in the browser, we expect that Snapps will be able to generate zero-knowledge proofs for privacy-insensitive computations in the future through third parties using specialist server proxies.
MinaClub: Vitalik said that the next 10 years will be the mainstream era for ZK-SNARK, and the next may be the golden decade of ZK development, how do you think of the development of ZK-Snark, and what role can Mina play in this wave of technological change in ZK development?
Coldstar: There are already many application cases based on ZK-SNARK, such as Zcash using ZK-SNARKS to protect privacy, and Ethereum through ZK-sync and other ZK-Rollups to achieve scalability, ZK-SNARK technical solutions have been slowly promoted, we believe that with the development and maturity of zero-knowledge proof technology, the whole society will pay more attention to personal privacy. As the first open source public chain and explorer to implement recursive zero-knowledge proof verification and universal zero-knowledge proof smart contracts based on ZK-SNARK, Mina is at the forefront of the development of ZK-SNARK technology and will better promote the application and promotion of zero-knowledge proof technology.
It will better promote the application and promotion of zero-knowledge proof technology and also provide more valuable use cases for ZK-SNARK technology.
MinaClub: Polygon has acquired ZK’s HEZ and MIR this year, and is also ambitious to make a ZK empire. Aleo, NYM and Ironfish, Startware, Antec and other ZK series projects are really springing up, but Mina does have his own advantages.
Highlights: the first implementation of recursive zero-knowledge proof verification and generic zero-knowledge proof smart contracts based on zk-snarks. Thanks to @wcomdex @coldStar3991 for sharing and looking forward to working with the official development together and then bringing the product to everyone.
Community Q&A Session:
How does ZKPass combine with Mina to verify the authenticity of an identity? Does it require all systems in the real world to be connected to Mina in order for Mina to obtain proof of true identity?
Comdex: I’ll start by replying to this question about how ZKPass works with Mina to verify the authenticity of users. This solution allows users to connect to third-party websites via Snapp in their browser and access personal data from the third-party websites to generate zero-knowledge proof.
For example, if you register an account in Binance.com and conduct KYC, Binance will store your KYC information; you can access Binance with API through ZKPass to obtain your KYC information. The behaviour of accessing Binance with API through ZKPass takes place in the browser, and only you know the username and password to access it, and this information is not disclosed to us.
The great thing about ZK Oracle’s solution is that you can access your own personal information in your browser and generate zero-knowledge proofs without giving away your privacy to us. This process is known only to you and the third-party website, and we do not need the third-party website’s consent to authenticate that the data they have given us is actually from that website.
So we don’t need real-world systems to access Mina, for this can solve many problems, for example If some projects want to hold airdrop campaign, they will have policy risk considerations, because they can’t airdrop to Americans and North Koreans, etc.; Users through this solution, can privately connect to some credible data sites such as Binance to generate a proof that they are not Americans or North Koreans, without having to reveal their real nationality and name. Even for all projects, they can also filter the Bot accounts which manipulate the market.
From the experience of developing ZKPass, is it possible to build a DeFi platform on Mina? If so, what are the advantages over the DeFi platform for ethereum?
Comdex: Mina’s Snapp is fully capable of building a DeFi platform, Snapp is Turing-complete and basically anything Mina can do with Ethereum is possible. The ZK Oracle solution, as mentioned earlier, can introduce real-world identity tag data of users while ensuring privacy, which can lead to many more meaningful use cases, such as building an on-chain credit system, where the DeFi project gives airdrops to users with specific identities, and perhaps also enables on-chain credit lending without collateral, I think it’s still also a direction worth exploring.
Will it be similar to ENS domain name when we use ZKPass, do I need to purchase and renew the domain name on a yearly basis like ENS? Will it be similar to ENS domain name after we use ZKPass, do we need to purchase and renew the domain name on a yearly basis like ENS?
Coldstar: ZKPass is primarily an identity DID project, which is fundamentally different from decentralised domain projects like ENS. For ZKPass users the identifier is a nickname that the user can customize and register, this name must be unique (identified upon registration) and non-tradable and non-transferable, so there is no renewal.
Thank you very much for your sharing, I would like to ask Mina, as a dedicated public chain with privacy and light weight, how do you see its relationship with storage public chains like AR (after all, 22kb is enough to save storage space), will it compete or is there a possibility of synergy, and if so, will it take the route of “individual independent storage space + private protection, enhanced decentralization”? If so, will it go the route of “individual independent storage + private protection, enhanced decentralisation”? If not, what are the chances of Mina winning in the end?
Comdex: That’s a good question, so I’ll answer it. We think that since Mina chooses to store data off-chain in order to keep itself light and more decentralized, this will inevitably have the problem of data availability, so it will be a synergistic relationship with storage public chains like AR/Fil to ensure that users can access their data at any time with the help of storage public chains. For the route of personal independent storage space + privacy protection, I actually look forward to the development of this too. This is too big a question, data storage has always been a very challenging area, I can’t really say, haha!
You can find out more about ZKPASS on our dedicated website www.snappsformina.com