Cryptology ePrint Archive: Report 2019/504

Afgjort: A Partially 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 partially 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 partially 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 partially synchronous finality layers.

Category / Keywords: cryptographic protocols / blockchain, finality, Byzantine agreement

Date: received 15 May 2019, last revised 17 Jul 2019

Contact author: magri at cs au dk,cm@concordium com,jbn@cs au dk,tschudi@cs au dk

Available format(s): PDF | BibTeX Citation

Note: We changed semi-synchronous to partially synchronous and improved the presentation.

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 added Section 4.2 outlining how to prove UC security of the protocol.

Version: 20190717:082654 (All versions of this report)

Short URL: ia.cr/2019/504


[ Cryptology ePrint archive ]