工(gōng)作(zuò)量证明(Proof of Work,简称PoW)由(yóu)
比特币(bì)引入,可以(yǐ)保证恶意节点不超过51%即可达成共识,是(shì)目前
区块链(liàn)最经典、也是最久经考验的共(gòng)识机制(zhì)。其基(jī)本(běn)流程(chéng)如下:
1)当节点进行数(shù)据传(chuán)输时,传输(shū)的信息不会(huì)被各节(jiē)点立即(jí)储存,而是(shì)被标记为“未确(què)认的”存入内存池。
2)区块链系(xì)统中每(měi)隔一段时间(jiān)产生(shēng)一个新的区块,不同的区块链协议产生的时间不同(例(lì)如比(bǐ)特币区块链中是(shì)10分(fèn)钟产生一个区块(kuài))。各节点(diǎn)在内存(cún)池将收集(jí)所有未(wèi)确(què)认的信息,打包在新的区块(kuài)中,构(gòu)造出候选区块。由于我们上述提到的(de)问题,对于给(gěi)定的信息集(jí)合,各节点区块中打包的信息(xī)可(kě)能不一致。
3)区块打包信息后会设置一个“密码谜题”,即在信息后添加一个随机数,然后对整(zhěng)个(gè)信息列表(包括(kuò)随机数)使用哈希函数转(zhuǎn)换成一个(gè)哈希(xī)值。
4)各节点需要利用所得到的哈希值计算出该随机数。根据上文所提到(dào)的哈希函数(shù)的性质,逆(nì)向计算不可行(háng),只能使用(yòng)穷举(jǔ)法,因此,要计算出这个特殊数(shù)字需要进行海量的(de)计算(suàn),这个过程就叫做工作量(liàng)证明,可以(yǐ)简单理解为解“数学谜题”的过(guò)程。
5)当网(wǎng)络中某个节点率先找(zhǎo)出随机数时,该(gāi)节(jiē)点会向全网广播(bō),其他节(jiē)点进行(háng)有效性进行验证,当51%的节点验证通过后,则区块会(huì)被自动链接到区块链的后面,无法通过验(yàn)证(zhèng)的将重新进行(háng)计(jì)算。率先完成工作量证(zhèng)明的可以获得一定的奖励(lì),既能激(jī)励全网各节点进行主动存储信息,又能避免(miǎn)节点存(cún)储错误(wù)信(xìn)息——因为验证失败后(hòu)的收益(yì)远远小于其成本。
例如在比特币区块链中,区块中包含一定量的(de)币(bì)基,既率(lǜ)先找出(chū)随机数的节点(diǎn)通(tōng)过(guò)验(yàn)证后,即可获得(dé)区块中的(de)新币奖励。由于这个过程与挖金矿有相似之处,因此使用PoW机制的
数字货币的产生过(guò)程被称形象地称为“挖(wā)矿”。
PoW的意(yì)义在于(yú)增加了各节点广(guǎng)播信(xìn)息的成本,且该成本远大(dà)于发布虚假信(xìn)息的(de)收益,各(gè)节点就不会有(yǒu)做“叛徒”的动机。因为(wéi)如果节(jiē)点对信息有任何的修改,就会完全改变哈(hā)希值,哈希函数虽不易逆解但容易(yì)验(yàn)证,当无法通(tōng)过51%节点的验证(zhèng)时(shí),该节(jiē)点必须重(chóng)做工作量证(zhèng)明,既会花费大(dà)量成(chéng)本,又会降低率先完成的概率从而降(jiàng)低获得奖励的概率。其次,由于率先算出谜题的(de)节点是随机(jī)的,所以我们无法得知下一(yī)个(gè)争得记录权的节点(diǎn),各节(jiē)点也(yě)无法掌控自己将获得哪个区(qū)块的(de)记录权。
以上过程通过PoW机制解决(jué)了单(dān)个区块(kuài)内信(xìn)息(xī)储存(cún)的(de)共识问题,但(dàn)不能保证系统(tǒng)(整(zhěng)个区块(kuài)链)的最终一致性。因为两个不(bú)同节(jiē)点同时挖出区(qū)块(解出谜(mí)底)的情况也可(kě)能出现(由于网络通信问(wèn)题(tí),每个(gè)节点的(de)区块(kuài)信息可(kě)能不一(yī)致),这时区块链(liàn)会出现(xiàn)分叉,网络各(gè)节点需要对(duì)哪条区块链上的交易能够得(dé)到确认形成共识。
整条区块链(liàn)的共识遵循最长链(liàn)原则,只有最长链上的交(jiāo)易能够得到确认,也(yě)就是包含(hán)的工作量最(zuì)大的那条区块链。“分叉(chā)链”不(bú)可持(chí)续,在下(xià)一次区(qū)块竞争时(shí),每个节点会选择在某条分(fèn)叉链上进行下一次记账权的竞争,由于存在巨大的工作量(liàng)证(zhèng)明,同(tóng)一时间内两个节点(diǎn)同时挖(wā)出区块的概率将(jiāng)呈指数级下降,因此,很快就会有“最长链”出(chū)现,最长链上(shàng)的交易将获得确(què)认(rèn),同时,较短链(liàn)上的交易(yì)信息也会随之释放,重新标记(jì)为(wéi)“未确认”,打包在下一(yī)个区块(kuài)中。
但PoW机制并(bìng)非完美,它有以下三(sān)个缺点:
1)51%攻击:当攻击(jī)者掌(zhǎng)握了全网51%的算(suàn)力时,其攻击(jī)总能(néng)成功,因为他(tā)总可以让自己的链(liàn)成为最长(zhǎng)的(de)链。因此,全网节点越多,抗攻击(jī)能力越强,安全性(xìng)越好。
2)高延迟(chí):区块出现时间的间隔不能太短,出块时间过(guò)短意味着挖矿难度(dù)降低(dī),会增加多个节点同时(shí)算出答案(àn)的概率,导致频繁分叉。但(dàn)出块慢意味着确认(rèn)时间长、高延迟。
3)资源浪(làng)费:计算机计(jì)算密码谜题需要大量的算力,需(xū)要高性能(néng)的计算机设备、消(xiāo)耗大量电力等资源。根(gēn)据dig
iconomist的评估(gū),比特币2018年度排放的二氧化碳达34.73百万(wàn)吨(dūn),相当于丹麦的(de)
碳(tàn)排放(fàng)量;耗电量达73.12兆千瓦时,相当于奥地利的耗电量;产生电子(zǐ)废物(wù)9.8克拉,相(xiàng)当于卢森(sēn)堡产生的电子废物(wù)。
版权申明:本内容(róng)来自于互联网,属(shǔ)第(dì)三(sān)方(fāng)汇集(jí)推荐平台(tái)。本文的版权归原作(zuò)者所有,文章言论(lùn)不代表链门户的观点,链门(mén)户不承担(dān)任何法(fǎ)律责任。如有侵权请联系QQ:3341927519进(jìn)行(háng)反馈。