一文讀懂隨機數對於Web3的重要意義

“隨機性”指沒有規律或不可預測的狀態。比如扔硬幣、指紋圖案以及雪花的形狀都是不可預測的。大自然中充滿了隨機性,但在計算機環境中卻並非如此。計算機的一大特點是確定性,因此僅靠一組算法可能無法實現真正的隨機性。

另外,雖然單個隨機事件無法預測,但反復發生的事件出現不同結果的概率卻是可以預測的。比如,擲一次色子的結果無法預測,但擲100次色子出現不同結果的概率是幾乎可以準確計算出來的。

過去幾十年中,隨著互聯網上經濟、社會和文化活動日益頻繁,有越來越多人呼籲在網上模擬出真實世界的不可預測性,並為數字化系統生成不可預測的結果。要實現不可預測性,就必須人為製造稀缺性,打造更穩健的安全機制,並執行完全中立的決策流程。

本文將詳細闡述隨機數的概念和類型,並探討隨機數對區塊鍊和Web3帶來的挑戰。

隨機數真的是隨機的嗎?

Chainlink VRF擁有以下特質,因此得以成為行業標準:

  • 不可預測——提前無法得知結果。

  • 公正——每個結果出現的概率都必須相同。

  • 可驗證——結果必須可以獨立驗證。

  • 防篡改——創建隨機數的流程無法被任何一方操縱。

  • 無法復現——創建隨機數的流程無法復現,除非原始數列保留。

計算機是可預測的環境,由預設的電路、元件以及預定義的代碼和算法組成,因此在特定條件下是有可能預測出計算機創建的隨機數或隨機數列的。計算機永遠都能基於一個輸入生成特定輸出,這就好像你在計算器裡輸入2+2,結果永遠都是4。因此,計算機無法生成真正的隨機數。

為了解決這一問題,隨機數生成器(RNG)通常會採用seed作為計算的初始值(輸入),並用來生成計算結果。這個seed可以基於任何難以復現的信息創建,比如照片中捕捉的數據、一天中的時間點、用戶鼠標移動軌跡或熔岩燈的運動軌跡。

然而,即使我們說隨機數生成過程很難復現,也不意味著技術上完全沒辦法復現。如果使用多個難以復現的seed作為初始值來生成隨機數,那麼最終結果會相對更可靠,但仍有理由相信這些seed最終還是可能被破解。即使使用同樣的算法來生成不同seed,結果仍然無法完全保障隨機性。那麼問題就來了:什麼才是真正的隨機數?

偽隨機數生成器VS 真隨機數生成器

通常我們可以將隨機數生成器分為兩類,即:偽隨機數生成器(PRNG)和真隨機數生成器(TRNG)。 PRNG採用數學算法來生成隨機值,而TRNG則採用環境噪音等物理數據來生成隨機數。

PRNG底層是一組算法,應用數學共識創建隨機數列,來模擬真正的隨機數。由於計算機是獨特的系統,因此這些數字對人來說確實看上去像是隨機數,但實際上它們可能存在某些不易察覺的規律,而通過大量統計分析就可能發現這些規律。

TRNG採用不可預測的物理數據,比如宇宙噪音、同位素放射性衰變以及無線電波中的靜電,基於自然現像生成隨機數。 TRNG從物理現像中“提取”隨機數,因此這種隨機數生成方案被認為比計算機更加穩健且不可預測。但即使如此,TRNG使用的數據仍然有可能具有確定性。如果有人監測TRNG掃描的物理環境,那麼他們也可以捕捉到同樣的信號,並破解隨機數列。

TRNG生成的隨機數被破解的概率相對較小,但這種方案的成本也相對較高,因此無法大規模應用。 PRNG相比TRNG還有一個優勢,那就是可以復現。觀察者如果知道數列的起始點,就可以復現同一個隨機數列,因此就可以驗證隨機數的生成過程,這對於使用隨機數的Web3應用來說非常有幫助。

隨機數對區塊鏈有哪些重要價值?

安全的隨機數是區塊鏈加密技術的基礎,加密哈希函數是cryptocurrency錢包創建私鑰的關鍵要素,保障任何人都無法破解錢包的私鑰。據估計,比特幣協議使用的哈希函數SHA-256中可能的私鑰組合接近可觀測宇宙中的原子數量。

分佈式共識在底層受到了吞吐量和延遲的限制。吞吐量指一段時間內可以發送的消息數量;延遲指網絡發送一條消息所需要的時間。一條公鏈上有幾千個分佈式的節點共同達成共識,要每個節點都向所有其他節點發送消息是不現實的。為了盡量減少達成共識所需的消息數量,比特幣採用了工作量證明(PoW)作為隨機數來源,決定哪個節點可以向區塊鏈添加新區塊。礦工需要解開高難度的計算題,才能成功向區塊鏈添加新區塊,因此多個節點在同一時間解出計算題的概率非常低,這樣將降低網絡達成共識所需發送的消息數量。

權益證明(PoS)系統中通常也使用隨機數,以公平且不可預測的方式分配驗證節點的任務。如果惡意攻擊者可以操縱篩選流程中使用的隨機數,那麼就可以提高自己被選中的機率,並因此威脅整個網絡的安全性。

由於區塊鍊是公開透明的,所有參與者都可以看到所有輸入和輸出,因此也可能預測出隨機生成的數列。比如,一些生成鏈上隨機數的方案(如:基於區塊哈希生成隨機數)存在明顯的安全漏洞。如果礦工或驗證節點想要操縱隨機數,就可以選擇不發布對他不利的區塊,從而影響隨機數生成。這樣做基本上等於不斷重新擲色子,直到最終結果對自己有利為止。

而另一方面,鏈下RNG解決方案缺乏透明性,用戶只能相信中心化的數據提供商不會操縱結果,而且無法判斷隨機數的真偽。隨著RNG解決方案保障的價值越來越高,這兩種方案都越來越令人擔憂。

Web3的隨機數

當談到區塊鏈遊戲、NFT項目或數字藝術時,人們可能不會意識到隨機數的重要性。 Web3需要安全的隨機數來源來實現公平且不可預測的結果,比如決定元宇宙裡游戲道具的擺放位置;在生成式藝術的算法中添加變量;創建寶箱內容;鑄造NFT;為贏家發放獎勵;驗證活動門票;或定期為DAO治理委員會選出成員。

這些系統都具有極大的實際價值,如果因為隨機數方案存在漏洞而導致結果被操縱,那麼一部分參與者將因為信息不對稱而遭到不公平對待。這往往會導致惡性循環,最終導致經濟活動和社會協調的底層經濟機制和博弈機製完全崩潰。

要獲得完全防篡改、不可預測且所有人都可以驗證的隨機數並非易事。然而,Web3行業本著提升公平性和透明性的初心,推出了許多應用和協議,並超越了Web2同類應用。隨機數可以保障公平和公正性,並且可以安全地進行驗證,這解鎖了一系列創新應用,包括區塊鏈遊戲、NFT、去中心化治理、Web3社交媒體、慈善募款以及社交通證等。

Chainlink VRF

Chainlink可驗證隨機函數(VRF) 為RNG解決方案建立了行業標準,智能合約和鏈下系統可以利用鏈下計算和加密技術獲得可驗證的隨機數來源。 VRF將區塊數據(注:當請求發起時區塊數據未知)與預言機節點預先提交的私鑰結合,生成隨機數以及加密證明。應用只接受附加了有效加密證明的隨機數,而只有防篡改的VRF流程才能生成有效的加密證明。

Chainlink VRF採用鏈下計算和加密技術,打造防篡改的隨機數來源

Chainlink VRF自發布以來已經完成了650多萬次請求,輸出公平公正的隨機數。目前,Chainlink VRF為Avalanche、以太坊和Polygon等各個區塊鏈上超過3400個智能合約提供可驗證的隨機數。

Chainlink VRF擁有以下特質,因此得以成為行業標準:

  • 不可預測——任何人都無法預測Chainlink VRF生成的隨機數,因為在請求隨機數時無法得知區塊數據。

  • 公平公正——基於均勻分佈生成隨機數,也就是說所有數字都有同樣的選中概率。

  • 可驗證——用戶可以在鏈上驗證Chainlink VRF的加密證明,以保障接入Chainlink VRF應用的安全性。

  • 防篡改——任何人,包括預言機、外部方或開發團隊,都無法操縱隨機數生成過程。如果VRF流程被操縱,節點就無法創建有效的加密證明,智能合約因此也不會接受隨機數輸入。

  • 公開透明——由於代碼是開源的,因此用戶可以驗證隨機數生成過程。

Chainlink VRF不僅擁有上述特質,還建立了一系列安全機制,並基於用戶反饋持續改進。正因如此,接入Chainlink VRF的應用可以利用防篡改的RNG生成可驗證公平性且不可預測的隨機結果,並解鎖豐富的功能和體驗。

如果你是一名開發者,並希望快速將智能合約連接至Chainlink VRF,請查看開發者文檔並加入我們在Discord上的技術討論群。如果你希望安排一次電話會議具體討論集成細節,請點擊此處聯繫我們。

Total
0
Shares
Related Posts