以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

隨機數在區塊鏈中的應用和生成機制_區塊鏈

Author:

Time:1900/1/1 0:00:00

編者按:本文來自巴比特資訊,作者:黃連金,著名區塊鏈專家,核聚鏈首席科學家、美國DistributedAppsCEO、中國電子學會區塊鏈分會專家委員、NULS顧問;向文波,Java軟件工程師,Cryptotech-Writer,NULSCoreTeam成員,Odaily星球日報經授權轉載。

在人們的生活中,很多場景都需要用到隨機數,例如福利彩票,車牌搖號,公共用房分配等。互聯網的發展,讓人們對隨機數的運用越來越依賴中心化系統,但是絕大多數中心化系統,生成的隨機數都是偽隨機數,并且存在作弊的風險。區塊鏈的出現,讓人們看到了生成更公平的隨機數的可能。而隨機數對于區塊鏈本身也有著非常重要的作用,那到底隨機數在區塊鏈中有哪些應用場景?區塊鏈又是如何產生更可靠的隨機數的呢?隨機數在區塊鏈中的應用

私鑰擁有加密貨幣的人都知道私鑰的重要性,誰擁有你的私鑰,誰就擁有了你的加密資產。私鑰的生成都需要依賴隨機數,所以能否保證隨機數的不可預測和破解,關系著加密資產的安全。比特幣私鑰使用的是SHA-256生成的256位隨機數,這個隨機數的取值范圍是0~22??-1。2的256次方近似于10的77次方,這是一個取值范圍非常大的數,以現有的計算能力,想要暴力破解,幾乎不可能。不能暴力破解,但是如果生成隨機數的隨機數生成器可以被操控,生成的隨機數可以被預測,那你的私鑰就有可能被解密,加密資產的安全就得不到保障了。競猜類應用在競猜應用里,需要使用隨機數,來保證結果的隨機性,避免人為干預,影響結果的公平性。在中心化環境下,參與競猜的用戶需要向系統提交競猜訂單,系統根據規則收集用戶的信息,然后生成競猜結果。在整個過程中,客戶端不會參與競猜結果的計算,競猜結果本質上是由系統生成的一串隨機數。當出現巨大利益誘惑時,系統可能會作弊,讓自己從中得利。在去中心化環境下,沒有唯一的中心,可以讓所有節點共同參與隨機數的生成,可以有效的保證隨機數的公平性。但是在去中心化環境中,黑客可以更方便的對隨機數發起攻擊,從中獲得利益。到目前為止,區塊鏈隨機數的安全性仍然是一個需要突破的技術問題。在2018年8月,曾火爆一時的Fomo3D游戲,就被黑客利用其隨機數漏洞,在游戲中獲得了巨額的利益。繼Fomo3D之后,EOS上的眾多熱門DAPP,尤其是競猜類游戲,如EOS.WIN、EOSDice等,也先后因隨機數生成的缺陷遭到了黑客攻擊。POS共識機制區塊鏈是一種去中心化的分布式記賬技術,在去中心化的環境里,要實現正確的記賬,隨機的選出記賬人,是非常關鍵的。因為只有在隨機的條件下,才能保證公平的分配記賬權,合理分配挖礦獎勵。采用POW的共識機制,是通過算力競爭,計算一個非常有難度的哈希值,來隨機確定由誰來記賬。采用POS的共識機制,則需要通過隨機數,隨機選舉出一個節點來進行記賬。大多數POS協議都會根據持有者的代幣數量,選出一組礦工和驗證者,共同完成對鏈上交易的驗證和出塊。為了能夠隨機的選出礦工和驗證者,保證公平分配獎勵,算法必須融入一些公平、無偏倚的隨機數源。所以在許多POS共識機制中,隨機數是一個非常關鍵的技術。真隨機數和偽隨機數

動態 | 針對EOSPlay遭遇新型隨機數攻擊 BM稱EOS運行正常:針對9月14日EOS DApp EOSPlay遭遇新型隨機數攻擊,損失數萬EOS的情況,BM轉發相關新聞并評論稱,EOS運行正常。這與攻擊者向ETH或比特幣發送收費高昂的交易垃圾郵件沒有什么不同。網絡沒有凍結代幣持有者,只是沒有額外的帶寬可供免費使用。[2019/9/15]

隨機數分為真隨機數和偽隨機數。真隨機數數列是完全不可預測的,只存在真實的物理世界中,例如放射性衰變、電子設備噪音、宇宙射線的觸發時間等,我們可以通過采集這些數據,獲得真隨機數數列。偽隨機數是通過獲得的真隨機數數列,使用隨機數算法計算得來的。只要獲得隨機數種子,就能得到相同的偽隨機數數列。所以真隨機數只存在真實的物理世界中,計算機中的絕大多數隨機數都是偽隨機數。想保證偽隨機數的安全,就需要有效的隨機數種子和安全的隨機數生成器。區塊鏈隨機數的生成方式

區塊鏈是去中心化的系統,理論上,產生的隨機數比中心化系統會更公平,但是在去中心化環境里,如果有巨額利益,更容易遭到黑客攻擊,所以為了保證區塊鏈隨機數的安全性,誕生了各種不同的隨機數生成機制。VRFVRF是一種可驗證的隨機數生成方式。目前主要是基于POS共識算法的區塊鏈項目在使用,包括Algorand、Cardano。在Algorand、Cardano中,VRF是產生隨機數的關鍵。VRF可以根據任意的一個輸入,輸出一個隨機數。在VRF中特別設計了一個非交互的零知識證明過程,可以用來驗證隨機數的正確性,以及某隨機數是由某節點生成的。VRF中主要包含四個環節:生成公私鑰對生成隨機數輸出計算零知識證明驗證隨機數輸出

聲音 | PeckShield: EOS競猜游戲EOSlots遭隨機數破解:今天晚上21:16~21:21之間,PeckShield安全盾風控平臺DAppShield監測到黑客向EOS競猜類游戲EOSlots發起連續攻擊,并獲利數千EOS,目前游戲已經暫停運營。PeckShield安全人員初步研究發現,此次是因游戲合約隨機數問題被攻破。在此提醒,開發者應在合約上線前做好安全測試,特別注意隨機數生成算法的安全問題,必要時可尋求第三方安全公司協助,幫助其完成合約上線前黑盒測試及基礎安全防御部署。[2019/4/4]

生成隨機數的節點將自己的私鑰,作為生成隨機數的輸入的一部分,然后在本地輸出隨機數和零知識證明。其他節點可以利用生成隨機數的節點的公鑰、輸入、輸出,驗證隨機數和生成者身份的真假。

得到隨機數之后,就需要用生成的隨機數來挑選參與出塊的節點。最簡單的方式是在全網設置一個公認的臨界值M,假設某個節點生成的隨機數R大于臨界值M,系統就允許節點參與下一步的出塊任務。但是這種方案沒有辦法防止女巫攻擊,所以現在大部分VRF抽簽方案都會基于權益進行票數分配,然后設計抽簽算法,完成后續的共識過程。RandaoRandao基于區塊鏈技術,提供開源、去中心化、可證公平的隨機數生成服務。Randao的目標是滿足隨機數生成不可控制和不可預測的基本特性的同時,使個體可以參與隨機數的生成,保證隨機數具備可參與性,利用區塊鏈透明和不可逆的特點,保證結果的可證公平性。Randao主要采用了CommitReveal和BLS。CommitReveal其缺點主要是生成隨機數的速度較慢。在以太坊中,從接到隨機數生成請求,到生成隨機數,至少需要10個塊以上的時間,目前耗時在3分鐘以上;因為需要參與者多次發送交易提交數據,其生產和使用成本較高。但該方案的優勢在于,其參與門檻基本為零,任何人都可以隨時加入一個隨機數的生成過程,在防止串謀和可證公平方面擁有一定優勢。BLS簽名方案是對CommitReveal的一種補充,因為生成過程在鏈外組織,響應速度快,通常只需要一個區塊的時間就能生成隨機數;消費者發起隨機數生成請求,生產者在下一個塊寫入隨機數,只需要發送兩次交易就可以完成隨機數的生成和調用,生產和使用成本都很低,適合用于高頻,同時對防串謀要求不高的場景。閾值簽名機制Dfinity是一個公鏈項目,目標是成為“互聯網電腦”,實現軟件和服務在其公有云的運轉。在Dfinity中,隨機數是整個共識機制正常運轉的核心,其采用的閾值簽名機制結合了VRF和BLS簽名機制,是生成隨機數的一種有效方式。閾值簽名機制主要由三部分組成:輸入、輸出、閾值機制。輸入是一組成員的私鑰,輸出是一個隨機數。閾值機制能夠保證的是,只要接收來自成員的輸入數量超過設定值,就可以得到一個確定的隨機數,但是在得到小于設定值的輸入數量前,沒有人能夠預測輸出的隨機數是多少。輸出隨機數的過程中使用了VRF,閾值機制中使用了BLS簽名機制。閾值簽名機制結合了VRF和BLS,VRF使其生成的隨機數具備了可驗證性,BLS簽名機制使簽名過程中,沒有節點可以提前預知簽名結果,實現了隨機數的不可操控性,并且很難串謀,是一種不錯的隨機數生成機制。NULSRNGNULSRNG是全球開源社區項目NULS,根據其POC共識算法,專門為DAPP設計的隨機數種子生成機制。NULSRNG的實現方式是基于POC共識的兩段式隨機種子提交生成機制。即每個節點在出塊的同時生成一個隨機種子,并對該隨機種子進行加密處理,將生成的密文包含在區塊頭中,同時獲取該節點上次出塊時生成的256位隨機種子明文。結合區塊頭中的明文和密文,就可以對節點生成的隨機數種子進行驗證,確保不可篡改。

聲音 | PeckShield硅谷研發中心負責人Jeff: 競猜類DApp鏈上隨機數機制存在根本缺陷:在談到為何EOS競猜類游戲很難免疫“交易阻塞攻擊”(CVE-2019-6199)時,PeckShield硅谷研發中心負責人Jeff坦言:“所有競猜類游戲基本都包含隨機數的游戲機制,但本質上隨機數和區塊鏈網絡要求所有分布式節點運算結果保持一致存在內在矛盾。現有隨機數解決方案(鏈上開獎)都采用的是鏈上數據(可能加上了未來等時間因素),一定程度上可以實現偽隨機,但黑客可以搶先算出結果進而實現攻擊。所以,建議所有采用鏈上開獎機制的競猜類DApp務必高度重視“交易阻塞攻擊”潛在的安全風險,在根本解決方案找到之前,應采用block.one官方推薦的隨機數生成方案(包含鏈下隨機種子),做好安全布控或搭建風控系統,排查潛在被攻擊的風險。[2019/1/17]

NULSRNG基于底層共識實現,由全部共識節點參與,這樣的方式增加了節點串謀的難度,采用種子密文和明文兩段式提交的方式,能夠實現種子可驗證和不可篡改。

在NULS上開發的DAPP,可以直接利用底層提供的接口,獲取隨機種子,然后采用自己的隨機算法,生成需要的隨機數數列,不僅可以提高隨機數的安全性,同時使用上也可以做到靈活方便。結語

聲音 | 慢霧預警:攻擊者喊話所有鏈上偽隨機數(PRNG)都可被攻擊:攻擊者 floatingsnow 向自己的子賬號 norealrandom、dolastattack 轉賬并在 memo 中喊話:hi slowmist/peckshield: not only timer-mix random but all in-chain PRNG can be attack, i suggest b1 export new apis (get_current_blockid/get_blockhash_by_id) instead of prefix/num

從賬號名稱和 memo 可知攻擊者對目前 EOS DApp 鏈上隨機數方案了如指掌,攻擊者指出 tapos_block_prefix/tapos_block_num 均不安全,并提議 b1 新增 get_current_blockid / get_blockhash_by_id 接口。[2019/1/16]

1、在區塊鏈中,隨機數有著非常多的應用場景,隨著區塊鏈技術的不斷發展和完善,人們對區塊鏈隨機數的應用將會不斷增加;2、在區塊鏈領域中,目前已經有許多不同的隨機數生成機制,它們都有著各自的特點;3、意識到隨機數的重要性,越來越多的技術團隊和項目方,開始研究更好的隨機數生成機制,未來將會有更多完善的區塊鏈隨機數生成機制產生。參考文獻:《Randao:VerifiableRandomNumberGeneration》;《Veri?ableRandomFunctions》SilvioMicali,MichaelRabiny,SalilVadhanz;《DFINITYTechnologyOverviewSeriesConsensusSystem》TimoHanke,MahnushMovahedi,DominicWilliams。

動態 | EOS競猜游戲LuckBet遭隨機數攻擊:據 PeckShield 態勢感知平臺12月22日數據顯示:今天凌晨02:10-04:03之間, 黑客(snowredgreen)向LuckBet游戲合約(luckbetadmin)發起攻擊,并將大部分不當EOS獲利轉向火幣交易所賬號(huobideposit)。PeckShield 安全人員跟蹤數據發現,此次攻擊因游戲合約隨機數問題被攻破。[2018/12/22]

Tags:區塊鏈EOSANDRAN區塊鏈域名成交NeosCoinHandshakeData Transaction

比特幣交易所
師太說區塊鏈|2.7 以太坊共識機制的艱難蛻變之路_區塊鏈

文|滅絕師太出品|星球日報羊駝區塊鏈貝克鏈中鏈傳媒鏈證經濟圖|Kira以太坊開啟了區塊鏈2.0時代,讓區塊鏈產生了去中心化、去平臺化的應用.

1900/1/1 0:00:00
清明假期結束后,「家人們」怎么都追「模式幣」去了?_比特幣

編者按:本文來自區塊律動BlockBeats,作者:0x29,Odaily星球日報經授權轉載。從清明假期開始,「模式幣「這個詞開始在幣圈傳開了,「走模式」也成了幣圈的一個新黑話.

1900/1/1 0:00:00
閃電網絡中國“遇冷”_比特幣

編者按:本文來自蜂巢財經News,作者武旭升,Odaily星球日報經授權轉載。3月9日,在閃電網絡白皮書發表3年后,有數字資產錢包應用商上線了閃電網絡功能,這是國內首個上線比特幣閃電網絡錢包的應.

1900/1/1 0:00:00
馬斯克賣了個萌,狗狗幣就漲了30%_狗狗幣

特斯拉CEO埃隆·馬斯克怎么成狗狗幣前任CEO了?今天上午,埃隆·馬斯克發推表示:“狗狗幣的價值可能會有所不同”。目前,馬斯克推特身份介紹為狗狗幣前任首席執行官.

1900/1/1 0:00:00
在區塊鏈的世界里,美國CFTC希望成為一個節點_FTC

編者按:本文來自巴比特資訊,作者:wendy,Odaily星球日報經授權轉載。在華盛頓參與一場區塊鏈峰會時,CFTC主席J.ChristopherGiancarlo發表了題為《數字三要素:技術、.

1900/1/1 0:00:00
一文看懂Kucoin首個IEO項目MultiVAC_ULTI

KuCoin宣布Spotlight上線的首個項目為MultiVAC(MTV),申購將采取先到先得的原則,KuCoin平臺幣KCS將作為申購置換Token.

1900/1/1 0:00:00
ads