当前位置: X-MOL 学术Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
The consensus number of a cryptocurrency (extended version)
Distributed Computing ( IF 1.3 ) Pub Date : 2021-10-23 , DOI: 10.1007/s00446-021-00399-2
Rachid Guerraoui 1 , Petr Kuznetsov 2 , Matteo Monti 1 , Matej Pavlovic 1 , Dragos-Adrian Seredinschi 1
Affiliation  

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.



中文翻译:

一种加密货币的共识数(扩展版)

许多基于区块链的算法,例如比特币,实现了去中心化的资产转移系统,通常被称为加密货币。正如 Nakamoto 的原始论文所述,这些系统的核心在于防止双花问题;这通常通过在参与者之间就转账顺序达成共识来解决。在本文中,我们将资产转移问题视为并发对象并确定其共识数,表明共识实际上并不是防止双花的必要条件。我们首先考虑 Nakamoto 定义的问题,其中只有一个进程(帐户所有者)可以从每个帐户中提取。正确的帐户所有者需要确保安全性和活跃性,而行为不端的帐户所有者可能无法执行转账。k - 共享资产转移对象,最多k个进程可以从同一个账户原子提现,并表明该对象的共识数为k. 我们在具有良性故障的共享内存的上下文中建立我们的结果,使我们能够正确理解资产转移问题的难度级别。我们还将这些结果转化为拜占庭玩家的消息传递设置,这是一种在实践中更相关的模型。在这个模型中,我们描述了一种异步拜占庭容错资产转移实现,它比最先进的基于共识的解决方案更简单、更高效。我们的结果适用于许可(私有)和无许可(公共)设置,因为通常它们的区别被我们算法所基于的抽象所隐藏。

更新日期:2021-10-24
down
wechat
bug