How To Do The Blockchain. How To Create A Concise Blockchain

How To Do The Blockchain. How To Create A Concise Blockchain
How To Do The Blockchain. How To Create A Concise Blockchain

Now there are hundreds of blockchains, many of which are familiar to everyone. Whether it is Ethereum or the killers of Ethereum, many of them have built their own huge ecosystems. Why is Mina creating a new blockchain at this time? What is its advantage

Now there are hundreds of blockchains, many of which are familiar to everyone. Whether it is Ethereum or the killers of Ethereum, many of them have built their own huge ecosystems. Why is Mina creating a new blockchain at this time? What exactly are its advantages? If there are only some minor improvements, is it worth starting a blockchain?

In fact, Mina has relatively unique innovations at the technical and application levels. Its technical vision is to create the world’s lightest blockchain. How do you understand this? We can expand on that in a moment.

At the application level, Mina wants to build a bridge between the real world and the cryptographic world, and this bridge can protect privacy. How does Mina protect privacy? We can start with some of the problems that the blockchain is facing now.

We have seen the following problems in some public chains:

First, it is hard to get back. The current blockchain is very “heavy”, which means that it is very difficult to run a node. I believe that very few of the audience friends will run the Ethereum nodes by themselves. Everyone interacts with the Ethereum network through some intermediaries. That is to say, it is very expensive and difficult to directly access the blockchain without intermediaries. .

Second, large-scale distribution coordination. To participate in this network, its scale and degree of decentralization are also limited, because participating in this network requires high resources, especially bandwidth resources. As throughput increases, the barrier to entry for running a node increases and the degree of decentralization decreases, or conversely, the degree of network centralization increases.

Third, privacy and verifiability. All transactions, transactions, and data are publicized and uploaded to the chain, and the privacy of users is not well preserved. In fact, what we want is to verify the accuracy of these data, and do not need the data itself.

How to solve these problems? Mina is designed to solve these problems.

How to solve these problems_ Mina is designed to solve these problems
How to solve these problems_ Mina is designed to solve these problems

First, Mina is a very light blockchain, its size is at the KB level, so it is relatively easy for users to maintain such a full node. Therefore, each user can go and run a node, so that no third-party service provider is required when accessing Mina.

Second, the Mina consensus algorithm is very special, consensus participation is not limited, and the number of Mina consensus verifiers is unlimited. In fact, most of the current PoS algorithms, if they are consensus algorithms based on these committee elections, generally can only accommodate hundreds of verifiers, because the complexity of network communication will increase rapidly with the number of verifiers. There is no way to afford the communication overhead. Mina chose Ouroboros, a relatively mature competitive PoS algorithm, and made some improvements to produce a variant called “Ouroboros Samasika”, which is helpful for the decentralization of nodes.

At the same time, it also brings some additional benefits, because Mina has no slashing mechanism for validators, so when running a node, you don’t have to worry about the slashing caused by your own disconnection or large-scale disconnection.

Third, the applications deployed on Mina are called “Snapps”. Snapps are applications driven by zero-knowledge proofs. These applications can use offline data while protecting user privacy, and what users share is not data, and they do not need to submit their private data to the blockchain, but submit proofs about these data, so that the blockchain only needs to To verify that these data meet certain requirements on it.

After listening to these, you will feel that Mina has some unique and magical places. How does it work? Let’s discuss this issue as a whole.

By design, Mina’s entire blockchain is only 22KB in size, and will maintain this size forever. That is to say, as time grows and network transactions increase, its size will still not change. And 22KB is very small, maybe the size of a few voice messages, so any device, including mobile phones with relatively weak computing power, can easily verify the Mina network synchronously, and it does not take a long time.

How did Mina become so “light”? Because Mina uses a technique – recursive zero-knowledge proof, we don’t need to verify the entire blockchain from scratch. Taking Ethereum as an example, if a new machine wants to join the Ethereum network, it needs to download all the blocks generated by Ethereum from the day of creation, and execute all transactions, so as to get the latest status. In Mina, the full node does not store the chain itself, but stores the proof of the state change, so the stored data is also reduced. At the same time, due to the introduction of recursive zero-knowledge proof, there is no need to verify the data from scratch.

We can make a simple comparison. In fact, the size of the Bitcoin blockchain is about 300GB, and it takes about 6 hours to synchronize with an ordinary personal computer. The size of Ethereum is 700-800GB, and there are slight differences between different clients. The synchronization time is measured in days and depends on the network speed.

Why can recursive zero-knowledge proof achieve such an effect? This is actually a relatively deep cryptographic algorithm, but we try to use a metaphor to help everyone understand this problem.

In most blockchains, full nodes need to store all state data, so what is “state”? For example, I have 10 yuan, or I have a piece of land in a certain application, these are state data. And when I want to operate these data, all nodes need to execute these transactions, and it must have the current state data, that is to say, it must store all the states.

When a new block is generated, all nodes need to perform all data exchanges to update to the latest state. Such an architecture leads to a lot of repeated calculations, and there will be more and more state data, because more and more people are using this blockchain, so the execution will consume more and more resources.

The use of zero-knowledge proof technology actually changes such an execution architecture. Instead of letting the chain itself perform calculations, it compresses the state and makes a snapshot. When a new block is generated, it changes from state A to state A. ‘, what is it that needs to be provided? It is a zero-knowledge proof about this state change, so that each node only needs to verify the correctness of the proof without actually executing it, so the amount of calculation is greatly reduced, and the state will not expand.

It seems that each block needs to provide a proof, and the size of the blockchain is still increasing linearly. At this time, the recursive zero-knowledge proof plays a role. So what is “recursive zero-knowledge proof”? To put it simply, we also encapsulate the proof process, and encapsulate the previous proof in the next proof, so each proof can include the verification of all history, which sounds a bit obscure.

For example, if you want to prove to a friend that you go to a park every day, this park has a date card, what do you have to do? You can take a selfie in front of that date card every day, and send this photo to him, and send him 7 photos in a week. But we have a way to reduce such interactions, how to do it? I went to take pictures on the first day, and from the second day, I took the photos from the previous day in my hand every day, and then took a selfie. After the seventh day, I actually only needed to send the photos of the seventh day to my friends, and he You can easily verify that you go to that place every day, and you don’t need to send him 7 more photos. This is the recursive proof. Of course, this is an analogy, not zero-knowledge.

If you want to understand zero-knowledge proofs in more detail, I suggest that you read some more professional literature. At the same time, in March this year, the Mina Foundation and the Ethereum Foundation launched a joint funding to solicit proposals that allow Ethereum’s virtual machine to efficiently verify the recursive zero-knowledge proof provided by Mina. If this can be achieved, Mina’s zero-knowledge proof The network can also provide zero-knowledge computing services for the Ethereum blockchain at the same time.

To sum up, zk-SNARKs is actually zero-knowledge simplicity and no interactive knowledge authentication. You can also think of it as a zero-knowledge proof. With its help some features can be implemented:

  1. Verifiability with low threshold;
  2. Decentralized scalability;
  3. A new form of application, Snapps.

Of course, these tasks are still under high-speed development. In order to realize this vision, we have a lot of work to do. Next, we will mainly talk about the application of Snapps on Mina.

Most of the current blockchains actually have no way to directly interact with Internet applications, which directly limits the scope and utility of applications. Mina can interact with any website while protecting privacy, and can transmit verified data in the real world to the chain, so that the applications on the chain can use it directly. Therefore, Mina’s vision is actually to create a secret gateway to the real world. This “secret” means protecting user privacy.

This gateway is actually implemented through Snapps, which are zero-knowledge proof-driven applications that have some nice features:

First, the blockchain can be seamlessly imported from the Internet. As long as the website supports the HTTPS protocol, data can be imported from this website to Mina’s blockchain, and the data is verifiable.

Second, the data itself is not exposed, users still retain control of the data, but only verify and share proofs about the data. What you get is not the data itself, but something you don’t know what it is, but you can verify that the data behind it has certain attributes.

Let’s give some use cases:

First, based on Snapps, some Internet services can be accessed secretly, and corresponding certificates can be generated for user data, and these certificates can be verified by Internet applications. At the same time, it is also possible to import Internet data to Mina, and in this process, personal data is not leaked, and there is no need to trust anyone, only the algorithm itself is trusted.

Second, with the help of such a technology, it is possible to build a license-free Internet oracle machine, because as long as any website provides real-world data, it does not need the permission of the website itself, but can use these existing Internet protocols to transfer the data Trusted transmission to the Mina blockchain.

Third, it’s kind of like a DID protocol. Mina can be used to complete the login service to Internet sites without creating an account or handing over personal data.

Let’s give a more specific use case. This use case is also a demonstration application jointly released by Mina and Teller (a DeFi application) in March this year.

Some good features provided by Mina can help users verify their credit scores on Teller through zero-knowledge proof and obtain the required services. Specifically, the user logs in to a credit score query service website, and checks his own credit score, and at the same time generates a credit score certificate locally, and sends the certificate to the chain.

And this proof itself does not reveal the user’s credit score, social security number and other private information, but only provides a proof that his credit score is greater than 700. As long as the user provides proof of such a score, Teller can provide the desired service to this user. You can go to the Teller website to view the demo of this case.

And this is just the beginning, a small attempt.  Without the iteration of cryptography technology, we cannot imagine that such an application can be realized in engineering.

Along with this expectation for the future and the development of cryptography, we believe that composable smart contracts that do not require trusted settings will be realized in the near future, and Mina will also provide many developer tools to help Form a new application paradigm. For example, the verification of privacy identity and smart contracts triggered by the Internet, we know that the triggering of smart contracts now depends on some oracles.

For another example, Mina’s zero-knowledge proof capability can be used to serve Ethereum, allowing them to have new functions without moving the application logic on Ethereum to a new blockchain (this is a lot of new blocks chain is trying things).

The above are general introductions. Next, I would like to introduce Guan Snapps in depth and talk about its architecture.

What is the difference between Snapps and decentralized applications? There are mainly the following differences:

  1. Support private data. That is, when using user data, there is no need to share the data itself, only the proof of sharing the data.
  2. It has universal verifiability and can realize arbitrary calculations in computing.
  3. Extensible execution. At the state change level, the execution process can not only call its own state, but also change the state of other applications.

The aforementioned application of Mina on Teller is just a demonstration application and has not yet been put into large-scale use. Next, Mina will integrate more with the Internet world, HTTP Snapps, allowing data to be imported from websites to Mina. As for the developer’s SDK, it is actually still under construction. We look forward to providing developers with better development tools in the next few months, which can help everyone develop on Mina more easily.

The Mina main network has been launched in March this year, and 900 active nodes participated in the launch of the main network. Mina has also received support from the founding members and partners. At the same time, the relevant performance indicators are very good. Confidence and expectations.

Read Also –

BlockChain Construction Method Explanation Of How To Build A BlockChain Value Internet

What Are The Factors To Be Considered In Blockchain Application Development?

What Are The Characteristics Of Blockchain? What Are The Ways To Invest In Blockchain?

What Does Blockchain IEO Mean? Is Blockchain IEO Worth Investing In?

How Users Build Their Own Blockchain Systems And Applications