区块天下 区块链新闻 区块链创新也要看“工作量”

区块链创新也要看“工作量”

链得得的朋友们,大家好!欢迎来到我们的栏目——丰评区块链,我是Dipperin CTO蔡庆丰。

在之前的课中,我们讲到对于区块链分布式系统,需要设计一套共识机制使得所有遵循这一机制的网络节点间对状态的处理达成一致性。并介绍了实用拜占庭容错算法,可以用于具有身份认证的小范围节点之间达成共识。这节课我给大家讲区块链的另一种重要的共识机制——工作量证明。这是被应用于像比特币这样的大型公开点对点网络的共识方案,我们接下来阐述它的工作原理。

在区块链的网络中,首先需要解决由谁来记账的问题。如果使用像实用拜占庭容错这样的共识算法,由所有用户轮流来记账,其他用户通过该共识算法进行一轮轮的投票,则是存在安全问题的。例如, 一个恶意节点可以把自己伪装成多个节点参与到网络中,从而可以获得更多的票数,拥有对网络更多的控制权,这对网络的安全性是一个巨大的威胁。而在这个网络中,由于创建新账户并没有什么成本,所以这一点是很容易做到的。

此外,在绝对去中心化的系统中,是没有上帝视角的。因此,任何节点都不能天然的知道在系统中到底有多少个节点参与,更何况不断有新节点加入和旧节点退出。所以也不存在一个可用的分配轮流记账权的方案。

例如,在一个4节点的区块链系统中,有3个好节点和1个坏节点。由于实用拜占庭容错算法拥有1/3的容错性,剩余3个节点仍然能够达成一致。但是如果这1个节点通过创建多个账户把自己伪装成了4个节点,那么这网络中的7个节点中则有4个坏节点,占了一半以上,从而好节点之间无法达成一致。

以上的问题便是著名的女巫攻击问题,女巫攻击最早是由微软研究院的科学家提出的。女巫攻击之所以存在,是因为网络中很难保证每一个未知的节点是一个确定的“身份”。有多种技术被用来保证网络上计算机的身份,例如,认证软件、利用ip地址识别节点、设置用户名和密码等。但是,在这样一个本身就是为了金融自由而设计的比特币系统中,这些方法并没有用武之地。

其实在这之前,女巫攻击已经出现在非常多的中心化的场景中,不仅对安全、甚至是对于信用体系也造成了非常大的影响。例如,在网络投票中,黑客可利用多个ip地址来作假。很多公司利用女巫攻击来获得google等搜索引擎的排名,骗取大量用户去点击。

对此,比特币网络通过工作量证明机制防范女巫攻击。工作量证明机制也简称POW,其实POW机制并不是在区块链中才被首次使用的,早在1993年,该算法就已经诞生了,这是由两位美国教授最早提出的,只不过在PoW机制诞生之初,它的作用在于处理垃圾邮件,设计反垃圾邮件系统,比较有名的例子就是谷歌邮箱。

早期的PoW机制并没有引起广泛的关注,而是到了区块链系统中,这种机制才重新焕发了生机。在POW机制中,一个节点所能获得的网络控制权与拥有的实际算力成正比。恶意节点通过创建多个账户并不能够获得更多的网络控制权,因为他给一个新账户分配的算力便会削弱他掌握的另一个账户的算力。

我们知道在比特币的网络中需要不断地去生成一个又一个区块,并形成链式结构。工作量证明的机制是要求对于每一个区块的生成,网络中竞争记账权的参与者们,要通过运算求解一道数学难题。我们把通过求解数学难题并参与记账权争夺的过程叫做挖矿,而这群做挖矿工作的节点则称之为矿工。而这里面提到的数学难题,就是不停地去尝试随机数并进行哈希运算,直到该随机数的哈希函数值落在一个事先给定的区间。这样的数学问题具有计算复杂且验证简单的特性,求解问题的过程除了不停地去尝试每一个随机数进行哈希运算之外并没有更快的求解方法,使得矿工们需要耗费实实在在的计算力去求解这些问题。一旦某个矿工找到了哈希函数的答案,就会将其公布到网络中,网络中其他节点验证了该矿工的正确性,便会停止该谜题的计算,承认该矿工的区块,并开启下一个哈希函数的计算,争夺下一个区块的出块权。

比特币的设计机制里面,当一个区块被网络确认的时候,出块的矿工可以获得一定数量比特币的奖励,这也吸引了越来越多的人来挖矿。由于对哈希谜题求解胜出的概率取决于节点控制算力在全网总算力中的占比,随着越来越多节点加入比特币网络,单个节点控制的算力占比会变得越来越少,这样便增加了网络的安全性,突出了网络的去中心化特质。

由于比特币的激励机制,越来越多的矿工们进场掘金,并逐渐形成了一条挖矿产业链。随着参与节点越来越多,挖矿难度越来越大。为了拥有更多的计算力,市场上也不断地开发出了各种专门用于挖矿的设备。挖矿设备也不断更新换代,从最早的CPU挖矿、GPU挖矿,到后续的ASIC以及各式各样矿机的出现。

POW机制通过对真实算力的要求,阻止了恶意用户通过女巫攻击来试图破坏网络公平性的原则,成为比特币设计理念中的一大亮点。然而,随着网络中算力的变化,比特币对于哈希谜题的难度会进行动态的调整,使得出块速度并不会随着网络算力的增加而变快。比特币挖矿耗费了巨大的电力,这一点也成为大家对POW机制十分诟病的原因之一。也因此,市面上越来越多的共识机制出现,以尝试超越POW机制。例如EOS提出了DPOS共识机制。但是这些共识机制都有其他的一些弱点,比如不能完全实现去中心化等。

好的,今天我们主要学习了女巫攻击,并了解了比特币设计中的工作量证明机制,更深刻地体会了比特币设计的巧妙之处。明天我们将一起探讨区块链的另一个重要问题,双花问题。

丰评区块链,期待明天咱们一起学习。

(作者:Dipperin,内容来自链得得内容开放平台“得得号”;本文仅代表作者观点,不代表链得得官方立场)

返回顶部