Zk roll ups stands for zero knowledge bundled transactions. With this technology, layer1 networks become cheaper and more scalable because transactions are bundled together and processed as 1 transaction on the main chain. Today we are going to talk about zk rollups. It's not one of the easiest topics, so brace yourself!
✔️ The Zk Rollup is a layer 2 solution that increases blockchain speed by aggregating and processing multiple transactions in a single block.
✔️ Zero knowledge proof involves proving that one knows a particular thing, such as a hash (code) of a block, without revealing more information.
✔️ A zk rollup is often used when the main network becomes too slow and expensive. This relieves the network, making it faster and cheaper.
✔️ Zk Rollups will become more common because of their scalability and cost-saving benefits, although they are still difficult to implement.
There are two parts to a zk rollup. Zk is the abbreviation for zero knowledge. In Dutch, it means having no information. Zero knowledge proof involves proving that you know a particular thing, such as a hash (code) of a block, without knowing more information, such as name, address, and the like.
The rollup part means to roll up. In this context, it means that multiple transactions are bundled together and processed in one block.
Both sections are about speed. With zk rollups, the speed of a blockchain is increased quite a bit.
A zk roll up is a layer 2 solution. It is often implemented when the main network becomes too slow and expensive, as with Ethereum. The blockchain's main network, layer 1, is then supported by zk rollup, relieving it and making it faster and cheaper.
Imagine you are a developer at Ethereum. You need to make the network faster and less costly to operate. You decide to implement zk rollups to offload the main chain.
Now when transactions are made they will be bundled off-chain in a rollup on a sub-chain. On this sub-chain, the new state of the network is then communicated to the main chain (Ethereum) plus some more data (zero knowledge proof) to prove that this is correct.
As a result, the main chain will only have the rollup and zk proof to process and not thousands of transactions. This will allow you to scale Ethereum from 10-15 transactions to thousands per second.
So the transaction data will be stored on the main chain, so that the state of the blockchain is still correct and communicated to everyone who keeps track of the network. Thus, every validator will still know how much ETH everyone has.
The zk rollup status is tracked on the Ethereum network by a smart contract. To prove this status, they have to provide cryptographic proof that they also made all these transactions. Zk roll ups also make use of compressing data, such as addresses, to make it all even faster and cheaper. Once the proof is provided, the bundle of transactions collected will be instantaneously executed on the main chain.
Since security status updates are performed on the main chain (Ethereum), zk rollups are a lot more secure than sidechains.
Most zk rollups use a supernode, a kind of superuser that aggregates all transactions. There is a risk of someone being censored, which in this case means that the superuser does not want to validate your transactions. If that happens, someone can send their transactions directly to the rollup contract on Mainnet.
Users can sign up for inclusion in the next roll up and thus be cheaper this way.
The operators or superusers check a transaction and see if a user is part of the network's status. Furthermore, they check if there are enough funds in an account. The transaction must be correct and the public key must match that of the sender in the roll up. The nonce (to avoid double spending) is also included in the roll up.
When the roll up has collected enough transactions it bundles them. A zk SNARK is used to provide a proof that the data is correct.
After this, a "proving circuit" goes to work on this data and checks that everything is correct. Once this is done, the operator sends the data to the verification smart contract on layer 1 of the blockchain. Here everything is tested again for correctness, after which the transactions are put into the ledger and the new state of the blockchain is known.
It is even possible for proofs to be created. These so-called recursive proofs bundle zk proofs together at layer 2, then at layer 1 all proofs are accepted together, after which a battery of blocks are instantaneously accepted, which adds further scalability to a roll up network.
If you also want to join a roll up as a user to reduce your transaction costs, you must put funds into a roll up smart contract at layer 1. Once the operator has accepted your funds, you can make cheaper transactions in this roll up.
Zk roll ups thus increase scalability and reduce user costs. However, they are quite difficult to implement, which is why they are still used sparsely. The likelihood of rogue superusers threatening the network is also higher. As developers become more adept at it, the zk roll up will certainly become more common, as many users of certain networks find the transaction costs and speed unacceptable.