Paper 2020/173
Securing Proof-of-Work Ledgers via Checkpointing
Dimitris Karakostas and Aggelos Kiayias
Abstract
Our work explores mechanisms that secure a distributed ledger in the presence of adversarial mining majorities. Distributed ledgers based on the Proof-of-Work (PoW) paradigm are typically most vulnerable when mining participation is low. During these periods an attacker can mount devastating attacks, such as double spending or censorship of transactions. We put forth the first rigorous study of checkpointing as a mechanism to protect distributed ledgers from such 51% attacks. The core idea is to employ an external set of parties that assist the ledger by finalizing blocks shortly after their creation. This service takes the form of checkpointing and timestamping; checkpointing ensures low latency in a federated setting, while timestamping is fully decentralized. Contrary to existing checkpointing designs, ours is the first to ensure both consistency and liveness. We identify a previously undocumented attack against liveness, “block lead”, which enables Denial-of-Service and censorship to take place in existing checkpointed settings. We showcase our results on a checkpointed version of Ethereum Classic, a system which recently suffered a 51% attack, and build a federated distributed checkpointing service, which provides high assurance with low performance requirements. Finally, we fully decentralize our scheme, in the form of timestamping on a secure distributed ledger, and evaluate its performance using Bitcoin and Ethereum.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- Preprint. MINOR revision.
- Keywords
- blockchaincheckpointstimestampingProof-of-Work
- Contact author(s)
- dimitris karakostas @ ed ac uk
- History
- 2021-01-27: revised
- 2020-02-14: received
- See all versions
- Short URL
- https://ia.cr/2020/173
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2020/173, author = {Dimitris Karakostas and Aggelos Kiayias}, title = {Securing Proof-of-Work Ledgers via Checkpointing}, howpublished = {Cryptology {ePrint} Archive, Paper 2020/173}, year = {2020}, url = {https://eprint.iacr.org/2020/173} }