What are some useful entry technologies on the Web2.0 journey to Web3.0?
In the evolution from Web2.0 to Web3.0, data, asset account and application interoperability are two key issues. The former involves consensus transmission between different ecosystems, including on-chain and off-chain consensus transmission; The latter is a practical problem in the process of application deployment. Although the world of Web3.0 is as vast as the sea of stars, the evolution of Web2.0 to Web3.0 requires continuous exploration in practical technology and credit transmission mechanism.
At present, zero-knowledge proof and EVM are two very practical technologies, which have become two important entrances of the evolution from Web2.0 to Web3.0. Zero-knowledge proof provides a convenient and practical verification method, so that data/accounts outside Web3.0 (off-chain) can easily obtain on-chain verification, gain the trust of the Web3.0 ecosystem, and provide the possibility for data/asset exchange. At the same time, the current so-called Web3.0 ecosystem is mainly built on Ethereum, and docking with ethereum ecological flow becomes an important entrance to the Web3.0 world. As a result, EVM becomes an extremely useful infrastructure and technology. The Web2.0 ecosystem can also try to interoperate applications with ethereum through EVM compatibility.
Zero-knowledge proofs can share computing functions, with only security and validation on the chain. A combination of zero-knowledge proof and consensus on the blockchain can reduce the cost of a network where a single device can run a computation, where cryptography is used to verify its reliability on the chain rather than participating in the computation twice, and where costly blockchain networks are used, it is much cheaper to verify the correctness of the computation than to double calculate it. Thus, blockchain is only responsible for the consensus and security of the network, while some of the computational work can be handed over to zero-knowledge proof and done outside the blockchain network. Overall, this approach not only improves scalability, but also retains the security and consensus of blockchain networks. This point is highlighted in our “where do Web3.0 applications run? This is detailed in the report. Representative projects of zero-knowledge proof applications include zkSync, Mina, etc.
Due to ethereum’s strong ecosystem, EVM is the quickest route for other public chains to deploy their original Ethereum ecosystem applications (such as DeFi application protocol). Ethereum relies on EVM for asset accounts, contract execution, and the ERC family of tokens (including THE ERC20 standard token and THE ERC721 standard NFT). A platform that deploys EVM interconnects with Ethereum in token standards, contract procedures, and so on. This means that the original Ethereum ecosystem application protocol can be seamlessly translated to the new public chain deployment, and EVM also makes experiencing dApps on other public chains virtually non-sensory for its users, much like operating on Ethereum. Suffice it to say, EVM deployment is standard on most public chains.
Not only does EVM provide a “lazy” and useful entry point to the non-ethereum public chain for actual application deployment, but we can’t help but wonder if the Web2.0 ecosystem can seamlessly integrate with ethereum in terms of data state, asset accounts, and contract programs through EVM deployment. Can you imagine a scenario in which a stock exchange deploys EVM to enable asset transfer and interoperability with ethereum or even other Web3.0 ecosystems? Blockchain synthetic asset platforms like Synthetix, Mirror and UMA are equivalent to creating the shadow and mapping of Web2.0 assets in the Web3.0 world. Can EVM make Web2.0 assets directly and directly enter the Web3.0 world? For example, access to the Web3.0 world directly via email or mobile phone number? In any case, EVM is a very pragmatic infrastructure application.
Risk tip: blockchain business model landing less than expected; Regulatory policy uncertainty.
3.1. Zero-knowledge proof
Zero-knowledge proof (also known as minimum disclosure proof) is undoubtedly one of the most popular terms in the blockchain industry recently. Zero-knowledge proof was first proposed by MIT professors and cryptography experts in the 1980s. Zero knowledge proof refers to the fact that the prover can prove the authenticity of a statement to the verifier without disclosing any other information. Nowadays, zero-knowledge proof is mainly applied to blockchain. Its excellent mathematical properties can be used in many different scenarios. Zero-knowledge proof technology is still in its very early stages.
Let’s say A has A box with A combination lock. He wants to convince B that A knows the password to the box without telling B the real password. So what is he going to do?
A asks B to write A secret that only B knows all over the world. B writes A note “My dog’s name is Bob” and puts it in the box. A opens the box with the correct password and gets this information and informs B. In this interaction, B didn’t get any information (the password of the box) that he didn’t know before, but A still succeeded in convincing B that A knew the password.
It was initially thought that proof was an interaction between people in face-to-face communication. As counterintuitive as it sounds, randomness can be used to prove something. An ideal proof should have no randomness or uncertainty. Zero-knowledge proof is a complete subversion of the traditional concept of proof. In traditional proof, randomness is completely contrary to what the prover is trying to achieve. The prover will strive to make the entire flow of information public. But once the idea is reversed and there is no longer an attempt to expose the flow of information, the negative side of randomness becomes a positive, and randomness can be exploited to hide information that is intended to be hidden.
3.1.1 Zero-knowledge proof principle
Zero-knowledge proof, an encryption method developed by MIT researchers in the 1980s, is one of the cryptographic algorithms widely used in trusted computing. Zero-knowledge proof or zero-knowledge protocol is a probabilistic verification method consisting of two parts: prover that claims a proposition to be true and verifier that the proposition is indeed true.
As the name implies, zero-knowledge proof means that one can fully prove that he is the legal owner of certain rights and interests without leaking out relevant information, that is, the “knowledge” given to the outside world is “zero”. Zero-knowledge proof has three properties:
(1) Completeness. If both the prover and the verifier are honest and follow every step of the proof process and perform correct calculations, then the proof must be successful and the verifier must be able to accept the prover;
(2) Rationality. No one can impersonate the certifying party and make the certification successful;
(3) Zero knowledge. After the proof is performed, the verifier only gets the information “the prover has the knowledge”, but not any information about the knowledge itself.
The formal definition of zero knowledge must use some computational model, the most common being the Turing machine computational model, and in the case of Turing-complete Ethereum, this combination with zero knowledge proof has spawned L2 applications such as zkSync.
3.1.2 Significance of zero-knowledge proof
From the perspective of application, zero-knowledge proof has two very important directions:
1) Privacy: zero-knowledge proof can satisfy the privacy of messages. For example, in blockchain transactions, if you need to prove that you own some unused asset, but do not want to expose the details of the asset, zero-knowledge proof technology can solve common blockchain networks due to the disclosure of information due to transparency, such as address and asset amount.
Privacy computing is an important application field of zero knowledge proof. Privacy is a problem caused by information leakage. If you want to protect privacy, you must use cryptography solutions to encrypt the data on the chain so that there is no correlation between the different transactions on the chain. Zero-knowledge proofs can verify calculations without exposing any information about the input and calculation itself, ensuring on-chain data privacy.
One of the most important things in Web3.0 is that users themselves have real ownership of identity and data. However, all information on the current blockchain is public, and users’ information can be easily accessed through some means (which of course is also a characteristic of the blockchain network consensus). Although blockchain users do not have a broad and strong sense of privacy at present, with the development of the future, this need will certainly be more urgent and long-term. So to realize the vision of Web3.0, users must have the right to have their own on-chain privacy. So it’s safe to say that privacy is not necessarily optional, but it’s definitely optional.
2) Extensibility: if the common blockchain platform takes a long time to verify a new block, it can be directly changed to one person (node) to verify and generate a proof. Other participants in the network can master the method to verify the proof quickly, without requiring each participant to spend a lot of time to directly verify.
This involves the cost of consensus. From an economic point of view, blockchain networks such as Ethereum and Bitcoin have high transaction costs because consensus has to be expensive, and cheap consensus is to some extent unreliable. The cost comes mainly from the double calculation of several devices under the consensus of blockchain. For example, in a POW consensus mechanism (such as Bitcoin, Ethereum, etc.) network, the efficiency of 1000 machines doing repetitive computation is no more than that of a single computer, but the cost can be simply thought of as 1000 times that of a single device doing the same computation. This is the cost that all mainstream consensus protocols, whether POW or POS, have to pay to ensure decentralized consensus. The binding of an impossible triangle.
A combination of zero-knowledge proof and consensus on the blockchain can reduce the cost of a network where a single device can run a computation, where cryptography is used to verify its reliability on the chain rather than participating in the computation twice, and where costly blockchain networks are used, it is much cheaper to verify the correctness of the computation than to double calculate it.
Thus, blockchain is still responsible for the consensus and security of the network, while some of the computational work can be handed over to zero-knowledge proofs outside the blockchain network. Overall, this approach not only improves scalability, but also retains the security and consensus of blockchain networks. This point is highlighted in our “where do Web3.0 applications run? This is detailed in the report.
3.1.3 Zero-knowledge proof technology and application
Zk-snarks (compact non-interactive zero-knowledge proofs), ZK-Starks (compact all-transparent zero-knowledge proofs) and bulletproof proofs are the three common techniques for zero-knowledge proofs. Two of these are used by blockchain projects: ZK-SNARks and ZK-Starks.
Both technologies are combined with ZK-Rollup, which is built on top of the L1 main chain. Ethereum, for example, is what we call a “unitary” blockchain. Because consensus, execution, and data availability all happen on the same blockchain. This is why the unitary Ethereum blockchain cannot scale, which is often referred to as the impossible triangle problem. To scale, Ethereum must evolve into a “modular” blockchain. That means using blockchain only for what it does best: consensus. And “outsource” the rest of the work execution and data availability down the chain.
Zk-rollup presents multiple transactions as a single transaction to the main chain (such as Ethereum), which is quickly verified by the main chain with a zero-knowledge proof that is stored on the main chain. Therefore, you can inherit the security of the main chain while porting execution and data availability to ZK-rollup. The main chain does not have to process all transactions individually, so the size of each transaction is compressed, and the cost of validation is spread across all transactions to save Gas and improve TPS. ZkSync and Starkware are the best of the zK-rollup. The two projects have similarly similar architectures: Rollup smart contracts are deployed into the Ethereum blockchain to store ZK proofs of L2 state transitions. The essence of ZKRollup is to compress and store the user status on the chain in a Merkle root (meaning that the rollup contains account balance, contract code, etc.), and transfer the update of the user status to the chain. Meanwhile, the correctness of the user status change process under the chain is guaranteed by zK-SNARks proof. It is relatively high cost to directly process user status update in Layer1, but it is much lower cost to only use the smart contract on the main chain (Layer1) to verify whether a zero-knowledge Proof is correct. This is also the most critical role of zero-knowledge proof.
Zk-starks stands for project StarkWare:
StarkWare invented cryptography based on STARKs proof. It also addresses DA (data availability) issues through the Volition system. (DA is so important that users can see exactly how their transactions are happening in the blockchain browser.) Volition allows users to choose between rollup (on-chain data availability, which is more expensive) and Validium (off-chain data availability, which is cheaper). In the Validium scenario, off-chain DA is guaranteed by a centralized “data availability committee” composed of reputable cryptographic entities. It’s not decentralized but it’s cheaper. Users are still free to choose, which is a compromise.
The advantage is that T stands for Transparent, which means no trust Settings are required. It also generates proofs faster. (Some studies suggest that STARKs proofs can be generated up to 10 times faster than SNARKs.) The disadvantage is that the technology is not as mature as SNARKs, and if it is Turing complete, it is difficult to be compatible with EVM. StarkWare created a specific programming language to run the autonomic programs it supported. StarWare is currently creating a code shifter to seamlessly convert Solidity into its particular language Cairo for EVM compatibility. It has the characteristics of fast proof and verification, but large proof volume.
Representative project of ZK-SNARKS technology zkSync:
Ethereum founder Vitalik believes that “in the medium to long term, ZKRollup will eventually win out in all scenarios as zK-Snark technology improves.” It can be seen that ZK-SNARK has obvious advantages, but it is technically difficult. The project that represents this is zkSync.
ZkSync is a low-cost, trust-free expansion protocol based on the ZKRollup architecture for scalable low-cost payments on Ethereum. The security of user assets is ensured through zero knowledge proof and data availability. All funds are held by smart contracts on the main chain, while computing and storage takes place outside the main chain. To improve efficiency, rather than validate each transaction individually, the transaction is “aggregated” into a single item (a summary block, or Rollup) and then validated, approving all transactions at the same time.
The main architecture of zkSync is divided into on-chain and off-chain, namely L1 and L2. The core of L1 is zkSync smart contract, which is mainly responsible for deposit, withdrawal and transaction verification, namely the maintenance of the final state of the account on the main chain of Ethereum. L2 is divided into L1 interaction (Watcher, Sender), L2 state maintenance (Mempool, BlockProposer, StateKeeper, BlockCommiter), and zero-knowledge proof system.