51%算力對(duì)挖礦的影響
我們知道在比特幣網(wǎng)絡(luò)中采用PoW來(lái)解決如何獲得記賬權(quán)的問(wèn)題,采用“最長(zhǎng)鏈共識(shí)”解決如何記賬的問(wèn)題。
但是在理論上,利用比特幣網(wǎng)絡(luò)中的“最長(zhǎng)鏈共識(shí)”,可以發(fā)動(dòng)51%攻擊。
什么是51%攻擊
51%是指算力占全網(wǎng)算力的51%,比特幣網(wǎng)絡(luò)需要通過(guò)哈希碰撞來(lái)匹配隨機(jī)數(shù)從而獲得記賬權(quán),算力衡量的是一臺(tái)計(jì)算機(jī)每秒鐘能進(jìn)行哈希碰撞的次數(shù)。
算力越高,意味著每秒鐘能進(jìn)行越多次的哈希碰撞,即獲得記賬權(quán)的幾率越高。在理論上,如果掌握了50%以上的算力,就擁有了獲得記賬權(quán)的絕對(duì)優(yōu)勢(shì)(意味著可以更快地生成區(qū)塊),也擁有了篡改區(qū)塊鏈數(shù)據(jù)的權(quán)利。
所謂51%的攻擊,就是利用比特幣網(wǎng)絡(luò)采用PoW競(jìng)爭(zhēng)記賬權(quán)的特點(diǎn),使用算力優(yōu)勢(shì)生成一條更長(zhǎng)的鏈“回滾”已經(jīng)發(fā)生的“交易行為”。
如何進(jìn)行51%攻擊
假設(shè)小明擁有51%的算力,在區(qū)塊高度2019時(shí),小明轉(zhuǎn)給小華1BTC的記錄被礦工及時(shí)打包。
待交易確認(rèn)后,小明依靠51%的算力優(yōu)勢(shì)在區(qū)塊高度2018后重新生成了一條“更長(zhǎng)的鏈”,并在區(qū)塊高度2019處又將該BTC轉(zhuǎn)給小紅且該交易記錄被打包,即該鏈包含了小明將1BTC轉(zhuǎn)給小紅的記錄。
根據(jù)“最長(zhǎng)鏈共識(shí)”,包含給小紅轉(zhuǎn)賬記錄的鏈成為主鏈,則小明轉(zhuǎn)給小華的1BTC則為“無(wú)效支付“。
51%算力的影響
若掌握了51%的算力,除了可以修改自己的交易記錄外,還可以阻止區(qū)塊確認(rèn)部分交易,以及阻止部分礦工獲得有效的記賬權(quán)。在極端理想情況下,擁有51%算力的節(jié)點(diǎn)將獲得所有的挖礦獎(jiǎng)勵(lì)和轉(zhuǎn)賬手續(xù)費(fèi)。
不論是篡改數(shù)據(jù)還是壟斷記賬權(quán),都會(huì)減少社區(qū)成員對(duì)系統(tǒng)的信任,也嚴(yán)重影響社區(qū)的穩(wěn)定。擁有51%的算力也不是萬(wàn)能的,因?yàn)闊o(wú)法修改其他人的交易記錄,也不能阻止交易的發(fā)出,更不能憑空產(chǎn)生BTC。
51%算力的攻與防
從理性角度考慮,發(fā)動(dòng)51%攻擊是為了“雙花”逐利,前期需要巨額的投入來(lái)提升算力和囤積用于“雙花”的BTC,后期需要承擔(dān)BTC價(jià)值下跌的風(fēng)險(xiǎn)。
整個(gè)過(guò)程下來(lái),未免有些得不償失。BTC白皮書(shū)在第6節(jié)(Incentive)和第11節(jié)(CalculaTIons)已經(jīng)指明了本本分分挖礦能獲得更多的利益,因此在這個(gè)前提下,“雙花”逐利的動(dòng)機(jī)就不復(fù)存在了。
即使不進(jìn)行51%攻擊,只是長(zhǎng)期持有51%算力,都足夠引起社區(qū)恐慌,行情震蕩,最后反噬自身。故從理性角度考慮,51%攻擊的可能性較小。
從非理性角度考慮,發(fā)動(dòng)51%攻擊是為了攻擊而攻擊,不考慮任何后果(動(dòng)機(jī)無(wú)法揣測(cè),可能性也無(wú)法衡量),這種做法最終會(huì)失去共識(shí),其他社區(qū)成員可以通過(guò)硬分叉重新建立共識(shí)(比如采用新的證明機(jī)制),最終51%的攻擊也將變成“一個(gè)人的游戲”。