隨機數在區塊鏈中的應用

買賣虛擬貨幣


近日,og無涯社羣聯合創始人紅軍大叔受邀在platon中文telegram群參加快閃活動,向社羣成員分享了關於隨機數的小知識。


近日,og無涯社羣聯合創始人紅軍大叔受邀在platon中文telegram群參加快閃活動,向社羣成員分享了關於隨機數的小知識,我們將其分享內容奉上以餮讀者。

01什麼是隨機數?

在參與抽獎或抽樣的過程中,我們經常聽到“隨機數”這個詞。隨機數在密碼學中有著非常基礎且重要的地位,常用於金鑰和安全引數生成。而在日常生活中,隨機數也是保障公平性的重要手段,廣泛應用於抽樣、抽籤、抽獎等場景當中。隨機數在區塊鏈中也應用廣泛,除了金鑰生成等傳統安全場景,在共識機制、零知識證明等熱門場景中也發揮著重要的作用,保護著區塊鏈的安全。

首先我們來說隨機數是什麼。隨機數並不是一個具體的數,而是在透過隨機數生成器產生的一個或一組數的序列。這個序列所能出現的元素來自確定的集合,每次選出的元素不可預期,但元素出現的概率恆定的(一般是等概率的)。譬如說扔一枚六面均勻的骰子,結果不可預期,但每個面的概率都是相等的,每次擲出的結果就可以作為一個隨機數生成的方法。

真隨機數一般來自物理世界的隨機行為,需要進行噪聲蒐集,而在電腦科學中,一般使用確定性的演算法來模擬隨機數的生成,也稱偽隨機數。對偽隨機數的檢測非常重要,全面、完備的檢測可以避免演算法缺陷或人為後門造成的風險。目前常用的隨機數檢測標準有 nist sp 800-20和gb/t 32915-2016 等。

需要補充的是,在nist這份標準提供的參考實現中,就曾被懷疑植入過後門。

dual_ec_drbg,目前該推薦實現已經被刪除。而在密碼學重要會議crypto 2020中,也有一篇對nist ctr-drbg這個隨機數生成器的安全分析,指出了其缺陷並給出了修復方法。而在會議接受的論文裡,研究隨機性相關問題的論文多達6篇。這都說明隨機數的問題並不簡單,也馬虎不得。

02 隨機數與區塊鏈應用

在區塊鏈中,由於較難從物理世界中獲取隨機噪聲,生成隨機數的難度更大。

目前一般的思路是透過幾種不同策略組合使用:一是透過多方協同生成;二是透過雜湊函式等隨機預言機引入隨機性;三是透過承諾-揭示協議降低參與方作弊可能;四是引入門限協議或經濟約束提高產生隨機數的成功率。

其中,安全多方計算技術是產生高質量的鏈上隨機數的重要基礎技術。

引入門限協議,透過秘密共享或門限簽名的方式,可以避免隨機數生成方案因為一個參與方沒有完整執行流程而失敗,具備一定的容錯性,提高隨機數產生的成功率。引入經濟約束,可以避免參與方透過拒絕揭示的方式影響隨機數結果,對惡意的參與方進行懲罰。

platon基於安全多方計算技術,可以讓多方不可抵賴地協同生成隨機數,更好地為鏈上隨機數提供解決方案。

來源:原創文章,作者:platon雲圖


免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读