零点课堂 | 浅谈自私挖矿
比特币内的游戏规则就是奖励均衡。在一个去中心化的生态系统中,保持参与者的收益相对公平对于网络的生存至关重要。换言之,金融激励驱使节点维护网络安全。而这也就意味着,如果节点诚实行事则他们会获得奖励,反之则无权获得奖励。
此种机制维系着矿业的发展。各方将大量的资金投入到硬件设备和电力消耗中,并希望通过为区块链添加新区块来回收资金并转为盈利。矿工如果想要获得最大回报,最简单的方式就是按规行事。此种金融激励机制带来的就是高度竞争性,而这也正好提高了网络的安全性和去中心化。然而有些推测则表示该规则可能会被操纵。在本文中,我们就将讨论一种可能的情况——自私挖矿。
自私挖矿的原理
早在2013年,研究人员Ittay Eyal和Emin Gun Sirer就通过论文《Majority is not Enough: Bitcoin Mining is Vulnerable》发表了对自私挖矿的探索和研究。该论文的论点与人们普遍的观念不同,认为比特币的矿工激励机制存在缺陷,且最后会导致网络的中心化。
接下来就举例来解释自私挖矿。假设哈希率在Alice、Bob、Carol以及Dan中平均分配,各占25%。其中Alice、Bob和Carol都按规行事,然而Dan却试图将整个系统为自己所用。
正常情况下,矿工在挖出新区块之后会立即添加到链上,而这也是诚实参与者Alice、Bob和Carol们所执行的操作。而Dan则在挖出新区块之后进行了保留(有效区块,但并未添加到链上)。而更幸运的是,Dan还在其他人之前连续挖出了两个区块。
就比如说目前已经有100,000个区块被挖出,且Alice、Bob和Carol正在尝试挖第100,001区块。而此时Dan找到了新区块但并未向网络中发布。现在就生成了两条链,公众链和Dan的私链(较长的)。并且当其他人正在挖掘第100,001区块时,他却已挖出第100,002区块。
这时Dan的链就其他链领先两个区块。如果运气一直持续下去,则他的链总能比其他链多出两个区块。而当其他人追赶上来,并仅相隔1个区块时,他便公布了自己的那条链。
Dan现在公开的链相比于其他人使用的链要更长。并且根据最长链原则,所使用的正确链是积累最多PoW(工作量证明)的那条。所以,如果节点检测到积累了更多工作的链,那么就将切换到该链,并将算力贡献到其中。
再回到刚才的例子。现在Alice、Bob以及Carol就知道了Dan的那条链才是要遵循的。之前他们在其他链上所赚取的奖励都将不复存在。而此时Dan在该链上所挖出的那些区块就将获得奖励。
自私挖矿对比特币的威胁
确实,如果按照被期望的方式工作,那么参与者所获得的奖励会较低。同时自私挖矿也造成了资源的大量浪费。但请注意,那些想要进行此种实践的人相对于其他网络参与者来说具有战略性优势。所以很可能会吸引其他矿工的加入,而这也会使情况更加糟糕。
在之前的论文中,Eyal和Sirer就强调随着时间推移自私挖矿会促使矿池哈希率升高,进而转变为一种主要风险。网络各方会与自私实体合作来最大化利益。倘若单一矿池获得了大部分的算力,则它很可能会尝试进行51%攻击。
然而从矿工的意识形态以及作为去中心化运行的激励出发此行为并不是一种威胁。因为生态系统的破坏只会导致矿工们无法收回之前的电力以及设备投资,更别说转为利润了。
总结
如果矿工联盟能成功实行自私挖矿,那肯定会给参与者带来可观的收益。而更糟糕的情况是,此种诱因促使更多诚实矿工走入自私一列,从而对比特币的去中心化造成极大危害。
然而从更宏观的角度出发,以此种方式进行的联盟几乎毫无意义。毕竟,当网络遭到严重破坏时比特币的价格会大幅下跌,从而直接影响矿业的盈利能力。