<接(一)>
第三节。
比特币的稳定性
比特币的稳定性已经用许多模糊的,有时是相互冲突的方式进行了定义,但是它被广泛地认为是指该系统将继续以一种促进功能性货币增长的方式运行,随着货币的增长以及参与者尝试新颖的攻击。我们将依次考虑比特币各个组成部分的稳定性概念。尽管在强有力的假设下仍存在稳定性结果,但在哪种条件下比特币是稳定的仍是一个悬而未决的问题。
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]是使用此模型部署的为数不多的山寨币之一;但是,其稳定性论点基本上尚未得到证实。
<未完>