Blockchains face a scalability challenge due to the intrinsic throughput limitations of consensus protocols and the limitation in block sizes due to decentralization. An alternative to improve the number of transactions per second is to use Layer 2 (L2) rollups. L2s perform most computations offchain using blockchains (L1) minimally under-the-hood to guarantee correctness. A sequencer receives offchain L2 transaction requests, batches them, and commits compressed or hashed batches to L1. Hashing offers much better compression but requires a data availability committee (DAC) to translate hashes back into their corresponding batches. Current L2s consist of a centralized sequencer which receives and serializes all transactions and an optional DAC. Centralized sequencers can undesirably influence L2s evolution. We propose in this paper a fully decentralized implementation of a service that combines (1) a sequencer that posts hashes to the L1 blockchain and (2) the data availability committee that reverses the hashes. We call the resulting service a (decentralized) arranger. Our decentralized arranger is based on Set Byzantine Consensus (SBC), a service where participants can propose sets of values and consensus is reached on a subset of the union of the values proposed. We extend SBC for our fully decentralized arranger. Our main contributions are (1) a formal definition of arrangers; (2) two implementations, one with a centralized sequencer and another with a fully decentralized algorithm, with their proof of correctness; and (3) empirical evidence that our solution scales by implementing all building blocks necessary to implement a correct server.
翻译:暂无翻译