当前位置:首页 > 物联网 > 区块链
[导读] 工作量证明(PoW)区块链实现了一种形式的状态机复制系统(State Machine Replication,SMR)。不像传统的 SMR 协议,PoW 区块链是开放的,即,任何人都可以加入这个

工作量证明(PoW)区块链实现了一种形式的状态机复制系统(State Machine Replication,SMR)。不像传统的 SMR 协议,PoW 区块链是开放的,即,任何人都可以加入这个协议,而且系统也会用经济利益来激励参与者(也叫 “矿工”)遵守协议。

因此,同样迥异于传统 SMR 协议的地方是,在推理区块链的安全性时,仅仅假设恶意参与者的数量往往并不能得到答案。关键是要问一问,矿工是否真的有足够的动机来遵守所在的协议。这就是本文要讨论的东西。

为使讨论更具体一些,我们把讨论的语境限定为中本聪的比特币协议。Ling 已经提供了一些相关的背景知识,以及一个对恶意敌手的安全性分析。在我们的分析中,我们准备把这个系统描述为矿工之间的一个游戏(game,亦可称 “博弈”)。

游戏

游戏玩家就是出块的矿工。这个游戏是按回合(round)来进行的,每一回合都有一个矿工可以出一个区块,其他矿工可以发布(publish)这个区块。同时,游戏中的消息是同步(synchronous)传播的,因此,所有矿工都会收到上一轮发布的区块。

这样当然是简化了现实,例如,这个模型忽略了系统中挖矿总算力的缓慢变化,也忽略了偶尔会发生的出块冲突(即分叉)(这种情况虽然少见,但还是会发生的)。虽然如此,这个模型作为一阶近似,也足够了。

协议的规定是让每一个矿工都在最长链上出块,或者,如果分叉中的两条链长度相同,他们就跟随自己先接收到的那条链。

游戏中的每一个玩家都致力于最大化自己的收益 —— 这个就是 TA 的效用函数(uTIlity funcTIon)了。具体来说,我们还假设这是一个 infinite-horizon 游戏,即,随着游戏时间不断趋近于无限,一个矿工的收益就是其平均出块比例。这就代表,密码学货币形式的奖励是按矿工所出的区块发给出块矿工的。注意,主链之外的区块不会进入矿工的收益。

重要观察

主链上的出块比例就是对矿工收益的实时模拟。

假设系统中的挖矿总算力是静态不变的,系统每 10 分钟出一个区块,攻击在一次难度调整完成后立即发动。假设一种出块策略会导致网络中一定比例的区块被抛弃,比如所有矿工出的块中有 20% 的块会产生在主链之外,而且这个比例是稳定的。那么,虽然这个系统仍然是每 10 分钟出一个块,但只有 80% 会出在主链上,也就是主链的生长速度会变成每 12.5 分钟延长一个块,而不是每 10 分钟延长一次。比特币协议每出 2016 个块会调整一次难度,如此一来,调整难度所需的时间也会比一般情形要长(是 12.5×2016 分钟,而不是 10×2016 分钟)。

一旦难度调整发生,难度又会下降,使得主链的出块间隔重新变回 10 分钟。这就意味着系统的整体出块速度更高了,每 8 分钟就能出一个块。

所以,一个矿工如果有算力占全网比例为 α,且在主链上出块的占比为 α′ 》 α,则其每小时收益会与 α′ 成比例(而不是与 α 成比例)。

自私挖矿算法

自私挖矿(Selfish Mining)是一种投机挖矿算法,用于证明前述协议对小矿工并不公平(not an equilibrium)。我们先来看看自私挖矿的机制,然后讨论看看自私挖矿为什么以及何时会产生这样的效果。

一开始,自私的矿工会在最长链上挖矿,就像协议希望的那样。不过,一旦 TA 挖出了一个区块,TA 会先把这个区块藏起来,而不是立即发布出去,然后尝试在这个秘密块后继续出块,形成一个 “秘密分支”。

与此同时,其它矿工会延长公开的那条链,这条链最终会变得更长(概率为 1),因为他们的挖矿算力占大头。而自私挖矿的矿工会继续延长其秘密分支,直到公开分支落后一个区块。然后自私矿工就会把自己的秘密分支发布出来。

因为秘密分支更长,那么另一方就会认为这条才是主链,从这时开始,所有人都会跟随自私矿工的分支,而其他矿工挖出的区块会被抛弃 —— 被忽略,并使得出块矿工一无所获。

但这种策略也不是万无一失 —— 从开始秘密挖矿时起,自私矿工就一直承担着风险。如果 TA 出了一个秘密区块同时别的矿工也出了一个区块,TA 就不能靠发布这个秘密区块来变成最长链;相反,此时会变成两个同样长的分支在竞争最长链。

自私矿工会尝试延长自己的分支;为简化分析,我们假设其他矿工也会尝试延长自己所在的分支。如果 TA 能抢先出下一个块,则 TA 的分支会变成最长链,然后下一次攻击会在这条最长链的末端重新开始。如果其他矿工生出,那么自私矿工就属于不利地位(TA 的链更短)。在这种情况下,TA 会放弃这次攻击,寻找下一次机会。在这次攻击中,TA 的秘密分支会变成一条较短的分叉,使 TA 一无所获。

自私挖矿分析

乍一看,这种攻击应该不会奏效 —— 自私矿工的算力只占少数,必定是赢少输多。不过,一个细致的分析表明,并不总是如此。这个游戏可以自然而然地描述成一个 Markov Chain(译者注:马尔可夫链,在状态转换的过程中是 “无记忆性” 的,即新一回合中的得益跟以往任何一回合的得益都无关)。通过计算自私矿工的出块和其他矿工的出块情况,我们可以计算出自私矿工的区块(及收益)在主链上的比例,其实就是其算力规模的函数。

我们可以看出,算力占比超过 1/3 的自私矿工可以通过违反协议及执行自私挖矿算法来提高自己的收益。

结论

上述分析表面,当自私矿工的算力超过 1/3 时,自私挖矿的策略比诚实挖矿的策略收益高,但这是在乐观的假设下的结果。想要更深度的分析(包括更弱的模型以及加强协议的路径),请看 Financial Crypto 2013 上的论文以及 ACM 2018 会议上的论文。

后续的 研究,包括最近的一个,都使用马尔可夫方法来确定诚实挖矿策略占优的算力阀值(就跟本文使用的方法一样)。

感谢 Ittai Abraham 富有教益的反馈。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭