[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3293611.3331589acmconferencesArticle/Chapter ViewAbstractPublication PagespodcConference Proceedingsconference-collections
research-article

The Consensus Number of a Cryptocurrency

Published: 16 July 2019 Publication History

Abstract

Many blockchain-based algorithms, such as Bitcoin, implement a decentralized asset transfer system, often referred to as a cryptocurrency. As stated in the original paper by Nakamoto, at the heart of these systems lies the problem of preventing double-spending ; this is usually solved by achieving consensus on the order of transfers among the participants. By treating the asset transfer problem as a concurrent object and determining its consensus number, we show that consensus is not necessary to prevent double-spending. We first consider the problem as defined by Nakamoto, where only a single process---the account owner---can withdraw from each account. Safety and liveness need to be ensured for correct account owners, whereas misbehaving account owners might be unable to perform transfers. We show that the consensus number of an asset transfer object is 1. We then consider a more general k-shared asset transfer object where up to k processes can atomically withdraw from the same account, and show that this object has consensus number k. We first establish these these results in the context of shared memory with benign faults, in order to properly understand the level of difficulty of the asset transfer problem. Then, we translate our result in the more practically relevant message passing setting with Byzantine players. We describe an asynchronous Byzantine fault-tolerant asset transfer implementation that is both simpler and more efficient than state-of-the-art consensus-based solutions. Our results are applicable to both the permissioned (private) and permissionless (public) setting, as normally their differentiation is hidden by the abstractions on top of which our algorithms are based.

References

[1]
Ittai Abraham, Guy Gueta, Dahlia Malkhi, Lorenzo Alvisi, Rama Kotla, and Jean-Philippe Martin. 2017. Revisiting Fast Practical Byzantine Fault Tolerance. arXiv preprint arXiv:1712.01367 (2017). https://arxiv.org/abs/1712.01367
[2]
Ittai Abraham, Dahlia Malkhi, Kartik Nayak, Ling Ren, and Alexander Spiegelman. 2016. Solida: A Blockchain Protocol Based on Reconfigurable Byzantine Consensus. CoRR, Vol. abs/1612.02916 (2016). http://arxiv.org/abs/1612.02916
[3]
Yehuda Afek, Hagit Attiya, Danny Dolev, Eli Gafni, Michael Merritt, and Nir Shavit. 1993. Atomic Snapshots of Shared Memory., Vol. 40, 4 (1993), 873--890.
[4]
Elli Androulaki, Artem Barger, Vita Bortnikov, Christian Cachin, Konstantinos Christidis, Angelo De Caro, David Enyeart, Christopher Ferris, Gennady Laventman, Yacov Manevich, Srinivasan Muralidharan, Chet Murthy, Binh Nguyen, Manish Sethi, Gari Singh, Keith Smith, Alessandro Sorniotti, Chrysoula Stathakopoulou, Marko Vukolic, Sharon Weed Cocco, and Jason Yellick. 2018. Hyperledger fabric: a distributed operating system for permissioned blockchains. In EuroSys .
[5]
Karolos Antoniadis, Rachid Guerraoui, Dahlia Malkhi, and Dragos-Adrian Seredinschi. 2018. State Machine Replication is More Expensive Than Consensus. In DISC .
[6]
Hagit Attiya and Jennifer L. Welch. 1994. Sequential consistency versus linearizability . ACM TOCS, Vol. 12, 2 (1994), 91--122.
[7]
Iddo Bentov, Ariel Gabizon, and Alex Mizrahi. 2016. Cryptocurrencies without proof of work. In International Conference on Financial Cryptography and Data Security. Springer, 142--157.
[8]
Piotr Berman, Juan A. Garay, and Kenneth J. Perry. 1989. Towards Optimal Distributed Consensus. In FOCS .
[9]
Joseph Bonneau, Andrew Miller, Jeremy Clark, Arvind Narayanan, Joshua A. Kroll, and Edward W. Felten. 2015. SoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies. In IEEE S&P .
[10]
Gabriel Bracha and Sam Toueg. 1985. Asynchronous Consensus and Broadcast Protocols . JACM, Vol. 32, 4 (1985).
[11]
Christian Cachin, Klaus Kursawe, Frank Petzold, and Victor Shoup. 2001. Secure and efficient asynchronous broadcast protocols. In Annual International Cryptology Conference. Springer, 524--541.
[12]
Christian Cachin and Marko Vukolić. 2017. Blockchains consensus protocols in the wild. arXiv preprint arXiv:1707.01873 (2017).
[13]
Miguel Castro and Barbara Liskov. 1999. Practical Byzantine Fault Tolerance. In Proceedings of the Third Symposium on Operating Systems Design and Implementation (OSDI '99). 173--186.
[14]
Anton Churyumov. 2016. Byteball: A decentralized system for storage and transfer of value. https://byteball.org/Byteball.pdf (2016).
[15]
Allen Clement, Edmund L Wong, Lorenzo Alvisi, Michael Dahlin, and Mirco Marchetti. 2009. Making Byzantine Fault Tolerant Systems Tolerate Byzantine Faults. In NSDI .
[16]
Christian Decker, Jochen Seidel, and Roger Wattenhofer. 2016. Bitcoin meets strong consistency. In Proceedings of the 17th International Conference on Distributed Computing and Networking. 13.
[17]
Sisi Duan, Michael K. Reiter, and Haibin Zhang. 2018. BEAT: Asynchronous BFT Made Practical. In CCS .
[18]
Ittay Eyal, Adem Efe Gencer, Emin Gün Sirer, and Robbert Van Renesse. 2016. Bitcoin-NG: A Scalable Blockchain Protocol. In NSDI .
[19]
Michael J. Fischer, Nancy A. Lynch, and Michael S. Paterson. 1985. Impossibility of Distributed Consensus with one Faulty Process., Vol. 32, 2 (April 1985), 374--382.
[20]
Juan Garay, Aggelos Kiayias, and Nikos Leonardos. 2015. The Bitcoin Backbone Protocol: Analysis and Applications. In Advances in Cryptology - EUROCRYPT 2015 .
[21]
Juan A Garay, Jonathan Katz, Ranjit Kumaresan, and Hong-Sheng Zhou. 2011. Adaptively Secure Broadcast, Revisited. In PODC. Citeseer, 179--186.
[22]
Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, and Nickolai Zeldovich. 2017. Algorand: Scaling byzantine agreements for cryptocurrencies. In SOSP .
[23]
Rachid Guerraoui, Petr Kuznetsov, Matteo Monti, Matej Pavlovic, and Dragos-Adrian Seredinschi. 2019. The Consensus Number of a Cryptocurrency (Extended Version). EPFL Infoscience (2019).
[24]
Rachid Guerraoui, Matej Pavlovic, and Dragos-Adrian Seredinschi. 2018. Blockchain Protocols: The Adversary is in the Details. In Symposium on Foundations and Applications of Blockchain .
[25]
Saurabh Gupta. 2016. A Non-Consensus Based Decentralized Financial Transaction Processing Model with Support for Efficient Auditing. Master's thesis. Arizona State University, USA.
[26]
Vassos Hadzilacos and Sam Toueg. 1993. Fault-tolerant broadcasts and related problems. In Distributed Systems, Sape J. Mullender (Ed.). Addison-Wesley, Chapter 5, 97--145.
[27]
Mike Hearn. 2016. Corda: A distributed ledger. Corda Technical White Paper (2016).
[28]
Maurice Herlihy. 1991. Wait-free synchronization., Vol. 13, 1 (1991), 123--149.
[29]
Maurice P Herlihy and Jeannette M Wing. 1990. Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems (TOPLAS), Vol. 12, 3 (1990).
[30]
Colin J. Fidge. 1988. Timestamps in message-passing systems that preserve partial ordering. In Proceedings of the 11th Australian Computer Science Conference .
[31]
Prasad Jayanti and Sam Toueg. 1992. Some results on the impossibility, universability and decidability of consensus. In International Workshop on Distributed Algorithms (LNCS), Vol. 647. Springer Verlag.
[32]
Kolbeinn Karlsson, Weitao Jiang, Stephen Wicker, Danny Adams, Edwin Ma, Robbert van Renesse, and Hakim Weatherspoon. 2018. Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-Things. In ICDCS .
[33]
Eleftherios Kokoris Kogias, Philipp Jovanovic, Nicolas Gailly, Ismail Khoffi, Linus Gasser, and Bryan Ford. 2016. Enhancing bitcoin security and performance with strong consistency via collective signing. In USENIX Security .
[34]
Eleftherios Kokoris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gailly, Ewa Syta, and Bryan Ford. 2018. Omniledger: A secure, scale-out, decentralized ledger via sharding. In IEEE S&P .
[35]
Colin LeMahieu. 2018. Nano: A feeless distributed cryptocurrency network. Nano {Online resource}. URL: https://nano. org/en/whitepaper (date of access: 18.01. 2019) (2018).
[36]
Dahlia Malkhi, Michael Merritt, and Ohad Rodeh. 1997. Secure Reliable Multicast Protocols in a WAN. In ICDCS .
[37]
Dahlia Malkhi and Michael K. Reiter. 1997. A High-Throughput Secure Reliable Multicast Protocol. Journal of Computer Security, Vol. 5, 2 (1997), 113--128.
[38]
David Mazieres. 2015. The stellar consensus protocol: A federated model for internet-level consensus. Stellar Development Foundation (2015).
[39]
Satoshi Nakamoto. 2008. Bitcoin: A Peer-to-Peer Electronic Cash System.
[40]
Fernando Pedone and André Schiper. 2002. Handling message semantics with generic broadcast protocols. Distributed Computing, Vol. 15, 2 (2002), 97--107.
[41]
Philip Rapoport, Roman Leal, Patrick Griffin, and Wellington Sculley. 2014. The Ripple Protocol .
[42]
Yonatan Sompolinsky and Aviv Zohar. 2013. Accelerating Bitcoin's transaction processing: fast money grows on trees, not chains. IACR Cryptology ePrint Archive, 2013:881 (2013).
[43]
Joao Sousa, Alysson Bessani, and Marko Vukolic. 2018. A byzantine fault-tolerant ordering service for the hyperledger fabric blockchain platform. In DSN .
[44]
Nick Szabo. 1997. Formalizing and securing relationships on public networks. First Monday, Vol. 2, 9 (1997).
[45]
Team-Rocket. 2018. Snowflake to Avalanche: A Novel Metastable Consensus Protocol Family for Cryptocurrencies . White Paper (2018). Revision: 05/16/2018 21:51:26 UTC.
[46]
Sam Toueg. 1984. Randomized Byzantine Agreements. In Proceedings of the Third Annual ACM Symposium on Principles of Distributed Computing (PODC '84). ACM, New York, NY, USA, 163--178.
[47]
Marko Vukolić. 2015. The Quest for Scalable Blockchain Fabric: Proof-of-work vs. BFT Replication. In International Workshop on Open Problems in Network Security. Springer, 112--125.
[48]
Gavin Wood. 2015. Ethereum: A secure decentralized generalized transaction ledger. White paper.

Cited By

View all
  • (2024)The Digital Euro: A Critical ExaminationSSRN Electronic Journal10.2139/ssrn.4748262Online publication date: 2024
  • (2024)The Fractional Spending Problem: Executing Payment transactions in parallel with less than f+1 validationsProceedings of the 43rd ACM Symposium on Principles of Distributed Computing10.1145/3662158.3662817(295-305)Online publication date: 17-Jun-2024
  • (2024)Improving Blockchain Scalability with the Setchain Data-TypeDistributed Ledger Technologies: Research and Practice10.1145/36269633:2(1-27)Online publication date: 18-Jun-2024
  • Show More Cited By

Index Terms

  1. The Consensus Number of a Cryptocurrency

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PODC '19: Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing
    July 2019
    563 pages
    ISBN:9781450362177
    DOI:10.1145/3293611
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 16 July 2019

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. blockchain
    2. consensus
    3. consensus number
    4. distributed asset transfer
    5. distributed computing

    Qualifiers

    • Research-article

    Funding Sources

    • European ERC Grant

    Conference

    PODC '19
    Sponsor:
    PODC '19: ACM Symposium on Principles of Distributed Computing
    July 29 - August 2, 2019
    Toronto ON, Canada

    Acceptance Rates

    PODC '19 Paper Acceptance Rate 48 of 173 submissions, 28%;
    Overall Acceptance Rate 740 of 2,477 submissions, 30%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)70
    • Downloads (Last 6 weeks)5
    Reflects downloads up to 27 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)The Digital Euro: A Critical ExaminationSSRN Electronic Journal10.2139/ssrn.4748262Online publication date: 2024
    • (2024)The Fractional Spending Problem: Executing Payment transactions in parallel with less than f+1 validationsProceedings of the 43rd ACM Symposium on Principles of Distributed Computing10.1145/3662158.3662817(295-305)Online publication date: 17-Jun-2024
    • (2024)Improving Blockchain Scalability with the Setchain Data-TypeDistributed Ledger Technologies: Research and Practice10.1145/36269633:2(1-27)Online publication date: 18-Jun-2024
    • (2024)Unsealing the secrets of blockchain consensus: A systematic comparison of the formal security of proof-of-work and proof-of-stakeProceedings of the 39th ACM/SIGAPP Symposium on Applied Computing10.1145/3605098.3635970(278-287)Online publication date: 8-Apr-2024
    • (2024)Trusted Hardware-Assisted Leaderless Byzantine Fault Tolerance ConsensusIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2024.335752121:6(5086-5097)Online publication date: Nov-2024
    • (2024)Presto: Optimizing Cross-Shard Transactions in Sharded Blockchain Architecture2024 43rd International Symposium on Reliable Distributed Systems (SRDS)10.1109/SRDS64841.2024.00023(139-149)Online publication date: 30-Sep-2024
    • (2024)Dynamically available consensus on a DAG with fast confirmation for UTXO transactions2024 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)10.1109/ICBC59979.2024.10634391(684-686)Online publication date: 27-May-2024
    • (2024)SoK: DAG-based Consensus Protocols2024 IEEE International Conference on Blockchain and Cryptocurrency (ICBC)10.1109/ICBC59979.2024.10634358(1-18)Online publication date: 27-May-2024
    • (2024)Security threshold for FPCS on star graphs2024 6th Conference on Blockchain Research & Applications for Innovative Networks and Services (BRAINS)10.1109/BRAINS63024.2024.10732845(1-4)Online publication date: 9-Oct-2024
    • (2024)Synergistic KnowledgeTheoretical Computer Science10.1016/j.tcs.2024.114902(114902)Online publication date: Oct-2024
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media