当前位置:首页 > 比特币新闻 > 正文

对比特币挖矿机制的评估 (上)

来源: 互联网时间:2019-01-25 10:34:00

摘要

首先,在此悼念已故量子物理学家张首晟教授。

在比特币10周年的时候,问我几个问题。之后我一直就在构思这篇文章。整篇文章的主题比较庞大,所以我分为上下两篇来阐述我的观点。上篇主要对比特币整个激励结构进行分析,评估,并会指出其中潜在对缺点以及威胁。下半部分纯属个人观点,是对上半部分提出的问题,给出一个解决方案,以及我个人对比特币未来的展望。 在整篇文章提出的论点以及结论,请大家不要相信我,去验证我。谢谢。

1.挖矿激励机制

在比特币中,激励机制至关重要,从80年代以来建立起来的BFT学术研究【1】,到贯穿整个90年代的数字现金计划【2】,以及如今在全球范围内积极运作的数字货币市场。支撑比特币的技术工具和理论在2008年并不新鲜,真正的创新是将它们组合成直接或者间接刺激市场并在市场中找出平衡【3】。从那时起,密码学的学科得到了发展,将博弈论、机制设计和密码学等长期研究的主题,结合到分散协议的世界中【4】。

由于“密码经济学”对于数字货币的存在是如此重要,您可能会期望更多关于数字货币开发的讨论集中在它上面。

但是,尽管支撑这项研究的学科对它的影响越来越大,仍然“几乎没有证据表明,在新的区块链协议的开发中,有正式的协议发表”【5】。许多处于协议设计前沿的设计师们很少(如果有的话)接受过这类学科的正式培训【6】,而且很少有协议在发布之前进行过任何形式的正式学术审查【7】。此外,可以认为,还没有任何协议经过适当的规模化测试。在此,我们探讨的只针对协议层。
因此,这无疑是一个尚处于起步阶段的研究领域。如果比特币等技术要经受住未来任何主流使用中都避免不了的挑战和攻击,那么改善设计中激励机制的一致性将至关重要。一方面,改进需要一个理论来支撑,并能将现有的知识应用到这个新环境。另一方面,需要一个非常实际的观点。我们必须在更广泛的背景下探索整个“协议游戏”中的博弈,并把游戏中的参与者看作是纯粹的人(好人和坏人),而不是理论中完全理性的参与者。

2. 分析比特币激励结构的潜在缺陷

虽然到目前为止,比特币的协议层在很大程度上避免了重大的故障,但仍有很多研究在探索可能出现的问题。这些问题,从最基本的机制设计以及决策,到最广泛的关于比特币如何融入外部世界等问题。在此,我将评估三个关键领域;缺乏对关键协议参与者的基本激励,矿池构成的威胁,人类的劣根性构成的威胁,以及协议的更广泛背景。在此过程中,我们将看到,尽管协议本身的激励结构还有很大的改进空间,但是在比特币协议设计之外,有着更实际的问题是最需要新的解决方案。

2.1基本激励

比特币的基本激励协议与系统,成功地结合密码学,解决了拜占庭将军的问题。在此过程中创建一个数字货币,在去中心化(不受政府,政党控制)的环境下,可以安全地进行交易,没有集中力量控制网络。工作量证明(POW)为整个网络提供了安全性,由于矿工收到了区块奖励和交易费,他们受到激励去验证交易。

虽然矿工因验证交易而得到补偿,但并不是所有必要的参与方都直接得到协议的补偿。比如,开发人员不会因为提交代码而得到直接补偿,节点也不会因为传播而得到补偿。我会在这里提出一个问题,比特币的协议层,对系统中这些最根本关键的齿轮缺乏直接补偿或激励,是否可能对整个网络的未来,产生负面影响。下面我会一一分析与解答。

2.1.1开发人员激励

许多开发者拥有比特币,因此他们会为了比特币价格的最大利益而工作,但情况并非总是如此,由于开发者的工作没有直接从协议中获得报酬,他们往往会寻找外部资金来源。在大多数情况下,这种做法是无伤大雅的。但是,外部参与者(投资方)存在一种作恶的可能性: 为开发者提供资金,让他们按照自己的优先事项开展工作,从而损害整个系统的成功。

代码的开源特性,对正在实现的恶意代码的相当于一个天然的防火墙,但不一定适合那些最初的开发人员。总的来说,这似乎是对系统的一个真实但又微小的威胁。在早期阶段,有足够多的开发人员出于意识形态或学术兴趣而乐于免费工作。

该制度已发展到目前的成功水平,不太可能出现缺乏必要发展资金的阶段。在我看来,就现在而言,不直接奖励开发商的决定不太可能导致比特币失败。

2.1.2 交易传播激励

对于比特币网络的工作来说,节点在接收到交易时,将交易传播给其他节点是至关重要的,但如果一个挖掘节点接收到一个事务,那么它宁愿将该信息保存在自身中,并最终为该事务收取费用,而不愿将信息传递给其他竞争该费用的节点。在一篇论文《On Bitcoin and Red balloon》【8】提供了一个详细而复杂的解决方案:授权链中的节点在交易获得授权时都会得到补偿。一个简单的例子是,节点A接收到一个事务,将它扩展到节点B,节点B将它扩展到节点C,节点C将它扩展到节点D,节点D然后成功地创建一个包含该事务的块。节点D将获得交易费,节点A、节点B和节点C也将获得较小的奖励。作者谨慎地引入了针对Sybil攻击的保护措施,限制了导致较早节点支付的链长,防止节点多次自我复制,在最终将事务放入块中时彼此发送事务以增加回报。

这是对上述问题的一个聪明的解决方案,尽管需要比当前体制下更高的总体回报。论文作者创建了一个简化的比特币系统模型,并认为这将是一个潜在问题,而在现实中,我认为,它不是一个真正的威胁。首先,论文中提出的解决方案尚未得到实施,并且在这篇论文发表后的几年里,这并没有在市场上构成威胁。

首先,比特币交易并不短缺,现在网络已经开始成熟,所以只有在费用特别高的情况下才有价值扣缴交易。更重要的是,大多数节点不是挖矿节点,而且任务一次会发送到多个节点,因此任何试图为自己保留事务的挖掘节点,很可能只会略微或减慢交易任务的传播。挖掘节点的价值来自比特币的价格,以及在网络上发生的交易。如果交易不能在网络上成功传播,那么人们就不会使用这个网络,比特币的价格就会暴跌,给挖掘节点带来的损失会远远超过他们从几笔交易中获得的利润。

结论

总的来说,如果从头开始设计系统,可能还有一些小的改进空间。然而,在激励制度的基本设计上似乎没有任何致命的缺陷。

2.2 矿池激励

比特币协议中奖励系统的设计允许形成挖矿池,在挖矿池中,每个矿工都聚集在一起,根据他们为挖矿池贡献的哈希能力分享奖励。这是整体结构的必然结果,也是为网络提供安全保障的必要发展。然而,矿池的引入也带来了一些激励问题。

2.2.1 算力的集中化

矿池激励中,最明显的问题就是算力的集中。在整个“比特币算力竞赛”中,事实证明,至少两个挖矿实体将永远能够共存并盈利。在我上一篇关于BDPL的文章中详细分析了这一点。

在此,从社会经济上来分析,挖矿业基本集中在电力最便宜的地区,与该地区的财富相比,挖矿所产生的利润相当可观。这可能会给一个或一些政府带来不适当的影响,这些政府往往会对此采取相应的法律措施,对整个比特币的价格也会造成一定的波动。

2.2.2自私挖矿

采矿池的出现带来的另一个潜在问题是“自私挖矿”现象。自私挖矿背后的思想是,当自私的采矿池成功开采一个新区块时,他们会保密,在自己的新区块上开采。接下来会发生什么有两种可能;不是其他矿工开采一个区块,就是自私的矿池开采另一个区块。在第一种情况下,自私的矿池立即发布它的私有块,一致接受它作为正确的块,而其余的节点接受其中的任何块,这取决于它们首先接受到的是哪个块。在第二种情况下,自私的矿池继续在其私有链的顶部进行开采,然后从其私有分支中为其他矿商找到的每个块发布一个块。当其他矿商进入私有链的一个块中时,自私的矿池释放它的整个私有链,这个私有链将被网络的其他部分接受,因为它比其他所有人一直在处理的链长一个块。网络的其他部分一直在不知不觉地将资源浪费在一个没有希望成为主链的链上。

这种策略降低了其他矿商的采矿效率,也降低了自私挖矿本身的开采效率。然而关键的是,一篇题为《Majority is not Enough: Bitcoin Mining is Vulnerable》【9】的论文表明,其他矿商的效率受到的伤害要远远大于自私挖矿的效率。那么在很短的时间内,各方的收益都会减少,但是在下一个难度调整时,难度会降低,反映出区块开采速度变慢,那么自私挖矿的收益会比之前更高。
如果要实现这样一个可盈利的自私挖矿的话,矿池的大小取决于你有多少诚实节点愿意接受你。换句话说,有多少诚实的节点,在区块高度一样的时候,愿意接受你的区块。

如果你能让100%诚实的节点接受你的区块,那么你显然不会因为自私的挖掘而承担风险,而且它总是比诚实的挖掘更有利可图。本文还将继续论证,如果50%的节点接受你的区块,那么你需要一个矿池总大小25%的网络进行自私挖矿,并且可以盈利。即使10%的节点接受你,你仍然只需要1/3的总池大小就能进行可盈利的自私挖矿。

虽然听起来自私挖矿将很难实现:让50%的诚实节点接受他们的所发布的区块。但在当前的协议中,任何大小的矿池,都可以通过Sybil Attack来进行自私挖矿,并且提高利润。Sybil Attack相当于给整个网络大量的添加一些零算力的节点,这些空头节点的作用就是去传播你自己的自私挖矿的区块,并不需要去接受任何诚实节点的区块。就像在互联网中刷流量与关注一样。不过在算力的竞争中,会比你想象中的恐怖的多。

有人认为,自私挖矿不是对整体网络的攻击,而只是矿池为了实现利润最大化而应该做的事情【10】。然而,如果这导致比特币网络日益集中化,这样对整个比特币来说并不是一件好事。这种攻击在今天仍然很可能发生。好消息是,它暂时还没有成为一个大问题,如果这个问题在未来继续发展,我们可以采取一些可行的解决方案【11】。

2.2.3 阻止性挖矿

另一个潜在问题是“阻止性攻击”【12】的可能性,在这种攻击中,一个矿池将它们的一些节点发送到另一个矿池,以提供部分解决方案(并不是全部的解决方案),并证明了他们的工作。这导致另一个矿池将其利润的一部分支付给这些渗透的节点,但其实自己没有得到任何回报。这种策略降低了两个矿池的直接收益,减缓了新区块的发现,但经过后续的难度调整后,发动这种攻击的矿池将在总开采力中占有更大的份额,并将获得更多的收益。

在我看来,这种情形属于囚徒困境的一种变化。举个百度百科中提到的例子【13】:

商业活动中亦会出现各种囚徒困境例子。以广告竞争为例。

两个公司互相竞争,二公司的广告互相影响,即一公司的广告较被顾客接受则会夺取对方的部分收入。但若二者同时期发出质量类似的广告,收入增加很少但成本增加。但若不提高广告质量,生意又会被对方夺走。

此二公司可以有二选择:

互相达成协议,减少广告的开支。(合作)

增加广告开支,设法提升广告的质量,压倒对方。(背叛)

若二公司不信任对方,无法合作,背叛成为支配性策略时,二公司将陷入广告战,而广告成本的增加损害了二公司的收益,这就是陷入囚徒困境。在现实中,要二互相竞争的公司达成合作协议是较为困难的,多数都会陷入囚徒困境中。

如果想在这其中寻找一个平衡点,那么很有可能出现一种共用品悲剧【14】。换句话说,所有的池子都在互相攻击,但情况都比没有人攻击时更糟。然而,由于此场景不断地上演,矿池不断地会拥有攻击或不攻击的选项,那么整个活动中就会不断迭代的出现囚徒困境。

这种情况一旦发行将会变得尤其不稳定。尽管发现这种阻止性挖矿攻击很简单,但通常是不可能判断是谁在实施攻击。此外,这些攻击可能导致大型矿池解体。而发起者可以是一个专门以摧毁大型矿池为目标的组织。

如果这个组织成功的攻击了大型矿池,那么一开始会比其他矿池赚得更多。如果他们不被制裁,那么他们可以继续参与开采其他的矿池,赚更多的钱,如果他们面临报复,他们将实现他们的目标,打破矿池。有了这样的动机,这种攻击或许会在将来发生。但如果真的发生了,这对比特币生态系统来说无疑是件好事,因为它将分散网络内的采矿权。

2.2.4 DDoS攻击

矿池对彼此执行DDoS攻击,根本目的是提高自己本身的收入。一篇题为Game-Theoretic Analysis of DDoS Attacks Against Bitcoin Mining Pools【15】 论文感兴趣的朋友可以阅读以下。首先,它假设了DDoS攻击在没有成本和百分百成功的前提下。任何一个矿池都会对在市场是算力比他更强的矿池进行DDoS攻击。换句话说,如果另一个矿池算力很强,但并没有与你的矿池拉开巨大的差距,那么DDoS攻击这个矿池最有效地增加你的市场份额。但是如果你已经与整个市场的算力拉开了巨大的差距,那么你最好跟上这个市场。在这个没有硝烟的算力战争中,淘汰的永远是最底层的。或许,在分散信任,去中心化的革命中,最缺乏的往往就是信任。

除此之外,大矿池相对于小矿池,会更有动机去进行攻击。总之,在我看来,最有可能的是一个大矿池攻击另一个大矿池,而最不可能出现的是一个小矿池攻击另一个小矿池。

那如果我们增加DDoS攻击失败的机会并且提高攻击的执行力和DDoS攻击的代价,再去进行分析,结果发现上述结论还是一致的。这不禁要去讨论一下大型矿池的未来,特别是在结合前面2.2.3中讨论的威胁,到目前为止,尽管有攻击企图,较大的矿池还是蓬勃发展。

这种情况能否持续到一个未来? 金融体系继续增长,参与者以自己的最佳利益为出发点,执行力,和效率再次提升。我们拭目以待。

2.2.5 结论

尽管矿池的出现显然导致了比特币的一些中心化的问题,但为了确保比特币长期分散化的未来,随着时间的推移,随着利润的减少,更为活跃以及优秀的节点往往会变得更有效率,只有效率最高的参与者才能生存下来。

DDoS攻击在某种程度上来说,会限制总体矿池的大小,阻止性攻击可能会威胁到开放性矿池的存在并限制部分利润。为了弥补损失,自私挖矿又能相对抵消一点,但从中获得的额外收入又不太可能对抗持续的DDoS攻击。

11

然而,尽管比特币系统内有着内置的保护措施,但该系统对集中挖矿问题并没有得到保证。目前的情况涉及到集中在少数人中间的大量算力和权利,而这些人无疑将努力保持他们所拥有的权力。

这种激励机制在理论上非常有效,但在实践中,当人们面对信息不对称,对财富、权力和影响力的追求时,这种制度远未免受集中化的影响。

下半部分将会从更广泛的角度来评估整个机制以及一些解决方案。

引用文献:
【1】This research began with; Lamport, L., Shostak, R. & Pease, M. (1982) The Byzantine Generals Problem, ACM Transactions on Programing Languages and Systems, 4(3): 382-401

【2】Bitcoin: A Peer-to-Peer Electronic Cash System, online at; https://bitcoin.org/bitcoin.pdf.

【3】Haber, S. & Stornetta, W; How to time-stamp a digital document, Journal of Cryptology, 3(2): 99-11.

【4】Wang, K. (2017) Cryptoeconomics: Paving the Future of Blockchain Technology, https://hackernoon.com/cryptoeconomics-paving-the-future-of-blockchain-technology- 13b04dab971, or Vitalik Buterin’s Introduction to Cryptoeconomics talk, https://www.youtube.com/watch?v=pKqdjaH1dRo

【5】 See Evans, A. & McKie, S. (2017) A Crash Course in Mechanism Design for Cryptoeconomic Applications,
https://medium.com/blockchannel/a-crash-course-in-mechanism-design-for-cryptoeconomic-applications- a9f06ab6a976.

【6】Vlad Zamfir, The History of Capser – Chapter 2, online at; https://blog.ethereum.org/2016/12/07/history-casper-chapter-2/.

【7】Garay, J. & Kiayias, A. (2017) The Bitcoin Backbone Protocol: Analysis and Applications

【8】 Babaioff, M. Dobzinski, S. Oren, S. Zohar, A. (2011) On Bitcoin and Red Balloons. https://arxiv.org/abs/1111.2626

【9】 Eyal, I. Sirer, E. (2013) Majority is not Enough: Bitcoin Mining is Vulnerable. https://arxiv.org/abs/1311.0243

【10】https://github.com/libbitcoin/libbitcoin/wiki/Selfish-Mining-Fallacy for example.

【11】https://www.esat.kuleuven.be/cosic/publications/article-2746.pdf

【12】 Eyal, I. (2014) The Miner’s Dilemma. Available at: https://arxiv.org/pdf/1411.7099v2.pdf

【13】http://baike.baidu.com/link?url=J1LmeYMn1YN4_yVF_kYiMmVAIrdmn-2D0eKtjcfKnraDwN358SBYxRs4WzdFfMTgjVLXojsaFYtffegf8DL5sGsfSZnMioHanSBdwqibM7M2wy8We2SA9kpevcJuBchp

【14】http://baike.baidu.com/link?url=7PchqEQsj3kBoYy9IrQ4DvDV6Dq_d-gDPwe4StkJeERr_Nb4sY9rybXOPi3VOVC8pc85JaaR_TfPXLzCR79ZC8uCI03tbkHEMf2mohUbFNzdr-eLhaFbKf1zjqFT85YFn1r8R4_yIQA8TifWFWXWyK

【15】Johnson, B. Laszka, A. Grossklags, J. Vasek, M. Moore, T. (2014) Game-Theoretic Analysis of DDoS Attacks Against Bitcoin Mining Pools. http://fc14.ifca.ai/bitcoin/papers/bitcoin14_submission_16.pdf

本文作者:王梓,首发,未经允许禁止转载。

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。