HOKIE: Is Rollups centralized?
发布时间: 2021-11-11 文章来源: 互联网
Ethereum is extremely crowded at present. There are too many transactions that need to be bundled into each block. To make matters worse, most of these transactions are computationally intensive (i.e., require a lot of computing), like flash loans or transactions made through aggregators. Gone are the days of simple transfers and payments (before DeFi).
Ethereum must process and record every line of calculation for every transaction until the Rollups arrive.
Rollups moves calculations down the chain, where only minimal transaction data is stored. Rollups handles all the messy data processing and exponentially increases the volume of smart contracts contained in a single Ethereum block by batching transactions (" rolling up ").
The problem Rollups was trying to solve (namely, "network congestion due to computing overload ") even gave us a vague idea of a Rollup solution (i.e.," move computing down the chain "). But as for how Rollups work, what they look like, and why they excite us, we need to dig a little deeper.
What is Rollup?
Each Rollup is essentially a separate blockchain, but with some modifications. Like Ethereum, each Rollup protocol has a "virtual machine" that executes the smart contract code. Rollup's virtual machine runs independently of Ethereum's own virtual machine, EVM, but is managed by an Ethereum smart contract. This linearity allows Rollups to communicate with Ethereum. Rollup executes the transaction and processes the data, and Ethereum receives and stores the results.
On a technical level, the key difference between Rollup and other more traditional blockchains is the way new blocks are generated.
Typically, a blockchain is a decentralized network maintained by multiple parties (i.e., "miners" or "verifiers," depending on the type of consensus on the blockchain). These parties co-produce blocks by consensus. Simply put, the parties vote on how to process a set of transactions, or in other words, how to build the next block. The block with the majority of support will be permanently written to the blockchain.
By contrast, Rollup chains do not run by majority rule. Instead, a single party monitoring Rollup status can send so-called "assertions" to Ethereum (L1 base layer) about how a particular batch of transactions should be processed. Importantly, Ethereum will independently accept or reject this assertion, whether or not it is supported by the majority of other parties to this Rollup. In practice, this usually means that a single party in the Rollup chain is assigned the task of processing the transaction and production blocks.
And so on... Rollups is centralized, right?
This centralized nature of Rollup block production is part of why Rollups can process transactions so efficiently. But this also raises an obvious and worrying question: how can Rollups ensure block production is correct without majority consensus? What happens if the block producer happens to be malicious?
This centralization confuses crypto users who are used to consensus-based blockchains. In fact, if the story were to end there, we might (wrongly) conclude that Rollups is just "a database copied by a single side," as Avalanche co-founder Kevin Seqniqi recently tweeted (wrongly).
In fact, this accusation of Rollup centralization is more of a logical misunderstanding than a false one. In general, centralized blockchains without robust consensus mechanisms are indeed vulnerable to corruption and hostile takeovers; However, in Rollups' unique case, this lack of decentralization is not actually a problem for their security or reliability. To understand why this is the case, we need to take a deeper look.
The importance of data availability
Rollups is like "moving smart contract computing down the chain, where only minimal transaction data is stored."
In fact, this last part, "storing transaction data on the chain," is crucial to the way Rollups works. In a Rollup chain, only computation (data processing) takes place down the chain, and each Rollup transaction still stores its input data (i.e., "calldata") on Ethereum.
What is the importance of keeping transaction data on the chain? In the math homework metaphor, the piece of paper we eventually handed to the teacher included long division problems and their answers, which allowed the teacher to check our work even if we didn't write individual steps on it. Similarly, the persistent availability of on-chain data means that any computation on Rollup can be repeated by the Ethereum base layer.
In short, Rollup's on-chain data availability allows for a built-in review process. Before transactions are permanently booked, Ethereum can "double check" the integrity of transactions processed on the Rollup chain -- almost like the us Supreme Court's judicial review power.
Limitations are an advantage
Therefore, the key feature of Rollups is their limitations. Rollups only pushes transactions to the (Ethereum) base layer; They cannot force base acceptance, as Ethereum can overturn any Rollup transaction if necessary. Because they are subject to this review process, Rollup transactions are considered to lack true finality.
Given this limitation of Rollups, we can return to the unresolved charge of Rollups centralization above. A single block producer in Rollup may attempt to process transactions maliciously, but if it does, Ethereum (base layer) will simply reject the batch after the review process is complete and the block producer will be penalized.
Currently, how the "review process" works depends on whether Optimistic Rollup or ZK Rollup. But in both cases, the review process is far more efficient than Ethereum could handle transactions on its own.
In summary, the Rollup system is based on "checks and balances", which ensures that Ethereum always remains a sovereign chain: Ethereum's own consensus is the final arbiter of truth.
The side chain, however, is different. Lacking the same review process, side chains handle transactions through their own, completely independent consensus mechanism. Side chain deals are "finality" ina way that Rollup deals are not (until they are confirmed on Ethereum). Therefore, side chains require a greater assumption of trust, as they cannot benefit from Ethereum's own decentralized security. In fact, I think side chains are more similar to EVM compatible Layer 1 than Rollup.
To recap: Rollups moves calculations off the chain to free up more on-chain space. The availability of data on the chain is critical because it allows Ethereum to double-check the reliability of Rollups transactions. This review process in turn acts as a "check" on Rollup block production, eliminating the need for a consensus mechanism.
Rollups eventually allowed Ethereum to have its cake and eat it: they freed up more on-chain capacity without compromising the decentralized security of the network. At least in my opinion, this is the most elegant scalable solution we could hope for.