Bitcoin a Distributed Shared Register
Distributed Ledgers (e.g. Bitcoin) occupy currently the first lines of the economical and political media and many speculations are done with respect to their level of coherence and their computability power. Interestingly, there is no consensus on the properties and abstractions that fully capture the behaviour of distributed ledgers. The interest in formalising the behaviour of distributed ledgers is twofold. Firstly, it helps to prove the correctness of the algorithms that implement existing distributed ledgers and explore their limits with respect to an unfriendly environment and target applications. Secondly, it facilitates the identification of the minimal building blocks necessary to implement the distributed ledger in a specific environment.
Even though the behaviour of distributed ledgers is similar to abstractions that have been deeply studied for decades in distributed systems no abstraction is sufficiently powerful to capture the distributed ledger behaviour.
This paper introduces the Distributed Ledger Register, a register that mimics the behaviour of one of the most popular distributed ledger, i.e. the Bitcoin ledger. The aim of our work is to provide formal guarantees on the coherent evolution of Bitcoin. We furthermore show the conditions under which the Bitcoin blockchain maintenance algorithm satisfies the distributed ledger register properties. Moreover, we prove that the Distributed Ledger Register verifies the specification of a regular register. We show that in partially synchronous systems, the strongest coherency implemented by Bitcoin is regularity when reads are sparse. This study contradicts the common belief that Bitcoin implements strong coherency criteria in a totally asynchronous system. To the best of our knowledge, our work is the first one that makes the connection between the distributed ledgers and the classical theory of distributed shared registers.
The authors would like to thank Sara Tucci Piergiovanni and Antonella del Pozzo for insightful comments on a preliminary version of this paper.
- 1.Ethereum Stack Exchange (2016). https://ethereum.stackexchange.com/questions/319/what-number-of-confirmations-is-considered-secure-in-ethereum
- 3.Anceaume, E., Lajoie-Mazenc, T., Ludinard, R., Sericola, B.: Safety analysis of bitcoin improvement proposals. In: 15th IEEE International Symposium on Network Computing and Applications (NCA) (2016)Google Scholar
- 4.Bonomi, S., Dolev, S., Potop-Butucaru, M., Raynal, M.: Stabilizing server-based storage in Byzantine asynchronous message-passing systems: extended abstract. In: Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, PODC 2015, Donostia-San Sebastián, Spain, July 21–23, 2015, pp. 471–479 (2015)Google Scholar
- 5.Cachin, C.: Blockchain - from the anarchy of cryptocurrencies to the enterprise (Keynote Abstract). In: Proceedings of the OPODIS International Conference (2016)Google Scholar
- 7.Decker, C., Seidel, J., Wattenhofer, R.: Bitcoin meets strong consistency. In: Proceedings of the ICDCN International Conference (2016)Google Scholar
- 8.Eyal, I., Gencer, A.E., Sirer, E.G., Van Renesse, R.: Bitcoin-NG: a scalable blockchain protocol. In Proceedings of the USENIX NSDI Symposium (2016)Google Scholar
- 12.Kokoris-Kogias, E., Jovanovic, P., Gailly, N., Khoffi, I., Gasser, L., Ford, B.: Enhancing bitcoin security and performance with strong consistency via collective signing. In Proceedings of the USENIX Security Symposium (2016)Google Scholar
- 14.Miller, A., LaViola Jr., J.J.: Anonymous Byzantine consensus from moderately-hard puzzles: a model for bitcoin (2014). http://bravenewcoin.com/assets/Whitepapers/
- 15.Nakamoto, S.: Bitcoin: a peer-to-peer electronic cash system (2008). https://bitcoin.org/bitcoin.pdf
- 17.Wood, G.: Ethereum: a secure decentralised generalised transaction ledger. http://gavwood.com/Paper.pdf