Score: 0

Formal Verification of Blockchain Nonforking in DAG-Based BFT Consensus with Dynamic Stake

Published: April 23, 2025 | arXiv ID: 2504.16853v1

By: Alessandro Coglio, Eric McCarthy

Potential Business Impact:

Keeps blockchain from splitting into fake copies.

Business Areas:
Blockchain Blockchain and Cryptocurrency

Blockchain consensus protocols enable participants to agree on consistent views of the blockchain that may be ahead or behind relative to each other but do not fork into different chains. A number of recently popular Byzantine-fault-tolerant (BFT) protocols first construct a directed acyclic graph (DAG) that partially orders transactions, then linearize the DAG into a blockchain that totally orders transactions. The definitions and correctness proofs of these DAG-based protocols typically assume that the set of participants is fixed, which is impractical in long-lived blockchains. Additionally, only a few of those proofs have been machine-checked, uncovering errors in some published proofs. We developed a formal model of a DAG-based BFT protocol with dynamic stake, where participants can join and leave at every block, with stake used to weigh decisions in the protocol. We formally proved that blockchains never fork in the model, also clarifying how BFT bounds on faulty participants generalize to these highly dynamic sets of participants. Our model and proofs are formalized in the ACL2 theorem prover, apply to arbitrarily long executions and arbitrarily large system states, and are verified in 1 minute by ACL2.

Page Count
34 pages

Category
Computer Science:
Logic in Computer Science