Cargando…

The consensus number of a cryptocurrency

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 co...

Descripción completa

Detalles Bibliográficos
Autores principales: Guerraoui, Rachid, Kuznetsov, Petr, Monti, Matteo, Pavlovic, Matej, Seredinschi, Dragos-Adrian
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Springer Berlin Heidelberg 2021
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8882574/
https://www.ncbi.nlm.nih.gov/pubmed/35250132
http://dx.doi.org/10.1007/s00446-021-00399-2
_version_ 1784659721709420544
author Guerraoui, Rachid
Kuznetsov, Petr
Monti, Matteo
Pavlovic, Matej
Seredinschi, Dragos-Adrian
author_facet Guerraoui, Rachid
Kuznetsov, Petr
Monti, Matteo
Pavlovic, Matej
Seredinschi, Dragos-Adrian
author_sort Guerraoui, Rachid
collection PubMed
description 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. In this paper, we treat the asset transfer problem as a concurrent object and determine its consensus number, showing that consensus is, in fact, 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 establish our results in the context of shared memory with benign faults, allowing us to properly understand the level of difficulty of the asset transfer problem. We also translate these results in the message passing setting with Byzantine players, a model that is more relevant in practice. In this model, 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.
format Online
Article
Text
id pubmed-8882574
institution National Center for Biotechnology Information
language English
publishDate 2021
publisher Springer Berlin Heidelberg
record_format MEDLINE/PubMed
spelling pubmed-88825742022-03-02 The consensus number of a cryptocurrency Guerraoui, Rachid Kuznetsov, Petr Monti, Matteo Pavlovic, Matej Seredinschi, Dragos-Adrian Distrib Comput Article 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. In this paper, we treat the asset transfer problem as a concurrent object and determine its consensus number, showing that consensus is, in fact, 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 establish our results in the context of shared memory with benign faults, allowing us to properly understand the level of difficulty of the asset transfer problem. We also translate these results in the message passing setting with Byzantine players, a model that is more relevant in practice. In this model, 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. Springer Berlin Heidelberg 2021-10-23 2022 /pmc/articles/PMC8882574/ /pubmed/35250132 http://dx.doi.org/10.1007/s00446-021-00399-2 Text en © The Author(s) 2021, corrected publication 2022 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article’s Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article’s Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) .
spellingShingle Article
Guerraoui, Rachid
Kuznetsov, Petr
Monti, Matteo
Pavlovic, Matej
Seredinschi, Dragos-Adrian
The consensus number of a cryptocurrency
title The consensus number of a cryptocurrency
title_full The consensus number of a cryptocurrency
title_fullStr The consensus number of a cryptocurrency
title_full_unstemmed The consensus number of a cryptocurrency
title_short The consensus number of a cryptocurrency
title_sort consensus number of a cryptocurrency
topic Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8882574/
https://www.ncbi.nlm.nih.gov/pubmed/35250132
http://dx.doi.org/10.1007/s00446-021-00399-2
work_keys_str_mv AT guerraouirachid theconsensusnumberofacryptocurrency
AT kuznetsovpetr theconsensusnumberofacryptocurrency
AT montimatteo theconsensusnumberofacryptocurrency
AT pavlovicmatej theconsensusnumberofacryptocurrency
AT seredinschidragosadrian theconsensusnumberofacryptocurrency
AT guerraouirachid consensusnumberofacryptocurrency
AT kuznetsovpetr consensusnumberofacryptocurrency
AT montimatteo consensusnumberofacryptocurrency
AT pavlovicmatej consensusnumberofacryptocurrency
AT seredinschidragosadrian consensusnumberofacryptocurrency