本篇文章是上一篇文章《區塊鏈上的隨機性概述與構造》的延續。本文會介紹以下四個項目:Algorand、Cardano,Dfinity和Randao分別是如何利用三種基本的方案構建隨機數生成協議的。注意本文并不會專門詳細解釋這四個項目的共識算法,只會介紹最基本的框架以幫助讀者理解共識協議和隨機數算法之間的聯系。
原文標題:《區塊鏈上的隨機性項目分析》文章來源:公眾號NPC源計劃作者:邱飛旸
Algorand
Algorand項目使用了基于PoS的混合共識協議,其共識過程利用了隨機抽簽。它的隨機抽簽所依賴的種子,從本質上講,是通過取前t(t=1)個輸入來生成的,對應v3.0b版本的第一種方式。如圖1所示,Algorand的共識過程要求節點先在本地抽簽,即通過一個可驗證隨機函數(VerifabaleRandomFunction,VRF)在節點的本地算出來一個可驗證的確定的隨機數。VRF可以被看作是一種特殊的偽隨機數發生器。需要補充的一點是,這里的“確定”指的是,這樣的隨機數是無法被用戶操縱的,因為輸入是被唯一確定不受用戶控制的。這是由于,其輸入是根據上一輪隨機數生成過程的公共信息以及每個節點自己的私鑰。其中私鑰是可以被公鑰驗證的;公共信息是每個人都可以看到,是唯一確定的,并且可被其他人驗證。本地抽簽得到本地隨機數之后,每個人會立馬知道自己是否被選中。之后,被選中的人廣播抽簽結果、證明和候選區塊到全網節點,根據區塊的quality大小,選出來候選區塊,而確定哪個區塊的quality更大是需要做拜占庭共識的。這個時候,就需要再進行一輪本地抽簽,所有的節點會自己知道是否被選中去做BA*,即投票選自己認為的quality最高的候選區塊,投票會進行很多輪,每一輪都要重新進行一次本地抽簽,以增加安全性。可以看出,Algorand共識的本質就是我們每個人都生成一個確定的隨機數。但是我們最終只想要一個隨機數,這樣我們才能根據最后確定的唯一的隨機數去決定哪個塊會被全網接受。這個時候的方案就是根據某種確定的規則從眾多備選結果中取一個,方法是通過拜占庭共識達成一致。
MakerDAO聯創目前持有約1.22億美元MKR,占MKR總流通量的12.6%:金色財經報道,據鏈上分析師余燼監測,MakerDAO聯創Rune在2022年11月至2023年4月,累計出售1,357萬枚LDO(2614萬美元),出售均價1.92美元;2022年11月至2023年7月,累計回購32,637枚MKR(2395萬美元),回購均價734美元,回購MKR資金全部來自于出售LDO;Rune兩個地址目前共計持有123,893枚MKR(1.22億美元),占MKR總流通量(977,631枚MKR)的12.6%。[2023/7/17 10:59:32]
圖1:Algorand的共識協議
圖2:VRF
Cardano
Cardano是基于Ouroboros的一個項目,采用了基于PoS的共識協議。Ouroboros這篇論文給出了一個可證明安全的PoS協議框架,但是并沒有給出具體的實現,實現由Cardano完成。因此這里主要講解Cardano在工程上采用的一個具體的方案。Cardano所采用的方案也在第一篇所講的三種方式之中。如圖4所示,它的方案其實就是就是無分發者的秘密分享承諾。圖3簡單描述了它的共識協議,在它的GenesisBlock里面會初始化一個隨機數,這樣就可以利用確定的抽簽算法以這個隨機數作為隨機信標來確定誰的區塊會在之后的某個slot里被接受。slot的數量是固定的,因此,有可能有的slot中會有不止一個節點被抽中,也有可能沒有節點被抽中,具體解決方案不在本文討論范圍內。那么,初始化的隨機數是怎么生成的呢?Cardano協議首先采用了標準的承諾-揭示方案,不過在之后多了一個將隨機數做一次無分發者的公開可驗證秘密分享(PubliclyVerifiableSecretSharing,PVSS)的步驟。即分發碎片并且廣播證明之后揭示隨機數。這時也許有參與者會跑路,沒有揭示隨機數,但是沒有關系,這個時候剩下的參與者可以通過廣播碎片把跑路的參與者的隨機數恢復了。因此,這是一個有一定冗余度的隨機數生成機制,但是同時帶來了一定的健壯性。通過這個機制,只要惡意節點不超過一半,一定可以生成一個隨機數。
廣東:支持人工智能、區塊鏈等前沿領域加強研發布局:6月16日消息,據科創板日報報道,近日,廣東省委、省政府印發《廣東省質量強省建設綱要》提出,提升產業集群質量引領力。加強先進技術應用、質量創新、質量基礎設施升級,培育發展一批引領性強的戰略性產業集群。同時要增強 5G、超高清顯示等領域產業技術優勢,支持人工智能、區塊鏈、量子信息、生命健康、生物育種等前沿領域加強研發布局,支持量子通信、信息光子、太赫茲、新材料、生命健康等領域努力搶占未來發展制高點。[2023/6/16 21:42:03]
圖3:Cardano的共識協議
圖4:Cardano的DRB模型
Dfinity
Dfinity的共識算法和Algorand很像,如圖5所示,協議里同樣需要選舉一個委員會,委員會會運行分布式隨機信標(DistributedRandomnessBeacon,DRB)協議得到隨機數種子。至于這個協議我們后文會講,為了理清共識協議的基本步驟,我們先假設DRB協議可以達成這些功能。通過這個隨機數種子,加上每個節點自己的私鑰,每個節點通過運行可驗證隨機函數(VRF)就可以算出自己的排名。同時,由于所有節點都會被分組,那么每一個節點應該被分配到哪一個組也是由隨機數種子決定的。在所有的組中,再次通過隨機數種子隨機挑選出一個組,稱之為該輪的委員會。每個節點有了自己的節點排名后,所有節點都可以提交候選區塊,廣播給所有的節點,但是大家在廣播的過程中,誠實節點就會根據排名,給目前為止它收到的最高的塊簽名,簽好后,廣播給所有的節點,如果某一個區塊獲得1?2以上的合法簽名,這個區塊被稱之為已驗證的區塊。一旦誠實節點收到已驗證的區塊,這一輪就會立馬結束,并將這個已驗證區塊廣播給所有其他節點。
美國德州眾議院委員會拒絕通過限制比特幣礦企激勵上限的法案:6月2日消息,據 Satoshi Action Fund CEO 兼聯創 Dennis Porter 發推稱,美國德克薩斯州眾議院委員會未通過 SB 1751 號法案,該法案被稱為反挖礦法案。
此前報道,美國德克薩斯州參議院通過 1751 號法案,該法案將修改該州公用事業和稅法的部分內容,以增加對加密挖礦公司的限制,該法案旨在將參與需求響應計劃的比特幣礦企的激勵限制在 10%,并取消對該行業的稅收減免。[2023/6/2 11:55:06]
圖5:Dfinity的共識協議
由此可見,DRB協議生成的隨機數種子至關重要。Dfinity所采用的DRB協議實際上就是v3.0b的第三種方法——分布式密鑰生成門限簽名。首先要有一個DKG協議來生成符合一定要求的總密鑰對和密鑰對份額,這個協議同樣可以是(t,n)門限的。通過這個協議,每個人獲得密鑰對份額,但是沒有人知道總私鑰是什么。每個節點使用自己的私鑰份額對再上一個輪次的隨機數和輪次進行簽名,簽完名將簽名結果廣播,每個節點都可以用總公鑰驗證每個簽名。然后通過門限簽名的恢復算法使用t個簽名恢復出來這一輪的總簽名。整個過程的算法都是完全確定的,唯一不確定的是每個節點不知道其他節點的私鑰份額是什么。Dfinity比較特殊的地方在于采用基于BLS的門限簽名,比起其他的門限簽名方案,好處有兩個。第一個好處就是一次購買,終生免費。協議只需要在一開始的階段運行一次DKG,進行密鑰生成。之后的階段只需要n個人中t個人提交有效的簽名就可以生成隨機數,協議就可以運行下去,這個過程是異步的。第二個好處就是確定性,無論哪t個人提交,最后生成的隨機數都是一樣的確定的結果,沒有節點可以操縱最后的結果。
Synthetix已激活更新永續合約參數的SCCP-293:4月28日消息,Synthetix 宣布已激活更新永續合約參數的 SCCP-293,將大幅降低 Perps 費用以及增加未平倉合約上限。[2023/4/28 14:33:02]
圖6:Dfinity的DRB模型
Randao
Randao是基于以太坊合約的,用于在鏈上生成智能合約可用的隨機數的一個項目。它采用的是v3.0a的方案。每個人在提交承諾的時候,都需要提交m個ETH的押金,揭示過程會持續w個區塊時間。這里有三件事需要說明。第一點是,同一個地址的多個承諾只接受第一次。第二點是收集的全網提交的承諾數有最小數量的要求,如果沒有收集到最夠的數量,整個協議就會以失敗的狀態結束,然后再重新開始。第三點就是不按時揭示的地址的押金會被沒收,并且一旦有人不揭示,協議就會以失敗的狀態結束,這樣做為了確保隨機數的公平性。協議的最后一步是Randao特別加入的——返還押金,給參與者獎勵的步驟,其目的是給出激勵,構建生態。
圖7:Randao的DRB模型
隨機數與共識
隨機數生成與共識協議有著千絲萬縷的關系,主要體現為以下兩點。
防止女巫攻擊的方法之一是不可預測的隨機抽簽。不論是PoW,還是PoS,我們都可以理解為一種隨機抽簽的方法。不管公有鏈上的共識協議再怎么設計,包括比特幣在內,都是在通過某種方式產生一定的隨機性。礦工通過PoW競爭出塊,使得出塊的人變得不確定,從而防止了通過偽裝大量節點獲利的女巫攻擊。
美國國會法案呼吁聯邦政府研究加密貨幣用于非法活動的案例,并就如何減少這些用途提出建議:4月27日消息,周四向美國參議院和眾議院提交的一項兩黨法案將呼吁聯邦政府研究加密貨幣用于非法活動的案例,并就如何減少這些用途提出建議。《金融技術保護法案》建議成立一個工作組,負責研究恐怖分子或其他犯罪分子如何使用加密貨幣和其他新的金融技術,并為國會和監管機構提出旨在打擊這些用途的建議。[2023/4/27 14:31:26]
區塊鏈上的隨機數安全依賴于共識協議。以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工程師告訴你,鏈上私人數據如何安全存儲與管理
Tags:ANDRANDAONDAOLets Go BrandonRangers ProtocolThe DAOX IndexNDAO價格
近期幣圈前十大主流幣種裹足不前,而小市值幣種matic補漲13倍,以及大家特別關注看空的棄嬰BSV狂拉210%。這一情況當時讓很多人都摸不清頭腦,一次性爆發突飛猛漲,將近130多個點位.
1900/1/1 0:00:00比特幣開發者JimmySong近日對VitalikButerin的說法提出了質疑。VitalikButerin表示,為了推出與以太坊2.0相關的一系列升級,該項目取得了必要的“研究突破”.
1900/1/1 0:00:00作者|殷耀平 引言 BOSCore是EOS生態內熱度較高的側鏈項目,已于今年1月發布主網,其旨在優化EOS生態的核心技術方案曾多次得到BM的認可.
1900/1/1 0:00:00近日,「火星大學量化交易48小時實戰營」在京舉辦,vn.py創始人陳曉優受邀參加并講解了《基于vn.py框架快速實現量化實盤》.
1900/1/1 0:00:00這兩天業內發生了兩件很有意思的事情:1、5月21日,澳本聰向美國版權局申請比特幣白皮書版權獲得批準,引起一陣騷動;2、5月22日披薩節當天,BM表示:有一天,BTC有可能會在EOS鏈上運行.
1900/1/1 0:00:00原文標題:《在云端存私鑰,Coinbase這個新功能你敢用嗎?》Coinbase本周宣布,其錢包用戶可以通過谷歌云盤或者iCloud備份私鑰助記詞的加密版。這一新功能旨在為用戶提供安全保障.
1900/1/1 0:00:00