當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 工作量證明(PoW)區(qū)塊鏈實(shí)現(xiàn)了一種形式的狀態(tài)機(jī)復(fù)制系統(tǒng)(State Machine Replication,SMR)。不像傳統(tǒng)的 SMR 協(xié)議,PoW 區(qū)塊鏈?zhǔn)情_放的,即,任何人都可以加入這個(gè)

工作量證明(PoW)區(qū)塊鏈實(shí)現(xiàn)了一種形式的狀態(tài)機(jī)復(fù)制系統(tǒng)(State Machine Replication,SMR)。不像傳統(tǒng)的 SMR 協(xié)議,PoW 區(qū)塊鏈?zhǔn)情_放的,即,任何人都可以加入這個(gè)協(xié)議,而且系統(tǒng)也會(huì)用經(jīng)濟(jì)利益來(lái)激勵(lì)參與者(也叫 “礦工”)遵守協(xié)議。

因此,同樣迥異于傳統(tǒng) SMR 協(xié)議的地方是,在推理區(qū)塊鏈的安全性時(shí),僅僅假設(shè)惡意參與者的數(shù)量往往并不能得到答案。關(guān)鍵是要問(wèn)一問(wèn),礦工是否真的有足夠的動(dòng)機(jī)來(lái)遵守所在的協(xié)議。這就是本文要討論的東西。

為使討論更具體一些,我們把討論的語(yǔ)境限定為中本聰?shù)?u>比特幣協(xié)議。Ling 已經(jīng)提供了一些相關(guān)的背景知識(shí),以及一個(gè)對(duì)惡意敵手的安全性分析。在我們的分析中,我們準(zhǔn)備把這個(gè)系統(tǒng)描述為礦工之間的一個(gè)游戲(game,亦可稱 “博弈”)。

游戲

游戲玩家就是出塊的礦工。這個(gè)游戲是按回合(round)來(lái)進(jìn)行的,每一回合都有一個(gè)礦工可以出一個(gè)區(qū)塊,其他礦工可以發(fā)布(publish)這個(gè)區(qū)塊。同時(shí),游戲中的消息是同步(synchronous)傳播的,因此,所有礦工都會(huì)收到上一輪發(fā)布的區(qū)塊。

這樣當(dāng)然是簡(jiǎn)化了現(xiàn)實(shí),例如,這個(gè)模型忽略了系統(tǒng)中挖礦總算力的緩慢變化,也忽略了偶爾會(huì)發(fā)生的出塊沖突(即分叉)(這種情況雖然少見(jiàn),但還是會(huì)發(fā)生的)。雖然如此,這個(gè)模型作為一階近似,也足夠了。

協(xié)議的規(guī)定是讓每一個(gè)礦工都在最長(zhǎng)鏈上出塊,或者,如果分叉中的兩條鏈長(zhǎng)度相同,他們就跟隨自己先接收到的那條鏈。

游戲中的每一個(gè)玩家都致力于最大化自己的收益 —— 這個(gè)就是 TA 的效用函數(shù)(uTIlity funcTIon)了。具體來(lái)說(shuō),我們還假設(shè)這是一個(gè) infinite-horizon 游戲,即,隨著游戲時(shí)間不斷趨近于無(wú)限,一個(gè)礦工的收益就是其平均出塊比例。這就代表,密碼學(xué)貨幣形式的獎(jiǎng)勵(lì)是按礦工所出的區(qū)塊發(fā)給出塊礦工的。注意,主鏈之外的區(qū)塊不會(huì)進(jìn)入礦工的收益。

重要觀察

主鏈上的出塊比例就是對(duì)礦工收益的實(shí)時(shí)模擬。

假設(shè)系統(tǒng)中的挖礦總算力是靜態(tài)不變的,系統(tǒng)每 10 分鐘出一個(gè)區(qū)塊,攻擊在一次難度調(diào)整完成后立即發(fā)動(dòng)。假設(shè)一種出塊策略會(huì)導(dǎo)致網(wǎng)絡(luò)中一定比例的區(qū)塊被拋棄,比如所有礦工出的塊中有 20% 的塊會(huì)產(chǎn)生在主鏈之外,而且這個(gè)比例是穩(wěn)定的。那么,雖然這個(gè)系統(tǒng)仍然是每 10 分鐘出一個(gè)塊,但只有 80% 會(huì)出在主鏈上,也就是主鏈的生長(zhǎng)速度會(huì)變成每 12.5 分鐘延長(zhǎng)一個(gè)塊,而不是每 10 分鐘延長(zhǎng)一次。比特幣協(xié)議每出 2016 個(gè)塊會(huì)調(diào)整一次難度,如此一來(lái),調(diào)整難度所需的時(shí)間也會(huì)比一般情形要長(zhǎng)(是 12.5×2016 分鐘,而不是 10×2016 分鐘)。

一旦難度調(diào)整發(fā)生,難度又會(huì)下降,使得主鏈的出塊間隔重新變回 10 分鐘。這就意味著系統(tǒng)的整體出塊速度更高了,每 8 分鐘就能出一個(gè)塊。

所以,一個(gè)礦工如果有算力占全網(wǎng)比例為 α,且在主鏈上出塊的占比為 α′ 》 α,則其每小時(shí)收益會(huì)與 α′ 成比例(而不是與 α 成比例)。

自私挖礦算法

自私挖礦(Selfish Mining)是一種投機(jī)挖礦算法,用于證明前述協(xié)議對(duì)小礦工并不公平(not an equilibrium)。我們先來(lái)看看自私挖礦的機(jī)制,然后討論看看自私挖礦為什么以及何時(shí)會(huì)產(chǎn)生這樣的效果。

一開始,自私的礦工會(huì)在最長(zhǎng)鏈上挖礦,就像協(xié)議希望的那樣。不過(guò),一旦 TA 挖出了一個(gè)區(qū)塊,TA 會(huì)先把這個(gè)區(qū)塊藏起來(lái),而不是立即發(fā)布出去,然后嘗試在這個(gè)秘密塊后繼續(xù)出塊,形成一個(gè) “秘密分支”。

與此同時(shí),其它礦工會(huì)延長(zhǎng)公開的那條鏈,這條鏈最終會(huì)變得更長(zhǎng)(概率為 1),因?yàn)樗麄兊耐诘V算力占大頭。而自私挖礦的礦工會(huì)繼續(xù)延長(zhǎng)其秘密分支,直到公開分支落后一個(gè)區(qū)塊。然后自私礦工就會(huì)把自己的秘密分支發(fā)布出來(lái)。

因?yàn)槊孛芊种ЦL(zhǎng),那么另一方就會(huì)認(rèn)為這條才是主鏈,從這時(shí)開始,所有人都會(huì)跟隨自私礦工的分支,而其他礦工挖出的區(qū)塊會(huì)被拋棄 —— 被忽略,并使得出塊礦工一無(wú)所獲。

但這種策略也不是萬(wàn)無(wú)一失 —— 從開始秘密挖礦時(shí)起,自私礦工就一直承擔(dān)著風(fēng)險(xiǎn)。如果 TA 出了一個(gè)秘密區(qū)塊同時(shí)別的礦工也出了一個(gè)區(qū)塊,TA 就不能靠發(fā)布這個(gè)秘密區(qū)塊來(lái)變成最長(zhǎng)鏈;相反,此時(shí)會(huì)變成兩個(gè)同樣長(zhǎng)的分支在競(jìng)爭(zhēng)最長(zhǎng)鏈。

自私礦工會(huì)嘗試延長(zhǎng)自己的分支;為簡(jiǎn)化分析,我們假設(shè)其他礦工也會(huì)嘗試延長(zhǎng)自己所在的分支。如果 TA 能搶先出下一個(gè)塊,則 TA 的分支會(huì)變成最長(zhǎng)鏈,然后下一次攻擊會(huì)在這條最長(zhǎng)鏈的末端重新開始。如果其他礦工生出,那么自私礦工就屬于不利地位(TA 的鏈更短)。在這種情況下,TA 會(huì)放棄這次攻擊,尋找下一次機(jī)會(huì)。在這次攻擊中,TA 的秘密分支會(huì)變成一條較短的分叉,使 TA 一無(wú)所獲。

自私挖礦分析

乍一看,這種攻擊應(yīng)該不會(huì)奏效 —— 自私礦工的算力只占少數(shù),必定是贏少輸多。不過(guò),一個(gè)細(xì)致的分析表明,并不總是如此。這個(gè)游戲可以自然而然地描述成一個(gè) Markov Chain(譯者注:馬爾可夫鏈,在狀態(tài)轉(zhuǎn)換的過(guò)程中是 “無(wú)記憶性” 的,即新一回合中的得益跟以往任何一回合的得益都無(wú)關(guān))。通過(guò)計(jì)算自私礦工的出塊和其他礦工的出塊情況,我們可以計(jì)算出自私礦工的區(qū)塊(及收益)在主鏈上的比例,其實(shí)就是其算力規(guī)模的函數(shù)。

我們可以看出,算力占比超過(guò) 1/3 的自私礦工可以通過(guò)違反協(xié)議及執(zhí)行自私挖礦算法來(lái)提高自己的收益。

結(jié)論

上述分析表面,當(dāng)自私礦工的算力超過(guò) 1/3 時(shí),自私挖礦的策略比誠(chéng)實(shí)挖礦的策略收益高,但這是在樂(lè)觀的假設(shè)下的結(jié)果。想要更深度的分析(包括更弱的模型以及加強(qiáng)協(xié)議的路徑),請(qǐng)看 Financial Crypto 2013 上的論文以及 ACM 2018 會(huì)議上的論文。

后續(xù)的 研究,包括最近的一個(gè),都使用馬爾可夫方法來(lái)確定誠(chéng)實(shí)挖礦策略占優(yōu)的算力閥值(就跟本文使用的方法一樣)。

感謝 Ittai Abraham 富有教益的反饋。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉