Abstract
The two-phase commit (2PC) protocol has long been known to have a provably inevitable vulnerability to blocking or non-progress amidst server crashes, even when the distributed database system guarantees the most demanding timing-related or “synchrony” requirements. Our aim here is to eliminate this vulnerability by using a blockchain for coordinating 2PC execution. We present the impossibilities, the possibilities, the cost, and the trade-offs in this blockchain-based approach to blocking-free management of distributed transactions. We prove that a non-blocking and blockchain-coordinated 2PC protocol can exist only if both the blockchain and distributed database systems meet synchrony requirements; otherwise, although blocking remains eliminated, transactions can unnecessarily abort. We present a blockchain-coordinated 2PC protocol and provide rigorous arguments for its correctness under the synchrony requirements. We then implement this protocol on the Ethereum Testnet and demonstrate, through our experiments, that the monetary cost of executing smart contracts is quite small, that the protocol performance slows down when using a public blockchain like Ethereum, and that even major violations of synchrony requirements lead only to relatively small increases in unnecessary aborts. We thus identify a trade-off between improving protocol performance and admitting a risk that transactions could occasionally abort unnecessarily.
| Original language | English |
|---|---|
| Article number | e5276 |
| Journal | Concurrency and Computation: Practice and Experience |
| Volume | 32 |
| Issue number | 12 |
| DOIs | |
| Publication status | Published - 25 Jun 2020 |
Bibliographical note
Publisher Copyright:© 2019 John Wiley & Sons, Ltd.
Keywords
- atomic commit
- blockchain
- blocking protocols
- delay bounds
- smart contract
- synchronous systems
- two-phase commit
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Computer Science Applications
- Computer Networks and Communications
- Computational Theory and Mathematics
Fingerprint
Dive into the research topics of 'Non-blocking two-phase commit using blockchain'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver