- The paper presents a decentralized architecture that replaces centralized sequencers with multiple replicas using Set Byzantine Consensus.
- It demonstrates empirical throughput gains of up to two orders of magnitude, mitigating censorship and data availability issues.
- The implementation includes detailed pseudocode ensuring safety, liveness, and robust performance under high transaction loads.
Introduction
The paper "A Decentralized Sequencer and Data Availability Committee for Rollups Using Set Consensus" proposes a novel architecture for fully decentralized sequencers and data availability committees in Layer 2 (L2) rollups. This research addresses the limitations associated with the centralized nature of current L2 rollups, which rely on single or minimal points of trust, potentially leading to censorship, data unavailability, and centralization bottlenecks.
Problem Definition and Solution Overview
The paper identifies the centralization of the sequencer and Data Availability Committee (DAC) in current L2 rollups as a major obstacle to achieving fully decentralized blockchain systems. These components traditionally manage transaction ordering and ensure the availability of compressed batch data posted to Layer 1 (L1). The proposed architecture introduces the concept of a decentralized "arranger" that combines these components using Set Byzantine Consensus (SBC), which allows multiple replicas to propose transaction sets and achieve consensus on a subset.
The proposed solution involves transitioning from a traditional centralized sequencer model to a decentralized framework where multiple replicas collectively manage transaction ordering and data availability. The arranger utilizes the SBC protocol to establish consensus among replicas efficiently and securely.
Implementation
Architecture and Algorithms
The decentralized arranger is built upon three main components:
- Sequencer and DAC: The arranger integrates the roles of sequencer and DAC within distributed replicas. These replicas maintain transaction ordering and data availability collaboratively, reducing the potential for censorship and improving reliability.
- Set Byzantine Consensus: By employing SBC, the proposed protocol allows replicas to propose sets of transaction requests and reach agreement on which requests are included. This set-based approach enhances throughput and negates the performance limitations of binary consensus models.
- Empirical Analysis: The paper provides empirical evidence demonstrating the efficiency and scalability of the decentralized arranger across various transaction volumes and network configurations. The results showcase a significant performance improvement over existing centralized models.
Pseudocode and Implementation Details
The implementation centers on the SBC algorithm, which enables consensus through offering a sequence of transaction requests, hashing and signing the consensus sets, and posting those batches to the blockchain with valid signatures. The procedure involves:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class ArrangerReplica:
def __init__(self):
self.hashes = {}
self.signatures = set()
def add_transaction_request(self, transaction):
SBC.ADD(transaction)
def translate(self, id, hash_value):
if (id, _) not in self.hashes:
return "invalidId"
elif (id, hash_value) not in self.hashes:
return "invalidHash"
else:
return self.hashes[(id, hash_value)]
def on_sbc_set_deliver(self, id, set_of_requests):
batch = self.to_batch(set_of_requests)
hash_value = hash_function(batch)
self.hashes[id, hash_value] = batch
broadcast_signature(id, hash_value)
def my_turn_post(self):
id = self.next_batch_id()
collect_signatures(id) # Collect sufficient signatures
logger.post(id) # Post batch to L1 |
Empirical Evaluation
The empirical evaluation demonstrates that the decentralized arranger is capable of handling a transaction throughput that surpasses current Ethereum Layer 2 rollups by two orders of magnitude, without imposing a significant computational overhead. The key components—hashing, compressing, signing, aggregating, and translating—exhibit performance levels that are scalable with the transaction demand.
Prior efforts in decentralizing the sequencer component have focused on proof-of-stake mechanisms and leader election using protocols like Tendermint and RAFT. However, these often lack rigorous correctness proofs and may not address both data availability and censorship concerns effectively. This paper's fully decentralized model using SBC addresses these gaps by providing a comprehensive framework with guarantees in safety and liveness properties.
Conclusion
This paper provides a formal definition and implementation strategy for a decentralized arranger, combining the roles of sequencer and DAC, supporting a more scalable and trustless operation of Ethereum Layer 2 rollups. The proposed architecture theoretically and empirically supports enhanced decentralization and scalability without compromising reliability or performance, paving the way for more robust blockchain systems. Future research may focus on incentive models, stakeholder alignment, and integrating additional Byzantine-resilient solutions for enhanced security and efficiency.