本篇文章是上一篇文章《區塊鏈上的隨機性概述與構造》的延續。本文會介紹以下四個項目:Algorand、Cardano,Dfinity和Randao分別是如何利用三種基本的方案構建隨機數生成協議的。注意本文并不會專門詳細解釋這四個項目的共識算法,只會介紹最基本的框架以幫助讀者理解共識協議和隨機數算法之間的聯系。
原文標題:《區塊鏈上的隨機性項目分析》文章來源:公眾號NPC源計劃作者:邱飛旸
Algorand
Algorand項目使用了基于PoS的混合共識協議,其共識過程利用了隨機抽簽。它的隨機抽簽所依賴的種子,從本質上講,是通過取前t(t=1)個輸入來生成的,對應v3.0b版本的第一種方式。如圖1所示,Algorand的共識過程要求節點先在本地抽簽,即通過一個可驗證隨機函數(VerifabaleRandomFunction,VRF)在節點的本地算出來一個可驗證的確定的隨機數。VRF可以被看作是一種特殊的偽隨機數發生器。需要補充的一點是,這里的“確定”指的是,這樣的隨機數是無法被用戶操縱的,因為輸入是被唯一確定不受用戶控制的。這是由于,其輸入是根據上一輪隨機數生成過程的公共信息以及每個節點自己的私鑰。其中私鑰是可以被公鑰驗證的;公共信息是每個人都可以看到,是唯一確定的,并且可被其他人驗證。本地抽簽得到本地隨機數之后,每個人會立馬知道自己是否被選中。之后,被選中的人廣播抽簽結果、證明和候選區塊到全網節點,根據區塊的quality大小,選出來候選區塊,而確定哪個區塊的quality更大是需要做拜占庭共識的。這個時候,就需要再進行一輪本地抽簽,所有的節點會自己知道是否被選中去做BA*,即投票選自己認為的quality最高的候選區塊,投票會進行很多輪,每一輪都要重新進行一次本地抽簽,以增加安全性。可以看出,Algorand共識的本質就是我們每個人都生成一個確定的隨機數。但是我們最終只想要一個隨機數,這樣我們才能根據最后確定的唯一的隨機數去決定哪個塊會被全網接受。這個時候的方案就是根據某種確定的規則從眾多備選結果中取一個,方法是通過拜占庭共識達成一致。
趙長鵬被彭博社評為通過“計算機驅動交易公司致富的25位金融巨頭”之一:金色財經報道,幣安首席執行官趙長鵬被彭博社評為通過“計算機驅動交易公司致富的25位金融巨頭”之一,據彭博社報道,趙長鵬身價為 282 億美元,他的大部分財富都是通過幣安交易所賺取的,但按照福布斯富豪榜的估計,截至2023年4月26日,趙長鵬的身價為105億美元。其他上榜的加密富豪包括對沖基金Citadel創始人Ken Griffin、OPNX交易所投資方Susquehanna創始人Jeff Yass、印度加密銀行Kotak Mahindra Bank創始人Uday Kotak等。[2023/4/27 14:29:07]
圖1:Algorand的共識協議
圖2:VRF
Cardano
Cardano是基于Ouroboros的一個項目,采用了基于PoS的共識協議。Ouroboros這篇論文給出了一個可證明安全的PoS協議框架,但是并沒有給出具體的實現,實現由Cardano完成。因此這里主要講解Cardano在工程上采用的一個具體的方案。Cardano所采用的方案也在第一篇所講的三種方式之中。如圖4所示,它的方案其實就是就是無分發者的秘密分享承諾。圖3簡單描述了它的共識協議,在它的GenesisBlock里面會初始化一個隨機數,這樣就可以利用確定的抽簽算法以這個隨機數作為隨機信標來確定誰的區塊會在之后的某個slot里被接受。slot的數量是固定的,因此,有可能有的slot中會有不止一個節點被抽中,也有可能沒有節點被抽中,具體解決方案不在本文討論范圍內。那么,初始化的隨機數是怎么生成的呢?Cardano協議首先采用了標準的承諾-揭示方案,不過在之后多了一個將隨機數做一次無分發者的公開可驗證秘密分享(PubliclyVerifiableSecretSharing,PVSS)的步驟。即分發碎片并且廣播證明之后揭示隨機數。這時也許有參與者會跑路,沒有揭示隨機數,但是沒有關系,這個時候剩下的參與者可以通過廣播碎片把跑路的參與者的隨機數恢復了。因此,這是一個有一定冗余度的隨機數生成機制,但是同時帶來了一定的健壯性。通過這個機制,只要惡意節點不超過一半,一定可以生成一個隨機數。
DivInc推出區塊鏈加速器計劃,將為10家初創公司提供1萬美元種子資金:金色財經報道,總部位于奧斯汀的創業加速器 DivInc 宣布推出區塊鏈加速器計劃,最多 10 家公司將能參與其為期 12 周的計劃,該計劃將從 9 月持續到 11 月,每家公司將在完成后獲得 1 萬美元的種子資金。區塊鏈初創公司創始人可在 DivInc 的網站上申請。[2023/4/20 14:16:40]
圖3:Cardano的共識協議
圖4:Cardano的DRB模型
Dfinity
Dfinity的共識算法和Algorand很像,如圖5所示,協議里同樣需要選舉一個委員會,委員會會運行分布式隨機信標(DistributedRandomnessBeacon,DRB)協議得到隨機數種子。至于這個協議我們后文會講,為了理清共識協議的基本步驟,我們先假設DRB協議可以達成這些功能。通過這個隨機數種子,加上每個節點自己的私鑰,每個節點通過運行可驗證隨機函數(VRF)就可以算出自己的排名。同時,由于所有節點都會被分組,那么每一個節點應該被分配到哪一個組也是由隨機數種子決定的。在所有的組中,再次通過隨機數種子隨機挑選出一個組,稱之為該輪的委員會。每個節點有了自己的節點排名后,所有節點都可以提交候選區塊,廣播給所有的節點,但是大家在廣播的過程中,誠實節點就會根據排名,給目前為止它收到的最高的塊簽名,簽好后,廣播給所有的節點,如果某一個區塊獲得1?2以上的合法簽名,這個區塊被稱之為已驗證的區塊。一旦誠實節點收到已驗證的區塊,這一輪就會立馬結束,并將這個已驗證區塊廣播給所有其他節點。
以太坊質押協議Swell Network上線以太坊主網:8月23日消息,以太坊質押協議Swell Network通過Guarded Launch上線以太坊主網。此次上線為多階段發布計劃,其中每個階段都有一個相應的ETH閾值,該閾值將由DAO主動管理,以支持協議的初始引導,其中第1階段已于北京時間8月22日8:00開始。[2022/8/23 12:42:58]
圖5:Dfinity的共識協議
由此可見,DRB協議生成的隨機數種子至關重要。Dfinity所采用的DRB協議實際上就是v3.0b的第三種方法——分布式密鑰生成門限簽名。首先要有一個DKG協議來生成符合一定要求的總密鑰對和密鑰對份額,這個協議同樣可以是(t,n)門限的。通過這個協議,每個人獲得密鑰對份額,但是沒有人知道總私鑰是什么。每個節點使用自己的私鑰份額對再上一個輪次的隨機數和輪次進行簽名,簽完名將簽名結果廣播,每個節點都可以用總公鑰驗證每個簽名。然后通過門限簽名的恢復算法使用t個簽名恢復出來這一輪的總簽名。整個過程的算法都是完全確定的,唯一不確定的是每個節點不知道其他節點的私鑰份額是什么。Dfinity比較特殊的地方在于采用基于BLS的門限簽名,比起其他的門限簽名方案,好處有兩個。第一個好處就是一次購買,終生免費。協議只需要在一開始的階段運行一次DKG,進行密鑰生成。之后的階段只需要n個人中t個人提交有效的簽名就可以生成隨機數,協議就可以運行下去,這個過程是異步的。第二個好處就是確定性,無論哪t個人提交,最后生成的隨機數都是一樣的確定的結果,沒有節點可以操縱最后的結果。
消息人士:歐洲央行決策者本周將討論加息50個基點的問題:7月19日消息,兩位知情人士表示,歐洲央行決策者將在周四的會議上討論是否加息25或50個基點,以抑制創紀錄高位的通脹。消息人士稱,決策者還在尋求達成一項協議,為意大利等負債國家提供債券市場援助,前提是這些國家遵守歐盟執委會關于改革和預算紀律的規定。歐洲央行曾表示,它只會逐步加息,最有可能在7月份加息25個基點,將更大規模的加息推遲到9月份。(金十)[2022/7/19 2:22:56]
圖6:Dfinity的DRB模型
Randao
Randao是基于以太坊合約的,用于在鏈上生成智能合約可用的隨機數的一個項目。它采用的是v3.0a的方案。每個人在提交承諾的時候,都需要提交m個ETH的押金,揭示過程會持續w個區塊時間。這里有三件事需要說明。第一點是,同一個地址的多個承諾只接受第一次。第二點是收集的全網提交的承諾數有最小數量的要求,如果沒有收集到最夠的數量,整個協議就會以失敗的狀態結束,然后再重新開始。第三點就是不按時揭示的地址的押金會被沒收,并且一旦有人不揭示,協議就會以失敗的狀態結束,這樣做為了確保隨機數的公平性。協議的最后一步是Randao特別加入的——返還押金,給參與者獎勵的步驟,其目的是給出激勵,構建生態。
圖7:Randao的DRB模型
隨機數與共識
Azuki系列NFT24小時交易額為108.54萬美元:金色財經消息,據NFTGo.io數據顯示,Azuki系列NFT總市值達3.57億美元,在所有NFT項目總市值排名中位列第10;其24小時交易額為108.54萬美元,增幅達60.51%。截止發稿時,該系列NFT當前地板價為9.25ETH。[2022/6/14 4:25:46]
隨機數生成與共識協議有著千絲萬縷的關系,主要體現為以下兩點。
防止女巫攻擊的方法之一是不可預測的隨機抽簽。不論是PoW,還是PoS,我們都可以理解為一種隨機抽簽的方法。不管公有鏈上的共識協議再怎么設計,包括比特幣在內,都是在通過某種方式產生一定的隨機性。礦工通過PoW競爭出塊,使得出塊的人變得不確定,從而防止了通過偽裝大量節點獲利的女巫攻擊。
區塊鏈上的隨機數安全依賴于共識協議。以Randao為例,針對Fomo3D的攻擊同樣對Randao有效。由于以太坊的激勵機制和共識協議的特點,礦工會優先打包手續費高的交易,所以攻擊者可以通過CensorshipAttack,人為調整打包區塊時包含的交易,或者制造高手續費的垃圾交易,迅速的把區塊的GasLimit耗光,阻止其他人的特定交易上鏈。當Randao即將計算出的結果不理想時,可以通過這種方式強行將協議終止,令無辜的節點蒙受損失,自己從中獲利。盡管這樣的手段有時成本較高,但這樣的攻擊仍然有無法忽略的可能性發生,而這樣的攻擊之所以成立的原因,實際上根植于共識協議的設計。再例如GrindingAttack。Fomo3D采用了取上一個塊的哈希值作為種子的方法生成隨機數。這種情況下,礦工可以把所有的區塊組織的可能性都試驗出來,然后選擇一種對自己最有利的方式打包交易。這種攻擊手段就是GrindingAttack。盡管這樣的攻擊手段有一定的成本,但是如果隨機數所牽涉的利益足夠,例如用在某些賭博游戲里,礦工想要從中獲利非常容易。
因此,區塊鏈上隨機數的生成是需要上下文環境的,必須要給定情景。拿Randao來講,如果它的某一個隨機數的生成,只和0.01個ETH相關,那么攻擊者將沒有足夠的理由去破壞它的公平性。如果押金不夠多,那么Randao就有可能是不安全的。
參考文獻
Gilad,Yossi,etal.“Algorand:Scalingbyzantineagreementsforcryptocurrencies.”Proceedingsofthe26thSymposiumonOperatingSystemsPrinciples.ACM,2017.
“CardanoSettlementLayerDocumentation.”Cardano.Web.21Apr.2019.
Kiayias,Aggelos,etal.“Ouroboros:Aprovablysecureproof-of-stakeblockchainprotocol.”AnnualInternationalCryptologyConference.Springer,Cham,2017.
Hanke,Timo,MahnushMovahedi,andDominicWilliams.“Dfinitytechnologyoverviewseries,consensussystem.”arXivpreprintarXiv:1805.04548(2018).
YoucaiQian.“Randao:VerifiableRandomNumberGeneration.”Randao.Web.21Apr.2019.
來源鏈接:blog.priewienv.me
本文來源于非小號媒體平臺:
NPC源計劃
現已在非小號資訊平臺發布1篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/3627211.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
下一篇:
NuCypher工程師告訴你,鏈上私人數據如何安全存儲與管理
前言:從Web2.0的發展歷史來看,Web3.0能給我們帶來哪些全新的商業模式?如果說Web2.0代表的是物理世界的虛擬數字化映射,Web3.0則是首次將經濟系統嵌入在底層代碼中.
1900/1/1 0:00:00GalaxyCapitalCEO,Fortress投資集團前對沖基金經理Novogratz最近發表了一個觀點,他認為,在下輪牛市中,比特幣將跑贏絕大多數主流幣和山寨幣.
1900/1/1 0:00:00“小礦幣的低市值剛好滿足了很多賬面虧損的投資者的百倍暴富想法。”烏龜中文社區發起人SalmonDealer稱.
1900/1/1 0:00:00BIS行長:加密貨幣不是貨幣,區塊鏈技術應該被接受 ◇金色盤面 據huobiglobal數據顯示,BTC最近成交價8102.13美元,24小時變化0.07%;ETH最近成交價252.87美元.
1900/1/1 0:00:00火星財經APP一線消息,5月24日,在FT團隊與共識實驗室聯合舉辦的“FT公鏈及生態發表會?暨FCoin一周年社區代表大會”上,共識實驗室發起人王峰宣布FT生態基金正式成立.
1900/1/1 0:00:00親愛的用戶: KKcoin現已完成BAIC主網切換,并將與2019年04月29日18點前開放BAIC充值、提現功能,敬請體驗!獨家 | Bakkt期貨合約數據一覽:金色財經報道.
1900/1/1 0:00:00