作者:BlockPunk社區:果殼宇宙前言
4000年前的東方大陸,薩滿緩慢的從篝火的灰燼中扒出龜甲,龜甲上隨機的裂紋會決定部落下一次狩獵的時機;3000年前的地中海,尊貴的雅典神官主持著抽簽儀式,他們要隨機選出五百位優秀公民,來參與城邦政務的討論;2000年前的中東,行商圍坐在一張賭桌旁,緊張的注視著桌面上轉動的四面骰子,它的最終結果會決定一大筆財富的歸屬。在上千年的人類歷史里,我們一直不斷地探尋著可靠的隨機數,并將隨機數用在生活的各個方面,民主與共和的抽簽制度,戰爭時期的軍情傳遞、生產上的模型計算,以及賭博娛樂時的可信參照。對可靠隨機數的追求,更是人類對公平的追求,對隨機數的承認,可以說是人類最早的關于公正的共識。而在2000多年后的現代,人類發明了計算機,開始了嶄新的數字紀元,隨機數成為了整個虛擬世界的基礎。真隨機數
我們祖先樸實的技術而言,人類創造了很多生成隨機數的方法,但這些隨機數的隨機強度與不可預測程度,并不比燒龜甲來的更高。這里就要講到真隨機數與偽隨機數了。古代的人類觀察物理世界時,會發現到處都存在著隨機的波動,這種隨機性在他們看來,是上天的旨意,你完全沒法預測未來會怎么樣。真正的隨機性,只存在于物理世界,大氣噪聲、宇宙背景輻射、放射物的衰變期、量子塌縮現象,通過觀測這些現象,得到的隨機數是完全無規律可循的。
《百萬亂數表》圖片來自網絡上世紀40年代,蘭德公司利用模擬電路制成的電脈沖發生器生成了100萬個隨機數,并將其出版為《百萬亂數表》,一直銷售到今天。現在看來這似乎是一個異想天開的行為藝術,但在當時卻是非常重大的突破。
熔巖燈圖片來自網絡有趣的是,在互聯網時代的今天,仍有人在使用這種方法。一家名叫Cloudflare的云服務商,通過圖像識別實時處理熔巖燈中蠟的形狀,計算量化來獲取真隨機數,從而對數據進行高強度的加密。這聽起來好像有些愚蠢,但其實它的隨機強度,卻遠強于現在主流的隨機數。假隨機數
我們可以從物理現象中得到神秘而無窮的隨機性,但有些現象并不能精確量化。但同時我們需要巨量的隨機數來加密數據、訓練模型、公平仲裁,僅依靠自然界的隨機數是遠遠不夠的。這也是計算機之父,馮諾依曼思考過的。在1946年,\n\n馮諾依曼參與了美軍氫彈的設計,他在一臺名為ENIAC的計算機上,模擬計算核聚變的過程。而這個模型的訓練,需要對隨機數進行快速的存取,但ENIAC的內存不夠大,無法保存長真隨機數,因此馮諾依曼設計了一個算法,來模擬一個隨機性的混亂狀態。
ENIAC計算機|圖片來自網絡這個算法是這樣的:首先獲得一個很短的隨機值,比如操作時刻的毫秒數,作為這個算法的“種子”,然后將“種子”平方,輸出平方結果的中間部分數字,再作為“種子”重復上述操作。重復足夠的次數后,就獲得了一個“隨機數”。這被稱為平方取中法,這也只是無數假隨機數算法中的一種,這個算法輸出的序列,只取決于最初種子的隨機性。由于機器的確定性,同樣的種子,就可以計算出同樣的隨機數。種子的位數決定了隨機數的隨機度,當你設定一個兩位的種子生成一個10位隨機數,在函數產生重復循環之前,最多只能得到100個可用的隨機數;而在自然界中,10位隨機數應該存在一百億種可能。這兩者之間巨大的數量級差別,就是隨機數真與假的區別。只要你使用基于“種子”的假隨機數,必然會出現重復循環的過程,也就是說,只要知曉了你的隨機數算法,另一臺計算機遲早能暴力嘗試出相同的隨機數。這就是區塊鏈錢包的密鑰生成隨機函數被攻破后,暴力盜取密鑰的手段。
Cream Finance攻擊者轉移了230枚ETH:金色財經報道,CertiK監測顯示,Cream Finance攻擊者已經向(0xdeCE02a開頭地址)發送了230枚ETH(價值近39.7萬美元)。該地址仍然持有3000枚ETH(價值近53萬美元)和大于600萬美元的其他資產。[2023/6/20 21:48:30]
圖片來自網絡假隨機數存在規律的周期,點集中表現為脈絡當然這種隨機數是足夠使用的,我們必須引入計算機科學中非常重要的一個概念,時間邊界,也就是在多長的時間里,這個隨機數是安全不重復的。和我們使用密碼車鎖一樣,我們知道正確的密碼必在一萬種的組合方式之中,但一個個嘗試需要花費好幾天時間,這個時間邊界內都算是安全,假隨機數也是如此。我們閉眼敲鍵盤的隨機字符串,其實也有規律可循,這就是QWER的鍵盤布局,通過分析后破解隨機數的可能性就會很大這依然無法滿足區塊鏈的使用要求,因為我們需要一個能在固定時間內,分布式的獲取隨機數的方法,而不能依賴于任何一個中心主體。區塊鏈為什么需要隨機數
在傳統互聯網中,隨機數是作為密碼學與隱私安全的基礎,通過共享隨機的密鑰,兩個節點間就可以進行加密的私人通訊,而在區塊鏈中,就是使用私鑰密鑰傳輸財產;同時隨機數還廣泛應用于有限帶寬下的多節點通訊,可以利用隨機數來決定數據發送的合理順序,來協調多方節點,在區塊鏈上,就是利用基于隨機數的共識算法,協調交易確認者,保證一段時間內大家只對部分節點的消息進行反饋更新,從而在網絡消息數有限的情況下獲得一致。而在區塊鏈與加密的世界里,隨機數上再次投射出了人類對公平的追求。我們的世界是隨機的,過去無法更改,但未來不可預測,這是對生命最大的公平。區塊鏈上一樣,我們通過隨機數的可信,脫離人性的干擾,獲得鏈上的公正性,保證整個系統的去中心化程度與可信性。特別是權益證明PoS越來越火的現在,我們比以往任何時候都需要一個安全、穩定、可信的隨機數,來保證密鑰對的生成、鏈上數據的加密、出塊權力的裁定、智能合約的運行。總結
公平的決定出塊權力,維持一致性共識。部分PoW與PoS機制下,依靠隨機數選定出塊者或者出塊組的,包括DPoS機制下的循環出塊的順序,也是依靠隨機數決定。私鑰的生成。目前私鑰只要由各錢包自定隨機數方法生成,存在較大安全隱患。鏈上應用的隨機數源。保證、游戲、抽獎、分發、調查等應用的公平公正,此類容易被黑客攻擊。數據加密。鏈上數據因為是公開審查的,需要強度較高的加密,通過足夠強的隨機數確保鏈上數據的隱私與安全。鏈上隨機數的難點
雖然區塊鏈還是基于過去的互聯網技術,但是在隨機數生成部分卻有著非常大區別。傳統的隨機數產生方式是中心化的,產出的隨機數,與特定機器的狀態值、物理狀態相關,而同一個隨機數算法,在不同的節點上得到的隨機數是不同的,并且也沒法針對每一個隨機數進行驗證,因此傳統的方式無法產生一致性的隨機性,這和區塊鏈不兼容。因此區塊鏈上的隨機數,需要重頭開始設計機制,從而來獲得滿足分布式特點的結果。因此到目前為止,沒有真正意義上完美的方案,區塊鏈上的真隨機數是缺失的,連假隨機數都很難獲得。鏈上隨機數的原則
馬斯克否認擁有狗狗幣的鯨魚錢包:6月18日消息,去年6月,Elon Musk收到一項內幕交易的集體訴訟,訴訟指控他參與了狗狗幣的“pump-and-dump”活動,并損害了散戶投資者,原告律師聲稱馬斯克將Twitter的標志從藍色小鳥改為狗狗幣標志也是他所謂計劃的一部分。然而,據《紐約郵報》獲得的一封馬斯克律師Alex Spiro的最新信函辯稱,馬斯克并非原告所說的所謂“DOGE鯨魚”,并在寫給原告律師的書面溝通中表示,馬斯克擁有特定錢包的指控“毫無依據”,他表示:“您的主張唯一的依據是這些錢包在根據第三次修正起訴書所稱,價格上漲時出售了狗狗幣。”[2023/6/18 21:44:42]
1.不可預測因為隨機數決定著整個協議層包括所有以上層級的公正性,如果這個隨機數是能提前預見的,那么就可以伺機發動攻擊。當然這個不可預測性是存在時間邊界的,一般以區塊鏈時間為邊界,通過控制計算難度,或設置等待,來增加預測的難度。簡而言之,有兩種方案:保證隨機數從區塊時間上看是串行的保證隨機數產生的難度,并按情況調節難度2.不可干擾隨機數決定著區塊的共識確認,因此如果能干擾到隨機數的發生,無需掌握超越上限的節點/算力,就可以間接的控制區塊鏈未來的走向,雖然干擾可能很微小,但多次干擾積累下來就會出現較嚴重的問題。有兩種解決方案:保證隨機數生成是非交互的,或完全根據節點本身狀態計算設置隨機數生成時延,需要等待長時間的復雜計算才能得出隨機數,讓干擾者無法預估自己施加的影響3.可驗證應該詳細表述為,可被簡單驗證,這表示隨機數必須能夠被任何節點快速進行驗證其合法性,這樣分布式的節點才能通過檢驗隨機數,確認某一節點的出塊資格,從而達成一致性。如果驗證效率很低,需要很長時間,那么節點間共識的達成就會遙遙無期,區塊鏈無法使用。不符合上述原則的一些解決方案
為了解決區塊鏈上的隨機數難點,自發的產生了許多解決方案,以下簡述以下不符合上述三個原則的方案,雖然他們各自都有自洽的邏輯與一定的安全性,但在現階段還是存在問題的,在對安全需求不是那么高的地方仍可以使用。這不不針對某個項目,而是指出相似范式的問題。1.使用鏈下真隨機數不在鏈上計算隨機數,而是使用從物理現象中獲得的真隨機數,比如大氣噪聲、電子脈沖,以及依賴包含熱噪聲電路的芯片組。但是對區塊鏈來說,鏈下部分是不可見的,默認就是不可信的,鏈下獲得隨機數一定需要一個第三方上傳至鏈上,這不僅違背了區塊鏈的去中心化精神,完全無法驗證,且存在篡改與提前預知的風險。就算使用預言機來去中心化的獲取鏈下的真隨機數,但仍存在物理上的人為干擾。因此這種方案非常不可取。2.將當前塊的數據作為隨機源很多的鏈上類Dapp,都習慣直接引用最近區塊的哈希根值等作為合約的隨機種子,再來產生隨機數。雖說簡介的借助了鏈上算力的保證,如此產生的隨機數看似足夠有公信力,但需要考慮到多維度的安全性。首先,區塊上的數據是透明的,所有節點都能獲取,攻擊者同樣能用來攻擊合約,唯一的障礙就是不開源的隨機數算法。第二點,出塊人獲得出塊資格后,可以嘗試變更打包交易順序、嘗試打包不同交易,來產生最有利于他的哈希根值,從而擴大自己中獎的概率,這對其他參與者是不公平的。3.借助分布式組織產生隨機數因為隨機數的強度來源于種子的隨機性,因此就有人提出由一個分布式組織來產生足夠隨機的種子,依賴與本地節點的特殊狀態或控制者的“自由意志”,向鏈上上傳秘密與驗證,以特殊算法組合種子,再在鏈上產生隨機數。先不論鏈下的合謀可能,這種方案還是存在“最后參與者攻擊”的可能,也就是最后一個上傳秘密的參與者,可以知道此前的全部秘密,他可以控制自己的秘密來干擾最終隨機數的產生。且在掌握了函數算法后,可以預測影響的規律,如此可以多次施加干擾,進而不斷擴大自己的影響,這就是“放大攻擊”。三類方案
英國發布人工智能監管白皮書,概述針對ChatGPT等人工智能治理的五項原則:金色財經報道,英國政府發布了針對人工智能產業監管的白皮書,概述了針對ChatGPT等人工智能治理的五項原則。它們分別是:安全性和穩健性、透明度和可解釋性、公平性、問責制和管理,以及可競爭性。在接下來的12個月里,監管機構將向相關組織發布實用指南,以及風險評估模板等其他工具,制定基于五項原則的一些具體規則。也將在議會推動立法,制定具體的人工智能法案。[2023/3/29 13:33:34]
雖然區塊鏈上的隨機數并不完美,但隨這越來越多的項目認識到了隨機數對效率和冗余度的巨大優化,隨機數的可信與高效顯得越來越重要。因此這里總結了三類相對成熟方案,并指出了相關項目與方案優缺點。哈希碰撞
在PoW系統中,礦工的客戶端有一個基于本節點狀態的隨機數發生器,可以輸出隨機數序列,然后再計算其哈希值,一但生成的哈希值在規定的大小范圍內,就是為獲得了出塊資格,其他節點獲取這個隨機數值,計算一次哈希值即可進行驗證,因此它的驗證是十分簡潔的。因此這個隨機數得經歷數百兆億次隨機數發生后,才有機會獲得一個符合要求的隨機數,因此它的隨機程度非常的高;同時由于得出隨機數消耗的資源非常大,想要提前幾個區塊預測這個隨機數幾乎是不可能的;由于隨機數完全根據節點本身狀態輸出隨機數,因此這個隨機數不會其他攻擊者干擾;即時的難度調整,在安全時間邊界內不會出現被攻破的情況。PoW的共識特點,使得其天然具備隨機性的。優點:隨機性最強,安全性號,非常適合驅動共識層;產生隨機數時不需要使用網絡帶寬。缺點:計算冗余度,計算消耗大,資源浪費;難以在應用層使用;不具備唯一性,可以同時存在多個滿足要求的隨機數,可能導致區塊分叉;無法抵抗并行加速破解,計算機持有多的人可以連續預測多個隨機數。可驗證隨機函數
VRF算法于1999年由莫卡利教授提出,由于其較好的安全性與效率,被越來越多區塊鏈項目拿來優化共識過程,讓共識的隨機數部分占用計算資源變少,讓資源更多地被交易的確認與合約的運行所占用。
集合上圖簡述生成步驟:0.生成隨機數簽名專用公私鑰對;1.獲得一個足夠隨機的種子,可以直接使用上一輪結果,與區塊高度、時間的變量等進行組合;2.用隨機數私鑰對之進行簽名,或是先簽名再組合;3.對簽名后的值做哈希摘要,得出最新的隨機數;4.檢查隨機數是否在合法范圍中,判斷是否抽簽成功進入出塊組5.根據公鑰與輪次等輸入,計算證明,接受隨機數后驗證者使用函數進行驗證。因此這樣產生的隨機數,節點可以輕松驗證其是否合乎算法,"Verifiable"就這樣做到了;而經過足夠復雜的算法,加上哈希摘要過程,獲得足夠隨機分布的結果,“Random”得到了保證。VRF主要結合PoS機制一起使用,來進行出塊人的隨機選擇,個別項目中直接決定區塊的一致性選擇。這個隨機數的生成過程可以完全在一個節點的鏈下運行,同時也可以整個運行在鏈上。需要注意的是簽名隨機的部分,VRF的這個簽名隨機算法應當具備唯一性,也就是說用同一把密鑰,對同一個數據簽名隨機多次,只有唯一的一個隨機數能被公鑰驗證,這就能防止產生隨機數時,多次運行簽名隨機部分,來獲得最有利于自己的隨機數。優點:算力要求低,產出隨機數效率高;產生唯一性、確定性的隨機數,不易出現分叉;驗證可滯后于隨機數產生,適合進行秘密選舉;可設置為抗并行加速破解,礦機多者也無法連續預測隨機數。缺點:驗證步驟較多,秘密選舉下需要多次驗證;隨機數分布均勻性不好,因為是根據特點密鑰計算的;帶寬占用高,延時長,是為讓秘密選舉的節點互相確認,BLS項目問題不大;Algorand
能源巨頭沙特阿美與 droppGroup 簽署協議建立 Web3 技術:金色財經報道,能源巨頭沙特阿拉伯國家石油公司(沙特阿美)已與Web3技術提供商droppGroup簽署了一份諒解備忘錄(MoU),以探索共同開發一系列Web3技術,使其工人受益,包括潛在的入職、培訓生態系統,以及代幣化網絡和獎勵計劃。據悉,這次合作并不是該公司首次涉足區塊鏈技術。2020年初,該公司向基于區塊鏈的商品交易后處理平臺Vakt投資了500萬美元。droppGroup是一家Web3技術提供商,其技術棧包括人工智能(AI)和機器學習(ML)、擴展現實(XR)、代幣化網絡和元宇宙環境。[2023/2/21 12:18:21]
每一個節點都獲取前一輪確認區塊上的隨機種子,集合輪次時間等,在鏈下單獨運行VRF函數,然后對結果進行哈希摘要,節點將結果與網絡中哈希值范圍進行比較,范圍內的成員便有資格參與驗證與出塊。因為VRF是在網絡邊界,也就是節點鏈下部分運行的,對整個網絡來說,究竟抽出哪些節點是不可知的,抽中節點不清楚那些節點也被選中,需要互相發送隨機數與證明,并收集驗證來判斷其他節點身份,因此這個過程被稱其為“秘密選舉”。而至于區塊的選擇,是根據抽中的出塊節點隨機數的“資質”決定,同時節點需要對其他的區塊進行投票,這過程是一個改進過的拜占庭容錯協議,并且投票需要兩輪,每一輪都需要進行一次“秘密選舉”。可見,algo是節點各自運行VRF,然后全網根據拜占庭容錯的過程,獲得了唯一的隨機數。優點:“秘密選舉”,無法第一時間知曉所有被選中節點,因此無法提前串通或定點攻擊;每一輪次共識,隨機生成驗證組,組的規模與成員都無法預知;缺點:抽中的節點需要很長時間互相確認身份,需要遍歷全網,帶寬使用率太高,這使得一般人無法參與共識,影響去中心程度;由于驗證組大小根據概率范圍分布,網絡規模小時選不出足夠多的節點,網絡規模大時驗證組過大性能太低;DFINITY
節點第一次進行抵押加入網絡,就會根據分布式密鑰生成協議,隨機為每個節點專屬的“隨機數密鑰”。這個分布式密鑰協議會生成符合要求的總密鑰對,并根據系統規定的委員會組大小,對總密鑰對進行切分,分給組內的節點。節點會獲得一個專用簽名密鑰,但是誰都不知道總密鑰是什么。組的分配是隨機的,一個節點能同時存在于多個組中,但是組的成員是事先固定已知的,這一點與Algorand的“秘密選舉”有所不同——DFINITY是“先驗”,Algorand是“后驗”。DFINITY的隨機數生成過程是完全在鏈上的,你無法對這個隨機數過程進行控制。上一輪的隨機數,會在多個組中選出本輪的委員會組,整個過程的公開的。委員會組會履行出塊、公證的義務,公證過程時,節點會不斷尋找“權重”最高的那個區塊,這個“權重”也是上一輪的隨機數決定的,找到一個區塊,就會使用“隨機數密鑰”簽名并廣播。
而有一個運行在鏈上的程序,叫做隨機數信標,它在不斷地接受當前輪的簽名數據,當有一個區塊的簽名的簽名超過驗證組節點數的50%,它就會將簽名聚合起來,產生一個唯一確認的隨機數。這個隨機數的出現,就預示著本輪共識的結束,將會繼續選擇下一輪共識的參與者。整個隨機數生成過程中,沒有任何一個節點可以控制這個隨機數信標,并且不需要節點間互相交流來獲得唯一確認性,而神奇的是,在不需要節點交流共識的情況下,只要隨機數信標收集了足夠多的簽名,\n\n不管這些簽名來自哪50%,它一定會生成一個唯一合法且確定的隨機數,目前唯一能現在這個功能的算法,就是BLS閥值簽名算法,也是DFINITY最大的特色。優點:共識與隨機數生成階段節點無需交互,自動執行,無需拜占庭容錯,效率高,帶寬占用較低;隨機數的生成過程時不可操作的,非交互式的,因此無法施加影響,隨機數更公正;閥值組已經確定,而不隨共識變化,天生適合分片,因此擴展性很好;簽名體積小,共識敲定快,TPS、最短確認時間與最終確認時間,都比同類VRF+PoS項目要好。缺點:后驗性,組員在共識前就已確定好,可能存在串通勾結的可能;完全由隨機數驅動,勾結節點雖無法控制區塊鏈,但可以使系統宕機停止;BLS算法學術基礎已經足夠,但缺少工程實現,并無開源案例。Cardano
ADAM與Web3.0社區平臺Mojor正式達成戰略合作:據官方消息,首個基于Web3.0的加密數據計算網絡ADAM與專注于Web3領域的社區平臺Mojor正式達成戰略合作。雙方就Web3.0未來發展,鏈上數據傳輸、DAO治理和加密計算等方面達成合作共識。
ADAM是首個Web3.0時代的數據加密計算網絡,擁有批量化數據加密傳輸功能,能夠連接實現世界數據與區塊鏈系統,愿景是挖掘數據的真實價值,使每一個參與數據流通的角色,都能夠從中受益。
Mojor是一個專注于Web3領域的社區平臺,社區創建者以持有NFT的方式真正擁有社區,用戶通過錢包直接登錄,豐富的Web3機器人為社區治理提供便利,提升效率。[2022/5/24 3:38:04]
此項目是著名的銜尾蛇算法的首個實現,共識階段以時代為周期,每個輪次存在多個插槽,每一個插都會產生一個區塊,如果出現問題可以跳過一個插槽。而每一個插槽該由誰來進行出塊,是需要使用本輪時代的起源區塊給出的隨機數種子、有資格參與共識節點的抵押權益、節點公鑰、插槽列表等數據,集合節點公布的公鑰,計算最終結,數就決定了哪個節點(slot\nleaders)能進行出塊。因此Cardano的關鍵就在于每一個時代,起源區塊上包含了決定出塊者的隨機數,實則在這狀態機下的節點里,在起源區塊生成之初就已經決定了本時代的出塊者都是誰,這個選擇從算法需要計算一陣子,這個計算出塊者的過程可以看作是VRF的后驗證過程,因此Cardano也可以近似的看作“秘密選舉”。關鍵就在于起源區塊中隨機數的產生,他需要足夠隨機,且能被節點們共同認可。Cardano以承諾揭秘的過程來讓每一個節點上傳他們自根基自機器狀態產生的隨機數,在秘密揭露后,將這些隨機數組合起來共同產生一個隨機字符串。這就是隨機數的生成過程。揭秘的過程比較復雜,首先在插槽出塊階段前,所有根據權益選上的節點,會秘密的計算一個隨機字符串,然后把這個字符串進行復雜加密,將加密后的密文廣播全網,并承諾會解釋秘密。隨后在插槽出塊過程中,節點會公開一個揭示數據Open,這個Open包含了解密與原隨機數,可以用于檢驗節點的這個隨機數。如此便可以保證在產生隨機數之前,節點早就準備好了隨機數并沒有修改過,而不是在收到他人秘密后才生成的,因為那樣可以間接的干擾隨機數的生成,從而間接控制區塊鏈。但是有一個問題,節點可以在揭露階段不發送Open和隨機數,這有幾率導致手機不到足夠多的節點隨機數,起源區塊無法產生,最終區塊鏈宕機。為了抵抗這種風險,Cardano規定節點必須在發送加密密文階段,就把Open根據算法分成好幾份,使用本時代出塊者公鑰加密。一但有節點跑路,出塊節點就可以用自己的私鑰解密Open的碎片,然后拼合起Open。而這個分割Open的算法,被稱為可驗證的密鑰分享VSS\n(verifiablesecretsharing)\n。再把Open分割后,吃有一個碎片是無法窺探Open全貌的,因此這個隨機數,即使是出塊者也沒法提前獲得。同時這個VSS算法優點類似于DFINITY使用的BLS算法,不需要全部碎片拼合起來,只要部分碎片就可以恢復出完整的Open。可見上述的VSS、拆分揭示等多種容錯,保證了因節點跑路掉線導致宕機的可能性降得很低。
優點:隨機性較好,安全性較高;不會因為VRF的緣故發生宕機。缺點:驗證組是先確定的,根據權益大小排序,因此去中心化略差;節點間可以串通勾結;獲取隨機數是需要多次通訊,帶寬占用高。VDF+Randao
之前有哈希碰撞中有講到,因為區塊數據的透明,PoW機制下的隨機數很難在上層的合約中作為種子應用,以太坊1.0也存在這個問題。因此就有人考慮使用去中心化的組織來分布式的收集種子,從而在合約上實現一個安全不可預測的隨機數,這就是Randao。上文中也提到了,雖然其使用經濟上的設計限制了串通,但是卻依然存在“最后參與者攻擊”與“放大攻擊”的風險。最后參與者攻擊:最后一個參與Randao的人可以預測部分未來隨機數,因此可以選擇不公開秘密,對其施加干擾。放大攻擊:多次執行最后參與者攻擊,將對隨機數的干擾擴大,從而簡介掌控組織。而在最近公布的以太坊2.0的方案中,為了性能的考慮,需要使用PoS來替代PoW,因此需要隨機數來選定出塊資格。隨機數運行在一條稱為“信標鏈”的單鏈上,其產生的隨機數來隨機控制分片的組成,進而實現多片并行,擴展以太坊性能。因此隨機數又成為了以太坊升級的重要基礎,涉及到分片的公正性,與最終確認的可能性。PoW的分片方案太過復雜,因此以太坊2.0的分片基于PoS實現,隨機數也是如此,無法再用過哈希碰撞來獲取共識層的隨機數了,因此以太坊2.0借鑒了Randao的想法,但為了解決上面講的兩個問題,引入了一個可驗證延遲函數VDF,讓通過Randao產生的隨機數需要經歷一段很長的時間,才能得出結果,這個計算難度比較高,且必須等待多個區塊,是串行運行的,這樣一開始像Randao中傳送秘密時,攻擊者無法預測吃自己的秘密對最終最技術的影響,也就無法發動上述攻擊了。首先介紹一下Randao,以太坊2.0上的節點通過抵押32的ETH,獲得加入Randao的資格,每一獲取隨機數種子時,參與Randao的節點會在心里默念一個秘密的數字,然后加密后廣播出去。在所有人都獲取了其他人的密文后,節點會相繼公開這個秘密,隨機數使用某種方式合并,就可作為隨機數種子,來生成最終的隨機數。這就像玩橋牌,先牌面朝下的發牌給玩家,然后開牌時一個個進行揭露、為了不讓最后一個參與者預測結果,來施加干擾,選擇使用VDF來生成最終的隨機數。而這個VDF存在以下特點:1.計算難度高,結果有延遲。VDF的計算過程較為復雜,需要等待很長的時間才能得出結果,因此將延遲時間設置的足夠長,想快速預測結果是十分困難的;2.驗證簡單。VDF的運行過程可以是困難且耗時的,但是檢驗結果時必須足夠快捷;3.串行性。VDF的計算是一步一步執行的,想要計算最終結果必須按部就班的來,沒法進行并行加速,即使攻擊者手持多臺機器也無法短時間里預測結果。就比如對一個長整數,連續取10次方后,對某一個大素數求余數,然后連續進行上述步驟幾百次,這就是一個VDF的函數。因此計算次方的算法是有難度的,且多次循環下,必須知道前一次結果才能進行后一次的運算,因次這個算法的最終結果沒法很快的計算出來,必須老老實實一步一步的進行。同時由于人類的計算機架構,即使是算你差別非常大,這個計算難度也不會有指數級的變化,依舊十分難解。這個不可預測性,就保證了隨機數的安全性。其實上述部只是一個計算結果的算法,VDF還應包含一個用于驗證結果的算法,VDF的結果不僅只是一個隨機數,還產生一個對隨機數的驗證,任何節點都可以快速的驗證。
在以太坊2.0階段,這個VDF的延遲被設定為102分鐘。每100區塊稱為一個世代(epoch),也就是6分鐘左右,每經歷一個世代,就會揭露一次Randao的秘密,每次揭露都要運行一個VDF。因此計算得知,任何時間總會有16個VDF同時在鏈上運行。優點:目前區塊鏈上最難預測的假隨機數,隨機數強度非常高,但弱于POW;隨機數嚴格遵序串行,抗并行加速運算;得到隨機數過程不需要過多的交互,帶寬專用率低于VRF。缺點:VDF計算過程難度很高,獲取隨機數的效率很低,對計算性能有較大浪費;雖然計算難度很高,但不像PoW一樣抗量子計算,有攻破可能;不能立刻生成隨機數,需要等待長時間延遲;總結
統計學家弗朗西斯·加爾頓在1890年的《自然》雜志上寫道:“作為一個選擇隨機的工具,我發現沒有什么優于骰子。”人類不斷的試圖用規律總結隨機性,但新的隨機性又會出現在新的規律之下,我們驚訝于量子世界的無序與隨機,這又激發了我們探索的好奇心。可以說對隨機數的認識,就是人類的進步史,對隨機數的追求,不僅是對科學的訴求,更是對宿命論的反駁。同時,我們創造了二進制的虛擬世界,我們想在這個世界上,盡可能地模擬復制我們的宇宙,也獲得大自然中那美妙而神秘的隨機數,這個意義是巨大的——有了機器上的真隨機數,我們是不是就可以給虛擬世界賦予生命了?我們是不是就能模擬一個“自由意志”了?我們人類是不是也有可能虛擬化的生存了?宇宙間的隨機性,是對生命最大的公平性,區塊鏈上的隨機數,會成為人類對公平的最直觀也是最根本的追尋。過去已經決定,現在正在發生,未來總體是隨機的,區塊鏈上的世界也應該如此。一個運行在01機器上,能被世間萬物所認可的隨機數,在區塊鏈之前,從來都沒有這么迷人過。
Tags:區塊鏈ANDRANWEB3區塊鏈工程專業學什么女生TechnolandfrancsALFweb3Project
隨著越來越的人參與到區塊鏈這個行業中來,為行業注入新活力的同時也由于相關知識的薄弱以及安全意識的匱乏,給了攻擊者更多的可乘之機.
1900/1/1 0:00:00編者按:本文來自橙皮書,作者:orangefans,Odaily星球日報經授權轉載。在比特幣這一輪的上漲周期里,主流機構和投資人進場經常被提起,它一定程度上反應了目前主流比特幣投資人希望被主流投.
1900/1/1 0:00:00編者按:本文來自幣圈邦德,作者:荔枝特工,Odaily星球日報經授權轉載。作為2018年最被看好的公鏈項目之一的EOS,在近段時間持續頹勢,近幾天來EOS兌換比特幣的匯率已經創下自2018年12.
1900/1/1 0:00:00編者按:本文來自鏈聞ChainNews,作者:DAppTotal研究團隊,星球日報經授權發布。撰文:DAppTotal研究團隊當去中心化金融成為加密貨幣市場中最熱門的關鍵詞之后,關于「DeFi」.
1900/1/1 0:00:00出品|Odaily星球日報文|蘆薈編輯|盧曉明繼Facebook于今年發布穩定幣項目Libra白皮書之后,另一知名社交軟件Telegram的區塊鏈系統TON主網也即將面世了.
1900/1/1 0:00:00!webp\"data-img-size-val=\"952,677\"width=\"953\"\u002F\\>交易所一直是幣圈競爭最火熱的賽道,市場變幻,王朝也在不斷更迭.
1900/1/1 0:00:00