當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導讀] 許多現(xiàn)代的區(qū)塊鏈協(xié)議,包括near,都依賴隨機性的來源來選擇在協(xié)議中執(zhí)行某些操作的參與者。如果惡意參與者能夠影響這種隨機性源,他們就可以增加被選中的機會,并可能危及協(xié)議的安全性。 分布式

許多現(xiàn)代的區(qū)塊鏈協(xié)議,包括near,都依賴隨機性的來源來選擇在協(xié)議中執(zhí)行某些操作的參與者。如果惡意參與者能夠影響這種隨機性源,他們就可以增加被選中的機會,并可能危及協(xié)議的安全性。

分布式隨機性也是構(gòu)建在區(qū)塊鏈上的許多分布式應用程序的重要組成部分。例如,一個智能合約接受參與者的下注,并以49%的比例支付兩倍的金額,而以51%的比例不支付,它假設(shè)它可以得到一個不可破解的隨機數(shù)。如果惡意參與者能夠影響或預測隨機數(shù),他們就可以增加在智能合約中獲得付款的機會,并將其耗盡。

當我們設(shè)計分布式隨機性算法時,我們希望它有三個屬性:

1. 它必須是不操控的。換句話說,任何參與者都不能以任何方式影響隨機生成器的結(jié)果。

2. 它必須是不可預測的。換言之,任何參與者都不能預測在生成數(shù)字之前將生成什么數(shù)字(或其任何屬性的原因)。

3. 協(xié)議需要容忍一定比例的參與者離線或故意拖延協(xié)議。

在本文中,我們將介紹分布式隨機信標的基礎(chǔ)知識,討論為什么簡單的方法不起作用。最后,我們將介紹dfnity、ethereum serenity和near使用的方法,并討論它們的優(yōu)缺點。

RANDAO

Randao是一種非常簡單的隨機性方法,因此非常常用。一般的想法是網(wǎng)絡(luò)的參與者首先私下選擇一個偽隨機數(shù),提交對這種私人選擇的數(shù)字的承諾,所有人都使用一些共識算法就一些承諾達成一致,然后全部顯示他們選擇的數(shù)字,達到一個 對顯示的數(shù)字達成共識,并將顯示數(shù)字的XOR作為協(xié)議的輸出。

這是不可預測的,與基礎(chǔ)共識協(xié)議具有相同的活力,但是可偏倚的。具體來說,一旦其他人開始透露他們的數(shù)字,惡意的參與者就可以觀察網(wǎng)絡(luò),并根據(jù)目前觀察到的數(shù)字的異或來選擇透露或不透露他們的數(shù)字。這允許一個惡意參與者對輸出產(chǎn)生一點影響,而控制多個參與者的惡意參與者的影響程度與其控制的參與者數(shù)量相同。

RANDAO + VDF

為了使RANDAO不可替換,一種方法是使輸出不僅僅是XOR,而是需要花費更多時間來執(zhí)行而不是分配時間來顯示數(shù)字。如果最終輸出的計算花費的時間長于揭示階段,則惡意行為者無法預測它們顯示或不顯示其數(shù)量的影響,因此不能影響結(jié)果。

雖然我們希望計算隨機性的函數(shù)為生成隨機數(shù)的參與者花費很長時間,但我們希望隨機數(shù)的用戶不必再次執(zhí)行相同的昂貴函數(shù)。因此,他們需要以某種方式能夠快速驗證隨機數(shù)是否正確生成,而無需重新進行昂貴的計算。

這種計算時間長、驗證計算速度快、每個輸入都有唯一輸出的函數(shù)稱為可驗證延遲函數(shù)(簡稱vdf),結(jié)果表明設(shè)計一個延遲函數(shù)非常復雜。最近有了多項突破,即這一次和這次突破使得它成為可能,以太坊目前計劃使用RANDAO和VDF作為隨機信標。除了這種方法不可預測和不可替代的事實之外,即使只有兩個參與者在線,它還具有活力的額外優(yōu)勢(假設(shè)基礎(chǔ)共識協(xié)議具有如此少的參與者的活力)。

這種方法最大的挑戰(zhàn)是,需要以這樣的方式配置vdf:即使是擁有非常昂貴的專用硬件的參與者也無法在顯示階段結(jié)束之前計算vdf,理想情況下,具有一些有意義的安全邊際,比如10倍。下圖顯示了具有專用ASIC的參與者的攻擊,該ASIC允許他們比分配用于顯示RANDAO承諾的時間更快地運行VDF。這樣的參與者仍然可以在有和沒有共享的情況下計算最終輸出,并根據(jù)這些輸出選擇顯示或不顯示:

對于上面的VDF系列,專用ASIC可以比傳統(tǒng)硬件快100倍。因此,如果顯示階段持續(xù)10秒,則在這樣的ASIC上計算的VDF必須花費超過100秒才能具有10倍的安全深度,因此在傳統(tǒng)硬件上計算的相同VDF需要花費100 x 100秒= 約3小時。

以太坊基金會計劃解決的方法是設(shè)計自己的ASIC,并免費公開發(fā)布。一旦發(fā)生這種情況,所有其他協(xié)議都可以利用這項技術(shù),但在此之前,RANDAO + VDFs方法對于無法投資設(shè)計自己的ASIC的協(xié)議來說并不可行。

門限簽名BLS

由Dfinity開創(chuàng)的另一種隨機性方法是使用所謂的門限BLS簽名。

BLS簽名是一種允許多方在消息上創(chuàng)建單個簽名的結(jié)構(gòu),通常用于通過不需要發(fā)送多個簽名來節(jié)省空間和帶寬。區(qū)塊鏈中BLS簽名的常見用法是在BFT協(xié)議中對塊進行簽名。假設(shè)100個參與者創(chuàng)建了區(qū)塊,并且如果其中67個塊在其上簽名則認為該區(qū)塊是最終的。他們都可以提交他們的BLS簽名部分,然后使用一些共識算法來同意其中的67個,然后將它們聚合成單個BLS簽名。任何67個部分都可用于創(chuàng)建累積簽名,但是根據(jù)匯總的67個簽名,生成的簽名將不相同。

事實證明,如果參與者使用的私鑰是以特定方式生成的,那么無論聚合的是多過67個(或更多,但不是更少)簽名,所得到的多重簽名都是相同的。這可以用作隨機源:參與者首先同意他們將簽署的一些消息(它可能是RANDAO的輸出,或者只是最后一個區(qū)塊的散列,只要它是真的無關(guān)緊要每次都不同并達成一致),并在其上創(chuàng)建多重簽名。直到67個參與者提供他們的部分,輸出是不可預測的,但即使在提供第一部分之前,輸出已經(jīng)預先確定并且不受任何參與者的影響。

這種隨機性方法是完全不可替代且不可預測的,并且只要有2/3的參與者在線(但可以針對任何閾值進行配置),這種方法是有效的。雖然1/3離線或行為不端的參與者可能會停止算法,但至少需要2/3參與者合作才能影響輸出。

不過有一個警告。上面,我提到過這個方案的私鑰需要以特定的方式生成。密鑰生成的過程稱為分布式密鑰生成(簡稱DKG),它非常復雜,是一個非?;钴S的研究領(lǐng)域。在最近的一次談話中,Dfinity提出了一個非常復雜的方法,其中涉及zk-SNARKs,這是一個非常復雜且沒有時間測試的加密結(jié)構(gòu),作為其中一個步驟。通常對閾值簽名BLS和DKG的研究并不處于可以在實踐中容易應用的狀態(tài)。

RandShare

NEAR方法受另一種稱為RandShare的算法的影響。Randshare是一個不可抗拒的、不可預測的協(xié)議,它可以容忍多達_的行為體是惡意的。本文還描述了兩種加快速度的方法,稱為randhound和randhound,但與randshare本身不同,randhound和randhound相對復雜,而我們希望協(xié)議非常簡單。

RandShare的一般問題除了交換的大量消息(參與者一起交換O(n^3)消息)之外,事實上雖然1/3是實踐中活躍度的有意義閾值,但影響輸出能力卻很低 。有幾個原因:

· 影響輸出的好處可能大大超過拖延隨機性的好處。

· 如果一個參與者在Randshare中控制了超過1/3的參與者,并使用它來影響結(jié)果輸出,那么它就不會留下任何痕跡。因此,一個惡意的行動者可以在不被揭露的情況下做到這一點。拖延共識自然是顯而易見的。

· 控制1/3的hashpower/staking情況并非不可能,考慮到(1)和(2)以上的控制者不太可能試圖阻止這種隨機性,但能夠并且可能會試圖影響這種隨機性。

NEAR Approach

NEAR方法在我們最近發(fā)表的論文中有所描述。這是不可避免的,不可預測的,并且可以容忍1/3惡意行為者的活力,即如果有人控制1/3或更多的參與者,他們可以停止協(xié)議。

然而,與RandShare不同,它可以容忍最多2/3惡意行為者,然后才能影響輸出。這對于實際應用來說是明顯更好的閾值。

該協(xié)議的核心思想如下(為簡單起見,假設(shè)有100個參與者):

1. 每個參與者提出他們的部分輸出,將其分成67個部分,擦除代碼以獲得100個份額,使得任何67個足以重建輸出,將100個份額中的每一個分配給其中一個參與者并使用這種參與者的公鑰。然后他們共享所有的編碼。

2. 參與者使用一些共識(如:tendermint)從67名參與者中就這些編碼集達成一致。

3. 一旦達成一致意見,每個參與者將以公開密鑰編碼的方式發(fā)布的67個集合中的每一個集合中的編碼共享,然后解碼所有這些共享,并立即發(fā)布所有這些解碼共享。

4. 一旦至少67個參與者完成了步驟(3),所有商定的集合可以被完全解碼和重建,并且最終的數(shù)量可以作為參與者在(1)中提出的初始部分的XOR獲得。

這個協(xié)議不可破解和不可預測的原因類似于隨機共享和門限簽名:一旦達成共識,就可以決定最終的輸出,但直到有個參與者解密用其公鑰加密的共享,任何人都不知道最終的輸出。

處理所有極端情況和可能的惡意行為使其稍微復雜一些(例如,當步驟(1)中的某個人創(chuàng)建了無效的擦除代碼時,參與者需要處理這種情況),但總的來說整個協(xié)議非常簡單,用所有證明描述它的整篇論文,相應的加密原語和參考只有7頁長。

類似的利用糾刪碼的想法已經(jīng)在NEAR的現(xiàn)有基礎(chǔ)設(shè)施中使用,其中特定時期的塊生成器創(chuàng)建包含特定分片的所有事務(wù)的所謂塊,并且分發(fā)這樣的塊的擦除編碼版本。 merkle向其他區(qū)塊生產(chǎn)商提供證據(jù)以確保數(shù)據(jù)可用性。

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

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

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

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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