前言:這兩天關(guān)于黑客盜幣后,是否應(yīng)該通過(guò)重組區(qū)塊來(lái)取回資金的討論非常熱烈。一方認(rèn)為技術(shù)上可以通過(guò)區(qū)塊重組取回資金,而另外一方則認(rèn)為這會(huì)導(dǎo)致社區(qū)分裂和并損害人們對(duì)比特幣不可逆轉(zhuǎn)交易的信心。而這里最關(guān)鍵的問(wèn)題不是要不要重組,而是能不能重組,或者重組在實(shí)踐上是否可行,這也是大家需要關(guān)心的地方,因?yàn)樗玛P(guān)比特幣和PoW鏈的未來(lái)。從實(shí)踐上,除非行動(dòng)非常迅速,在事件發(fā)生后的少數(shù)幾個(gè)區(qū)塊時(shí)采取行動(dòng),否則從博弈論角度,重組不是一個(gè)理性行為選擇。
通過(guò)給礦工激勵(lì)重組區(qū)塊
鑒于幣安黑客盜幣事件,關(guān)于重組區(qū)塊來(lái)恢復(fù)比特幣交易被提起。從技術(shù)和PoW經(jīng)濟(jì)學(xué)角度,他們可以做到。以下是關(guān)于通過(guò)給予礦工好處,然后他們可以聯(lián)合起來(lái)重組。
比特幣交易只有記錄在最多工作量的鏈上才有經(jīng)濟(jì)上的意義。截止到撰寫(xiě)本文時(shí),包含幣安黑客盜幣交易的區(qū)塊上已經(jīng)新構(gòu)建了111個(gè)區(qū)塊,基本上,這7000btc交易很難追回了。
區(qū)塊575011包含了黑客的交易,隨后的區(qū)塊照常在它上面增加。如果礦工在包含黑客交易的區(qū)塊之前構(gòu)建另一條替代的鏈,則有機(jī)會(huì)重新取回被黑客盜走的比特幣。這條替代延續(xù)鏈不會(huì)包含黑客的交易,并且必須比當(dāng)前鏈增長(zhǎng)更快,并在某個(gè)時(shí)間點(diǎn)它展示出更多的工作量,并且所有的比特幣客戶(hù)端都重組它。在重組后,該黑客交易將不會(huì)存在于網(wǎng)絡(luò)中。也就是說(shuō),區(qū)塊575012和其之后的區(qū)塊將不會(huì)在網(wǎng)絡(luò)中存在。
對(duì)于網(wǎng)絡(luò)來(lái)說(shuō),用更多工作量(算力)重組到替代鏈本身并不特別,它是解決獨(dú)立礦工之間競(jìng)爭(zhēng)的常規(guī)方法。替換最新區(qū)塊的重組非常頻繁。
對(duì)于不在最長(zhǎng)鏈上挖礦的礦工來(lái)說(shuō),重組成本很高,因?yàn)檫@些礦工要失去這些區(qū)塊中開(kāi)采的比特幣。這就是為什么礦工熱衷于在最長(zhǎng)鏈上挖礦而避免在替代鏈上挖礦的主要原因。
也就是說(shuō),有一種可能是可以在替代鏈上把資金給礦工,如果在有準(zhǔn)備且快速的情況下,可以實(shí)現(xiàn)把被盜取的資金取回。
如何激勵(lì)礦工?
如果一旦發(fā)現(xiàn)被黑客攻擊,可以快速:
1.在網(wǎng)站上公布從他們最后控制地址到被盜地址的交易
2.在網(wǎng)站上發(fā)布被盜地址的私鑰
由于資金在黑客的地址中,所以交易在當(dāng)前的現(xiàn)實(shí)中毫無(wú)價(jià)值。但在可替代的鏈中,則非常有價(jià)值,如果該替代鏈從替代區(qū)塊575012開(kāi)始。
為什么有價(jià)值,因?yàn)榈V工構(gòu)建了另外一條替代575012區(qū)塊的鏈,同時(shí)因?yàn)橛辛吮槐I幣地址的私鑰,那么它可以把該地址上的比特幣轉(zhuǎn)入自己的地址。這樣,公開(kāi)了私鑰,相當(dāng)于給到了礦工好處。
對(duì)于礦工來(lái)說(shuō),如果被盜幣地址的比特幣總量高于其從區(qū)塊575011開(kāi)始挖礦所得的比特幣總量,那么,礦工構(gòu)建一個(gè)可替代的區(qū)塊鏈是理性的行為。也就是說(shuō),這條可替代的區(qū)塊鏈會(huì)比當(dāng)前的鏈吸引更多的工作量。
請(qǐng)注意,礦工可以通過(guò)不拿走所有好處而是給其他礦工留出足夠資金的方式來(lái)顯著提高可替代的區(qū)塊鏈取代現(xiàn)有鏈的概率。
好處足夠高,且不是太貪婪的瓜分,可以快速建立一個(gè)構(gòu)建可替代鏈的聯(lián)盟,因?yàn)槿魏蔚V工都可以被邀請(qǐng)并有動(dòng)力加入。
最終參與構(gòu)建可替代鏈的礦工們超越了當(dāng)前鏈,構(gòu)建出最長(zhǎng)鏈。在重組之后,新的最長(zhǎng)鏈現(xiàn)實(shí)中,被盜的資金可以獎(jiǎng)勵(lì)給礦工,同時(shí),自己還保有一部分資金,而礦工則比正常挖礦的所獲的比特幣更多。
這種救援行動(dòng)在技術(shù)層面是可行的。如果失去資金的人準(zhǔn)備提供好處,并且同時(shí)礦工準(zhǔn)備采取行動(dòng)做出理性選擇的話,這種行動(dòng)是奏效的。當(dāng)然,隨著時(shí)間的推移,成功的概率呈指數(shù)級(jí)的減少。(藍(lán)狐筆記注:就是說(shuō),時(shí)間越長(zhǎng),隨著區(qū)塊高度增加,后續(xù)重組的費(fèi)用越高,重組可能性越小。)如果能事先承諾使用這一個(gè)程序,就能讓礦工可以迅速采取行動(dòng)。
結(jié)果是什么?
如果礦工進(jìn)行重組,后果可能會(huì)非常嚴(yán)重,因?yàn)橹亟M可能會(huì)擾亂正常的交易處理,并削弱人們對(duì)區(qū)塊鏈不變性的信任。
這種損害是跟重組的長(zhǎng)度成正比的。如果救援行動(dòng)在幾個(gè)小時(shí)候內(nèi)實(shí)施,那么損失是微不足道的,因?yàn)閹讉€(gè)區(qū)塊的重組在技術(shù)意義上不算一個(gè)事件,且不會(huì)明顯延遲正常的交易處理。
附錄:從博弈論角度,重組區(qū)塊不是理性的選擇。
關(guān)于盜幣事件,首先有社區(qū)成員提議可以通過(guò)公開(kāi)私鑰的方式來(lái)激勵(lì)礦工重組區(qū)塊鏈實(shí)現(xiàn)取回資金。有人認(rèn)為通過(guò)激勵(lì)礦工重組是很難協(xié)調(diào)的事情,但并非不可能。也有人認(rèn)為重組不太現(xiàn)實(shí),不僅對(duì)于社區(qū)對(duì)比特幣的信心有很大的傷害,且在現(xiàn)實(shí)上的操作也不是理性的選擇。
Jimmy Song認(rèn)為重組區(qū)塊損害的是整個(gè)網(wǎng)絡(luò),因而大家有很大的動(dòng)力不去改變交易歷史。
他提到用最簡(jiǎn)單場(chǎng)景來(lái)分析,假如丟幣者愿意用丟失的BTC激勵(lì)礦工重組區(qū)塊鏈,如果有10%的算力用于重組,要重組攻擊開(kāi)始后的100個(gè)區(qū)塊,那么,這意味著礦工需要放棄大約10個(gè)區(qū)塊的獎(jiǎng)勵(lì),也就是125BTC的區(qū)塊獎(jiǎng)勵(lì)。也就是說(shuō),一旦礦工要重組,本身首先要放棄之前獲得的獎(jiǎng)勵(lì)和交易費(fèi)用,假如每個(gè)區(qū)塊0.5BTC的交易費(fèi)用,那么,也就是說(shuō),至少要放棄130個(gè)BTC。
此外,如果事情出現(xiàn)了偏差,還會(huì)有風(fēng)險(xiǎn)溢價(jià)。如果其他人不支持新的替代鏈,那么可能是在浪費(fèi)本來(lái)可以在原鏈上挖礦的算力。也就是說(shuō),對(duì)于礦工來(lái)說(shuō),如果沒(méi)有成功重組,丟幣者要給予獎(jiǎng)勵(lì)的不僅是130BTC,還有潛在的挖礦所得激勵(lì)。
如果要?jiǎng)佑玫V工來(lái)成功重組,丟幣者需要支付1300BTC來(lái)恢復(fù),丟幣總額為7000BTC,那么還有5700BTC的純利。表面上看,似乎是合理的選擇。
但這個(gè)場(chǎng)景的最大問(wèn)題是,如果一個(gè)主體可以這么做,那么其他有資金的主體也可以這么做,這包括盜幣者。這會(huì)導(dǎo)致有很多雙重支付的嘗試,在盜幣后的100個(gè)區(qū)塊內(nèi)進(jìn)行過(guò)交易的人都很頭痛到底發(fā)生什么事情。這對(duì)于比特幣網(wǎng)絡(luò)上進(jìn)行交易的每個(gè)人來(lái)說(shuō),都是嚴(yán)重的干擾。因此,這種場(chǎng)景讓所有人都感動(dòng)痛苦,其操作會(huì)存在阻力。
更有爭(zhēng)議的選擇是,這涉及到有爭(zhēng)議的分叉和競(jìng)爭(zhēng)最長(zhǎng)鏈。對(duì)100個(gè)區(qū)塊重組而言,超過(guò)55%的哈希算力意味需要花費(fèi)平均1000個(gè)區(qū)塊(2周時(shí)間)。偏差也很高,500和1500個(gè)區(qū)塊也有可能。就是99%的算力優(yōu)勢(shì),也需要花費(fèi)101個(gè)區(qū)塊(20小時(shí))來(lái)超越原來(lái)的鏈。
如果雙方競(jìng)爭(zhēng),雙方都試圖吸引更多礦工。這個(gè)時(shí)候,原鏈有先發(fā)優(yōu)勢(shì),因?yàn)橐呀?jīng)有了100個(gè)區(qū)塊的領(lǐng)先。在原鏈上的交易所、商家或用戶(hù)如果不希望進(jìn)行100個(gè)區(qū)塊的重組,他們可以采用補(bǔ)償原鏈礦工的方式進(jìn)行爭(zhēng)奪。方法很簡(jiǎn)單:就是提高在原鏈上發(fā)送交易的費(fèi)用。如果交易費(fèi)用足夠高,很多礦工可能就會(huì)轉(zhuǎn)移到原鏈上挖礦。尤其是盜幣者可以通過(guò)在原鏈上發(fā)起高額費(fèi)用的交易吸引礦工繼續(xù)在原鏈上挖礦。
如果一旦出現(xiàn)這種情況,會(huì)導(dǎo)致盜幣者和被盜幣方之間的礦工補(bǔ)貼大戰(zhàn),雙方必須花費(fèi)資金爭(zhēng)奪最長(zhǎng)鏈。這時(shí)候盜幣者有天然優(yōu)勢(shì),因?yàn)閾碛兄氨I取的資金,他們有動(dòng)力動(dòng)用這筆資金進(jìn)行補(bǔ)貼大戰(zhàn)。這意味著,最終的結(jié)果是,被盜資金拿不回來(lái),同時(shí)還至少需要消耗同等資金加上補(bǔ)貼礦工的區(qū)塊獎(jiǎng)勵(lì)資金以及交易費(fèi)用。按照簡(jiǎn)單的公式來(lái)說(shuō),如果發(fā)生大規(guī)模盜幣事件后,考慮到博弈論,要重組區(qū)塊的成本很高:假設(shè)說(shuō)被盜走了X個(gè)BTC,需要重組Y個(gè)區(qū)塊才能拿回資金,那么這意味著重組區(qū)塊鏈的成本至少不低于X個(gè)BTC+Y個(gè)區(qū)塊的挖礦獎(jiǎng)勵(lì)。
從這個(gè)角度,通過(guò)激勵(lì)礦工重組區(qū)塊鏈追回被盜代幣的方式從經(jīng)濟(jì)上來(lái)說(shuō),也不是最理性的選擇。最終受益者只有礦工。這也是比特幣設(shè)計(jì)的初衷,要改變它交易的成本非常高的。
評(píng)論
查看更多