Ouroboros:一个可证明安全的PoS区块链协议 (共识介绍)
原文作者:Aggelos Kiayias? Alexander Russell? Bernardo David? Roman Oliynykov§
摘要
我們向大家展示Ouroboros——第一個(gè)基于權(quán)益證明(PoS)并擁有強(qiáng)大安全保證的區(qū)塊鏈協(xié)議。我們?yōu)樵搮f(xié)議建立了可以與比特幣協(xié)議相媲美的安全屬性。因?yàn)樵搮f(xié)議提供了一個(gè)"權(quán)益證明"的區(qū)塊鏈規(guī)則,所以相比較基于物理資源證明的區(qū)塊鏈(例如工作量證明)它擁有定性效率優(yōu)勢(shì) 。我們也為激勵(lì)PoS協(xié)議提出了一個(gè)新穎的獎(jiǎng)勵(lì)機(jī)制,并且我們證明出,鑒于這個(gè)機(jī)制,誠(chéng)實(shí)的行為是一個(gè)近似的納什均衡(Nash equilibrium),因此可以讓自私挖礦(selfish mining)這種類(lèi)型的攻擊無(wú)效。我們還提供了交易確認(rèn)和處理的實(shí)驗(yàn)結(jié)果,以此作為Ouroboros協(xié)議在真實(shí)的世界環(huán)境中可以實(shí)踐的初步證據(jù)。
1 介紹
對(duì)基于工作量證明(PoW)的區(qū)塊鏈協(xié)議(例如比特幣[30])運(yùn)行的最初考慮就是執(zhí)行時(shí)所需的能量。在撰寫(xiě)本文的時(shí)候,比特幣上生產(chǎn)一個(gè)區(qū)塊所需的哈希操作超過(guò)了260, 這些哈希操作需要大量的能量。確實(shí),早期的計(jì)算表明了PoW協(xié)議所需的能量與一個(gè)小國(guó)相當(dāng)[32]。
這種狀況推動(dòng)了對(duì)其他區(qū)塊鏈協(xié)議的研究,通過(guò)使用更節(jié)能但能提供相同安全保證的其他協(xié)議取代工作量證明協(xié)議的方法來(lái)避免浪費(fèi)工作量證明協(xié)議所需的能量。需要指出的重要一點(diǎn)是,比特幣的工作量證明機(jī)制促進(jìn)了一種隨機(jī)化的“領(lǐng)導(dǎo)者選舉”過(guò)程,該過(guò)程就是選舉其中一個(gè)礦工來(lái)生產(chǎn)下一個(gè)區(qū)塊。此外,如果所有礦工都遵守協(xié)議,那么選舉就是以一種按照每個(gè)礦工計(jì)算力為比例的方式隨機(jī)進(jìn)行的。(偏離協(xié)議的行為例如“自私挖礦”可能會(huì)破壞這個(gè)比例。)
一種依賴(lài)于“權(quán)益證明(PoS)”概念的自然替代機(jī)制:與礦工為了參與到領(lǐng)導(dǎo)者選舉過(guò)程中而投資計(jì)算力資源相反,他們運(yùn)行一個(gè)程序,該程序以當(dāng)前區(qū)塊鏈賬本中記錄的每個(gè)礦工所擁有的權(quán)益(stake)為比例來(lái)隨機(jī)選舉其中一個(gè)礦工作為領(lǐng)導(dǎo)者。
實(shí)際上,這產(chǎn)生了一個(gè)自我參考(self-referential)的區(qū)塊鏈規(guī)則:維護(hù)區(qū)塊鏈依賴(lài)于股東(stakeholder)們自己,對(duì)于他們的工作安排(和獎(jiǎng)勵(lì))按照賬本中記錄的他們所擁有的權(quán)益數(shù)量進(jìn)行的。除此之外,這個(gè)規(guī)則對(duì)股東們應(yīng)該沒(méi)有進(jìn)一步“人造的”計(jì)算力需求。從某種意義上來(lái)說(shuō),這聽(tīng)起來(lái)很理想;然而,實(shí)現(xiàn)一個(gè)這樣的權(quán)益證明協(xié)議涉及到了許多定義上的、技術(shù)上的、以及分析上的挑戰(zhàn)。
預(yù)備工作
PoS的概念在比特幣論壇上1 引起了廣泛的討論。Bentov等人更正式的研究了基于權(quán)益證明的區(qū)塊鏈設(shè)計(jì),不論是與PoW[5] 相結(jié)合的還是作為區(qū)塊鏈協(xié)議[4] 唯一的機(jī)制都進(jìn)行了相應(yīng)的研究。雖然Bentov等人表明他們的協(xié)議對(duì)于某些類(lèi)別的攻擊是安全的,但是他們不為分析基于PoS協(xié)議或依賴(lài)于精確定義的安全證明提供正式的模型。一些加密貨幣2 已經(jīng)提出(并實(shí)現(xiàn))了試探性的基于權(quán)益證明的區(qū)塊鏈協(xié)議。因?yàn)槭腔谠囂叫缘陌踩摀?jù),所以從安全角度來(lái)看這些加密貨幣經(jīng)常被發(fā)現(xiàn)很多不足。[4] 中討論了多種攻擊。
將基于PoS的區(qū)塊鏈協(xié)議和依賴(lài)于固定的(fixed)一系列權(quán)限(請(qǐng)看[17] )的經(jīng)典區(qū)塊鏈共識(shí)相比較也挺有趣?;赑oS區(qū)塊鏈和那些假設(shè)靜態(tài)權(quán)限的區(qū)塊鏈的區(qū)別是權(quán)益會(huì)隨著時(shí)間而改變,因此信任假設(shè)會(huì)隨著系統(tǒng)進(jìn)化。
另一個(gè)可替代PoW的是一個(gè)空間證明(proof of space) [2, 20] 的概念,該概念在區(qū)塊鏈協(xié)議環(huán)境中[33] 已經(jīng)被具體的研究過(guò)了。在空間證明的環(huán)境中,一個(gè)“證明者(prover)”希望展示空間(存儲(chǔ)/內(nèi)存)的使用,就像在PoW中使用物理資源一樣,但是隨著時(shí)間的推移能量的要求會(huì)逐漸減少。一個(gè)相關(guān)的概念是空間時(shí)間證明(PoST) [28]。不過(guò),這些對(duì)昂貴的物理資源(存儲(chǔ)或計(jì)算力)都有很大的需求。
PoS設(shè)計(jì)的挑戰(zhàn)
基于PoS的區(qū)塊鏈協(xié)議最基本的一個(gè)問(wèn)題就是模擬領(lǐng)導(dǎo)者選舉過(guò)程。為了在股東們之間的選舉達(dá)到一個(gè)真正的隨機(jī)性,系統(tǒng)中就必須要引入熵(entropy),但引入熵的機(jī)制可能會(huì)容易被敵手操作。例如,一個(gè)控制一群股東的敵手可能會(huì)試圖模擬協(xié)議的執(zhí)行,嘗試不同的股東參與者的順序以此來(lái)找到對(duì)敵對(duì)股東有力的繼續(xù)者。這會(huì)導(dǎo)致一個(gè)叫做"grinding"的致命弱點(diǎn),敵對(duì)參與者可能會(huì)使用計(jì)算資源來(lái)傾斜領(lǐng)導(dǎo)者選舉。
我們的結(jié)果
我們提出的"Ouroboros"是一個(gè)可證明安全的權(quán)益證明系統(tǒng)。就我們所知,它是第一個(gè)進(jìn)行嚴(yán)格的安全分析的PoS類(lèi)型的區(qū)塊鏈協(xié)議。更多關(guān)于我們研究結(jié)果的細(xì)節(jié)后續(xù)會(huì)講到。
首先,我們提供一個(gè)模型來(lái)形式化實(shí)現(xiàn)基于PoS的區(qū)塊鏈協(xié)議的問(wèn)題。我們介紹的模型本著 [24] 的精神,注重 持久性(persistence) 和 存活性(liveness),這是一個(gè)穩(wěn)健的文件交易賬本的兩個(gè)重要屬性。持久性表明一旦系統(tǒng)的一個(gè)節(jié)點(diǎn)聲稱(chēng)某個(gè)交易是“穩(wěn)定的”,剩下的節(jié)點(diǎn)如果被查詢(xún)并誠(chéng)實(shí)的進(jìn)行回應(yīng),也必須報(bào)告該交易是穩(wěn)定的。在這里,穩(wěn)定性被理解為一種斷言,它將會(huì)被一些安全參數(shù)k參數(shù)化,k將會(huì)影響該屬性擁有的確定性(例如,深度超過(guò)k個(gè)塊)。存活性確保誠(chéng)實(shí)地產(chǎn)生的交易一旦提供給網(wǎng)絡(luò)節(jié)點(diǎn)足夠長(zhǎng)的時(shí)間之后,比如說(shuō)經(jīng)過(guò)了u時(shí)間,就說(shuō)這個(gè)交易是穩(wěn)定的。存活性和持久性相結(jié)合提供了一個(gè)強(qiáng)大穩(wěn)健的交易賬本,即被誠(chéng)實(shí)地產(chǎn)生的交易會(huì)被采納并且會(huì)變得不可改變。我們的模型經(jīng)過(guò)適當(dāng)?shù)男薷囊源龠M(jìn)基于PoS的變化。【譯者理解:持久性是指區(qū)塊的確認(rèn)時(shí)間,持久性是指多少個(gè)塊之后交易不可更改。存活性是指交易的確認(rèn)時(shí)間,從向網(wǎng)絡(luò)發(fā)送交易開(kāi)始, 多長(zhǎng)時(shí)間被確定, 超過(guò)了這么長(zhǎng)時(shí)間,要么被確定了, 要么被拋棄了。】
第二,我們描述了一個(gè)基于PoS的新穎的區(qū)塊鏈協(xié)議。我們的協(xié)議假設(shè)參與者可以自由的創(chuàng)建賬戶(hù)并進(jìn)行接收和支付,隨著時(shí)間的推移權(quán)益也會(huì)改變。我們使用一個(gè)(非常簡(jiǎn)單的)安全的多方實(shí)現(xiàn)擲硬幣(coin-flipping)協(xié)議產(chǎn)生領(lǐng)導(dǎo)者選舉過(guò)程中的隨機(jī)性。這也是我們的方法(預(yù)防所謂的“grinding”攻擊)與其他先前解決方案的區(qū)別,那些解決方案要么基于區(qū)塊鏈當(dāng)前的狀態(tài)確定性的定義一個(gè)這樣的值,要么使用集體擲硬幣的方式來(lái)引入熵 [4] 。同樣,我們方法的獨(dú)特性還包括以上系統(tǒng)會(huì)忽略掉的一輪輪的權(quán)益改變。相反,當(dāng)前股東們的快照是在一個(gè)叫做階段(epoch)的相同的間隔內(nèi)被拍下的,在每個(gè)這樣的間隔內(nèi)一個(gè)安全的多方計(jì)算就使用區(qū)塊鏈本身作為廣播通道。具體的說(shuō),就是在每個(gè)階段被隨機(jī)選舉到的一群股東們形成一個(gè)委員會(huì),然后該委員會(huì)就要負(fù)責(zé)執(zhí)行擲硬幣協(xié)議。協(xié)議的結(jié)果決定下一個(gè)階段負(fù)責(zé)執(zhí)行擲硬幣的下一群股東以及當(dāng)前階段所有領(lǐng)導(dǎo)者選舉的結(jié)果?!咀g者注釋:也就是多方計(jì)算產(chǎn)生真隨機(jī),不像以前的pos協(xié)議,沒(méi)有嚴(yán)格的隨機(jī)性?!?/p>
第三,我們提供了一套正式的論證,確定沒(méi)有敵手可以打破持久性和存活性。我們的協(xié)議在下面這些合理的假設(shè)下是安全的:(1)網(wǎng)絡(luò)是同步的,也就是在任意誠(chéng)實(shí)的股東都可以與其他股東進(jìn)行通信的期間可以確定上限,(2)在誠(chéng)實(shí)的多數(shù)者中的一群股東可以根據(jù)需要而參與到每個(gè)階段中,(3)股東們不會(huì)長(zhǎng)期保持離線狀態(tài),(4)腐敗適應(yīng)性受制于一個(gè)小的時(shí)延,該時(shí)延在每個(gè)回合都會(huì)進(jìn)行測(cè)度,并與安全參數(shù)成線性關(guān)系(或者,玩家擁有訪問(wèn)匿名發(fā)送者廣播通道的權(quán)利)。我們安全論證的核心就是關(guān)于“可分叉字符串”組合概念的概率性論證,該論證由我們構(gòu)想、證明并通過(guò)實(shí)驗(yàn)驗(yàn)證的。在我們的分析中,我們還區(qū)分了隱蔽攻擊,這是一種特殊的常用分叉攻擊?!半[蔽”在這里指的是敵手對(duì)于安全多方計(jì)算協(xié)議的隱蔽,參見(jiàn) [3],敵手希望能夠破壞協(xié)議并且不會(huì)被發(fā)現(xiàn)。我們表示隱蔽可分叉字符串是可分叉字符串的子類(lèi),隱蔽可分叉字符串擁有更小的密度;這允許我們提供兩個(gè)在效率和安全保證方面能達(dá)到不同權(quán)衡的截然不同的安全論證。我們的可分叉字符串分析是一個(gè)自然和相當(dāng)普遍的工具,它可以成為PoS環(huán)境安全論證的一部分。
第四,我們將關(guān)注點(diǎn)轉(zhuǎn)移到協(xié)議的激勵(lì)結(jié)構(gòu)。我們?yōu)榧?lì)系統(tǒng)中的參與者提出了一個(gè)新穎的獎(jiǎng)勵(lì)機(jī)制,該系統(tǒng)已經(jīng)被我們證明是(近似)納什均衡的。這樣,我們的設(shè)計(jì)就可以緩和類(lèi)似扣塊(block withholding)和自私挖礦(selfish-mining) [21, 38] 的攻擊。獎(jiǎng)勵(lì)機(jī)制背后的核心思想就是給這些協(xié)議行為提供積極的報(bào)酬,這些協(xié)議行為不能被與協(xié)議背道而馳的各方聯(lián)盟所扼殺。如此,也許能表明在合理的假設(shè)下,即在特定的協(xié)議執(zhí)行成本很小,當(dāng)所有的參與者都是理智的時(shí)候忠實(shí)的遵循協(xié)議就是一種平衡。
第五,我們引入了一個(gè)權(quán)益委托機(jī)制,該機(jī)制可以無(wú)縫的加入到我們的區(qū)塊鏈協(xié)議中。委托在我們這種背景下非常有用,因?yàn)槲覀兿M试S我們的協(xié)議即使在一群股東高度分散的情況下也可以擴(kuò)大規(guī)模。在這種情況下,委托機(jī)制能夠讓股東們將他們的“投票權(quán)利”委托出去,即參與到委員會(huì)中的權(quán)利,該委員會(huì)在每個(gè)階段運(yùn)行領(lǐng)導(dǎo)者選舉協(xié)議。就像流動(dòng)民主(liquid democracy)(又名委任民主 [23] ),股東們?cè)谙胍?dú)立于其他股東時(shí)有能力撤回它們的委任約定。
鑒于我們的模型和協(xié)議描述,我們還可以探索在實(shí)踐中考慮到的各種攻擊如何在我們的框架內(nèi)被解決。具體來(lái)說(shuō),我們討論了雙花攻擊、交易拒絕攻擊、51%攻擊、無(wú)利害關(guān)系、去同步攻擊以及其他攻擊。最后,我們給出了關(guān)于我們?cè)O(shè)計(jì)效率的證據(jù)。首先,我們考慮了雙花攻擊。為了解說(shuō)的目的,我們對(duì)中本聰?shù)姆治鲎隽艘粋€(gè)比較,他的分析是關(guān)于比特幣交易擁有99.9%的把握是確定的確認(rèn)時(shí)間。對(duì)于敵方而言,交易的確認(rèn)時(shí)間是比特幣的10到16倍,這取決于敵手的計(jì)算力;對(duì)于一般的敵方確認(rèn)時(shí)間要快5到10倍。此外,我們對(duì)雙花攻擊的分析依賴(lài)于我們對(duì)可分叉和隱蔽可分叉字符串的組合分析,并且比中本聰簡(jiǎn)化些的分析3 適用于更廣的敵方行為。然后,我們調(diào)查了我們的原型實(shí)現(xiàn),并報(bào)告了在亞馬遜云中運(yùn)行的基準(zhǔn)測(cè)試,這些測(cè)試展現(xiàn)了我們的權(quán)益證明區(qū)塊鏈協(xié)議在性能方面的優(yōu)勢(shì)。
相關(guān)工作
在Ouroboros開(kāi)發(fā)的同時(shí),也有一些其他的協(xié)議被開(kāi)發(fā)了,這些協(xié)議針對(duì)基于PoS分布式賬本設(shè)計(jì)空間中的多個(gè)位置。睡眠共識(shí) [6] 考慮一個(gè)固定的股東分配(即權(quán)益不會(huì)隨著時(shí)間而改變)并針對(duì)一個(gè)“混雜”的腐敗環(huán)境,在該環(huán)境中,除了拜占庭式的錯(cuò)誤之外,攻擊者被允許進(jìn)行自適應(yīng)以及執(zhí)行失敗停止和修復(fù)腐敗。在這個(gè)混雜的腐敗環(huán)境中,我們的分析其實(shí)是直截了當(dāng)?shù)?#xff0c;參見(jiàn)備注 2;不過(guò),由此產(chǎn)生的安全性只能在“延遲的腐敗”環(huán)境中被爭(zhēng)論,因此它不是完全自適應(yīng)的。白雪(Snow White) [7] 講述了一個(gè)演變的股東分配以及為了保障安全使用一個(gè)與我們類(lèi)似的腐敗延遲機(jī)制。然而,與我們的協(xié)議相反的是,白雪設(shè)計(jì)容易受到“grinding”類(lèi)型的攻擊,這種攻擊會(huì)按照敵方的意愿來(lái)偏離高概率事件。這不僅不會(huì)漸漸的破壞安全性,而且還預(yù)防了不顧及敵方計(jì)算力的具體參數(shù)化。
Algorand [27] 提供了一個(gè)遵循拜占庭協(xié)議的分布式賬本,每個(gè)塊都可以抵抗自適應(yīng)的腐敗。由于每個(gè)塊都需要達(dá)成一致,所以這樣的協(xié)議生產(chǎn)區(qū)塊的速率在本質(zhì)上會(huì)比基于PoS的區(qū)塊鏈要慢(其中減速與拜占庭協(xié)議預(yù)期的執(zhí)行時(shí)間相匹配),但是它們可以自由的進(jìn)行分叉。在這方面,盡管存在分叉,區(qū)塊鏈協(xié)議還是展現(xiàn)了允許客戶(hù)設(shè)置可以愿意承擔(dān)的風(fēng)險(xiǎn)級(jí)別的靈活性,讓低級(jí)別客戶(hù)可以樂(lè)觀的享受更快速的處理時(shí)間。最后,Fruitchain [36] 為基于PoW的區(qū)塊鏈提供了一個(gè)獎(jiǎng)勵(lì)機(jī)制和近似納什均衡證明。我們?cè)趨^(qū)塊鏈層使用了一個(gè)類(lèi)似的獎(jiǎng)勵(lì)機(jī)制,不過(guò)我們底層的機(jī)制是不同的,因?yàn)槲覀冃枰赑oS的環(huán)境中操作。該思想的核心就是為誠(chéng)實(shí)的多數(shù)者(參見(jiàn) [24] )提供一個(gè)PoS“背書(shū)”模擬,使用與基于PoW拜占庭協(xié)議相同的邏輯輸入一個(gè)合適的比例。
白皮書(shū)的概括
我們?cè)诘诙糠株U述了模型,為了簡(jiǎn)化我們協(xié)議的分析,我們?cè)诘谌糠忠运膫€(gè)階段展示給大家。總之,在第四部分我們描述和分析在靜態(tài)環(huán)境中的協(xié)議;然后我們?cè)僭诘?部分講述動(dòng)態(tài)環(huán)境。我們的激勵(lì)機(jī)制和均衡協(xié)議將在第七部分講述。然后我們?cè)诘?部分講述以匿名渠道改善協(xié)議以及在第8部分講述委托機(jī)制。接下來(lái),第9部分我們討論協(xié)議在多種攻擊下的恢復(fù)力。在第10部分我們討論交易確認(rèn)時(shí)間和原型實(shí)現(xiàn)在亞馬遜云上運(yùn)行的一般性能結(jié)果。
譯者說(shuō):共識(shí)介紹的部分已經(jīng)翻譯完成,更多精彩,下回再續(xù)!(十分感謝大家對(duì)Cardano社區(qū)的關(guān)注)
翻譯作者: 許莉
原文地址: Ouroboros: A Provably Secure Proof-of-Stake Blockchain Protocol
作者:Lilymoana
鏈接:https://www.jianshu.com/p/6e4088bdf9a9
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
總結(jié)
以上是生活随笔為你收集整理的Ouroboros:一个可证明安全的PoS区块链协议 (共识介绍)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 连接不同区块链的跨链技术介绍
- 下一篇: IELE:区块链的一个新虚拟机