Coinbase Interview with Mina CEO: ZK-SNARKs are encryption magic

Coinbase Interview with Mina CEO: ZK-SNARKs are encryption magic

Loading

Evan, CEO of Mina Foundation, was a guest at Coinbase Speaker Series in June 2019 with host Justin Mart to chat about the development of Mina. Although it is an old video, the content inside is very exciting and worth reading.

Organizing and translation: MinaClub

Mina Protocol received a seed round of funding from Coinbase Venture as early as the second quarter of 2018. Coinbase, as a super giant in the universe, is also the temple in the hearts of all projects in the blockchain industry. When will the projects that can be invested by Coinbase Venture be obtained? On the Coinbase exchange? Everyone knows that they will not come but will only be late.

Coinbase Speaker Series is a live chat interview program of Coinbase Venture on Youtube. Blockchain celebrities who have talked to include: Ethereum founder V God, Litecoin founder Charlie, Paradigm co-founder Fred Ehrsam, A16Z partner Vijay Pande, etc. , Are all top institutions in the blockchain industry, technical masters, and innovative changers in the encryption industry.

Coinbase interview with Mina CEO | Justin says ZK-SNARKs are crypto magic

Evan, CEO of Mina Foundation, was a guest at Coinbase Speaker Series in June 2019 with host Justin Mart to chat about the development of Mina. Although it is an old video, the content inside is very exciting and worth reading.

MinaClub organizes the interview content into a text version, and takes everyone through 2019. At that time, Evan was still tender and Mina Protocol was also called Coda Protocol

It should be noted that the predecessor of Mina Protocol is Coda Protocol. Due to name infringement issues, the brand upgrade was completed in September 2020. Most of this article will replace Mina Protocol with Coda Protocol.

Coinbase interview with Mina CEO | Justin says ZK-SNARKs are crypto magic

Justin: Welcome to the Coinbase Speaker Series, I want to quickly introduce Evan Shapiro from O(1) labs, who established the Coda Protocol team. We are very happy to welcome Evan to this conversation. Coda is a coinbase Ventures investment portfolio Company, we will discuss with Evan what was the inspiration behind Coda, how does it work and what innovations it will bring to this field?

By the way, my name is Justin, some of you will not know me, introduce yourself, I work in the Coinbase Venture corporate development team and venture capital team. I’m very happy to be able to chat with you today, Evan, let’s start with a brief introduction to you. Evan graduated from Carnegie Mellon University. He has a bachelor’s degree in science and computer science. He also has a personal robotics program at Carnegie Mellon University. He obtained a master’s degree in research while working in the laboratory, where he did some awesome robotic platform research, and then he worked as a software engineer at Mozilla.

About a year and a half or two years ago, he co-founded O(1) labs, founded Coda Protocol, and obtained seed round financing from well-known crypto institutions in the industry such as Metastable Capital, Electric Capital, Polychain, etc., and also received investment from Coinbase Ventures , As the CEO of O(1) labs, you are very welcome!

In order to understand you better, can you briefly introduce your personal experience and background? And how did you get into cryptocurrency?

Evan: Well, as you said, I graduated from Carnegie Mellon University, majoring in computer science. After I went to CMU, I was very computer science. After graduating from my bachelor’s degree, I studied for a master’s degree in robotics. We have done a lot of research, such as basic motion planning. If you have a robot, one of the robot arms, and there are many joints in it, you know how to move it better, which is very interesting at the time.

After that, I moved here. At the same time, a high school friend of mine moved here in Clare to study for a PhD in typography at the University of Berkeley. We have a common hobby and like to stay together and research projects. We really started to study in depth. One thing is cryptocurrency. Especially at the beginning of 2017, we saw many new projects springing up on Ethereum, and their visions for issuing projects are very ambitious.
A large number of projects are overwhelming, and there are all directions, but the shortcomings of technology that we saw more at the time did not match the sudden outbreak of the bull market.

We began to think about where we could go, what could be improved, and what we could do for technical shortcomings. From then on, we began to consider establishing Coda Protocol, and began to think about the current technical constraints and the underlying technical requirements. How to build, and what will happen if you remove the restriction on a certain firewood.
That is, in the summer of 2017, we thought about creating an agreement, and after about four or five months, we started to raise funds.

Justin: So, I was thinking about building a protocol directly? Compared to most people, your experience is really interesting. When I talk to most people about cryptocurrency, what attracts them is the price of the currency, watching the price of the currency go up and down, and then they go to the exchange to buy the currency, and finally participate in this industry, and for you, at first What attracts you turns out to be technology.

Evan: Yes, we have been paying attention to Bitcoin since 2011 when we were still in high school. The blockchain technology behind Bitcoin is really powerful and fascinating; you may like to do this usually requires the paxos algorithm. Cryptocurrency and POW consensus co-system are quite complicated, but they are quite interesting to study.

Justin: Okay, let’s talk about Coda now! So you finally decided to launch the Layer 1 blockchain. Coinbase Ventures also participated in the seed round of financing. It is also a very cool technology, so I would like to hear the inspiration behind the project. I want to know why you decided to start Coda. Can you talk about it? What is Coda?

Evan: When we started to research, what is the base layer protocol? What is it like? What are its components? What we have noticed is that if you want to be a member of the chain, you must run a complete node, a blockchain like Bitcoin, you must verify, download and access the blockchain. Today’s technology is very Important, because you must download the entire blockchain completely. If you check the current data status, it is basically a few hundred gigabytes. It takes several days to download the synchronized data completely, and it must be kept online at all times before the download is complete. And as more transactions increase, the data will only become larger. This has also inspired us to really study the block size in depth, which is also the technological innovation Coda has done.

Justin: To be specific, I think what is really fascinating is that Coda’s goal is: a simple blockchain, which is actually compressing the block size to the extreme. Let’s understand how it is achieved together.
You guys, how many people have run their own full nodes on any blockchain? So I think all of us interact with these blockchains through third parties. We are not local untrusted participants in these blockchains. When we think about it, one thing is, if everyone has to use a third party Services, how will this remain decentralized and how we will create applications and projects based on these things.
This is what I think the core of the team Coda wants to solve.

I think this is a very technical topic of conversation, especially Coda is using zk-SNARK to do some truly groundbreaking things, I want us to talk about how it is achieved? You try to be simple and easy to understand. Explain, how can Coda keep it concise?

Evan: Okay, let me try it, so usually when you have a cryptocurrency and you want to use it, you want to verify it, you have to download all the blocks in the blockchain, and you have it after you download it All the data, but if you want to add more blocks, the blockchain will get longer and longer.
So let us think about the use of blockchain. What it does is prove to me that certain states of the world are like the real state of the world and the strongest state of the world. Some databases, some ledgers, are real classifications. Ledger.
Then we have to question: why these proofs must be as long as n blocks.

Is there a way to compress it in some way, the answer is yes, you can use zero-knowledge proof to create a proof of the current state of the database while keeping the size very, very small.
In fact, a proof is only a constant size and only a few kilobytes, so once you have it, you don’t need to download the entire blockchain. You only need to save the current state of the database and proof that the database is what you want.

Justin: Can you understand it this way? When every participant gets this very concise proof of the blockchain, everyone else must download the entire historical transaction, right?

Evan: Not exactly that, they can choose to hold it, and then you know it is the same as any other blockchain, and if they want, they can view the entire history. But to become a consensus node, all you have to do is to maintain the current state of the blockchain, which means you only need to maintain all current account balances at the current time, and if the situation changes, you can ignore the old data.

Justin: This is very interesting. Can you talk about the problems and use cases that the blockchain is currently trying to solve?

Evan: Yes, so I mean we just discussed one briefly, just like it would take a few days for you to download a full node now. When you have a synchronized blockchain, you can download the full node immediately. This means that usually in cryptocurrencies, there is a tension between the scalability and decentralization of the blockchain.

Take Bitcoin as an example. They keep the block size very low because they want to keep decentralization as much as possible. If the block size, you need to add more and more data to the block chain, and its size will grow faster and faster. For traditional blockchains, dare not make the block size too large, but once your blockchain size remains the same. You can set the block size to the size you want, as large as the network can handle. Because it is just folded into this small zero-knowledge proof, it will not affect the decentralization of the chain. This is a great advantage you get, which can maintain throughput and decentralization.

Justin: So how does a simple blockchain achieve scalability and throughput at the same time, would you share with everyone?

Evan: Yes, so let us consider what throughput is. Throughput is the number of transactions you add to the blockchain in a unit of time. This is actually the size of the block. Because if your block size knows each individual block every minute, and you double the block size, then the throughput doubles.
So usually this is bad because you are increasing the rate of blockchain growth, which is not good for decentralization. But with Coda, once you have a block with all these transactions in it, you turn this block into a new zero-knowledge proof, and you don’t need to keep this block anymore. You have a new zero-knowledge proof for the new database, so this means you can make the block size very large, but your proof size stays the same.

Justin: Let us have a deeper understanding of ZK-SNARKs, it is like a kind of magic observation technology, encryption magic, cryptography magic. Although I have a background in mathematics, I have tried to understand ZK-SNARK several times, but it is difficult for me, even because it is the core part of Coda Protocol. I wonder if you take a moment to explain how ZK-SNARKs work? How did they actually create a very concise proof?

Evan: I think we can understand zero-knowledge proofs at several levels. Let me start with something somewhat technical, and then I will use analogy to make it easier for everyone to understand.
If you imagine you want to run a calculation, generally speaking, if you want to know the result of that calculation, you have to run it yourself, and you have to know the computer that tells you: “Okay, I have entered the data, let us see What will the output result be?” Let us see if the calculation result really meets our expectations.

And zero-knowledge proof, let us do something different, that is, you don’t need to run the program yourself, other people can also run the program. Someone randomly gives you some proofs on the Internet. These proofs are the same as the “certificates you get by running the program yourself.” The result” is the same.

So this is great, because with the blockchain, you don’t have to run a calculation that checks the entire blockchain, you only need to check the zero-knowledge proof that represents the calculation.

Excluding the technical understanding, you can understand it this way and think: Just like you know a boulder, I want to prove to you that I know it exists. The one thing I can do is take you to see that boulder, or I drag the boulder and bring it in front of you.
The other thing I can do is take a photo of that boulder, and then I can show you the photo because you can see it in the photo and you believe it exists. This is zero-knowledge proof, just like almost There is no evidence that something does exist, and you don’t have to actually see it, because the proof (this photo) fully proves its existence.

Justin: Quite interesting. Zero-knowledge proof is essentially encapsulating the state of the blockchain into a small piece of data. This is a recursive proof. How does recursion work in the Coda blockchain?

Evan: If you imagine, every time we add new data to the blockchain, we have to recalculate this proof. That’s really a headache, because when the blockchain is 10 meters long, maybe this is your proof of 10KB, but when the blockchain is 10,000 meters, your proof is now 10,000KB, which is also very large.
So you need a way to do a constant amount of work to update each time the blockchain is updated. This is where recursion comes in.

For example, now we want to update the blockchain. We use the existing blockchain to be the Coda blockchain so far. For example, for the 5000th block, we check the evidence we have for this. We combine this evidence with a The combination of the evidence shows that the data we want to add to the evidence is also correct. So now we have evidence that we have a blockchain with the length of the 5,000th block, and then we just add one more block.

Now we can create a 5001th new proof, so the proof is also recursively updated, so this is very time-saving and labor-saving and labor-saving.

Justin: I don’t know if there is a simpler way to understand ZK-SNARKs? The technicality is too strong! What I understand is that recursive proof is proof by superimposing the proof and then superimposing the proof. So whenever someone needs to join the Coda ecosystem, all they need is the current recursive proof. The proof is a zero-knowledge proof method in coding, but there is actually a blockchain behind it, which is connected by all other blocks. Together, and encode there, and encode the transaction root. There is a ledger somewhere, all of which are mathematically proven and verified.

Evan: Yes, it’s like a photo, a photo, a photo of a photo, or every photo is included in the photo, and one represents the previous blockchain, just like what you added. It can be so understand. It is more recursive like a photo tunnel, allowing you to trace back to the founding block.

Justin: Yes, the photo tunnel, always looking down the genesis block. So when we consider what this means for end users? I mean to ask how many of you have run full nodes in any blockchain? I don’t think there are many answers. Because it is difficult for today’s full nodes and any other blockchains to have the entire transaction history, you must let the history roll forward every state change when each block is applied.
With Coda, you only need a very small piece of data, which contains a proof that the blockchain exists.

Evan: Yes, so we discussed some issues about scalability, but we discussed the impact on end users, and more than that, because this proof is not only constant in size, but also very small, only a few kilobytes, so Anyone who uses a web browser can get a complete blockchain on the device just like using a mobile phone.
When you compare Coda with the others, you will know which one is more powerful. If you are an end user, you will no longer think about what third party you will trust, because you can connect your device directly to the blockchain, connect to the network and make sure it has the strongest chain, and make sure it has The true state of world data, etc.
If you are a developer, you don’t have to think about building infrastructure to connect your users (such as apps, their user devices) to the blockchain, because your user device can do it on behalf of your app. It can connect to the blockchain. Block chain.

Justin: So what kind of applications do you think there will be from it?

Evan: The most exciting thing before is to be able to build things like developers and end users that can quickly access and quickly build new things for them. And what really excites me is that the App can be downloaded from the digital currency store, just as you know the value of digital currency and can embed it in the application and build new applications.
When I want it, what makes me more excited is more like being able to develop an application that coordinates a large number of users, just like there are many people visiting the website.

Justin: It ‘s great, so we really want to bring it to a bit of technology, because I think this is the core of the Coda protocol. I have a few questions about the meaning behind building a concise blockchain and using ZK SNARKs; ZK SNARKs are like truly innovative new cryptography magic, which is relatively new at present, and the current cryptography field uses more ones that have been tested in actual combat.
Because they have been around for a long time, when you use ZK-SNARKs, you have more confidence in our understanding of the boundaries of the system, they are very novel, and only a few experts in the world know them. So I am curious whether we should worry that at some point in the future someone might find a novel way to poke it or break it. For example, how should we consider this risk?

Evan: Just like encryption systems, SNARKs seem to have been well tested in actual combat. I think it’s just because they will be more powerful due to innovation in the future.
The speed at which people update their cognition also changes with the speed of technological development, which makes them a bit like public knowledge, not like they are just brand new or anything around them. I am glad that people think about it in the same way and imagine that you know the public. Key cryptography you are hashing us like you don’t necessarily know all the details of why hashing is effective, but like you know that it has been tested in practice and you believe it is effective for people to truly understand SNARK.

Justin: Yes, so one of your key innovations here is how to improve the computational efficiency of SNARK, and you mentioned that traditionally, projects that use any type of ZK-SNARK require a lot of computing power, which is great for you The system has certain constraints and limitations, how can you improve computing efficiency, and how will it affect the developer’s experience?

Evan: The biggest impact is that when you decide to use different encryption languages ​​(such as hash functions and public key cryptography) in your protocol, encryption primitives are more effective than others inside SNARK. So if you look at something like Bitcoin, for example, the hashing scheme and signature scheme it uses will be less efficient inside SNARK, but if you change the lip parameter of the curve you use and the hash function you use, you A very effective solution can be found in SNARKs, and the overall experience will be very good.

Justin: The last technical question, so what if we really have to limit the way we use ZK SNARK so that they are all more effective? Does this mean that people who develop and build these applications on Coda must use libraries or languages ​​that also confirm that they like the boundaries of this ZK-SNARK system?

Evan: So, so far, everything you want to do in the real world seems to have an alternative, and ZK-SNARKs will also have an alternative in the zero-knowledge proof.
If you think about how you would actually code zero-knowledge proofs, there are two ways to think about it. The more special thing is that when using Coda, you can write code similar to the original zero-knowledge proof code. Well, the programming language we write is SNARKy written by us or the other is that we can write a SNARKy program that acts as an assembly language Then you write the program and then compile it and through recursive SNARK, you can compile any language you want into assembly language.

Justin: There are some ways we can make this better. To be honest, my head exploded when I read the Coda technical white paper. By the way, this is very Opaka’s mathematical knowledge. Let’s talk about other topics. I want to talk about you personally as a founder. Do you know what your expectations for Coda’s five-year development are? What kind of progress do you hope to see in the next five years?

Evan: In the next few years, I hope to see people basically use cryptocurrency to develop and build things that people like. There will be a wider user base, and they can also like cryptography as much as they like cryptocurrency. It’s not like recreating things from the old financial system. It’s building something new, interesting and exciting for people. I think I’ve started to see this happening slowly. People’s enthusiasm and awareness of cryptocurrency are on the rise, or you know that trying new applications on the Internet I hope to see this shift have an impact on those who like to really use cryptocurrency to provide financial transparency, the current Internet The system is very opaque, like it’s impossible like creating a new thing, I’m really happy to see cryptocurrency and things like O(1) Labs hope to have an impact there because we can build a New fair and transparent system.

Justin: Yes, it’s interesting that you mentioned financial transparency. On the other hand, I noticed that other projects built on ZK SNARKs apply it to anonymous and private payments, and Coda is used to create a simple blockchain . How about you? Are there plans to use Coda for privacy protection?

Evan: Yes, I think privacy is very important. This is what we want to add. So what we have worked for us so far is like zero-knowledge proof that SAR is already a bit like native code on the protocol. So it’s easy, you can recursively verify a new block recursive private transaction. So at the core, as you know, it is necessary to do this kind of recursive combination of zero-knowledge proofs, but at some point we hope to also increase privacy.

Justin: Great, I am personally curious, did you encounter any challenges in establishing the Layer 1 protocol?

Evan: Yes, I mean a lot of ideas will be in our minds every day, we will want to write a security protocol, who will apply it? How to iteratively upgrade the technology? What will the user experience look like? It’s like one! For the future development of the entire project, future planning is the most challenging thing.

Justin: Whether there are any risks or how do you think you can successfully let developers and users and people use this new technology is very important.

Evan: I think that for what we are doing, we have to move forward step by step and optimize it a little bit. Just like the online toolboxes like github or something I can start to use, I think we must ensure a good user experience. Only when the user experience is good, can they influence their thoughts subtly.

Justin: The construction of the Layer 1 protocol is full of challenges. You need to connect all these different small details in a very perfect way. Where is the project now?

Evan: So it’s very simple to touch less things, as I think, because we can build like phone notes you know can run anywhere. It simplifies how we develop things, because every platform gets the same Treatment, also like each platform platform is a bit like handling the entire infrastructure and back-end by itself, so this helps to ensure a better user experience, because we don’t have to consider all middleware and middle components. This may be one of the main benefits of Coda writers, we are getting rid of the middleware restrictions between developers and users;
In our Roadmap, a public testnet will be launched soon, and then we will launch a public testnet and when we test the network to ensure that everything goes well before the release, developers can start building small projects on Coda.

Justin: Is there a clear mainnet launch date?

Evan: I hope that in the next few months we will start to launch the testnet first, and then we will see you know that we will see the workload that you know it looks like from there, but hope it will not be too high, before the mainnet launch , We need to make sure that it is very close to functionally complete, and all components have passed the safety test;

Justin: As a technology founder, you have to learn very quickly. What do you think is the most valuable lesson you have learned so far?

Evan: I will still ask for help as usual. I have listened to a lot of suggestions from our consultants and investors. They have seen a lot of projects in this circle and gave a lot of suggestions. We can avoid many detours. I also think intuition is very important. Once you intuitively tell you that what you are doing is right, you have to move forward bravely.

Justin: The interview is coming to an end. Thank you Evan. As an investor in Coda, we are happy to assist you in the operation process, in our own way, to guide you where feasible.

Adblock test (Why?)