A Secure Consensus Protocol for Sidechains
This work addresses scalability and interoperability issues in public blockchains for developers and users by providing a tailored sidechain protocol, though it is incremental as it builds on existing sidechain concepts.
The paper tackles the lack of a high-performance, formally secure consensus protocol for sidechains by introducing Cumulus, which uses smart contracts to enforce one block per round on the mainchain, achieving efficient consensus with formal safety and liveness proofs under the UCS model, and implementation on an Ethereum testnet demonstrates its feasibility.
Sidechain technology has been envisioned as a promising solution to accelerate today's public blockchains in terms of scalability and interoperability. By relying on the mainchain for security, different sidechains can formulate their own rules to reach consensus. Although the literature has considered the possibility of using consensus protocols in the sidechain, so far a tailor-made consensus protocol for sidechains with high performance and formal security proof has not been attempted. To fill this gap, we introduce Cumulus, a low overhead, highly efficient, security provable sidechain protocol. Cumulus makes use of smart contracts to ensure that only one block proposed in the sidechain will be enforced on the mainchain in each round, thereby achieving consensus in an efficient manner. We give a formal specification of Cumulus which ensures safety and liveness without any online requirements of clients. For security analysis, we provide formal security definitions and proofs under Universally Composable Security (UCS) model. As a proof of concept, we implement Cumulus and evaluate it in an Ethereum testnet.