ON BRICK|比特币和加密货币的研究前景和挑战

译者按:原文为在2015年5月的IEEE安全与隐私研讨会上提交的一片比特币与加密货币的研究综述。以工程技术的角度深入探讨了加密货币的特性,是对2015年前的技术研究的系统总结。文章篇幅比较大,部分翻译采用了谷歌翻译,可能有不准确的地方。但是作为对加密货币研究入门,这篇很有价值。


比特币和加密货币的研究前景和挑战

作者:Joseph BonneauAndrew MillerJeremy ClarkArvind NarayananJoshua A. KrollEdward W. Felten

摘要:

比特币已成为历史上最成功的加密货币。在2009年悄然推出的两年内,尽管仅对系统设计进行了粗略的分析,但比特币的经济价值却增长了数十亿美元。从那时起,越来越多的文献确定了系统的隐藏但重要的特性,发现了攻击,提出了有希望的替代方案,并指出了未来的挑战。同时,一个庞大而充满活力的开源社区已经提出并部署了许多修改和扩展。我们提供了第一个系统的博览会比特币和许多相关的加密货币或“ altcoins”(山寨币)。利用分散的知识体系,我们确定可分离的Bit coin设计的三个关键组成部分。这样可以对比特币进行更深入的分析” 的特性和未来的稳定性。我们绘制了许多建议的修改的设计空间,为替代共识机制,货币分配机制,计算难题和关键管理工具提供了比较分析。我们调查比特币中的匿名性问题,并提供一个评估框架来分析各种增强隐私的提案。最后,我们对术语“去中心化”协议提供了新的见解,从而消除了在一组有趣的应用程序中对可信中介的需求。我们确定了三种通用的Disinter调解策略,并提供了详细的比较。和密钥管理工具。我们调查比特币中的匿名性问题,并提供一个评估框架来分析各种增强隐私的提案。最后,我们对术语“去中心化”协议提供了新的见解,从而消除了在一组有趣的应用程序中对可信中介的需求。我们确定了三种通用的Disinter调解策略,并提供了详细的比较。和密钥管理工具。我们调查比特币中的匿名性问题,并提供一个评估框架来分析各种增强隐私的提案。最后,我们对术语“去中心化”协议提供了新的见解,从而消除了在一组有趣的应用程序中对可信中介的需求。我们确定了三种通用的Disinter调解策略,并提供了详细的比较。

第一节
为什么比特币值得研究
考虑稻草人形式的关于比特币的两种相反观点。首先是“比特币在实践中起作用,但在理论上却没有。” 有时,比特币社区的忠实拥护者拥护这一理念,并批评安全研究社区未能发现比特币,没有立即意识到它的新颖性,由于缺乏严格的理论基础,今天仍将其驳回。
第二种观点是,比特币的稳定性依赖于社会经济因素的未知组合,而这种组合很难以足够的精确度进行建模,无法为系统的健全性提供令人信服的论据。鉴于这些困难,经验丰富的安全研究人员可能会避免将比特币作为研究主题,因为它是审慎的安全工程,只设计带有准许正式安全证明的精确威胁模型的系统。
我们打算显示这些简单的观点在哪里失败。首先,我们认为,尽管到目前为止,比特币在实践中的表现出乎意料地出色,但在准确地确定为什么这已经成为可能,超越了盲目接受系统最初提案中提出的非正式论点的可能性。此外,至关重要的是要了解随着实践的改变,比特币是否仍将“在实践中起作用”。我们预计外部政治和经济因素会演变,如果交易量扩大以及何时交易规模扩大,系统必须改变,并且作为系统设计的一部分,比特币矿工的货币奖励的性质将随着时间而改变。仅仅说比特币从2009年到2014年就已经起作用并因此将继续下去是不够的。我们尚未有足够的理解来自信地得出结论,比特币将在实践中继续发挥良好的作用,这是一项至关重要的研究挑战,需要计算机科学理论的洞察力。
从第二种观点来看,我们认为比特币通过提供一种虚拟货币系统来填补一个重要的利基市场,该虚拟货币系统没有任何受信方,并且参与者之间没有预先设定的身份。在这些约束下,不可能实现分布式系统中共识的一般问题[7],[93]无需像比特币这样的前提就可以建模理性(贪婪)行为,并且可以调整激励措施以确保共识算法的安全运行,因此无需进一步的假设。然而,这些限制实际上在哲学和技术上都非常重要,并且比特币在该模型内达成共识的方法令人深感惊讶,并且是一项根本性的贡献。比特币的核心共识协议对货币1以外的其他许多计算机安全问题也具有深远的影响例如分布式命名,安全时间戳和承诺,公共随机性的产生,以及许多财务问题,例如自我执行(“智能”)合同,分散市场和订单簿以及分布式自治代理。简而言之,即使比特币不容易建模,它也值得相当多的研究关注,因为它可能构成解决极其困难和重要问题的实际解决方案的基础。
考虑到这种二分法,我们着手从比特币运营和发展的前六年以及其许多派生的加密货币中总结出集体知识。我们的目标不仅是突出显示已经发生重大创新的许多领域,从新颖的支付协议到用户友好的密钥管理,还要凸显比特币和未来加密货币面临的最重要的开放研究挑战。

第二节
比特币概述
A.情境化的历史
我们将感兴趣的读者介绍给有关加密货币研究“第一波”的现有调查[15],[95]。简而言之,加密货币的历史可以追溯到1983年Chaum提出的“不可追溯的付款” [28],该系统涉及以盲目签名的硬币形式由银行发行的现金。未盲目代币在用户和商人之间转移,并且在银行确认之前未兑现后可赎回。盲签名防止银行将用户链接到硬币,从而提供类似于现金的不可链接性。
在整个1990年代,提出了该方案的许多变型和扩展。重要的贡献包括消除银行在购买时在线的需求[29],允许将硬币分为较小的单位[92]和提高效率[27]。包括DigiCash [107]和Peppercoin [99]在内的数家新兴公司试图将电子现金协议付诸实践,但最终在市场上失败了。这个“第一波”加密货币研究的任何方案都没有实现重大部署。
1990年代初期,人们提出了一个比特币的关键构建块,即中等难度的“工作量证明”难题,以对抗电子邮件垃圾邮件[42],尽管它从未广泛用于此目的[71]。随后出现了许多其他应用程序,包括关于公平彩票的提案[51],为小额支付铸造硬币[100]以及防止匿名网络中各种形式的拒绝服务和滥用[10]。后者Hashcash是使用数字小额支付的一种替代方法(例如NetBill [110]和Karma [121])。工作量证明还用于检测分布式对等共识协议中的sybil节点[7],类似于当前在比特币共识中的用法。
比特币的另一个基本要素是公共账本,使得双重支出可被检测到。在1990年代后期提出的可审计电子现金[105],[106]中,银行维护了一个公共数据库以检测双重支出并确保硬币的有效性,但是,发布了整套有效硬币的想法被驳回了不切实际(仅发布Merkle根)。1998年提出的B-money [36]似乎是所有交易都是公开(尽管匿名)广播的系统。在Cypherpunks邮件列表中提出的b-money受到学术研究界的关注很少。
1990年代初提出的智能合约[114]使各方能够正式指定可加密执行的协议,预示着比特币的脚本功能。
2008年,比特币被宣布,以中本聪(Satoshi Nakamoto)笔名撰写的白皮书被发布到Cypherpunks邮件列表[90]中,随后迅速出现原始参考客户的源代码。比特币的创世区块是在2009年1月3日左右开采的。2比特币作为一种货币的首次使用被认为是2010年5月的交易,其中一位用户订购了另一批比萨饼以换取10,000枚比特币。此后,越来越多的商家和服务采用了比特币,价格普遍上涨,在2013年底达到约1200美元/比特币的峰值。
比特币的历史也因其与犯罪的关联而变得色彩斑colored。颇受欢迎的黑市网站Silk Road [30]于2011年2月至2013年10月运营,当时被联邦调查局(FBI)查封并关闭。僵尸网络发现比特币采矿是一种补充性收入来源[57]。当前美国联邦法院案件涉及一个基于比特币的庞氏骗局[109]。2014年,一种名为CryptoLocker的计算机病毒通过加密受害者的文件并要求比特币赎金来释放解密密钥,从而从受害者那里勒索了数百万美元[47]。由于盗窃[41]和交易所崩溃[86],许多用户的比特币已经丢失。
B.技术概述
我们介绍了比特币的三个主要技术组成部分:交易(包括脚本),共识协议和通信网络。比特币极其复杂,我们的目标是向系统提供足够的技术深度,以使有关比特币的文献能够在本文的后续部分中进行审查和评估。特别地,我们的三部分分解的一个主要好处是,它通过“脱钩”的概念(可以独立更改)来评估和系统化建议的变更(第六和第八节)。
比特币的信息来源。比特币可能很难定义,因为没有权威的正式规范。原始的比特币白皮书[90]很好地概述了比特币的设计理念,但是许多重要的技术细节被忽略或过时。参考实现比特币被认为是事实上的规范,其进一步的知识分散在一系列“比特币改进提案”(BIP),论坛帖子,在线Wiki文章,开发人员邮件列表和已记录的IRC讨论中。3我们将这些资源系统化为精确的技术介绍,并提出了我们认为是独立设计决策的系统组件。
1)事务和脚本
比特币的世界状态由一系列称为交易的消息表示。在其他可能性中,最重要的是发布交易以将货币从一个用户转移到另一个用户。重要的是要注意,大量(且不断增长)的交易清单是比特币中的唯一状态。没有内置概念,例如用户,帐户余额或身份等高级概念,它们仅在可以从已发布交易列表中推算的范围内存在。
交易格式。事务包含输入数组和输出数组。整个事务使用SHA-256 4进行哈希处理,并且此哈希最终5用作其全局唯一的事务ID。事务使用临时二进制格式表示;这是比特币是事实上的规范的重要细节的早期示例。
每个输出都包含一个整数值,该整数值表示比特币的数量。该值的精度限制了可以细分货币单位的程度;最小的单元称为聪。按照惯例,10 8 satoshis被认为是货币的主要单位,称为一个“比特币” 6,并表示为B,BTC或XBT。
每个输出还具有称为scriptPubKey的简短代码段(采用特殊的脚本语言),该脚本表示可以兑换交易输出的条件,即作为输入包含在以后的交易中。
交易脚本。通常,scriptPubKey指定ECDSA公钥的哈希值和签名验证例程。这被称为“支付到发布密钥哈希”交易,整个赎回交易必须使用具有指定哈希的密钥进行签名。绝大多数的比特币交易都是通过支付到酒吧的钥匙哈希来支付的,并且通常以唯一的可能性来描述系统,尽管其他交易类型也是可能的。脚本语言是一种特殊的非图灵完整堆栈语言,具有少于200个称为操作码的命令。它们包括对加密操作的支持,例如,哈希数据和验证签名。与事务格式一样,脚本语言仅由其在bitcoind中的实现指定。
事务输入通过其事务哈希和该事务的输出数组中的输出索引来引用先前的事务。它们还必须包含一个代码段,该代码段“赎回”该事务输出,称为scriptSig。为了成功兑换之前的事务,scriptSig和scriptPubKey必须都使用同一堆栈一个接一个地成功执行。对于付款到发布密钥哈希交易,scriptSig只是一个完整的公共密钥(具有正确的哈希)和签名。
价值守恒。除了要求每个事务输入与先前的事务输出匹配以及两个脚本成功执行的要求外,仅当事务满足以下基本约束时才有效:事务必须满足所有事务输出的值之和小于或等于该总和所有输入的值。我们讨论了一个例外,第II-B2:coinbase用于创建货币的新的单位交易。
从交易到所有权。就其本身而言,这种交易格式意味着几个有趣的属性。没有“拥有”比特币的身份或个人账户的固有概念。所有权只是意味着知道一个私钥,该私钥能够做出可以赎回某些输出的签名-个人拥有尽可能多的比特币可以赎回。如在pay-to-pub-key-hash交易中指定的,公钥散列有效地充当系统内的假名,并称为address。不需要真实世界的名称或标识信息。
可以说,关于比特币交易格式的创新很少。但是,使用脚本语言指定兑换标准以及实现事务可以指定系统的整个状态的认识是给定先前加密货币系统的非显而易见的设计选择,而这两种选择在实质上所有后续设计中都是标准的。一些提议扩展了比特币交易的语义(通常通过增强脚本语言),而无需更改任何其他组件。
2)共识与采矿
如果直接在用户之间发送交易以转移资金,则基于交易的货币系统将是不安全的。尽管签名将仅限制前一个交易的有效接收者在有效的后续交易中引用该交易,但交易本身并没有限制Alice在发送给Bob和Carol的单独交易中两次赎回某些交易输入的功能,孤立地显示为有效。比特币采用一种简单的方法来解决这笔双重支出攻击:所有交易必须在全局的永久交易日志中发布,并且任何单独的交易输出只能在随后的一项交易中兑现。现在,验证事务需要验证事务的脚本,并确保将其成功发布到日志中。在比特币中,日志被实现为一系列交易区块,每个交易区块都包含前一个区块的哈希,并将该区块作为其唯一的前身。它被称为区块链
请注意,这种设计仍然需要就区块链的内容达成全球共识。如果鲍勃和卡罗尔看到两个不同的区块链,它们将很容易受到双重支出攻击。一种解决方案是使用受信任的中央机构来收集交易并将其发布在已签名的块中。但是,这是不可取的,因为该机构可能拒绝发布某些交易(有效冻结用户的资产),可能会完全脱机,或者可能会故意分叉区块链以双重花费硬币。
中本聪共识。比特币通过称为Nakamoto共识的去中心化匿名协议在区块链上建立共识。这可以被视为比特币的核心创新,也许是其成功的最关键因素。任何一方都可以通过收集一组有效的未决交易并将它们形成一个块来尝试添加到链中。核心要素是使用具有挑战性的计算难题(通常会给出轻微的误称工作证明 7)来确定哪一方的区块将被视为链中的下一个区块。
选择一个新块的过程很简单:第一个已公布的包含对计算难题的解决方案的有效块被认为是正确的。听到此消息后,其他参与者将准备开始寻找后续行动。如果宣布的区块包含无效交易或格式错误,则所有其他参与者都将拒绝该交易并继续工作,直到找到有效区块的解决方案为止。在任何给定时间,共识区块链都是“最长”版本。通常,这只是具有最多块的分支,但是由于长叉之间的​​挖掘难度可能会有所不同,因此必须将最长的链定义为预期生产难度最大的分支。8
也有可能在大约同一时间找到两个有效的解决方案(取决于网络延迟),这将导致出现一个临时分支,在此期间有两个等长链。在这种情况下,矿工可以选择其中一个叉子。由于计算难题的随机性,一个区块链最终将比另一个区块链进一步扩展,届时所有矿工都应采用它。
虽然比特币的原始规范仅提供了一个非正式的论点,即最终的共识将出现[90],但后续工作证明,假设有效且及时的广播频道,并且控制大多数计算能力的矿工忠实地遵循该协议,该协议既健壮又网络逐渐达成共识[46],[84]。我们将在第三节中进一步讨论。
阻止确认。这种共识机制的渐进性质意味着,用户必须等待找到区块才能对交易永久包含在区块链中获得高度信心。在分叉期间,矿工在另一个分支上汇合后,其中一个分支最终将被丢弃。尽管两个分支通常都包含大多数相同的事务,但是如果冲突的事务包含在竞争分支中,则一个显然可以包含在最长的链中,但是如果另一个分支超过了该分支,则该链将被撤销。在最坏的情况下,这可以有效地引发双重消费攻击[12],[60]。
从理论上讲,用户永远无法完全确定事务最终不会被非常深的分支[13],[70]删除。但是,如果大多数矿工都遵循默认协议,则用户可以推断出,随着发现更多的确认区块,交易最终可能会以最长的链条成倍增长(请参阅第III-A节)。实际上,大多数比特币客户在接受发布交易之前需要6个“确认”块。6个块的选择是任意的,它来自参考客户端,而不基于对深叉概率的任何分析。
还可以通过在默认的比特币客户端中包含硬编码的区块链前缀(检查点)来临时阻止深叉,客户端需要在任何有效的区块链中使用该默认比特币客户端。Laurie [70]认为,这些检查点表明,比特币不是真正的去中心化共识协议,因为它们是以集中方式选择的。
激励正确的行为。该协议的一个关键组成部分是,找到区块的参与者可以插入一个硬币库交易,铸造指定数量的货币并将其转移到他们选择的地址。因为参与者正在努力(实际上是在竞赛)来解决这个计算难题,以换取金钱上的回报,所以他们被称为矿工。这种新的货币,称为块奖励,激励矿工只在有效区块上工作,因为无效区块将被网络拒绝,并且最终最长的区块链中将不存在他们的挖矿奖励。请注意,从矿工的角度来看,“有效”区块只是他们认为大多数其他矿工将接受并建立的区块,胜过任何其他有效性规范(比特币实现之外没有其他规范)。
由于此共识算法依赖于矿工的金钱报酬,因此无法轻松地在没有可转让价值概念的系统中使用。在比特币中,矿工最初会获得所有新货币,并且没有其他允许的货币创造机制。这不是严格必要的,但是共识协议确实要求向矿工颁发一定的奖励,否则他们就没有动力寻找有效的区块并解决困难的计算难题。
挖掘细节。计算难题本身需要找到SHA-256(加密哈希函数)的部分原像。具体来说,难题是找到一个SHA-256哈希小于目标值的块(由事务列表,前一个块的哈希,时间戳和版本号以及任意随机数组成)。这个难题通常被描述为找到一个以d连续的零位。9标准策略只是尝试随机随机数10,直到找到解决方案为止(尽管这可能不是唯一的策略[34])。
这个难题的随机性很重要。使用非随机谜题(真实的工作量证明),可以预期最有能力的个体矿工首先找到每个区块。使用随机拼图,每个矿工将有可能找到与其竞争计算能力的份额成比例的下一个区块。
拼图的难度经过校准,因此平均每10分钟发现一次新方块。为了维持这一点,难度通过确定性的前2016个区块中的时间戳函数,每隔2016个区块或大约每两周调整一次难度。11
采矿奖励和费用。块奖励的大小由固定的时间表确定。最初,每个块创建B50。此后已减半至B25,并计划大约每四年减半,直到大约2140,此时将不再创建新的比特币。
为了减少这种货币创造的负担,矿工不仅可以从大宗交易中获利:还可以要求矿工索要该大宗交易中所有输入交易和所有输出交易之间的净差额。对于用户而言,输入值大于输出值的区块因此包括支付给矿工的交易费
迄今为止,交易费主要用于阻止许多小额交易对网络的过度使用(称为“ 便士泛滥”),从来没有提供超过采矿收入的1-2%[87]。费用值主要是由参考客户端[87]中配置的默认值确定的,少数用户选择支付更高的费用以更快地发布其交易。
矿池。在实践中,矿工经常在矿池中 合作[102],以通过与一组其他矿工共享奖励来降低其收入差异。矿池通常由经理管理,经理需要支付少量费用,即可从所有参与成员发现的有效区块中收集采矿奖励,并根据成员代表矿池完成的工作量将资金分配给成员。参与的矿工通过发送散列以大量零开头的“近区块” 份额来证明(概率地)他们完成的工作量(例如d′=40),但不是有效的比特币区块。池成员由于风险共担而获得的报酬差异较小,以换取预期收益的小幅下降以支付经理的费用。
尽管原始协议中未描述池,并且可能未曾预料到,但自2013年以来,大多数采矿权已组织到池中。为了鼓励忠诚度并最小化“跳槽”,同时仍对新成员友好[102],已经使用了许多公式来划分池成员之间的收入。从池操作员到成员[94]以及不同池的操作员之间的低延迟通信也有几种标准协议[32],[74]。虽然最流行的池是集中管理的,但也有使用p2pool协议的临时池[122]。
3)点对点通讯网络
比特币的最终核心组件是其通信网络。从本质上讲,它是一个分散的,临时的对等广播网络,用于宣布新交易和提议的区块。通常,这是这三个组件中创新性最低的,很少有山寨币进行了实质性的更改。
对共识的影响。网络的性能和稳定性对共识协议有重要影响,原因有两个。首先,在发现一个块与所有其他节点接收到该块之间的任何等待时间都会增加临时分叉的可能性。对分叉的恐惧促使人们选择10分钟作为原始设计中的块创建时间。其次,能够控制网络大部分内容的恶意矿工可能会尝试偏爱自己块的广播,从而增加其块“赢得”分叉的可能性,从而增加了预期的挖矿奖励。同样,能够审查网络的任何一方都可以有选择地阻止传输并冻结资产。因此,对于比特币而言,拥有分散的广播网络(适合其总体设计),低延迟,
网络拓扑和发现。任何节点都可以通过连接到其他节点的随机样本来加入网络。默认情况下,每个节点尝试建立8个传出连接,并准备接收最多125个传入连接。NAT后的节点(例如移动客户端)无法接收传入连接。最初加入网络的对等方需要一种方法来了解其他对等方。像许多其他对等网络一样,比特币通过使用专用目录服务器或“种子节点”来实现此目的,其身份被硬编码到参考客户端中。此后,每个节点维护一个其知道的对等地址列表。
对等方还通过其他两种机制传播彼此的信息:首先,当节点建立新的传出连接时,它会触发一连串的中继消息,其中包含其连接信息。其次,在收到传入连接后,节点会从其已知地址列表中向对等节点请求样本。这种机制建立了一个连接良好的随机网络,其程度低而直径小,适合通过扩散快速传播信息[38],[61]。
通信协议。通过泛洪将新的块和未决的事务广播到整个网络。节点在第一次听到它们时,便向所有对等节点发送INV消息,其中包含新块或未决事务的哈希值。对等方可以通过请求这些块或事务的全部内容来响应(如果尚未看到它们的话)(通过GETDATA消息)。默认情况下,节点仅转发一次新数据,以防止无限传播。仅中继有效的交易和区块;仅在临时分叉中找到两个块时才中继他们听到的第一个块;并且不会广播与已发送的待处理交易发生冲突(双花)的待处理交易。这些限制是性能优化,旨在限制网络上的数据-不兼容的节点可能会中继无效或冲突的数据,要求所有节点独立地验证接收到的所有数据。
接力政策。默认情况下,比特币节点仅中继满足比常规交易有效性规则所允许的更严格的验证规则的交易和块。目的是防止各种拒绝服务攻击-经典鲁棒性原则的应用“对发送的内容保持保守,对接收的内容保持自由”。例如,默认节点仅中继包含非常狭窄的标准事务类型白名单中包含脚本的事务。该政策的含义是,希望在区块链中包含非标准交易的系统用户无法使用正常的比特币网络,而需要直接联系一个可采的矿工。12 另一个例子是,默认节点拒绝转发每分钟低于B0.001的几千笔交易,作为一分钱的防御措施。

第三节。
比特币的稳定性
比特币的稳定性已经用许多模糊的,有时是相互冲突的方式进行了定义,但是它被广泛地认为是指该系统将继续以一种促进功能性货币增长的方式运行,随着货币的增长以及参与者尝试新颖的攻击。我们将依次考虑比特币各个组成部分的稳定性概念。尽管在强有力的假设下仍存在稳定性结果,但在哪种条件下比特币是稳定的仍是一个悬而未决的问题。
A.交易有效性规则的稳定性
尚未分析比特币生态系统中的参与者如何就交易有效性规则达成共识。基本原则是,规则是由中本聪制定的,我们可以称之为规范主义。这已经调解了关于指定规则的一些分歧,例如原始OP_CHECKMULTISIG操作码中的良性错误,该错误已保留为规范。
但是,规范主义无法完全解释比特币的当前规则,因为已经进行了更改以添加新功能(例如,按脚本付费[2])。还修改了规则以修复错误,最著名的示例发生在2013年3月,当时删除了限制有效块大小的错误。这导致了一个分支,因为新的更大的块被未打补丁的客户端拒绝了。为了解决这个问题,更新的客户端放弃了一个24块的分叉,并在两个月的窗口中暂时停止包含较大的块,供较旧的客户端升级[1]。但是最终,尽管可以执行规范的规则,但最终还是赢得了错误修复,并且最终排除了未打补丁的客户端。
在比特币本身内,未指定任何更新交易验证规则的过程。如果没有矿工之间的一致意见,任何变更都可能会永久性地使系统分叉,不同的人群会考虑最长的区块链,以反映他们对规则的解释是真实的,而不管其相对于其他区块链的长度如何。此时,将不再清楚哪个版本是“ Bitcoin”。因此,尽管人们普遍认为比特币是一种完全去中心化的系统,但是规则变更(或消除歧义)的需求意味着,固有地需要某种程度的治理来维持关于哪个区块链被视为比特币的现实世界共识[48],[64]。
当前,事实上的治理是由维护比特币的核心比特币开发者提供的,而比特币基金会提供了基本的组织结构,并通过捐款为支持开发团队筹集了少量资金。与许多早期的Internet协议一样,到目前为止,还没有正式的决策程序可以进行粗略的共识。
B.共识议定书的稳定性
假设在交易有效性规则上达成共识,已经进行了各种尝试来描述共识协议的属性,共识协议必须具有一定的属性才能使区块链保持稳定。我们将各种分析[46],[64],[84],[90]提出的属性系统化为五个基本稳定性属性。请注意,不同的作者为它们指定了不同的名称和不同的技术定义,此处我们仅作非正式概述。

  • 最终达成共识。在任何时候,所有合规节点都将商定最终将成为有效区块链的前缀。我们不能要求任何时候最长的链条完全是最终区块链的前缀,因为由于临时分叉,区块可能会被丢弃(变成“陈旧”)。
  • 指数收敛。深度叉的概率ñ 是 O (2− n)。这使用户高度相信简单的“至 确认”规则将确保他们的交易永久充满信心。
  • 活泼。将继续添加新的区块,并在合理的时间内将适当费用的有效交易包含在区块链中。
  • 正确性。最长链中的所有区块将仅包含有效交易。
  • 公平性。符合预期的矿工一 的总计算能力将挖掘一部分 ∼α 块(假设他们选择有效的块)。


如果所有这些属性都成立,那么我们可以说系统是稳定的,但尚不清楚所有这些属性是否必需。货币的使用者可能对公平属性漠不关心,但通常假定拥有此属性,并且在缺乏该属性的情况下,许多矿工可能会停止参与,这最终可能威胁到其他稳定性属性。
活泼也许是最难定义的属性,据我们所知,尚无令人信服的正式定义。显然,我们希望有人愿意为能够使用该网络付费,但是尚不清楚在交易成本和包容时间方面有什么确切的要求是合理的。严格的活力还意味着某些人可能不需要或什至不需要反审查属性,尽管这通常也被认为是比特币的核心属性。
出人意料的是,对于有效的货币,实际上并不需要正确性,因为参与者可以忽略最长链中的任何无效交易。但是,正确性可以通过SPV客户端的形式带来重要的性能优势,该客户端仅验证工作量证明而不验证交易(请参阅第IV-A节)。
激励相容与博弈论。中本原最初认为,只要所有矿工都遵循自己的经济激励政策,比特币将保持稳定[90],即一种称为激励兼容性的属性。激励兼容性从未在比特币或加密货币的上下文中正式定义;术语的流行很可能源于其直观的吸引力和市场价值。我们可以考虑符合策略的13个矿工,其策略遵循默认的采矿规则(请参阅第II-B2节))。用博弈论的术语来说,如果证明普遍遵守是纳什均衡,这将暗示对比特币的激励兼容性,因为没有矿工会单方面改变策略。如果存在其他均衡,则意味着稳定性较弱;如果普遍遵守是唯一的平衡,则意味着存在较强的稳定性。另一方面,如果不合规策略主导合规性,则我们必须询问所产生的策略均衡是否会导致共识协议的稳定性。
1)以比特币计价的实用程序的稳定性
我们讨论有关比特币稳定性的已知结果,假设矿工的目标纯粹是获得名义上的比特币。
简单的多数合规可能无法确保公平。一种有趣的不合规采矿策略是临时块保留 [11],[45],[46],14,其中,矿工在发现块之后最初将其保密。如果该矿工发现自己位于最长的公开已知链的前面两个区块,那么它可以有效地无阻碍地进行挖掘,直到网络的其余部分赶上一个区块之内,此时可以发布保留的区块。对于至少控制矿工的矿工一个> 1 / 3对于采矿能力而言,该策略支配着合规性,因为当与合规矿工一起使用时,它会导致更高的预期采矿收益份额。对于较低级别的挖掘能力的攻击者而言,这也可能是有利的,具体取决于矿工如何在几乎同时宣布的区块之间进行选择。具有特权网络位置的攻击者可能比竞争对手的阻止者更快地宣布其保留的阻止者,这表明稳定性确实固有地依赖于有关通信网络的假设。
尽管这些结果表明,对于许多采矿权分布,包括在实践中已经观察到的分布,普遍遵守都不是纳什均衡,但没有证据表明发生了自私的采矿攻击,并且在可行策略下仍存在什么均衡临时块预扣。如果执行临时预扣,则会损害公平性。
多数人的服从是拥有完美信息的平衡。Kroll等。[64]分析了一个简化的模型,其中矿工对所有发现的区块都拥有完善的信息(不包括任何扣留)。在此模型中,通用遵从性是Nash平衡(尽管不是唯一的),这意味着比特币是(弱)稳定的。
多数人的遵守意味着趋同,共识和活力。可以证明,随着大多数矿工的行为顺应,一条最长的(正确的)链将迅速出现。最初的比特币论文[90]对恶意矿工进行了建模,试图通过“试图比诚实链更快地生成备用链”来逆转交易。作为二项式随机游走,并表明攻击者最终将失去与网络其余部分的“竞争”。Miller和LaViola [84]和Garay等人。[46]提供更详细的正式证据,如果大多数矿工遵循合规策略,并且与发现区块的预期时间相比,通信延迟较小,那么无论采用何种策略,矿工最终都将同意交易历史的前缀不断增长兼容的矿工。这足以确保除公平性外(由于潜在的暂时扣留)的所有稳定性能,而所需多数票的确切大小略有取决于网络和其他假设。
对于大多数矿工,不能保证稳定性。众所周知,一个控制大部分计算能力的不合规的矿工可能会通过收集所有矿工来破坏公平性。只需简单地忽略他人发现的障碍并建立自己的链(假设会成长为最长的链)就可以实现采矿收益。多数矿工可以通过拒绝审查交易并拒绝分支(如果它们出现在任何其他区块中)来任意审查交易,从而选择破坏生计。最后,多数矿商可以通过在区块链中引入任意长的分叉来破坏融合和最终达成共识,从而有可能使交易反向和双花以获取利润。所有这些策略都将产生名义上的利润,但是由于这些行为是可以检测到的,因此可能不符合理性的矿工的长期利益。我们将在下一部分中回到这一点。
如果矿工可以串通,稳定性是未知的。即使没有多数矿工,较小的矿工也有可能合谋形成控制多数采矿权的卡特尔,并模仿单个多数矿工可用的任何策略。还不知道这样的卡特尔内部是否稳定,或者成员是否会被诱使叛逃,或者被排除的矿工是否可以通过以更优惠的条件组成另类卡特尔来使其分裂。矿池可能是卡特尔形成的技术机制;尚未研究矿工选择矿池的动态以及矿池之间的迁移。似乎也没有对矿工是否以及如何通过边际付款鼓励他人参与卡特尔进行严格的分析。
稳定性不被称为采矿奖励下降。所有这些结果都使用了简化的模型,其中每个块都带有固定的固定奖励费。矿工收入从大笔奖励过渡到交易费的计划转移将否定这一假设,并需要考虑到可用交易费的分配的更复杂模型。据我们所知,由于交易费用已成为不可忽略的收入来源,因此在没有采矿奖励的最终状态或在中间状态如何影响稳定性的问题,我们还没有进行详尽的分析。
2)外部指定公用事业的稳定性
尽管尽管存在潜在的大型采矿池,但由于缺乏观察到的攻击,因此以比特币命名的实用新型的结果不能提供令人信服的证明比特币在实践中观察到的稳定性的理由(更不用说保证其未来的持续稳定性了)。通过不合规行为获利。实际上,矿工显然不仅仅对获得名义上的比特币感兴趣,而且对获得现实世界的利润感兴趣。为此,需要为矿工开发一种实用程序功能,该实用程序不仅包含他们所赚取的比特币数量,而且还包含他们将其比特币转换为现实价值或其他货币的有效程度。矿工的策略可能会由于以下三个相关因素而影响其将比特币计价的财富转化为现实价值的能力:
流动性限制。当前,将比特币换成外部货币的交易所的流动性通常较低。因此,攻击者可能会获得大量的比特币,但无法将它们全部转换为外部价值,或者只能以大大降低的汇率进行转换。
汇率面对攻击。一些不合规的策略,尤其是那些以明显的方式影响稳定性的策略,可能会损害公众的信心,从而在短期内削弱对比特币的需求。确实,在实践中,已经发现汇率在系统出现技术故障时会下降[72]。快速赚取许多名义上的比特币但一旦发现便有可能使汇率崩溃的策略可能因此难以在兑现汇率之前兑现,特别是考虑到上述流动性限制。
在以比特币计价的采矿中的长期股权奖励。大多数大型矿商对保持比特币的汇率具有额外的兴趣,因为他们将大量资金捆绑在非流动的采矿硬件上,如果汇率下跌,这将失去价值。如果矿工们期望他们以低的边际成本维持未来遥远的采矿业份额(例如,如果其运营成本的很大一部分是为购买设备而预先支付的),那么他们可能会避免赚取更多比特币但减少收益的策略他们未来采矿回报的预期价值。请注意,这是一个限制因素,即使矿工可能能够以比公众的反应更快的速度兑现被盗的比特币,只要没有有效的市场可供矿工出售预期的未来采矿能力即可。
Nakamoto概述了此论点的一种形式[90],以淡化多数矿工的攻击可能性,认为它们会永久损害系统(和汇率),并且“遵守规则”(遵循合规策略)会更有利可图。随着时间的推移。在实践中,GHash。IO挖掘池在2014年7月延长了一段时间,超过了网络计算能力的50%,并公开承诺将来会限制其能力,以避免破坏对系统的信心。
不幸的是,由于汇率汇率固有地取决于人类的判断力和市场信心,因此很难用一种易于把握的博弈论模型来把握汇率。更正式地对汇率和实际效用函数的影响建模是一个重大的开放问题。
3)采矿收益以外的其他激励措施的稳定性
已经分析了至少两种策略,这对于其效用并非完全来自采矿奖励的矿工可能是有利的。
金手指攻击。如果多数矿工的目标是明确破坏比特币的稳定性,从而破坏其作为货币的效用,那么他们很容易做到。Kroll等。[64]引入了这种模型,并将其命名为Goldfinger攻击。例如,希望破坏比特币以避免与自己的货币竞争的州,或个人大量投资于竞争性货币,可能会被激发尝试进行此类攻击的动机。可以说,这些攻击已经通过杀婴山寨币观察到了,其中比特币矿工已经成功发动了对具有低采矿能力的新竞争货币的深度分叉攻击。15 如果出现了一个成熟的期货市场,在该市场中,矿工可以在比特币的汇率上持有大量空头头寸,那么金手指式的攻击可能会直接获利。
羽毛分叉。Miller [82]提出了羽毛分叉的策略,其中矿工试图公开承认如果区块链中包括了列入黑名单的交易,攻击者将通过无视包含目标交易的区块来进行报复,从而对交易黑名单进行审查。并尝试分叉区块链。攻击者的分叉将一直持续,直到其胜过主要分支并获胜或落后至阻止,此时攻击者将承认目标交易的发布。攻击者一 不足50%的采矿能力会出现亏损,但是成功地成功阻止了列入黑名单的交易。
但是,如果攻击者能够令人信服地表明他们认真对待报复性分叉,那么其他矿工将被激励回避目标交易,因为如果攻击者进行报复,他们也会因为期望而蒙受损失。因此,只要所有其他矿工都认为,如果经过测试,攻击者将执行昂贵的虚假报复行为,那么攻击者便可以免费执行其黑名单。
C.矿池的稳定性
矿池在被发现时依赖于参与者提交有效的区块,并且容易受到参与者提交部分股份以换取补偿,但会扣留有效的区块以降低池的盈利能力。尽管这种攻击早已为人所知,但它似乎是自毁性的,因为代扣代缴的参与者除其他资产池成员外还降低了自己的收入。然而,已经证明[33],大型矿工(或矿池)实际上可以通过利用其部分采矿能力渗透而获利。通过提交部分份额但保留有效区块来分配另一个池。好处是,渗透能力不会增加采矿难题的难度(因为未发布区块),但仍可以赚取利润。对于攻击者和渗透池而言,此策略对于跨一定采矿能力范围的大型矿工或池是有利的。
Eyal [44]提供了对这种攻击的扩展处理,并表明,在任何两个合并池之间,最终的博弈都是一个反复的囚徒困境,两个合并池的Nash均衡均处于攻击状态,而帕累托均衡均不攻击。如果大规模进行,可以从统计上检测到这种攻击,2014年6月,针对Eligius池在野外至少发生过一次[124]。但是,聪明的攻击者可以使用许多参与者的地址轻松掩盖攻击。已经提出了进一步的对策,但是没有认真研究或部署。作为一个反复的囚徒困境,池池有可能避免通过渠道外通信和报复威胁相互攻击。
D.对等层的稳定性
几乎所有对比特币的分析都假设对等层按照指定的功能运行,并且通常,大多数参与者将在合理的时间范围内学习几乎所有可用的协议状态信息。但是,Babaioff等。[8]证明,对等层的信息传播并不总是激励兼容的。参与者是否能够从对等网络中获得足够的价值作为公共物品来证明传播信息的机会成本是合理的,这一点仍是未知的。确定的信息,或者在野外观察到的信息传播平衡(人们自愿参与其中的对等协议)是否不稳定并且最终可能会崩溃。
约翰逊等。[59],[68]研究了是否以及何时激励对等协议的参与者参与针对他人的网络级拒绝服务攻击。他们得出的结论是,采矿池具有进行攻击的动机,较大的池比较小的池更容易受到攻击,并且较大的池比较小的池具有更大的诱因。经常在野外观察到对池的拒绝服务攻击,因此可以通过观察到的现象学来支持这一理论分析[120]。其他人进行了测量和模拟研究,以确定信息传播的动态性和时标[38],[40]。

第四节
客户端安全
比特币的流行使实用和安全的密钥管理对一大批新用户而言非常重要。与许多其他密码学应用程序不同,如果丢失或破坏了密钥,用户将遭受直接且不可挽回的金钱损失。因此,它是可用安全性研究中令人兴奋且重要的领域。
A.简化的付款验证(SPV)安全
尽管参考比特币客户端维护了整个区块链的经过验证的副本,但这将给移动设备带来沉重的负担。一个简单的观察导致一个轻量级的选择:假设大多数节点仅在有效链上进行挖掘(第III-B节的正确性属性),那么客户只需要验证工作证明即可,并且可以相信最长的链仅包含有效链交易。这样的SPV证明[90]使不受信任的节点可以有效地向轻量级客户证明交易已包含在商定的历史记录中。
SPV在BitcoinJ库中实现,该库是大多数移动比特币客户端的基础。SPV验证需要处理不断增长的工作量证明解决方案链,尽管可以进行优化,例如从硬编码的检查点开始。SPV还涉及隐私问题,因为它要求将客户感兴趣的地址集透露给第三方(请参阅第VII和[49]节)。
B.密钥管理
比特币依靠公共密钥加密技术进行用户身份验证,而当今几乎所有其他形式的在线商务都依靠密码或机密信用卡信息。比特币软件的开发人员已经尝试了多种方法来解决或至少掩盖密钥存储和管理方面的长期可用性问题。Eskandari等。[43]为比特币密钥管理接口的可用性提出了一套评估标准,并得出结论,当前的工具采用了复杂的隐喻,无法完全捕捉密钥管理行为的含义。
存储在设备上的密钥。将密钥池直接存储在磁盘上是最简单的模型,但是密钥可能会被特制的恶意软件窃取[75]。一些客户端将更改发送到新创建的比特币地址,每次当前密钥池耗尽时都需要进行新备份(通常在发生这种情况时没有任何用户界面指示),而其他客户端将更改发送到原始地址或从单个地址派生所有密钥随机种子。
拆分控制。为了避免单点故障并增强安全性,可以使用k-of-n多重签名脚本来存储比特币,该脚本指定ñ公钥。要兑换脚本,必须提供有效的签名至 这些 ñ键。一个简单的例子是一个钱包,该钱包需要用户的笔记本电脑和移动电话在发送资金之前进行签名。或者,可以将资金存储在单个公钥下,但是可以在此公钥中分配份额ñ各方使用阈值密码学[50]。阈值签名实现了相同的k-of-n安全性,但看起来像区块链上的常规Pay-to-pub-key-hash交易并保留参数至 和 ñ 私人的。
受密码保护的钱包。比特币客户端可以允许使用从用户选择的密码派生的密钥来加密存储的密钥池文件(称为钱包)。受密码保护的钱包可以阻止某些类型的盗窃,此外,如果文件是物理或数字方式被盗的,则还需要密码猜测或击键记录。受密码保护的钱包可能会误导用户,使他们认为密码本身可以访问他们在新设备上的资金。
密码派生的钱包。密钥池可以确定地从单个用户选择的秘密中派生,如果秘密被提交给内存,则可以跨设备使用(这种方法通常称为“ 大脑钱包”)。可以对普通/弱密码进行无节制的详尽搜索-彩虹表已在区块链上发现保护不足的比特币地址。此外,忘记的密码将使所有相关资金无法恢复。
离线存储。离线存储在被动便携式介质(例如纸张或USB拇指驱动器)中的钱包可增强对基于恶意软件的威胁的防盗保护,并提供熟悉的物理安全心理模型。但是,由于密钥池已耗尽,因此必须更新它们。对于纸钱包,可以通过被动观察钱包(例如,在实况电视[101]上)来窃取以可扫描形式打印的私钥(例如QR码)。最后,离线钱包必须最终将密钥加载到要使用的设备中,这时很容易受到恶意软件的攻击。
气隙和硬件存储。间隙存储是脱机存储的一种特殊情况,在这种情况下,拥有密钥的设备可以执行计算,例如对其所拥有的密钥进行交易签名。空隙较大的设备可以通过从不直接将密钥暴露给与互联网连接的设备来阻止某些类型的盗窃。就是说,对交易签名预言的未授权访问与本身访问密钥的访问没有太大区别,都允许盗窃。硬件安全模块(HSM S)通过将密钥材料与主机设备隔离并仅公开签署交易的功能来模拟气隙的属性。
托管钱包。第三方Web服务通过标准Web身份验证机制(例如密码或两因素身份验证)提供密钥存储,管理和交易功能。这提供了与传统网上银行最接近的体验,但是它需要信任主机。托管钱包盗窃[41]或破产[86]的许多事件已被记录在案,包括40多个损失超过B1000的事件。

第五节
修改比特币
现在,我们将注意力转向对比特币的提议更改和扩展。在本文的其余部分,我们将评估和比较建议的更改,在本节中,我们讨论实现更改的可用机制。
A.自行升级比特币
我们可以在以下级别上区分更改:

  • 硬叉。如果协议更改启用了在以前的规则中被视为无效的事务或块,例如增加块奖励,更改固定的块大小限制或添加新的操作码,则它需要硬分叉。如果矿工更新到新协议,他们可能会产生被其他节点拒绝的块,从而导致永久性(因而是“硬性”)分叉。因此,涉及硬叉的更改需要在实践中尝试几乎一致。
  • 软叉子。与硬分叉相比,软分叉更改是与现有客户端向后兼容的更改;通常,这涉及限制哪些区块或交易被视为有效。这种变化只需要大多数矿工的支持就可以升级,因为老客户将继续认为他们的区块是有效的。不升级的矿工可能会生成网络其余部分认为无效并忽略的块,从而浪费计算工作量,但始终会重新加入大多数矿工发现的最长链。这使得软叉更改比硬叉更安全。在某些情况下,可以使用软分叉将新的操作码引入脚本语言。这是可能的,因为当前有几个未使用的被解释为无操作的操作码;在交易输出中包含这些内容可能会使任何人都可以支出,因此通常避免使用它们。但是,如果矿工决定拒绝在此操作码指示的某些条件下失败的交易,则可以为这些操作码中的任何一个赋予新的语义。这是严格限制可接受交易的范围,因此只需要一个软分叉。回想起来,明智的做法是将所有未使用的操作码最初定义为无操作,从而提供最大的灵活性以通过软叉引入新的更改。
  • 中继策略更新。回想一下II-B3节,节点在中继要执行的策略上要比在实际接受的情况下执行更严格的策略。更改此策略或通信网络的大多数其他方面所需的协作最少,因为它们通常可以通过向后兼容的方式与节点一起发布其协议版本号来完成。默认中继策略已经更改了几次,以添加新的标准事务类型,例如多签名事务。


B.山寨币
由于没有硬分叉就无法更改比特币的限制,使用替代设计方法出现了数百种称为altcoins的衍生系统。尽管有些系统(例如Ripple)是完全独立的设计,但其中许多系统已分叉了比特币的代码库并保留了其大多数功能。Altcoins必须引导货币的初始分配以吸引用户参与,这可以通过以下几种方式实现:

  • 新的创世块。Altcoins可能只是从头开始创建一个新的区块链,就像早期的比特币那样,将资金分配给初始矿工。由于创始人希望通过早期采矿来兑现的山寨币浪潮,加密货币社区现在对此方法持谨慎态度。16
  • 分叉比特币。为了避免让其创始人享有特权,山寨币可能会故意选择在某个时候分叉比特币,接受先前的交易历史和资金所有权。比特币所有者将继续在原始系统中拥有比特币,并在成立之初加上等量的新货币。从技术上讲,这将像硬分叉一样工作,只是不声称该分叉是合法的比特币区块链。有趣的是,似乎没有认真尝试这种方法。
  • 燃烧证明。继承比特币分配的一种更流行的方法是燃烧证明 [113],其中用户必须通过将比特币中的资金转移到无法找到其私钥的特殊地址(例如带有所有零的哈希值。这种方法的缺点是永久降低流通中的比特币数量。
  • 固定的侧链。最近,许多有影响力的比特币开发者[9]提出了侧链,可以将比特币转移到侧链上,并最终将其兑换。添加验证规则以从侧链赎回货币至少需要比特币的一个软分叉。


山寨币还必须与比特币竞争矿工(并避免比特币矿工对金手指的攻击),这在货币达到非零汇率之前可能很难。一种流行的方法是合并挖掘,即如果一个山寨币的根包含在有效的比特币区块中,则该山寨币接受区块,从而使比特币矿工能够在不执行任何其他工作的情况下挖掘山寨币中的区块。这可以迅速为山寨币提供比特币的全部开采能力,因为许多比特币矿工现在合并了我的大量山寨币,以获得额外的奖励。但是,它阻止了山寨币偏离比特币的计算难题。

第六节
替代共识协议
由于关于稳定性的公开问题(请参阅第III-B节),对该协议的性能和可伸缩性的关注[112],以及其计算难题会浪费资源,因此,比特币的共识协议一直是争议最大的组成部分。在本节中,我们评估达成共识的替代提案,并指出在每种情况下,所提议的变更所带来的稳定性影响都是未知的,替代提案很少定义其声称提供的任何特定稳定性。
通常,替代共识计划旨在解决比特币的一些特定感知问题,并希望比特币的稳定性论点能够延续下去,尽管鉴于缺乏可靠的模型来保证比特币本身的稳定性,这可能是一个不稳定的假设。
A.参数变更
比特币的共识协议包含了许多“魔术常数”,这些常数在最初的猜测工作的基础上进行了硬编码。几乎每个山寨币都至少改变了其中一些参数,但是修改经常引起争议,对于如何选择这些参数以及它们如何影响稳定性,我们仍然只有很少的指导原则。
块间​​时间和难度调整窗口。比特币会自动调整其计算难题的难度,从而使解决方案(平均)相距十分钟。此设置主要受网络延迟的约束;如果解决方案的速度太高,那么矿工将经常发现冗余块,然后再进行传播。另一方面,较低的阻止率会直接增加用户等待交易确认的时间。所有人都认为比特币的设置是保守的。我们所知道的所有山寨币都具有相同的速率或更快的速率(第二受欢迎的系统莱特币的速率快四倍)。有许多建议可以修改通信网络的各个方面以减少延迟,从而可以安全地减小此参数。[38], [73], [112].
限制块和交易规模。提出的最具争议的更改之一是增加块大小的1 MB限制[3]。随着交易量持续稳定增长,此限制可能很快就会达到。目前,交易量的上限仅为7每秒,比Visa网络的峰值容量小约1,000倍[53]。一旦达到此限制,交易将实际上需要使用其费用来竞标稀缺资源。这可能会增加使用比特币的成本,可能减慢采用速度,但会增加矿工的收入。它还可能导致用户依赖中介机构,这些中介机构会在链外汇总和结算交易。这个限制是人为的,网络的带宽可能会持续增加。另一方面,增加的交易量可能会排除一些带宽受限的参与者。尽管据我们所知,还没有哪一种山寨币在其规格中提出了这一限制,但实际上并没有接近于实际利用这种能力,因此仍然不清楚它将如何影响系统的运行。
货币政策。比特币的共识协议通过铸造新货币的汇率以及该汇率的变化时间表有效地强制执行货币政策。通过强制规定上限的货币数量,比特币有效地实行了通货紧缩的货币政策,这使多位经济学家预测该系统最终将因通缩螺旋式上升而不稳定,在通缩螺旋式上升中,没有人愿意花费比特币co积比特币被认为更有利可图[52],[65]。硬币的发行是变化最广泛的参数之一:例如,在多吉币中,通货膨胀将无限期地持续,但是会以谐波递减的速度进行;而在弗雷科因[116]中,通货膨胀率将永远保持恒定。
B.替代计算难题
米勒等。[85]提出了一种与比特币兼容的工作量证明方案的形式主义,称为刮刮拼图,它本质上必须可以分解成单独的尝试。此属性通常被称为“无进度”难题。这保证了每个块的创建者是由计算能力的加权随机样本选择的,即使是很小的参与者也能够因其贡献而获得(成比例的)奖励,并且连续难题解决方案之间的时间足够长,以至于难题解决方案得以传播。无进展是必要的,但不足以使最终达成的共识协议达到公平。比特币的SHA-256难题是无进展的,但许多其他构造也是可能的。
耐ASIC的难题。虽然最初使用通用处理器执行比特币挖掘,但是挖掘的竞争性质导致人们朝着更强大,更节能的定制硬件稳步发展。如今,ASIC占据了比特币大部分的计算能力。泰勒(Taylor)对有效地大规模计算SHA-256的技术挑战进行了出色的调查,并估计当今的ASIC已经在理论效率极限的数量级内[115]。
由于它使比特币采矿远离其核心民主价值(即“单CPU一票” [90]),因此人们常常对此持负面看法,因为系统中的大多数参与者都不拥有ASIC,因此根本不进行采矿。对于抗ASIC的采矿难题已经提出了许多建议。理想情况下,可以使用商用硬件有效地解决ASIC抵抗难题,而定制硬件的性能却只有很小的提升。到目前为止,采用的主要方法是设计“内存难”难题,这些难题旨在要求有效访问大内存。迄今为止,最流行的记忆难题(用于Litecoin和Dogecoin等)一直是scrypt hash函数[96]最初设计用于抗破解密码哈希。直到2014年,人们尚不清楚是否有可能设计出一种难于计算但易于验证的拼图游戏。Tromp的布谷鸟循环难题[117]似乎肯定地回答了这个问题。
如果可以实现ASIC电阻,这仍然是一个重要的开放问题。例如,已经有17种采用 scrypt加密技术的ASIC在市场上发布,并提供与SHA-256 ASIC相当的性能改进。还不清楚是否需要ASIC电阻。ASIC意味着从商品设备中窃取周期的僵尸网络不再具有与现代采矿设备的竞争性[57]。如第III-B2节所述,依赖于未来以比特币计价的采矿奖励来偿还其在无其他价值的专用ASIC上的投资的大型矿工[23]也可能具有更强的攻击动机。
有用的难题。通过计算难题达成共识似乎在计算消耗的能源以及用于制造采矿设备的能源和资源方面都是浪费的。如果可以在将工作用于其他目的时获得相同级别的安全性,则可以回收其中的一些浪费。贝克尔等。[14]还提出,比特币最终可能会被控制世界能源供应的现实世界的权利所支配。
通常的建议是将搜索功能与科学研究应用程序一起使用,例如流行的Folding©Home [67]项目。有用难题的挑战在于,它们必须在没有可信任方的情况下自动生成和验证,否则,该方可以选择已经抢先的难题。Kroll等。[64]进一步指出,任何有用的难题都必须产生纯粹的公共物品,否则它可能使采矿量增加其回收量,从而抵消任何回收效应。
Primecoin [62]在成功的山寨币中引入了第一个有用的难题。其难题在于需要找到数学上感兴趣的大质数的序列,并将其用作密码协议的参数。米勒等。[83]提出了一个包含可恢复性证明的难题,因此挖掘需要存储一部分大型公共数据集。特别是,如果公共数据集可用于比特币网络本身(例如,区块链历史记录),则此方法会提供其他激励措施,以向网络贡献资源。
不可外包的难题。大型矿池的发展[78]及其促进勾结和卡特尔形成的潜力促使了难题的设计,而这些难题很难轻易外包。成员池并不是天生就彼此信任的。相反,这些联盟之所以成功,是因为成员可以轻松证明自己正在从事采矿工作,如果成功,则将酬劳支付给矿池经理。米勒等。[85]以及Sirer和Eyal [111]提出了“不可外包”的难题,以确保谁进行采矿工作的人都可以在发现障碍物时要求自己奖励,从而阻碍了池的执行机制并形成了大池。匿名参与者之间的可能性很小。
C.虚拟采矿和权益证明
在较高级别上,存在工作量证明难题,需要花费资源来进行挖掘。代替让参与者通过将他们的财富交换计算资源(然后将其交换以获取采矿奖励)来“挖矿”,可以简单地让他们直接交换财富以选择区块的能力。与其通过计算能力加权的参与者随机样本来推进全球历史发展,不如通过当前的财富分配来加权随机样本。我们可以将这种方法称为虚拟采矿。有时也称为“权益证明” [98]。
虚拟采矿有两个主要好处:首先,攻击者获得足够数量的数字货币可能比获得足够强大的计算设备更加困难。其次,通过避免消耗实际资源(即计算周期),不会浪费任何实际资源。迄今为止,已经提出了几种虚拟采矿的变体,这些变体主要取决于拥有一定数量的货币使一个人有资格选择下一个区块的标准:

  • 硬币年龄证明。Peercoin [63]提出通过发布交易来证明拥有一定数量的货币(可能对自己而言,在这种情况下不会丢失硬币)来进行挖矿。每个货币数量均按其“硬币年龄”(硬币自上次移动以来的时间)加权。
  • 存款证明。在Tendermint [66]中,参与采矿需要将硬币存放在有时间限制的债券帐户中,在此期间不能移动硬币。
  • 燃烧证明。斯图尔特[113]提出了通过销毁硬币(将硬币发送到不可用的地址)进行采矿的建议。
  • 活动证明。Bentov等人[20]建议默认情况下,让每个硬币所有者隐式地进入采矿彩票;周期性地,来自信标的随机值(例如,从网络上发生的交易产生的)被用于在系统中的所有硬币中随机选择;当前获胜硬币的所有者必须在一定时间间隔内以签名消息进行响应。


模型假设还没有形式化,可以允许虚拟采矿系统实现安全性,或者将虚拟采矿系统与通用环境中的计算难题进行比较。Poelstra [97]对民俗学说进行了调查,表明消耗外部资源(即燃烧能量)对于区块链安全是必要的,因此虚拟采矿方案本质上是不可行的。所谓“ 一无所获 ”的中心论点是,虚拟采矿容易遭受无成本的模拟攻击。构建货币分配以不同方式演变的历史替代视图无需花费任何成本。对于虚拟采矿的稳定性提出或反对严格的论据仍然是一个未解决的问题。
D.指定当局
尽管比特币的去中心化性质已被证明是有效的卖点,并且是社区中许多人的严格保护的原则,但如果我们可以依靠(少量)指定的授权机构来接收,顺序订购和签署交易,则共识将大大简化。 。这将使稳定性假设更容易推理,并消除所有有关浪费计算的担忧。Laurie [69]首先提出使用指定的权限列表和标准的拜占庭协议协议。
类似于关于大型比特币矿工因其在未来汇率中的股份而没有受到激励进行攻击的论点,如果当局通过诚实行事而赚取少量收入,他们将没有动机进行不良行为。可以使用类似的方案来分配新的资金,以解决股权证明问题(Laurie的原始建议[69]建议当局之间进行抽签)。通过使用互不信任的一组权限[69],使用社交网络选择要信任的权限[108]或授权硬币所有者在每次花费硬币时选择其信任的权限,可能进一步限制对这些权限的信任[24]。涟漪[108]是使用此模型部署的为数不多的山寨币之一;但是,其稳定性论点基本上尚未得到证实。

第七节
匿名与隐私
比特币提供了有限形式的不可链接性:用户可以随时随意创建新的假名(地址)。原始规范中认为这可以提供强大的隐私[90],但是很快就清楚了,由于区块链的公共性质,有时可以追踪假名之间的资金流,并得出结论,假名可能是由假名控制的。同一个人。[56]在本节中,我们讨论了比特币用户的隐私威胁和提议的增强隐私的设计。
A.去匿名
不可链接的实际水平在很大程度上取决于实现细节,我们将其称为使用习惯用法,紧随[80]之后。例如,为每次销售生成新付款地址的商户确保收到的付款不能自动链接到区块链上。相比之下,客户可能需要从她拥有的多个地址汇总付款金额。18考虑到不同的用户很少为单个联合交易贡献输入,因此将这些地址(及其伴随的交易历史)链接到区块链上。19其他习语,例如“每个不变的输出都由一个实体控制” [4]和“一个地址最多只能将一个地址用作变化” [80] 攻击者还可以利用“链接”将由同一实体控制的不同地址链接在一起。
链接可以暂时应用以产生地址簇;这是事务图分析的一个实例。攻击者面临的主要挑战是这些惯用语很脆弱:随着实现的发展,它们可能会产生误报并随着时间的流逝而失去准确性。新的链接技术也可能出现。例如,多重签名地址会对隐私产生意外的负面影响,因为即使所涉及的密钥发生了变化,更改地址中的多重签名结构也可以与发送地址进行匹配[50]。
要取消匿名,对手必须采取进一步的步骤,将地址集群链接到真实世界的身份。Meiklejohn等。[80]成功地识别了属于在线钱包,商人和其他服务提供商的集群,因为通过与它们的交互很容易学习至少一个与这些实体相关联的地址。至于确定普通用户,作者建议,具有传票权的当局可能会很容易,因为大多数流量都通过这些集中服务提供商(通常需要客户身份并保留记录)。但是,如果没有这种访问权限,则由于在线钱包的中心地位而使对手受到严格限制,而其他此类服务会将用户的硬币混合在一起。
网络去匿名化。去匿名化工作的另一个主要目标是对等网络。广播交易时,节点会泄漏其IP地址。因此,使用匿名网络对于隐私至关重要。但是,Biryukov等。[21]指出了DoS攻击,使Tor出口节点与比特币网络断开连接。比特币的P2P层是否会发展以更好地利用Tor还是有待开发专用的匿名网络还有待观察。最后,由于难以私下获取客户感兴趣的交易清单,目前的SPV实现几乎没有匿名性[49]。
B.改善匿名性的提案
匿名提议主要分为三类。表VII-A提供了关于五个安全性和部署属性(带有∙ 表示方案具有属性,而◐则表示其部分具有)。
点对点。在P2P混合协议中,一组比特币持有人共同创建了一系列交易(私下)置换了其硬币的所有权,从而使每个参与者在该组中都是匿名的。可以在不同用户之间重复此过程以扩展匿名集。
表一匿名技术的比较评估



一种简单的实现此目的的机制是CoinJoin [79],其中一组用户形成一个标准的比特币交易,每个用户输入一个输入,每个用户控制一个新的输出地址,这样,检查交易的外部方就不会知道哪个输入对应到哪个输出(提供外部不可链接性)。如果不包括所需的输出地址,则任何用户都可以拒绝签署交易,以防止盗窃,但任何人都容易受到DoS的攻击。在普通CoinJoin中,用户向其他用户声明其输出地址(不提供内部不可链接性)。这可以通过切换新的Tor电路或其他特殊方法来解决。要实现强大的内部不可链接性,请使用CoinShuffle [104]是用于通过密码混合协议形成CoinJoin交易的覆盖协议。它还通过识别哪些参与方中止来部分(◐)防止DoS。
两项较早的提议提供了与CoinJoin类似的属性,一项基于改组网络[35],另一项基于公平交易[13]。但是,两者都限于两方混合,因此无法实现内部不可链接性。为了解决为两方混合协议找到合作伙伴的困难,Xim [22]是一种分散式协议,用于使用向矿工支付的三个阶段的费用来寻找混合合作伙伴,以阻止拒绝服务攻击。
分布式混合网络。在Mixcoin [26]中,用户将标准大小的交易发送给第三方组合,并从相同组合的其他用户提交的硬币中收取相同的金额。这提供了对外部实体的匿名性和部分内部匿名性(◐),因为混合将知道用户和输出之间的链接,而其他用户则不知道。其他用户也不能破坏协议。尽管混合可能随时会窃取比特币,但是​​可以使用签名的手令(提供部分防盗能力)来识别欺诈混合。虽然尚未使用Mixcoin的担保和其他功能,但这是最接近实践中最常用的第三方混合的建议[88]。
Blindcoin [118]使用类似于Chaum最初的电子现金提议[28]的盲令牌扩展了Mixcoin 。这样可以防止诚实而又好奇的混合学习输入和输出之间的映射并升级到完全内部不可链接性,而这需要花费额外的两个事务来发布和赎回盲目令牌。
具有集成不可链接性的Altcoins。Zerocoin [81]是一种拟议的具有集成不可链接性的山寨币,它使用类似于比特币的基础货币和一种称为零币的匿名影子货币。用户仅以基本货币进行交易,但可以相对于所有零币的集合(比上面的其他技术大得多的匿名集)以匿名方式使基本货币循环进出零币。这提供了强大的不可链接性,无需担心盗窃或DoS,也无需依赖矿工以外的任何实体。但是,它与比特币不兼容,必须实现为山寨币(或硬分叉)。PinnochioCoin [37]是使用不同密码结构的类似建议。
Zerocash [16]是一个匿名山寨币的更强提议。零现金交易是一种特殊的零知识证明,称为SNARKs [17],它根本不透露有关金额或收款人的任何信息(可能的公共交易费用除外),从而实现了一个完全不可追踪的分类账,其中没有公开披露任何信息。SNARK是一种新的密码原语,迄今为止尚未进行任何实际部署,并且需要受信任方初始生成秘密参数。然而,最近的工作表明,这种初始设置可以分布在一组互不信任的各方之间[18]。
CryptoNote [119]是一种使用环签名的加密混合协议,已被用作几种注重隐私的山寨币的基础。用户可以通过在一组硬币上提供一次性戒指签名来发送一个硬币至(可能未花费)他们选择的硬币,这些硬币用作匿名集。一次性属性可确保两次尝试都可以相互链接,从而导致无效交易。交易金额是线性的至,即单个交易的匿名集的大小。与Zerocoin或Zerocash相比,该方案具有更好的性能,但匿名性较弱。

第八节
扩展比特币的功能
虽然比特币可以简单地描述为一种数字货币,但是脚本语言的强大功能以及矿工的强制执行,使得两个或多个相互不信任的各方之间可能需要进行许多其他类型的交互,否则它们将需要可信的中介。我们使用术语“ 非中介”来指代设计交易的一般过程,从而消除了对可信中介的需求。
A.今天与比特币的去中介
比特币作为可扩展平台的程度通常被夸大了。脚本语言仍然受到严格限制。但是,已经设计了许多用于去中介的协议,可以使用比特币当前的交易语义来实现。我们确定了三种通用的去中介策略:
原子性。在许多情况下,可以使用区块链提供的功能直接执行所需的安全属性,并且交易可以是原子的,直到多方签名才有效。CoinJoin [79]是一个简单的示例,在所有各方签字之前,不交换参与者的硬币。另一个例子是Hearn的“串行小额付款”协议[55],它可以有效利用带外通道,以允许一方授权近乎连续的缓慢释放资金(例如,每秒几分钱),以换取某些计量服务,例如Internet访问。付款人可以通过不再签署任何交易来随时终止协议,此时只有一项交易需要发布到区块链上。另一个聪明的协议是Nolan的原子跨链交换协议,该协议允许用户通过两个链接的交易和原子安全性在两个山寨币之间交换货币[91]。
抵押品。在其他情况下,当不能直接强制执行所需的安全性时,比特币可以通过发布保证金或保证金来提供可接受的补救措施,只有在行为正确的情况下才可以退还该保证金。这种方法以Andrychowicz等人的多人彩票协议为例。[5]。每个ñ各方进行BK投注,然后一个方(随机选择)与BKN离开。为了确保作弊玩家不会通过先学习结果并有选择地中止协议而破坏游戏,每个玩家都必须存款BKN 2。如果任何参与者中止协议,他们将没收其押金,这笔款项将用于补偿其他参与者所能赢取的最大金额。这种方法不仅限于彩票,但实际上可以为任意多方计算提供公平的概念[19]。
可审核性。即使不使用比特币对不诚实的一方立即采取补救措施,比特币在提供证明不诚实方的证据方面仍然可以发挥关键作用。一个示例是绿色地址[58],其中具有众所周知的公钥的付款处理者承诺永远不要签署无效或冲突的交易。从绿色地址接收交易的用户可以在等待将其包含在块中之前接受它(即做出不可撤消的决定)。如果在某个时候该交易被在区块链中发布的有冲突的交易抢占,则用户会获得易于检查的证据证明服务器作弊。Mixcoin [26]中使用了类似的技术,其中半受信方提供签名与区块链一起的保证将提供无可辩驳的不当行为证据。
B.比特币作为数据存储
扩展比特币的另一种方法是仅将其用作任何人都可以写入的全局仅追加日志。
确保时间戳记。因为区块链是(模叉)仅追加,它可以立即用作安全时间戳服务[31],这在各种安全协议中很有用。可以通过多种机制将任意数据写入到区块链中-社区更喜欢使用可证明是不可花费的小脚本,其中包括未使用变量中的数据。20多种服务从用户那里收集数据,并将Merkle根发布到区块链,从而允许任何人为任意数据添加时间戳。
数字令牌:彩色硬币。由于可以将数据写入单个交易中,因此可以用“颜色”标记某些交易。这启用了称为有色硬币的协议[103]它定义了一组规则(不是由矿工强制执行的),用于将颜色从输入交易转移到输出交易。硬币最初可以通过包含来自任何受信任的机构来为某些应用程序发行颜色的特殊签名来进行着色。这允许创建可以彼此交换或与普通无色比特币进行交易的任意令牌。彩色硬币已经被提出用于许多应用中,例如交易股票或产权。由于比特币矿工不执行有色硬币协议的规则,因此验证交易的颜色需要扫描区块链以查找所有祖先交易(不包括SPV证明)。
彩色硬币使用区块链的历史跟踪功能作为功能。总的来说,已经观察到每个交易输出都具有独特的祖先历史,这对于不同的用户可能是有意义的,这意味着从长远来看,不能保证比特币是可替代的[89]。
叠加协议:Mastercoin。一种更灵活的方法是使用比特币的共识机制,但定义完全不同的交易语法(具有任意有效性规则),以作为任意数据写入区块链。请注意,这种设计会删除比特币共识机制通常提供的正确性属性,因为比特币矿工不会知道新的交易类型。因此,无效的覆盖交易可以被发布并且需要被覆盖系统中的参与者忽略。由于用户必须验证整个叠加交易记录,因此SPV证明也是不可能的。两个著名的此类系统是Counterparty [39]和Mastercoin [123],它们定义了用于交易数字资产和合约的大量其他交易类型。
C.扩展比特币的交易语义
比特币脚本语言是故意限制的。实际上,原始资源包含了一种更加通用的语言,但是大多数操作码都被标记为不可用。在全文[25]的在线版本中,我们解释和评估了各种建议,例如名称硬币[76]或以太坊[125],以扩展比特币的功能,从而提供一种更通用的去中介平台。

第九节。
结束语
我们基于学术和(零星的,零碎的)在线文献对比特币进行的广泛分析显示,在设计实用的加密货币方面,新思想的复兴是计算机安全社区长期面临的挑战。创新不仅限于新的加密货币协议设计,还涉及计算机安全,分布式系统,硬件设计和经济学的许多领域。这是一个丰富而深厚的空间,不应仅仅因为许多想法并非来自传统的计算机科学研究所而被忽略。
然而,尽管我们的知识已大大增加,但我们仍然常常缺乏理解。一个简单的事实说明了这一点:如果有机会从头开始设计一种货币系统,目前尚不清楚与比特币有何重大差异是可取的,或者它们在实践中会产生什么影响。这并不是说比特币是完美无缺的,正如它的许多设计怪癖所示。还有一些领域,例如匿名性,其中明显提出了更好的设计。然而,对于基本的稳定性和效率,尚不清楚是否有可能设计出可以在比特币上改善的替代分散式共识系统。文献甚至没有提供足够的工具来评估比特币本身将保持稳定的经济和社会假设。同样,为了设计具有新功能的非中介协议,
总体而言,我们只是没有一个具有足够预测能力的科学模型来回答有关比特币或相关系统在不同参数或不同环境下的运行情况的问题。尽管偶尔有人对比特币社区中的学术计算机科学研究感到担忧,但是我们还是主张研究的重要作用,而不是简单地“由市场决定”。今天,很难评估比特币相对于山寨币的成功程度是由于其特定的设计选择,而不是其先发优势。
比特币是一种罕见的情况,实践似乎超出了理论。我们认为这对于研究界来说是一个巨大的机会,可以解决我们提出的有关比特币的许多公开问题。

致谢

作者要感谢以下同事对本文草案的反馈意见:Sergio Demian Lerner,Luke Valenta,Albert Szmigielski,Gus Gutoski,Ben Laurie,Ittay Eyal以及IEEE Security&Privacy的匿名审阅者以及他们的成员比特币社区。Joseph Bonneau得到了安全可用性研究员的支持。杰里米·克拉克(Jeremy Clark)得到了NSERC发现资助的支持。Joshua A. Kroll获得了NSF研究生研究奖学金的资助,批准号为DGE-1148900。NSF Grant CNS-1421689支持Arvind Narayanan。

文献引用

1. G. Andresen, Chain Fork Post-Mortem. BIP 50, March 2013. Show Context Google Scholar

2. G. Andresen, Pay to Script Hash. BIP 16, vol. 1, 2012. Show Context Google Scholar

3. G. Andresen, Blocksize Economics, October 2014, [online] Available: bitcoinfoundation.org. Show Context Google Scholar

4. E. Androulaki, G. O. Karame, M. Roeschlin, T. Scherer, S. Capkun, “Evaluating User Privacy in Bitcoin”, Financial Cryptography, 2013. Show Context CrossRef Google Scholar

5. M. Andrychowicz, S. Dziembowski, D. Malinowski, L. Mazurek, “Secure Multiparty Computations on Bitcoin”, IEEE Symposium on Security and Privacy, 2014. Show Context Google Scholar

6. M. Andrychowicz, S. Dziembowski, D. Malinowski, L. Mazurek, “On the Malleability of Bitcoin Transactions”, Workshop on Bitcoin Research, 2015. Show Context CrossRef Google Scholar

7. J. Aspnes, C. Jackson, A. Krishnamurthy, “Exposing computationally-challenged Byzantine impostors”, Technical report, 2005. Show Context Google Scholar

8. M. Babaioff, S. Dobzinski, S. Oren, A. Zohar, “On Bitcoin and Red Balloons” in SIGecom Exchanges, ACM, pp. 56-73, 2012. Show Context Access at ACM Google Scholar

9. A. Back, M. Corallo, L. Dash, M. Friedenbach, G. Maxwell, A. Miller, A. Poelstra, J. Timon, P. Wuille, Enabling blockchain innovations with pegged sidechains, 2014. Show Context Google Scholar

10. A. Back et al., Hashcash-a denial of service counter-measure, 2002. Show Context Google Scholar

11. L. Bahack, “Theoretical Bitcoin Attacks with less than Half of the Computational Power (draft)”, Technical Report abs/1312.7013 CoRR, 2013. Show Context Google Scholar

12. T. Bamert, C. Decker, L. Elsen, R. Wattenhofer, S. Welten, “Have a snack pay with Bitcoins”, IEEE P2P, 2013. Show Context Google Scholar

13. S. Barber, X. Boyen, E. Shi, E. Uzun, “Bitter to Better-How to Make Bitcoin a Better Currency”, Financial Cryptography, 2012. Show Context CrossRef Google Scholar

14. J. Becker, D. Breuker, T. Heide, J. Holler, H. Rauer, R. Bohme, “Can We Afford Integrity by Proof-of-Work? Scenarios Inspired by the Bitcoin Currency”, WEIS, 2012. Show Context Google Scholar

15. M. Belenkiy, “E-Cash”, Handbook of Financial Cryptography and Security. CRC, 2011. Show Context Google Scholar

16. E. Ben-Sasson, A. Chiesa, C. Garman, M. Green, I. Miers, E. Tromer, M. Virza, “Zerocash: Decentralized anonymous payments from Bitcoin”, IEEE Symposium on Security and Privacy, 2014. Show Context View Article Full Text: PDF (677KB) Google Scholar

17. E. Ben-Sasson, A. Chiesa, D. Genkin, E. Tromer, M. Virza, “SNARKs for C: Verifying program executions succinctly and in zero knowledge”, CRYPTO, 2013. Show Context CrossRef Google Scholar

18. E. Ben-Sasson, A. Chiesa, M. Green, E. Tromer, M. Virza, “Secure Sampling of Public Parameters for Succinct Zero Knowledge Proofs”, IEEE Symposium on Security and Privacy, 2015. Show Context Google Scholar

19. I. Bentov, R. Kumaresan, “How to Use Bitcoin to Design Fair Protocols”, CRYPTO, 2014. Show Context CrossRef Google Scholar

20. I. Bentov, C. Lee, A. Mizrahi, M. Rosenfeld, “Proof of Activity: Extending Bitcoin’s Proof of Work via Proof of Stake”, Cryptology ePrint Archive Report 2014/452, 2014. Show Context Access at ACM Google Scholar

21. A. Biryukov, I. Pustogarov, “Bitcoin over Tor isn’t a good idea”, IEEE Symposium on Security and Privacy, 2015. Show Context Google Scholar

22. G. Bissias, A. P. Ozisik, B. N. Levine, M. Liberatore, “Sybil-Resistant Mixing for Bitcoin”, WPES’14: Workshop on Privacy in the Electronic Society, 2014. Show Context Access at ACM Google Scholar

23. J. Bonneau, “Why ASICs may be good for Bitcoin”, December 2014, [online] Available: https://freedom-to-tinker.com/blog/jbonneau/why-asics-may-be-good-for-bitcoin/. Show Context Google Scholar

24. J. Bonneau, P. Eckersley, Agile Tokens, 2014. Show Context Google Scholar

25. J. Bonneau, A. Miller, J. Clark, A. Narayanan, J. A. Kroll, E. W. Felten, “Research Perspectives and Challenges for Bitcoin and Cryptocurrencies (Extended Version)”, Cryptology ePrint Archive Report 2015/452, 2015. Show Context Google Scholar

26. J. Bonneau, A. Narayanan, A. Miller, J. Clark, J. A. Kroll, E. W. Felten, “Mixcoin: Anonymity for Bitcoin with accountable mixes”, Financial Cryptography 2014. Show Context CrossRef Google Scholar

27. J. Camenisch, S. Hohenberger, A. Lysyanskaya, “Compact e-cash”, EUROCRYPT 2005. Show Context CrossRef Google Scholar

28. D. Chaum, “Blind signatures for untraceable payments”, CRYPTO, 1982. Show Context Google Scholar

29. D. Chaum, A. Fiat, M. Naor, “Untraceable electronic cash”, CRYPTO, 1990. Show Context CrossRef Google Scholar

30. N. Christin, “Traveling the Silk Road: A measurement analysis of a large anonymous online marketplace”, WWW, 2013. Show Context Google Scholar

31. J. Clark, A. Essex, “CommitCoin: carbon dating commitments with Bitcoin”, Financial Cryptography 2012. Show Context CrossRef Google Scholar

32. M. Corallo, “High-speed Bitcoin Relay Network”, November 2013. Show Context Google Scholar

33. N. T. Courtois, “On the longest chain rule and programmed self destruction of crypto currencies”, arXiv preprint arXiv:1405.0534, 2014. Show Context Google Scholar

34. N. T. Courtois, M. Grajek, R. Naik, “Optimizing sha256 in bitcoin mining”, Cryptography and Security Systems, 2014. Show Context CrossRef Google Scholar

35. O. Coutu, “Decentralized Mixers in Bitcoin”, Bitcoin Conference, 2013. Show Context Google Scholar

36. W. Dai, “b-money. http://www.weidai.com/bmoney.txt“, 1998. Show Context Google Scholar

37. G. Danezis, C. Fournet, M. Kohlweiss, B. Parno, “Pinocchio Coin: building Zerocoin from a succinct pairing-based proof system”, PETShop, 2013. Show Context Access at ACM Google Scholar

38. C. Decker, R. Wattenhofer, “Information propagation in the bitcoin network”, IEEE P2P 2013. Show Context Google Scholar

39. A. K. R. Dermody, O. Slama, “Counterparty announcement”, January 2014, [online] Available: https://bitcointalk.org/index.php?topic=395761.0. Show Context Google Scholar

40. J. A. D. Donet, C. Perez-Sola, J. Herrera-Joancomarti, “The Bitcoin P2P network”, Workshop on Bitcoin Research, Jan. 2014. Show Context CrossRef Google Scholar

41. “dree12. List of Major Bitcoin Heists Thefts Hacks”, Scams and Losses, August 2014, [online] Available: bitcointalk.org. Show Context Google Scholar

42. C. Dwork, M. Naor, “Pricing via processing or combatting junk mail”, CRYPTO, 1992. Show Context Google Scholar

43. S. Eskandari, D. Barrera, E. Stobert, J. Clark, “A first look at the usability of bitcoin key management”, Workshop on Usable Security (USEC), 2015. Show Context CrossRef Google Scholar

44. I. Eyal, “The Miner’s Dilemma”, IEEE Symposium on Security and Privacy, 2015. Show Context Google Scholar

45. I. Eyal, E. G. Sirer, “Majority is not enough: Bitcoin mining is vulnerable”, Financial Cryptography, 2014. Show Context CrossRef Google Scholar

46. J. Garay, A. Kiayias, N. Leonardos, “The Bitcoin Backbone Protocol: Analysis and Applications”, Cryptology ePrint Archive Report 2014/765, 2014. Show Context Google Scholar

47. L. Garber, “Government Officials Disrupt Two Major Cyberattack Systems”, IEEE Computer, July 2014. Show Context Google Scholar

48. A. Gervais, G. O. Karame, V. Capkun, S. Capkun, “Is bitcoin a decentralized currency?”, IEEE Security & Privacy, vol. 12, no. 3, pp. 54-60, 2014. Show Context Google Scholar

49. A. Gervais, G. O. Karame, D. Gruber, S. Capkun, “On the Privacy Provisions of Bloom Filters in Lightweight Bitcoin clients”, ACSAC, 2015. Show Context Google Scholar

50. S. Goldfeder, R. Gennaro, H. Kalodner, J. Bonneau, E. W. Felten, J. A. Kroll, A. Narayanan, “Securing bitcoin wallets via a new DSA/ECDSA threshold signature scheme”, 2014. Show Context Google Scholar

51. D. M. Goldschlag, S. G. Stubblebine, “Publicly Verifiable Lotteries: Applications of Delaying Functions”, Financial Cryptography, 1998. Show Context CrossRef Google Scholar

52. R. Grinberg, “Bitcoin: An Innovative Alternative Digital Currency”, November 2011. Show Context Google Scholar

53. M. Hearn, “Dan Kaminsky’s thoughts on scalability”, 2011, [online] Available: bitcointalk.org. Show Context Google Scholar

54. M. Hearn, “Merge-Avoidance: a note on privacy-enhancing techniques in the Bitcoin protocol”, http://medium.com, 2013. Show Context Google Scholar

55. M. Hearn, “Rapidly-adjusted (micro)payments to a pre-determined party”, 2013, [online] Available: bitcointalk.org. Show Context Google Scholar

56. J. Herrera-Joancomart, “Research and Challenges on Bitcoin Anonymity”, Keynote Talk: 9th International Workshop on Data Privacy Management, 2014. Show Context Google Scholar

57. D. Y. Huang, H. Dharmdasani, S. Meiklejohn, V. Dave, C. Grier, D. McCoy, S. Savage, N. Weaver, A. C. Snoeren, K. Levchenko, “Botcoin: monetizing stolen cycles”, NDSS, 2014. Show Context CrossRef Google Scholar

58. “jav. Instawallet introduces new approach to instant payment: Green address technique”, July 2011, [online] Available: bitcointalk.org. Show Context Google Scholar

59. B. Johnson, A. Laszka, J. Grossklags, M. Vasek, T. Moore, “Game-theoretic analysis of DDoS attacks against Bitcoin mining pools”, Workshop on Bitcoin Research, 2014. Show Context CrossRef Google Scholar

60. G. O. Karame, E. Androulaki, S. Capkun, “Double-spending fast payments in Bitcoin”, ACM CCS, 2012. Show Context Access at ACM Google Scholar

61. R. Karp, C. Schindelhauer, S. Shenker, B. Vocking, “Randomized rumor spreading”, Foundations of Computer Science, 2000. Show Context Google Scholar

62. S. King, “Primecoin: Cryptocurrency with prime number proof-of-work”, 2013. Show Context Google Scholar

63. S. King, S. Nadal, “PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake”, August 2012. Show Context Google Scholar

64. J. A. Kroll, I. C. Davey, E. W. Felten, “The economics of Bitcoin mining or Bitcoin in the presence of adversaries”, WEIS, 2013. Show Context Google Scholar

65. P. Krugman, “Bitcoin is Evil”, The New York Times, Dec 2013. Show Context Google Scholar

66. J. Kwon, “TenderMint: Consensus without Mining”, August 2014. Show Context Google Scholar

67. S. M. Larson, C. D. Snow, M. Shirts et al., “Folding© Home and Genome© Home: Using distributed computing to tackle previously intractable problems in computational biology”, Technical report arXiv preprint, 2002. Show Context Google Scholar

68. A. Laszka, B. Johnson, J. Grossklags, “When Bitcoin Mining Pools Run Dry: A Game-Theoretic Analysis of the Long-Term Impact of Attacks Between Mining Pools”, Workshop on Bitcoin Research, 2015. Show Context CrossRef Google Scholar

69. B. Laurie, “An Efficient Distributed Currency”, 2011. Show Context Google Scholar

70. B. Laurie, “Decentralised currencies are probably impossible (but let’s at least make them efficient)”, 2011. Show Context Google Scholar

71. B. Laurie, R. Clayton, “Proof-of-work proves not to work”, WEIS, 2004. Show Context Google Scholar

72. T. B. Lee, “Major glitch in Bitcoin network sparks sell-off; price temporarily falls 23%”, Ars Technica, March 2013. Show Context Google Scholar

73. S. D. Lerner, “Even faster block-chains with the DECOR protocol”, May 2014, [online] Available: https://bitslog.wordpress.com/2014/05/02/decor/. Show Context Google Scholar

74. S. D. Lerner, “The Private Automatic Miner Backbone Protocol (PAMBA)”, April 2014. Show Context Google Scholar

75. P. Litke, J. Stewart, “Cryptocurrency-stealing malware landscape”, Technical report, 2014. Show Context Google Scholar

76. A. Loibl, “Namecoin”, http://namecoin.info, 2014. Show Context Google Scholar

77. “rnakomk. [DEAD] Coiledcoin-yet another cryptocurrency”, but with OP_EVAL!, [online] Available: bitcointalk.org. Show Context Google Scholar

78. J. Matonis, “The Bitcoin Mining Arms Race: GHash”, io and the 51%, July 2014. Show Context Google Scholar

79. G. Maxwell, “CoinJoin: Bitcoin privacy for the real world”, bitcointalk. org, August 2013. Show Context Google Scholar

80. S. Meiklejohn, M. Pomarole, G. Jordan, K. Levchenko, D. McCoy, G. M. Voelker, S. Savage, “A Fistful of Bitcoins: Characterizing Payments Among Men with No Names”, IMC, 2013. Show Context Access at ACM Google Scholar

81. I. Miers, C. Garman, M. Green, A. D. Rubin, “Zerocoin: Anonymous Distributed E-Cash from Bitcoin”, IEEE Symposium on Security and Privacy, 2013. Show Context Google Scholar

82. A. Miller, “Feather-forks: enforcing a blacklist with sub-50% hash power”, October 2013, [online] Available: bitcointalk.org. Show Context Google Scholar

83. A. Miller, A. Juels, E. Shi, B. Parno, J. Katz, “Permacoin: Re-purposing Bitcoin Work for Data Preservation”, IEEE Symposium on Security and Privacy, May 2014. Show Context Google Scholar

84. A. Miller, J. J. LaViola, Anonymous Byzantine Consensus from Moderately-Hard Puzzles: A Model for Bitcoin, 2014. Show Context Google Scholar

85. A. Miller, E. Shi, A. Kosba, J. Katz, Nonoutsourceable Scratch-Off Puzzles to Discourage Bitcoin Mining Coalitions (preprint), 2014. Show Context Google Scholar

86. T. Moore, N. Christin, “Beware the Middleman: Empirical Analysis of Bitcoin-Exchange Risk”, Financial Cryptography, 2013. Show Context CrossRef Google Scholar

87. M. Moser, R. Bohme, “Trends Tips Tolls: A Longitudinal Study of Bitcoin Transaction Fees”, Workshop on Bitcoin Research 2015. Show Context CrossRef Google Scholar

88. M. Moser, R. Bohme, D. Breuker, “An inquiry into money laundering tools in the Bitcoin ecosystem”, IEEE eCrime Researchers Summit (eCRS), 2013. Show Context View Article Full Text: PDF (2714KB) Google Scholar

89. M. Moser, R. Bohme, D. Breuker, “Towards Risk Scoring of Bitcoin Transactions”, Workshop on Bitcoin Research, 2014. Show Context CrossRef Google Scholar

90. S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System”, 2008, [online] Available: http://bitcoin.org/bitcoin.pdf. Show Context Google Scholar

91. T. Nolan, “Alt chains and atomic transfers”, May 2013, [online] Available: bitcointalk.org. Show Context Google Scholar

92. T. Okamoto, K. Ohta, “Universal electronic cash”, CRYPTO, 1992. Show Context CrossRef Google Scholar

93. M. Okun, “Agreement among unacquainted Byzantine generals”, Distributed Computing 2005. Show Context CrossRef Google Scholar

94. M. Palatinus, “Stratum mining protocol-asic ready”, September 2012, [online] Available: https://mining.bitcoin.cz/stratum-mining. Show Context Google Scholar

95. R. Parhonyi, “Micropayment Systems” in Handbook of Financial Cryptography and Security, CRC, 2011. Show Context Google Scholar

96. C. Percival, S. Josefsson, “The scrypt Password-Based Key Derivation Function”, 2012. Show Context Google Scholar

97. A. Poelstra, “Distributed Consensus from Proof of Stake is Impossible”, May 2014. Show Context Google Scholar

98. “QuantumMechanic”, Proof of stake instead of proof of work, July 2011, [online] Available: bitcointalk.org. Show Context Google Scholar

99. R. L. Rivest, “Peppercoin micropayments”, Financial Cryptography, 2004. Show Context CrossRef Google Scholar

100. R. L. Rivest, A. Shamir, “PayWord and MicroMint: Two simple micropayment schemes”, Security Protocols Workshop, 1997. Show Context Google Scholar

101. S. Ro, “A Bloomberg TV Host Gifted Bitcoin On Air And It Immediately Got Stolen”, Business Insider, December 2013. Show Context Google Scholar

102. M. Rosenfeld, “Analysis of Bitcoin Pooled Mining Reward Systems”, Technical report CoRR, 2011. Show Context Google Scholar

103. M. Rosenfeld, “Overview of Colored Coins”, 2012. Show Context Google Scholar

104. T. Ruffing, P. Moreno-Sanchez, A. Kate, “CoinShuffie: Practical decentralized coin mixing for Bitcoin”, ESORICS, 2014. Show Context Google Scholar

105. T. Sander, A. Ta-Shma, “Auditable anonymous electronic cash”, CRYPTO, 1999. Show Context CrossRef Google Scholar

106. T. Sander, A. Ta-Shma, M. Yung, “Blind auditable membership proofs”, Financial Cryptography, 2001. Show Context CrossRef Google Scholar

107. B. Schoenmakers, “Security aspects of the EcashTM payment system”, State of the Art in Applied Cryptography, 1998. Show Context CrossRef Google Scholar

108. D. Schwartz, N. Youngs, A. Britto, “The Ripple Protocol Consensus Algorithm”, September 2014, [online] Available: https://ripple.com/consensus-whitepaper/. Show Context Google Scholar

109. SEC vs Shavers, 2013, [online] Available: https://www.sec.gov/litigation/complaints/2013/comp-pr2013-132.pdf. Show Context Google Scholar

110. M. Sirbu, J. D. Tygar, “NetBill: An internet commerce system optimized for network-delivered services”, IEEE Personal Communications, vol. 2, no. 4, pp. 34-39, 1995. Show Context View Article Full Text: PDF (810KB) Google Scholar

111. E. G. Sirer, I. Eyal, “How to Disincentivize Large Bitcoin Mining Pools”, June 2014. Show Context Google Scholar

112. Y. Sompolinsky, A. Zohar, “Accelerating bitcoin’s transaction processing fast money grows on trees”, Not Chains, 2013. Show Context Google Scholar

113. I. Stewart, “Proof of burn”, bitcoin.it, December 2012. Show Context Google Scholar

114. N. Szabo, “Formalizing and securing relationships on public networks”, First Monday, vol. 2, no. 9, 1997. Show Context CrossRef Google Scholar

115. M. B. Taylor, “Bitcoin and the age of bespoke Silicon”, CASES, 2013. Show Context Google Scholar

116. J. Timon, M. Friedenbach, “Freicoin-easy-to-use demurrage currency”, [online] Available: http://freico.in/. Show Context Google Scholar

117. J. Tromp, “Cuckoo Cycle: a memory-hard proof-of-work system”, Workshop on Bitcoin Research, 2015. Show Context Google Scholar

118. L. Valenta, B. Rowan, “Blindcoin: Blinded Accountable Mixes for Bitcoin”, Workshop on Bitcoin Research, 2015. Show Context CrossRef Google Scholar

119. N. Van Saberhagen, Cryptonote v 2.0, 2013, [online] Available: https://cryptonote.org/whitepaper.pdf. Show Context Google Scholar

120. M. Vasek, M. Thornton, T. Moore, “Empirical analysis of denial-of-service attacks in the Bitcoin ecosystem”, Workshop on Bitcoin Research, 2014. Show Context CrossRef Google Scholar

121. V. Vishnumurthy, S. Chandrakumar, E. G. Sirer, “Karma: A secure economic framework for peer-to-peer resource sharing”, Workshop on Economics of Peer-to-Peer Systems, 2003. Show Context Google Scholar

122. F. Voight, “p2pool: Decentralized dos-resistant hop-proof pool”, June 2011, [online] Available: https://bitcointalkorg/index.php?topic=18313.0. Show Context Google Scholar

123. J. R. Willett, “MasterCoin Complete Specification v1.1”, 2013. Show Context Google Scholar

124. “wizkid057. Re: [6600Th] Eligius: 0% Fee BTC”, 105% PPS NMC No registration CPPSRB (New Thread), June 2014, [online] Available: bitcointalk.org. Show Context Google Scholar

125. G. Wood, Ethereum: A secure decentralized transaction ledger, 2014, [online] Available: http://gavwood.com/paper.pdf. Show Context Google Scholar


原文链接:https://ieeexplore.ieee.org/document/7163021​ieeexplore.ieee.org/document/7163021SoK: Research Perspectives and Challenges for Bitcoin and CryptocurrenciesSoK: Research Perspectives and Challenges for Bitcoin and Cryptocurrencies​ieeexplore.ieee.org/document/7163021

欢迎点赞,评论,转发和关注!

《On Brick》加密货币研究快报

https://zhuanlan.zhihu.com/p/112765818

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇

您不能复制本页内容(。・_・。)ノI’m sorry~