孤块——铁与钢

比特范 阅读 11 2020-4-16

铁是一种纯化学元素,同时也是锻造性很强的一种金属。它可能比起历史上我们用过的任何一种形式的金属材料都更好,但对于许多情形下的应用来说,它仍然太软或者太脆——在制造工具和你想要锋利的刀的时候,情况尤其如此。而这就是钢与铁不同的所在:钢可以维持边缘的锋刃,并且可以制造成各种比铁更加耐用的形态。尽管钢本质上基本上仍然是铁和一点点不纯粹的杂质,但已经在复合物的结构上起到了足够的变化,以至于可以在使用中呈现出截然不同的反应。

这就跟比特币很类似。

比特币本身不是一个纯粹的系统;它自带着很多绝大多数数学家和计算机科学家看做是缺陷的性质。而这些“缺陷”正是比特币强大的内因。

孤块和准备限制孤块生成的诸计划

注释:孤块是一个被遗弃的数据块。因为很多节点都在维护区块链并同时创建多个区块,但是一次只能有一个被继续集成,而其他被遗弃的数据块就是孤块。来源:《区块链行业词典》

很多开发人员认为孤块是一个亟待处理甚至彻底清除的问题。孤块并不是缺陷;它们就如同是添加进铁的碳一样,让比特币像钢一样坚挺。

比特币工作的方式使得孤块的产生与整个的奖励机制无关。这是解密计算难度调整的结果。平均每两个星期有大概2016个区块被矿工所发掘。这些不是孤块,而是奖励区块。

比特币工作的方式使得孤块的产生与整个的奖励机制无关。这是解密计算难度调整的结果。平均每两个星期有大概2016个区块被挖矿者所发掘。这些不是孤块,而是奖励区块。

让我们把这些信息列入一个显示孤块数量与奖励额度的均值列表:

https://cdn-images-1.medium.com/max/1000/1*cPWg9MJ4rnGEGqi1zsQnhg.png

表格1:2星期内的区块与孤块

你会发现,孤块的存在并没有改变什么。我们在下图中亦可以认识到这一点:

https://cdn-images-1.medium.com/max/1000/1*fE9-vxEItpnUgqFfDjC0Fw.png

图1:孤块并不会让挖矿者消耗更多资源

由此我们可以看出,不论孤块产生率有多高,挖矿者所获得的奖励并不会变化。是故正如亚当斯密所说:

“从事同一行业的人甚少见面,即便目的只是为了娱乐和放松,他们交流接近结束的时候总是会把话题转移到如何预谋对付公众和想方设法抬高价格上……尽管法律不能阻止同行业的人聚到一起,它也不应该从任何角度促进集会,更不要说使得集会成为必要。”——《国富论》第四卷第八章,145页,段落C27

而且,在比特币系统下,挖矿者们所谈论的受到的损失,并不是真正的损失,而是他们通过单一观测事件所主观感受到的,没有考虑到整体。挖矿者们抱怨孤块现象的存在,是因为他们没能意识到这正是系统需要的,而且被误导认为它们是不可取的.仿佛一旦没有了孤块,他们就能不知何故获得更丰厚的奖励。这是我们必须否认和辟谣的谎言和错误认知。

而且,在企图减少区块的行动中,我们再次看到了跟亚当斯密时代中商业行会行为一样的效应:

“不论是拓宽市场还是减少竞争,所代表的的永远是交易商一方的利益……任何来自这一秩序下的新商业法律与条例提案都应经过非常谨慎的听证,并且不仅要付之于最谨慎和怀疑的关注,在经过漫长而仔细的审查之前绝对不应该采纳。这些诉求来自一个利益集团,他们的利益从来不会完全和公众的利益一致,它们不仅有欺骗甚至压迫公众的倾向,并且多次将对公众的欺骗与压迫付诸实践。”——《国富论》第一卷第六章结语,267页,段落10

作为挖矿者的生意人们只看到了他们的损失,但很少有人站在更高的角度思考过,而当某些带有“善意”的人(我们通常知道这会带来什么样的后果)告诉他们这个问题可以解决的时候,他们就盲信了这些会带来毁灭结局的谬论。

事实很简单,看似是缺陷的孤块现象实际上是令比特币系统有效工作的重要元素。它不是一个应该为了提升效率而被修正的缺陷,而是一个至关必要的系统构成——一旦被移除,将导致系统的崩溃。

比特币的设计是由生物得到启发的

孤块是一个促进比特币内部竞争的辅助机制。设计比特币的初衷并不是为了平等分配,而是营造出一个竞争系统使得挖矿者和商家努力争取任何可以获得的优势,这个系统的核心精神就是竞争,换成任何一种其它形式它就不能正确运转。

比特币需要一定程度的低效率,使得孤块能够让挖矿者合理站队。它有助于对挖矿方进行排序分类,并确保他们正确地安排资源投入,使得不仅仅哈希率有保证,对系统至关重要的网络连接和分配也得到足够的投入与支持。孤块的存在会促使挖矿者更多地投入到系统资源中去。是以孤块的存在能够激励挖矿者投资更多在维持系统生态,并确保他们与其他挖矿者的连接紧密相关。

这些事情对所有旷工都是有益的。然而就像商业中常常发生的那样,人们只是看到了自己在短期内的代价,而忽视了其对于整个系统的意义。

我建议你们好好读读这本书。

(生物学中的博弈论模型)

https://cdn-images-1.medium.com/max/1000/1*aghia6dSHgx8LlHj7qZZnQ.png

图2:生物学游戏

 “狩猎雄鹿”就是挖矿者之间互动这个方面的一个典型模型。这是基于让雅克卢梭提出的两个猎人之间的合作战略(Skyrms,2004)。这些人既可以合作打猎,也可以单独打猎。因合作而可获得的最显著的回报就是整个雄鹿,远胜于单独狩猎时只能捕捉到野兔。狩猎雄鹿的条件更加苛刻,需要猎人们之间的相互合作。如果每个猎人都独自狩猎雄鹿,那么成功的概率就会很低,而且结果不是最佳回报。类狩猎雄鹿活动在能够获得最佳回报的情况下对社会最有利。这个游戏的普世问题在于,它需要玩家之间太高程度的互信。

比特币正是通过引入不对称性来改变这种状况。对于不同种类的行为,所要花费的成本截然不同,与“诚实”策略相比,“攻击”行为所需消耗的成本更高。也就是说,我们引入了激励措施,使得挖矿者们更倾向于合作狩猎雄鹿而不是为了小额回报而选择欺诈。这个系统奖励挖矿者的“诚实”。

这个博弈游戏中存在着两个纯粹的策略均衡,两个参与者(挖矿者)都倾向于风险较低的均衡而不是更高回报的均衡。这个博弈既是帕累托最优的,也是希克斯最优的,但是次优的低效率均衡对任何一个玩家都构成了较低的风险。由于其他玩家策略收益差异小于最佳解决方案的收益差异,因为更有可能选择此选项。解释这种现象的另一种方式是一种策略平衡是回报驱动,另一种策略平衡是风险驱动。

这些博弈形式存在一个问题。为了缓解风险与回报之间的矛盾困境, 比特币引入了长期不对称机制,随着时间的推移针对资源投入的不对称会变得更大。这样一来,在一个紧密连接的系统下,通过确保连接性而获得的收益对应的成本和风险比预期的更低。

挖矿者之间的策略包含了一个优先提高哈希率而不是连接性的冲突的选择.如图3所示,代数项表示了具体情境下(挖矿竞争市场)的回报,广义的关系采用了以下形式:

https://cdn-images-1.medium.com/max/1000/1*gmRW3FzX-1hU4RFDaNDEug.png

这些产物并不是准确表示到底产生了怎样的结果。在这个博弈中,“雄鹿”是希望“创造出一个接近完整的小世界网络”,“野兔”是“增加更多的哈希算力”(即增加对ASIC的投资)。愿望A本身不是为了创建一个更紧密连接的网络,而是结合通过增加ASIC提升哈希算力和增强系统连接性。从某个点上看,增加系统连接性对提升投资回报意义不大,而另一方面提升哈希率作为投资而言更为有效。

https://cdn-images-1.medium.com/max/1000/1*EfTgO8sDGKIm6uhpNrmhDg.png

图3:挖矿投资,一个狩猎雄鹿般的博弈游戏

对于挖矿者和比特币用户而言,创建更紧密连接的系统所收获的回报是重要的,但是错误配置的策略含有沦为次优均衡的风险。我们需要的是一个释放信号的过程。一个信号可以让参与者与更优的策略保持方向一致。这不仅仅是为了用户的利益来拥有一个更安全的系统(更紧密连接),同时也符合挖矿者的利益。孤块现象对于不巧碰到它们的挖矿者个体代价昂贵(尽管对于网络整体而言并非如此),但网络连接性更好的挖矿者可以期望更低的孤块比率和更多的区块奖励。

由于狩猎雄鹿的回报与野兔狩猎的回报之间的比值逐步降低,对雄鹿狩猎的动机相应减少。因此,更好的网络连接不太可能成为挖矿者们的首要目标。正因为如此,参与者从追求野兔到追求雄鹿的转变不太可能在没有孤块成本的情况下发生。

因为两个玩家都没有偏移原有策略的动机,所以这种策略的概率分布被称为游戏的相关均衡。值得注意的是,该均衡的收益期望是 7(1/3) + 2(1/3) + 6(1/3) = 5,这高于混合策略纳什均衡的收益期望。

挖矿者可以随时确定执行每个策略相应的成本。这是通过结合收益与孤块比率所得出的信号测算的(以及挖矿者个体因为经历孤块生成而遭遇的损失)。

挖矿者需要竞争

每一个挖矿者都需要做得更好,但不是作为一个系统。这对于很多的开发人员和工程师来说可能是反直觉的,但这个系统就是通过这种设计使得每一个挖矿者都能更好的连接到整个挖矿网络。他们通过竞争实现更紧凑和更密集的连接,从而降低延迟。如果一个挖矿者的延迟更低,那么他可以获得比其他挖矿者更高的收益。

相反地,如果网络更加的高效低耗,Sybils的运行成本更低。这或许有助于使用家庭电脑和树莓派设备的挖矿者,但并不利于那些真正为了构建生态志愿付出代价和心血的参与者。比特币的设计可不是为了诱使你在对你利益无关的事项上进行投票。这样做的是Twitter,只会在系统中滋生一群毫无切身利益向关而胡乱投票的捣乱的人。

当我们把比特币做的更高效时,它允许更多的系统充当转发器并连接到网络而不需要投入太多在构建连接上面。这使得那些不是挖矿者的人能够以较低的成本入常并假装成节点。

一些来自微软的研究员在《比特币与红气球》[2]一文中正确地归纳了一个有关区块链的问题(这也适用于很多目前存在的区块链,比如以太坊):这些编写区块链的人从未测试过他们创造的区块链系统。他们未能审慎调查区块链的实际运行情况,而是假设它是一个网状结构。其他的人则完全不能理解比特币(再一次,他们直接当做了网状结构),提出了基于西比尔斯传播和接管“自私挖矿”的根本不可行的攻击方式。

挖矿的意义不是发掘区块;而是让你发掘的区块能够传递到所有其他的挖矿者那里去。这是一个非常关键的区别。它不仅仅是通过在ASIC上投资以获取哈希算力,还应包括很多其他部分。挖矿者需要:

  1. 确保安全性

  2. 有良好的网络管理系统

  3. 与其他挖矿者有高带宽低延迟的连接

  4. 冗余

  5. 与许多地位置拥有密集连接,从而可以承接巨量的区块和TX涌入他们的系统和节点

这就是通过一个不对称的博弈游戏而构建的。

攻击者的成本远比诚实的挖矿者更高。挖矿者连接到其它节点所需成本属于系统的一部分。在一个特定的最优点,增加更多的连接将不再那么有利可图。这可能是在达到98%或者99%甚至更多的连接率的时候,具体情况因具体挖矿者而异,但这个成本是与ASIC硬件与攻击成本完全不对称的。

采用10GbE的网络,一个挖矿者可以轻易处理4GB大小的区块。我家里就有这样的设备。现在这样的网络并不稀奇,任何一个数据中心都有远超于这个的带宽和网络连接。

在不到2秒的时间内,一个0.1%的挖矿者在紧密系统下连接到1000个其它节点所需成本低于挖矿者总投资的1%。对于攻击系统的一组Sybil节点,这种程度的连接使得攻击成本相较于网状结构和低带宽需求的连接增加了9到10倍。

这便是系统不平衡的原因。

为了攻击一个挖矿者,你需要对一个系统进行必要的长期投资。这不是简单地购买一组ASIC并连接到矿机池就能实现的。这个矿机池必须拥有足够的基础设施,才能在不失去区块的情况下获得奖励,而挖矿者通常可以在不同矿机池间自由切换。因此一个企图利用其矿位牟利的攻击者将很快入不敷出。

一个攻击者需要拥有比网络其他部分更多的楞边(顶点或节点间的无序对,即节点之间的连接)。更糟的是,仅仅更多是不够的;这件事本身就需要构建巨量的更多连接。因此,如果我们拥有一个由1000名挖矿者密集连接构成的网络,攻击者需要遍历运行超过50万个密集连接的系统, 以充当Sybils才能与诚实的挖矿者得到同样的行为效果,而这不能让他们像挖矿者那样获利。

在今天,这种形式攻击的成本超过了1250美元。它不是仅仅运行了几个树莓派节点,而是真正密集连接的低延迟系统。这是一个相当庞大的投资,不是在少数几个虚拟机系统中,而是一个完整的密集型设施,需要长期的投资构建和其它节点的主动连接。所以,任何攻击网络的尝试都不得不不仅投资于即时攻击,还要花长时间获取来自其它挖矿者的信任——发送区块,以期表现的如同一个合格的负责任的社区节点,在此之前会消耗大量投资,而攻击发生后又很容易被社区管理人在几分钟之内抵御。

挖矿人Alice和Bob

我们假设这一个小样本作为一个网络的假设子集,Alice和Bob两个挖矿者,被赋予了同样的哈希算力,我们就此探索连接性和延迟对比特币的意义。我们在这个例子中假设Alice和Bob各占有整个网络的50%。这是不现实的,但我们可以假设Alice和Bob是两个采用不同策略的挖矿者集群。

我们从Alice开始,她和Bob美国都有1000个单位的哈希算力。Alice投资于系统,基础设施和网络管道,使得她能以低于0.2秒的延迟(甚至是在传输处理大区块的时候)连接到所有其它挖矿者。

https://cdn-images-1.medium.com/max/1000/1*0GfHhinXSjTY6L-PpUwd5g.png

图4:Bob和Alice需要交换区块

Bob决定不在网络基础设施上花费这样多,他在处理大区块的时候会有3.2秒的延迟。这并非是很大的差别,但让我们调查一下影响如何。

在其他条件都不变的情况下,我们的平均区块时间为600秒。Alice和Bob之间获得区块的差异为3秒(3.2-0.2)或者0.5%(3/600)作为Alice的收益。这意味着Alice现在是拥有50.5%的挖矿者,Bob拥有49.5%。从一个平等的分配开始,Bob已经些微输给了Alice。

如果Bob想仅仅通过ASIC来提升至这种程度的优势,他将不得不付出远超于Alice的成本。

如果Bob再安装21个ASIC单元,那么分配将是:

https://cdn-images-1.medium.com/max/1000/1*nCzYUM52WIqEI0VJk2eu9g.png

注意Bob如何需要在ASIC上多投资2.1%来增加0.5%的利润,而此时Alice已经将当前投入资金中的一小部分放在网络基础设施上,故实际的效果是:

https://cdn-images-1.medium.com/max/1000/1*L2Fooe32FygTdv9BUPF1yQ.png

如我们所见,当网络哈希率增加时,扩展带宽的边际成本低于提高哈希算力的边际成本。这就是比特币系统的不对称效应之一。

一旦系统变得更加高效,这一控制机制就会被破坏至失灵。比特币是一个非常谨慎的结合奖励和控制的系统。正如我多次阐述的那样,这是一个利用选定加密工具的经济系统;它不是一个密码系统。

挖矿者们被激励去增加系统的连通性到一个理想的临界点,从这里起他们因孤块而遭受的损失相对很小。如果作为一个针对整个系统的变化而进行这种变化,它就不算是一种收益。把系统变得更有效率会降低系统的不对称性,方便了攻击入侵,降低了对参与者将网络建设成密集紧凑世界而不是普通网状结构的正面激励。

竞争,而不是社会共识

比特币没有辜负和遗漏社会共识;它的设计意义在于不要落入这个陷阱。基于社会共识上的健全系统根本不存在。因为激励。如果你不需要在你所做的决定上进行投资,你就懒得花时间去理解它们。这就是为什么民主制度会失败并沦为民粹和蛊惑大众。不对参与的事清有切身的利益相关的人,是没有什么风险可负的。

比特币运行的机制是,参与的挖矿者和企业都必须在博弈中投入切肤的投资。他们必须承担可能会失去一切的风险,这就意味着他们总需要审慎调查他们正在做出的决定。

当然情况不是一直这样的。在比特币的早期,价值比例太低了。那个时候它没有足够的可持续性可以让它成为一个全球性的现金系统,它难以突破作为雏形系统的状态,这使得很多人误解比特币以为这是它的设计目标。

孤块就是挖矿者的投票机

最后一点我必须强调一下。那就是孤块也是挖矿者们投票,收费,核实区块或者任何他们想要在紧急市场中执行操作的手段。

毕竟,孤块是唯一能让挖矿者们诚实投票的方式。

 [挖矿者]用他们的CPU算力投票,表达他们对于有效区块的接受和拓展和对无效区块的拒绝和屏蔽。任何需要的规则和措施都可以通过这种共识机制实施。

上段摘自比特币白皮书

总结

这是一系列(长篇)系列文章中的第一篇,旨在向人们阐释那些对于很多人来说是比特币缺陷的特性,为什么实际上会是比特币的优势并且是比特币真正的成长的力量所在。

比特币(现金)依然是钢。在过去的几年中,比特币一直保持着它钢一般的地位,而其他项目则开始提高纯度和追求“完美”。SegWit的Bitcin Core已经坚定地走到了化钢为纯铁的道路。这就是Core的失败。就像铁一样,它将不会撑过未来的挑战。

免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
标签: 比特币孤块
上一篇:ECDSA与公私钥 下一篇:挖矿与经济博弈