原文标题:《 Coinbase 专访 Mina CEO:ZK-SNARKs 就是加密魔法 》
Source: MinaClub
Mina Protocol received a seed round of funding from Coinbase Venture back in the second quarter of 2018. Coinbase is the superhouse of the universe and the temple of all projects in the blockchain industry today. When will any project that can receive funding from Coinbase Venture start trading on the Coinbase exchange? Everyone knows that it's not not coming, it's coming late.
The Coinbase Speaker Series is a live conversation interview show on Youtube with Coinbase Venture. The Coinbase Speaker Series has so far spoken with the following blockchain celebrities: V God, the founder of Ethereum, Charlie, the founder of Litecoin, Fred Ehrsam, the co-founder of Paradigm, Vijay Pande, the partner of A16Z, and so on, are all top institutions in the blockchain industry, technology giants, and innovators in the crypto industry.

Evan, CEO of Mina's Foundation, appeared on Coinbase's Speaker Series in June 2019 to chat with presenter Justin Mart about Mina's development. It's an old video, but it's a good one to read.
MinaClub puts the interview into text and takes you back to 2019, when Evan was still young and Mina Protocol was still called Coda Protocol... .
It should be noted that Mina Protocol is the predecessor of Coda Protocol. Due to name infringement, the brand upgrade will be completed in September 2020. In most cases, Mina Protocol will be replaced by Coda Protocol in this paper.

Justin:Welcome to the Coinbase Speaker Series. I'd like to quickly introduce Evan Shapiro from O(1) LABS, the team that built the Coda Protocol, and we're very pleased to welcome Evan to this conversation, Coda is a company in the Coinbase Ventures portfolio. We'll talk with Evan about what was the inspiration behind Coda, how it works, and what innovations will it bring to the space.
My name is Justin, by the way, and for those of you who don't know me, I work in the corporate development team and the Venture capital team at Coinbase Venture. Can chat with you today, pretty happy, Evan, we'll start from simple introduce you, Evan graduated from Carnegie Mellon university, he holds a bachelor's degree in science and computer science, and personal robots at Carnegie Mellon university received a master's degree of study during laboratory work, where he had some cow force of the robot platform for research, He went on to work at Mozilla as a software engineer.
About a year and a half or two years ago, he co-founded O(1) LABS, started Coda Protocol, received seed rounds from industry-leading crypto institutions like Metastable Capital, Electric Capital, Polychain, Also funded by Coinbase Ventures, welcome to O(1) LABS as CEO!
In order to get to know you better, can you now tell me a little bit about your personal experience and background? And how did you get into cryptocurrency?
Evan:Well, as you said, I graduated from Carnegie Mellon University with a major in computer science, and THEN I went to CMU with a major in computer science, and then I got my bachelor's degree and a master's degree in robotics. We did a lot of research, like basic motion planning, and if you have a robot, and you have a robotic arm, and you have a lot of joints in it, you know how to move it better, which was interesting at the time.
After that I moved here, and at the same time, a friend of mine from high school, who was Claire moved here to do a PhD in typography at Berkeley, and we shared a common interest and liked staying together and working on projects, and one of the things that we really started to dig into was cryptocurrency. Especially in early 2017, we've seen a lot of new projects launch on Ethereum, and their vision for launching projects is very big. There was a flood of projects in all directions, but what we saw more at the time was that the weakness of the technology was not matched by the sudden outbreak of the bull market.
We began to think, what you can to the directions, which can improve the things, can do some for technology board to try, and since then, we start considering Coda Protocol, began to think about what are the current technical constraints, the underlying technology to how to build, and if you cancel the restriction of a wood, and can lead to what happens. In the summer of 2017, we thought about creating a deal, and about four or five months later, we started raising money.
Justin:So, the idea was to just build a Protocol, right? Compared to most people, your experience is really interesting. When I talk to most people about cryptocurrencies, what attracts them is the price of the currency, watching it go up and down, and then they go to the exchange to buy the currency, and then they get involved in the industry. For you, it's the technology.
Evan:Yes, we started to pay attention to bitcoin in 2011 when we were still in high school. The blockchain technology behind Bitcoin is really powerful and fascinating. You might like to do this usually requires the PaxOS algorithm. Cryptocurrencies, POW consensus systems are complicated, but very interesting to study.
Justin:Ok, now let's talk about Coda! So you finally decided to launch the Layer 1 blockchain, and Coinbase Ventures did a seed round, which is also a really cool technology, so I'd love to hear the inspiration behind it, and why you decided to start Coda. Can you talk a little bit about what Coda is?
Evan:When we started looking at, what is the base layer protocol? What does it look like? What are its components? We noticed is that is if you want to be a member of the chain, you must run a full set of nodes, such as currency block chain, you must verify, download and access block chain, today's technology is very important, because you have to download the entire block chain completely, if you go to see the current state of the data, basic is easy, hundreds of G It takes a few days to fully download the synchronized data and you have to be online at all times. And the data will only get bigger as more deals are added. This also inspired us to really dig into block size, which is what Coda is doing with technology innovation.
Justin:To be specific, WHAT I find really fascinating is that Coda's goal is: a simple blockchain that is actually shrinking the block size to the limit. Let's see how that works.
How many of you in this room have ever run a full node on any blockchain? So I think all of us to interact through a third party with the blocks chain, we are not the blocks in the chain of local untrusted participants, this one thing is, when we think about if everyone must use third party service, how will this keep the decentralization and how we will go to create applications and projects based on these things. This is what I think is at the heart of Coda for the team.
I think this is a very technical topic to talk about, especially since Coda is doing some really groundbreaking things with zK-Snark, and I want to talk about how does it work? You try to be simple, you explain how Coda can be simple?
Evan:Ok, let me try that, 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 then you have all the data, but, if you add more blocks, the blockchain gets longer and longer.
So, let's think about what blockchain does, and 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, that some databases, some ledgers, are real ledgers. Then we have to question why these proofs have to be n blocks long. Is there a way to compress it in some way, and the answer is yes, you can use zero-knowledge proofs to create database current state proofs while keeping the volume very, very small.
In fact, a proof is only constant in size and only a few kilobytes, so once you have one, you don't need to download the entire blockchain. You just need to save the current state of the database and proof that the database is what you want it to be.
Justin:Is that how you interpret it? When each participant gets this very neat proof of the blockchain, everyone else has to download the entire historical transaction, right?
Evan:Not exactly, they can choose to hold it, and then you know it's the same as any other blockchain, and they can look at the entire history if they want. But to be a consensus node, all you have to do is keep the current state of the blockchain, which means you only need to keep all current account balances at the current time, and you can ignore the old data if things change.
Justin:That's interesting. Can you talk about some of the problems and use cases that blockchain is working on right now?
Evan:Yeah, so I mean we just briefly talked about one, just like if you want to download a full node these days it takes a couple of days. When you have a synchronous blockchain, you can download the full node immediately. This means that usually in cryptocurrencies, there is some tension between the scalability and decentralization of the blockchain.
In the case of Bitcoin, they keep the block size very low because they want to keep decentralization to the maximum. If the block volume, you need to add more and more data to the blockchain, and its volume size will grow faster and faster. For traditional blockchains, don't let the block volume become too large, but once your blockchain size stays the same. You can set the block size as large as you want, which is as large as the network can handle. Because it just folds into this little zero-knowledge proof, it also doesn't affect the decentralization of the chain, which is a big advantage you get to keep throughput and decentralization.
Justin:How can a simple blockchain achieve scalability and throughput at the same time? Would you like to share with us?
Evan:Yes, so let's think about what throughput is, throughput is the number of transactions you can add to the blockchain per unit of time, which is actually the block volume size. Because if your block size is to know every single block per minute, and you double the block size, then the throughput doubles.
So usually that's bad because you're increasing the growth rate of the blockchain, which is bad for decentralization. But with Coda, once you have a block with all these transactions in it, you turn that block into a new zero-knowledge proof, and you don't need to keep that block anymore. You have a new zero-knowledge proof for a new database, so that means you can make the block size very large, but your proof size stays the same.
Justin:Let's take a closer look at ZK-Snarks, which is like a magical observation technology, encryption magic, cryptographic magic. Even though I have a math background, I've tried to understand Zk-Snark several times, but it's hard for me, even because it's a core part of the Coda Protocol. I was wondering if you would take a moment to explain how zK-Snarks works? How do they actually end up creating a very neat proof?
Evan:I think we can understand zero-knowledge proofs at several levels, so let me start with something a little bit technical, and then I'll use an analogy to make it easier for you to understand.
If you imagine that you want to run a calculation, in general, if you want to know the result of that calculation, you have to run it yourself, and you have to know to tell your computer, "Ok, I've put in the data, let's see what the output is going to be." Let's see if the calculation really meets our expectations.
The zero-knowledge proof, let's do something different, which is, instead of running the program yourself, somebody else can run the program, somebody gives you random proofs on the Internet, and those proofs are the same "proofs" that you get by running the program yourself. So this is great, because with blockchain, you don't have to run a computation that checks the entire blockchain, you just check the zero-knowledge proof that represents that computation.
The way to think about it, beyond the technical understanding, is this: In the same way that you know a boulder, I want to prove to you that I know it exists. One thing I can do is show you the rock, or I can drag the rock and bring it to you.
Another thing I can do is a photo on the boulder, and then I can give you see pictures, because you can see it in the photo, do you believe that it exists, this is zero knowledge proof, as there is little evidence that something does exist, you don't have to really see things, because proof (the photo) fully proves that it's there.
Justin:Interesting, the zero-knowledge proof essentially encapsulates 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:Imagine if we had to recalculate this proof every time we added new data to the blockchain. That's a real headache, because when the blockchain is 10 meters long, maybe that's your 10KB proof, but when the blockchain is 10,000 meters long, now your proof is 10,000KB, which is big. So you need a way to do a constant amount of work each time you update the blockchain, and that's where recursion comes in.
For example, if we want to update the blockchain, we take the existing blockchain to the Coda blockchain so far, like the 5,000th block. We look at the evidence that we have for this, and we combine that evidence with an evidence that says that the data that we want to add to the evidence is also correct. So now we have proof that we have a blockchain with the 5,000th block, and then we add a new block.
Now we can create a 5001st new proof, so we're also recursively updating the proof, so it's very time saving and effort saving.
Justin:I wonder if there's an easier way to understand zK-Snarks? Too technical! The way I understand it, a recursive proof is a proof on top of a proof on top of a proof. So whenever someone needs to join the Coda ecosystem, all they need is the current recursive proof, which in coding is a zero-knowledge proof, but behind it is actually the blockchain, which is connected by all the other blocks and encoded there, and encodes the transaction root. Somewhere there was a ledger, all of which had been mathematically proven and verified.
Evan:Yeah, it's like a photo, a photo, a photo of a photo, or each photo is included in the photo, and one represents the previous blockchain, just like something you add, so to understand. It's more recursive like photo tunneling, which allows you to trace back to the founding block.
Justin:Yeah, the photo tunnel, all the way down the genesis block. So when we think about what does this mean for the end user? I mean how many of you have ever run a full node in any blockchain? I don't think the answer is very much. Because today's full node and any other blockchain is hard to do where you have the entire transaction history, you have to have the history scroll forward as each block is being applied with each state change.
With Coda, you only need a very small piece of data that contains a proof of the existence of the blockchain.
Evan:Yes, so we discussed some questions about extensibility, but we discussed the impact on the end user, also more than these, because this prove consistent size not only, and is very small, only about a few thousand bytes, so any user to use a web browser, can be like the use of mobile phones on the equipment for the complete block chain.
Compare Coda to the others, and you'll know which one is more powerful. If it's an end user, you don't have to think about what third party you trust, because you can have your device directly connected to the blockchain, connected to the network and make sure it has the strongest chain, and make sure it has the true state of the world's data and so on.
If you're a developer, you don't have to think about building the infrastructure to connect your users (such as applications, their user devices) to the blockchain, because your user devices can do it on behalf of your application and it can connect to the blockchain.
Justin:So what kind of applications do you think will come out of this?
Evan:The most exciting thing was to be able to build something that developers, end users, could access quickly and build new things for. And then what I'm particularly excited about is that the App can be downloaded from the digital currency store, like you know the value of digital currency and be able to embed it in your App and build new apps. What I'm more excited about as soon as I want is the ability to develop applications that coordinate with a large number of users, like a large number of people visiting a website,
Justin:Great, so we do want to bring it to a little bit of technology, because I think that's the core of the Coda protocol. I have a few questions about the meaning behind building a neat blockchain and using ZK SNARK; ZK SNARKs is like truly innovative new cryptographic magic, relatively new at the moment, the current field of cryptography should be used more of those who have been tested in the field.
Because they've been around for a long time, when you use ZK-Snarks, you have more confidence that we understand the boundaries of the system, they're very new, and only a few experts in the world know about them. So I wonder if we should worry that at some point in the future someone might find a novel way to poke it or break it. How should we think about this risk?
Evan:Just like encryption systems, SNARKs seem to be well-battletested, and I think they're only going to be more powerful in the future because of innovation. People update cognitive also follow the speed of technology development and change, it makes them a little bit like public knowledge, rather than as they are new or anything around them, I am very happy people in the same way think it think you know the public key cryptography are you hash we like you don't know why the hash effective all the details, But it's just like you know it's field-tested and you believe it works for people to really understand SNARK.
Justin:Yes, so one of the key innovations you've made here is how to improve the efficiency of SNARK computing, and you mentioned one point that traditionally, projects using any type of ZK-SNARK have required a lot of computing power, which has certain constraints and limitations on your system, how can you improve the efficiency of computing, And how does it affect the developer experience?
Evan:The biggest impact is that when you decide to use different encryption languages in your protocol (like hashes and public key cryptography), encryption primitives like these will work better inside the SNARK than others. So if you look at something like Bitcoin, for example the hash scheme and signature scheme it uses will be less efficient inside the SNARK, but if you change the lip parameters of the curve you use and the hash function you use, you can find very effective schemes in SNARKs and the overall experience will be very good.
Justin:One last technical question, so what if we really have to limit the way we use ZK SNARK so that they are both more effective? Does this mean that people who develop and build these applications on Coda must use libraries or languages that are also sure to like the boundaries of the ZK-SNARK system?
Evan:So everything you want to do in the real world so far seems to have an alternative, and ZK-Snarks will have an alternative in zero-knowledge proof as well. If you think about how you're actually going to code a zero-knowledge proof, there are two ways to think about it. What's special is that with Coda, you can write code that looks like the original zero-knowledge proof code, well, the programming language that we write is we write SNARKy or the other one is we can write a SNARKy program that acts as a virtual machine for assembly language, You then write the program and compile it and by recursively SNARK, you can compile any language you want into assembly language.
Justin:There are ways we can make this better. To be honest, my head exploded when I read the Coda technical white paper. This is very Opaka math, by the way. Let's talk about other topics. What kind of progress would you like to see in the next five years?
Evan:In the next few years, I expect to see people basically using cryptocurrencies to develop and build things that people like, and there will be a broader audience of users who can enjoy cryptography as much as they like cryptocurrencies. It's not like reinventing things out of the old financial system, it's building something that's new and interesting and exciting for people, and I think I'm starting to see that happening slowly, with growing enthusiasm and awareness of cryptocurrencies, Or you know trying out new applications on the Internet and I'd like to see this shift have an impact on people who like to really use cryptocurrencies to provide financial transparency, right now the Internet system is very opaque, like it's not possible, like creating a new thing, I'm really happy to see cryptocurrencies and things like O(1) Labs hoping to make an impact there, because we can build a new system of fairness and transparency.
Justin:Yes, it's interesting that you mentioned financial transparency, on the other hand, I've noticed that other projects built on ZK SNARKs are using it for anonymous privacy payments, while Coda is used to create neat blockchains. How about you? Plans to use Coda for privacy?
Evan:Yes, I think privacy is very important and that's something we want to add. So what we've worked for us so far is, like zero-knowledge proof SAR has been a bit like native code on the protocol. So very easily, you can recursively validate a new block recursively private transaction. So at the core, as you know, it's necessary to do this kind of recursive combination of zero-knowledge proofs, but at some point we want to add privacy as well.
Justin:That's great. I'm curious, personally, what are some of the challenges you encountered in building Layer 1 protocols?
Evan:Yeah, I mean there are a lot of ideas that go around in our heads every day, we want to write a security protocol, who's going to use it? How do you iterate on good technology? What will the user experience look like? It's like a! For the future development of the whole project, future planning, is the most challenging thing.
Justin:Whether there's a risk or how you think you can succeed in getting developers and users and getting people to use this new technology is very important.
Evan:I think for what we're doing, we have to take it one step at a time, a little bit better. Like I use github or something like that online toolbox or something that I can start to use, I think it's important to make sure that the user experience is good, and only when the user experience is good, can it influence their thinking.
Justin:Building a Layer 1 protocol is challenging. You need to connect all these different little details in a perfect way. Where is the project now?
Evan:So hit fewer things is very simple, as I think, because we can build as you know the telephone notes can run anywhere it simplifies how we develop things, because each platform to get the same treatment, also like to each platform platform is a bit like own the whole infrastructure and back end, So this helps ensure a better user experience because we don't have to consider all the middleware and intermediate components. This is probably one of the main benefits for Coda writers that we are getting rid of the middleware constraints between developers and users;
On our Roadmap, we're going to launch the Open Beta network very soon, and then we're going to launch the open Beta network and as we test the web, make sure that everything goes well before release and developers can start building small projects on Top of Coda.
Justin:Is there a specific mainnet release date?
Evan:I'm hoping in the next couple of months we'll start rolling out the test net first, and then we'll you know we'll see you know it looks like a lot of work from there but hopefully not too much, before the main net starts, just make sure that it's pretty close to being fully functional, that all the components have passed security testing;
Justin:As a tech founder, you have to learn very quickly. What do you think is the most valuable lesson you've learned so far?
Evan:I've been asking for help as usual, and I've been listening to a lot of advice from our advisers and our investors, who have seen a lot of projects in the industry, and I think there's a lot less of a detour that we can take, and I also think that intuition is important, and once your intuition tells you that you're doing the right thing, you have to go forward.
Justin:We're almost at the end of the interview. Thank you Evan. As an investor in Coda, we are happy to help you along the way and guide you in our own way where feasible.
The original link
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia