本篇文章是上一篇文章《區塊鏈上的隨機性概述與構造》的延續。本文會介紹以下四個項目:Algorand、Cardano,Dfinity和Randao分別是如何利用三種基本的方案構建隨機數生成協議的。注意本文并不會專門詳細解釋這四個項目的共識算法,只會介紹最基本的框架以幫助讀者理解共識協議和隨機數算法之間的聯系。
原文標題:《區塊鏈上的隨機性項目分析》文章來源:公眾號NPC源計劃作者:邱飛旸
Algorand
Algorand項目使用了基于PoS的混合共識協議,其共識過程利用了隨機抽簽。它的隨機抽簽所依賴的種子,從本質上講,是通過取前t(t=1)個輸入來生成的,對應v3.0b版本的第一種方式。如圖1所示,Algorand的共識過程要求節點先在本地抽簽,即通過一個可驗證隨機函數(VerifabaleRandomFunction,VRF)在節點的本地算出來一個可驗證的確定的隨機數。VRF可以被看作是一種特殊的偽隨機數發生器。需要補充的一點是,這里的“確定”指的是,這樣的隨機數是無法被用戶操縱的,因為輸入是被唯一確定不受用戶控制的。這是由于,其輸入是根據上一輪隨機數生成過程的公共信息以及每個節點自己的私鑰。其中私鑰是可以被公鑰驗證的;公共信息是每個人都可以看到,是唯一確定的,并且可被其他人驗證。本地抽簽得到本地隨機數之后,每個人會立馬知道自己是否被選中。之后,被選中的人廣播抽簽結果、證明和候選區塊到全網節點,根據區塊的quality大小,選出來候選區塊,而確定哪個區塊的quality更大是需要做拜占庭共識的。這個時候,就需要再進行一輪本地抽簽,所有的節點會自己知道是否被選中去做BA*,即投票選自己認為的quality最高的候選區塊,投票會進行很多輪,每一輪都要重新進行一次本地抽簽,以增加安全性。可以看出,Algorand共識的本質就是我們每個人都生成一個確定的隨機數。但是我們最終只想要一個隨機數,這樣我們才能根據最后確定的唯一的隨機數去決定哪個塊會被全網接受。這個時候的方案就是根據某種確定的規則從眾多備選結果中取一個,方法是通過拜占庭共識達成一致。
PeckShield:NFT借貸平臺JPEG'd或遭黑客攻擊:7月30日消息,據PeckShield發推稱,NFT借貸平臺JPEG'd或遭黑客攻擊,損失金額達6106枚ETH,JPEG代幣短時下跌40%。[2023/7/30 16:07:20]
圖1:Algorand的共識協議
圖2:VRF
Cardano
Cardano是基于Ouroboros的一個項目,采用了基于PoS的共識協議。Ouroboros這篇論文給出了一個可證明安全的PoS協議框架,但是并沒有給出具體的實現,實現由Cardano完成。因此這里主要講解Cardano在工程上采用的一個具體的方案。Cardano所采用的方案也在第一篇所講的三種方式之中。如圖4所示,它的方案其實就是就是無分發者的秘密分享承諾。圖3簡單描述了它的共識協議,在它的GenesisBlock里面會初始化一個隨機數,這樣就可以利用確定的抽簽算法以這個隨機數作為隨機信標來確定誰的區塊會在之后的某個slot里被接受。slot的數量是固定的,因此,有可能有的slot中會有不止一個節點被抽中,也有可能沒有節點被抽中,具體解決方案不在本文討論范圍內。那么,初始化的隨機數是怎么生成的呢?Cardano協議首先采用了標準的承諾-揭示方案,不過在之后多了一個將隨機數做一次無分發者的公開可驗證秘密分享(PubliclyVerifiableSecretSharing,PVSS)的步驟。即分發碎片并且廣播證明之后揭示隨機數。這時也許有參與者會跑路,沒有揭示隨機數,但是沒有關系,這個時候剩下的參與者可以通過廣播碎片把跑路的參與者的隨機數恢復了。因此,這是一個有一定冗余度的隨機數生成機制,但是同時帶來了一定的健壯性。通過這個機制,只要惡意節點不超過一半,一定可以生成一個隨機數。
Kraken在美國現貨交易中的市場份額達到18個月新高:金色財經報道,加密交易所Kraken在美國現貨交易中的市場份額達到18個月新高,Kraken產品總監Shannon Kurtas對 The Block表示,這一增長主要是由于該交易所Pro應用程序的用戶數量增加了5倍,該應用程序允許用戶進行現貨交易、保證金交易和質押。
Kurtas表示,Kraken的全球現貨市場份額在過去18個月內也翻了一番,但在美國的份額仍然不高。[2023/7/18 11:01:13]
圖3:Cardano的共識協議
圖4:Cardano的DRB模型
Dfinity
Dfinity的共識算法和Algorand很像,如圖5所示,協議里同樣需要選舉一個委員會,委員會會運行分布式隨機信標(DistributedRandomnessBeacon,DRB)協議得到隨機數種子。至于這個協議我們后文會講,為了理清共識協議的基本步驟,我們先假設DRB協議可以達成這些功能。通過這個隨機數種子,加上每個節點自己的私鑰,每個節點通過運行可驗證隨機函數(VRF)就可以算出自己的排名。同時,由于所有節點都會被分組,那么每一個節點應該被分配到哪一個組也是由隨機數種子決定的。在所有的組中,再次通過隨機數種子隨機挑選出一個組,稱之為該輪的委員會。每個節點有了自己的節點排名后,所有節點都可以提交候選區塊,廣播給所有的節點,但是大家在廣播的過程中,誠實節點就會根據排名,給目前為止它收到的最高的塊簽名,簽好后,廣播給所有的節點,如果某一個區塊獲得1?2以上的合法簽名,這個區塊被稱之為已驗證的區塊。一旦誠實節點收到已驗證的區塊,這一輪就會立馬結束,并將這個已驗證區塊廣播給所有其他節點。
知情人士:Binance正探索允許機構客戶將交易抵押品存放在銀行:5月30日消息,據知情人士表示,加密貨幣交易平臺Binance正在討論一項提議,讓部分機構客戶將交易抵押品存放在銀行,而不是加密貨幣平臺,此舉可能有助于降低交易對手風險。
知情人士表示,這家全球最大的加密貨幣交易平臺已與一些專業客戶討論了一項設置,允許他們使用銀行存款作為現貨和衍生品保證金交易的抵押品。總部位于瑞士的FlowBank和總部位于列支敦士登的Frick銀行被認為是這項服務的潛在中介機構。[2023/5/31 11:49:00]
圖5:Dfinity的共識協議
由此可見,DRB協議生成的隨機數種子至關重要。Dfinity所采用的DRB協議實際上就是v3.0b的第三種方法——分布式密鑰生成門限簽名。首先要有一個DKG協議來生成符合一定要求的總密鑰對和密鑰對份額,這個協議同樣可以是(t,n)門限的。通過這個協議,每個人獲得密鑰對份額,但是沒有人知道總私鑰是什么。每個節點使用自己的私鑰份額對再上一個輪次的隨機數和輪次進行簽名,簽完名將簽名結果廣播,每個節點都可以用總公鑰驗證每個簽名。然后通過門限簽名的恢復算法使用t個簽名恢復出來這一輪的總簽名。整個過程的算法都是完全確定的,唯一不確定的是每個節點不知道其他節點的私鑰份額是什么。Dfinity比較特殊的地方在于采用基于BLS的門限簽名,比起其他的門限簽名方案,好處有兩個。第一個好處就是一次購買,終生免費。協議只需要在一開始的階段運行一次DKG,進行密鑰生成。之后的階段只需要n個人中t個人提交有效的簽名就可以生成隨機數,協議就可以運行下去,這個過程是異步的。第二個好處就是確定性,無論哪t個人提交,最后生成的隨機數都是一樣的確定的結果,沒有節點可以操縱最后的結果。
TRON即將推出流動性質押功能和去中心化資源市場:金色財經報道,孫宇晨發推稱,TRON宣布即將推出TIP 467中的流動性質押功能,用戶可以將其質押的TRX兌換成STRX,增加質押的TRX整體流動性。此外,TRON還將推出TIP 484中所提的去中心化資源市場,用戶可以在獲得質押收益的同時,保持流動性和靈活性。[2023/1/21 11:25:06]
圖6:Dfinity的DRB模型
Randao
Randao是基于以太坊合約的,用于在鏈上生成智能合約可用的隨機數的一個項目。它采用的是v3.0a的方案。每個人在提交承諾的時候,都需要提交m個ETH的押金,揭示過程會持續w個區塊時間。這里有三件事需要說明。第一點是,同一個地址的多個承諾只接受第一次。第二點是收集的全網提交的承諾數有最小數量的要求,如果沒有收集到最夠的數量,整個協議就會以失敗的狀態結束,然后再重新開始。第三點就是不按時揭示的地址的押金會被沒收,并且一旦有人不揭示,協議就會以失敗的狀態結束,這樣做為了確保隨機數的公平性。協議的最后一步是Randao特別加入的——返還押金,給參與者獎勵的步驟,其目的是給出激勵,構建生態。
圖7:Randao的DRB模型
隨機數與共識
隨機數生成與共識協議有著千絲萬縷的關系,主要體現為以下兩點。
dYdX 24小時交易量達16.8億美元:據官方消息,去中心化衍生品交易平臺dYdX發推稱,dYdX 24小時交易量為16.8億美元,昨日交易筆數為23萬。[2022/8/12 12:21:36]
防止女巫攻擊的方法之一是不可預測的隨機抽簽。不論是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工程師告訴你,鏈上私人數據如何安全存儲與管理
在比特幣站穩7000大關后,幣圈的熱點開始轉移到主流幣上。很多交易所都對打新模式打了退堂鼓,尤其在看到很多小交易所IEO失敗之后,更是遲遲不愿推出新項目.
1900/1/1 0:00:00蔡曙是誰?在幣圈,如果你還沒有聽說過這個名字,那你OUT了。2019年的幣圈發生很多有趣的事情,從“交易所IEO大戰”到“預告式維權”再到近來的“大家一起振”等幣圈獨創的造富游戲捧紅了不少項目和.
1900/1/1 0:00:00今日各幣種普跌,BNB跟隨市場出線回調,但是暫時還沒跌破5天線,本輪上漲就是依托5天線,注意5天線的得失以及方向,失守5天線也就意味著本輪的上漲可能會告一段落.
1900/1/1 0:00:00文章系金色財經專欄作者供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00前言:加密世界不僅是構建業務,也不僅是經濟體系,它構建的是一個全球性的社區。這意味著公司的治理模式在加密世界不再適用.
1900/1/1 0:00:002009年1月,中本聰發明的比特幣區塊鏈正式上線并挖出了第一個含有50BTC的區塊,比特幣正式誕生.
1900/1/1 0:00:00