Paper 2019/504
Afgjort -- A Semi-Synchronous Finality Layer for Blockchains
Bernardo Magri and Christian Matt and Jesper Buus Nielsen and Daniel Tschudi
Abstract
Most existing blockchains either rely on a Nakamoto-style of consensus, where the chain can fork and produce rollbacks, or on a committee-based Byzantine fault tolerant (CBFT) consensus, where no rollbacks are possible. While the latter ones offer better consistency, the former can be more efficient, tolerate more corruptions, and offer better availability during bad network conditions. To achieve the best of both worlds, we initiate the formal study of finality layers. Such a finality layer can be combined with a Nakamoto-style blockchain and periodically declare blocks as final, preventing rollbacks beyond final blocks. As conceptual contributions, we identify the following properties to be crucial for a finality layer: finalized blocks form a chain (chain-forming), all parties agree on the finalized blocks (agreement), the last finalized block does not fall too far behind the last block in the underlying blockchain (updated), and all finalized blocks at some point have been on the chain adopted by at least $k$ honest parties ($k$-support). We also put forward an argument why finality layers should be asynchronous or semi-synchronous. As technical contributions, we propose two variants of a finality layer protocol. We prove both of them secure in the setting with $t < n/3$ Byzantine parties and a semi-synchronous network. The first variant satisfies all of the aforementioned requirements (with $k = 1$) when combined with an arbitrary blockchain that satisfies the usual common-prefix, chain-growth, and chain-quality properties. The other one needs an additional, mild assumption on the underlying blockchain, but is more efficient and satisfies $k = n/3$-support. We finally show that $t < n/3$ is optimal for semi-synchronous finality layers.
Note: We changed the proof of Theorem 1. The Theorem is true as it was written, but there was a false step in the proof. We added a correct proof. We add Section 4.2 outlining how to prove UC security of the protocol.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Preprint. MINOR revision.
- Keywords
- blockchainfinalityByzantine agreement
- Contact author(s)
- magri @ cs au dk,cm @ concordium com,jbn @ cs au dk,tschudi @ cs au dk
- History
- 2020-11-17: last of 5 revisions
- 2019-05-20: received
- See all versions
- Short URL
- https://ia.cr/2019/504
- License
-
CC BY