Zk-Rollup
Public.icon
They can be used for specific use cases, but generalization is difficult
In a blog post from 2014, I introduced the concept of "shadow chains," an architecture where "block data is published on the chain, but blocks are not verified by default." In this architecture, blocks are provisionally accepted and only finalized after a certain period of time (two weeks, for example). During this two-week period, challenges can be made against provisionally accepted blocks. Only in that case are the blocks verified, and if it is found that the block is invalid, the chain from that block is rolled back, and the original issuer's deposit is penalized.
Isn't that what Optimistic Rollup is now? Previous companies, interviews and appearances related to oneself.icon Even so, isn't 2014 too far ahead of its time?
In the recent proposal ZK Rollup 1, the validity of blocks is verified using zk-SNARK, allowing the same thing to be done without a challenge period. https://gyazo.com/2e2abbd55f99454dd966aa4d95fd29ed
The SNARK mentioned here seems to be some kind of proof Previous companies, interviews and appearances related to oneself.icon The structure of the ZK Rollup package published on the chain. Hundreds of "internal transactions" that affect the state (i.e., account balances) of the ZK Rollup system are compressed into packages that include ~10 bytes per internal transaction that specifies the state transition, and further compressed into packages that include ~100-300 bytes of SNARK that prove that "all transitions are valid."]
Because there are too many transactions in Plasma = Layer2 (OPU, ZkR), the computation (which is the most computationally intensive factor) is omitted.
Data storage is cheaper than computation, especially since most of the data within a transaction is in the form of "signatures", and many signatures can be compressed into one through various forms of aggregation, allowing for a very small compressed transaction data. Instead of computation, validity can be verified through signatures using Zero-Knowledge Proof. ZK Rollup achieves 500 transactions/second, which is 30 times the performance of Layer 1 Ethereum chain, by compressing each transaction to just 10 bytes. Since the validity of signatures is verified through zero-knowledge proof, they do not need to be included.
1. Use off-chain transaction bundles written to the main chain
The first approach compresses data size by writing proofs of multiple off-chain transactions in a verifiable form to the on-chain.
One example based on this approach is the idea of "Zk-Rollup", which uses a type of zero-knowledge proof called "zk-SNARK" to verify the validity of blocks.
Based on ZK Rollup, a company called "Matter Labs" is developing a scaling protocol called "zkSync" with high UX.
2. Use recursive snarks to reduce the size of the blockchain
/emoji/twitter.icon When considering what is most effective when focusing solely on scalability, there are many discussions that suggest that "Zk-Rollup" is the best answer, especially when considering the sustainability of chain rewards and fees. shingen_crypto.icon October 6, 2021