在密碼學中,可驗證隨機函數(VRF) 是一個隨機數生成器(RNG),它生成的輸出可以通過密碼驗證為隨機的。可驗證的隨機性對於許多區塊鏈應用程序至關重要,因為它的防篡改不可預測性可以實現令人興奮的遊戲玩法,這是罕見的 NFT,以及公正的結果。
在本文中,我們研究了可驗證的隨機函數是什麼,探討了隨機性如何在區塊鏈中使用,並了解智能合約開發人員如何在他們自己的dApp 中利用安全的隨機源,使用 Chainlink 可驗證隨機函數(VRF).
什麼是可驗證隨機函數(VRF)?
可驗證的隨機函數是一種加密函數,它接受一系列輸入、計算它們並產生偽隨機輸出,以及任何人都可以驗證的真實性證明。
VRF 的輸入通常包括公鑰/私鑰對(也稱為驗證密鑰和秘密密鑰)和種子。創建公鑰/私鑰對並選擇種子。這些值被傳遞到VRF,其中私鑰和種子用於生成隨機數。 VRF 然後輸出一個隨機數以及一個證明。至關重要的是,證明的生成使函數可驗證,同時隱藏私鑰確保數字不可預測。
顧名思義,一個可驗證的隨機函數是由它的核心特徵定義的:
- 可驗證— 任何人都可以驗證VRF 生成的隨機數是否有效。他們需要做的就是檢查證明並驗證哈希輸出的正確性。雖然只有VRF 密鑰的持有者可以計算散列,但任何擁有公鑰的人都可以驗證散列的正確性。
- 隨機的— 對於不知道種子或私鑰且不遵循任何模式的任何人,VRF 的輸出都是完全不可預測的(均勻分佈)。在VRF 中,每個可能的輸出都是等可能的。隨機性是通過以獨特的方式組合種子和私鑰來生成的。
- 功能— VRF 依靠數學算法來生成隨機數和驗證其真實性的證明。對於一個被認為是VRF 的函數,RNG 必須隱藏種子(隱式)以保持其不可預測性,而證明必須是顯式的並且每個人都可以計算(顯式)以確保其可驗證性。
VRF 的歷史
可驗證隨機函數的概念被引入 紙 由著名的計算機科學家和數學家Silvio Micali、Michael Rabin 和Salil Vadhan 於1999 年發表。值得注意的是,Silvio Micali 繼續推出Algorand 區塊鏈,該區塊鏈在其共識機制中使用VRF。
此後,VRF 的開發取得了許多關鍵突破。該技術在2005 年得到了改進,當時Yevgeniy Dodis 和Aleksandr Yampolskiy 通過使用能夠實現更短證明和密鑰的抗碰撞哈希函數來提高其效率。然後在2015 年,Dennis Hofheinz 和Tibor Jager 使用橢圓曲線密碼學創建了一個可證明安全的VRF。而在2019 年,Nir Bitansky 表明VRF 可以用一般原語而不是簡單的代數構造來構造。今天的許多VRF 實施都依賴於這些創新。
有趣的是,研究人員在2020 年提出了一種VRF,它使用基於格的密碼學,其安全性足以防止來自量子計算機的攻擊,這表明VRF 在未來很長一段時間內仍然是一項重要的技術。
VRF 用例
大多數RNG 不會產生可以通過密碼驗證的隨機數,從而使它們容易受到操縱,從而限制了它們的用例。通過保證隨機數的安全性,VRF 解鎖了許多重要的用例,例如:
- 網絡安全— VRF 用於幫助保護域名系統(DNS) 消息。
- 零知識技術——VRF用於零知識證明和零知識數據庫的協議設計。
- 非交互式彩票系統—VRF 為彩票提供可證明的公平和有效結果。
- 可驗證的交易託管方案— VRF 可以幫助支持保持用戶匿名性的自動託管服務。
- 區塊鍊和智能合約——VRF已經成為去中心化協議和應用的重要組成部分。
區塊鏈中的VRF
許多第一層區塊鏈,包括Algorand、Cardano、Internet Computer 和Polkadot,在其共識機制中使用VRF 來隨機選擇區塊生產者。
在區塊鏈技術生態系統的其他地方,智能合約開發人員還需要為其應用程序提供隨機性來源。但是,由於區塊鍊網絡的確定性,鏈上應用程序無法訪問安全的RNG。使用鏈上區塊哈希作為隨機性來源可能會導致區塊鏈礦工/驗證者進行操縱,他們丟棄具有不利哈希的區塊並可以“重新擲骰子”,從而改變RNG 值。幼稚的鏈下解決方案是不透明的,並且無法證明產生的RNG 值是合法的,並且沒有被數據源或預言機節點操縱。
依賴隨機性的精心設計的系統理想情況下希望它對所有合約參與者來說是可證明的公平和同樣不確定的,並且還可以通過預測其結果來降低對手利用合約的風險。
Chainlink VRF
Chainlink VRF 是一個可證明公平且可驗證的RNG,它滿足這些要求,為智能合約提供了一個安全的隨機源,並由預言機節點、用戶或開發團隊無法操縱的加密證明支持。
Chainlink VRF 為開發者提供了廣泛的好處,包括:
- 不可預測性——Chainlink VRF 是不可預測的:沒有人可以預測隨機性來增加他們成功的機率,因為在發出請求時區塊數據是未知的。
- 公平—Chainlink VRF 是公平無偏的,因為隨機數是基於均勻分佈的,這意味著該範圍內的所有數字都有相同的被選中的機會。
- 隨機性—Chainlink VRF 可證明是隨機的,因為它依賴於預先未知的區塊哈希作為內置於VRF 節點中的RNG 的種子。
- 防篡改—Chainlink VRF 是防篡改的,因為沒有人——無論是預言機、外部實體或開發團隊——都不能篡改RNG 流程。
Chainlink VRF 充當用戶和區塊鏈之間的抽象層,使智能合約開發人員能夠訪問他們可以在其應用程序中使用的安全隨機源。
Chainlink VRF 是Goldberg 的可驗證隨機函數(VRF) 的實現,如本文所述 紙. 對於每個隨機請求,Chainlink VRF 會生成一個或多個隨機值以及這些值是如何確定的加密證明。證明在任何消費應用程序可以使用之前在鏈上發布和驗證。
Chainlink VRF 用例
Chainlink VRF 被用作Web3 生態系統中鏈上隨機性的安全來源,包括領先的GameFi、DeFi 和NFT 項目。
鏈環 VRF 用例 包括:
- 將隨機屬性分配給NFT—Chainlink VRF 可以幫助在鑄造過程中創建獨特的NFT。 軸無限 使用Chainlink VRF 為每個Origin Axie 提供一組隨機特徵。
- 公平分配稀有NFT—Chainlink VRF 提供了可審計的證據,證明NFT 是公平分配的。 無聊猿遊艇俱樂部(BAYC) 使用Chainlink VRF 將其新的Mutant Serum NFT 隨機分配給當前的BAYC NFT 持有者。
- 不可預測的遊戲結果——開發者可以利用隨機結果構建更有趣的區塊鏈遊戲。例如, 塊礦 使用Chainlink VRF 在其Next Card 遊戲中支持隨機抽獎。
- 公平選擇參與者— 分發令人垂涎的物品,例如獨家活動的門票,選擇奢侈品的預售贏家,並選擇受歡迎的公開銷售的參與者。例如, 半人馬座 使用Chainlink VRF 選擇參與者進行鏈上公開發售。
- 隨機選擇獲勝者— 使用Chainlink VRF,用戶將能夠驗證每個獲勝者的選擇是否具有無偏見的隨機性來源。例如, 一起泳池 是一種無損儲蓄遊戲,它匯集用戶存款並將所賺取的利息分配給每日和每週抽獎中隨機選擇的獲勝者。
結論
在區塊鏈領域,Chainlink VRF 是行業領先的安全隨機數生成器(RNG),使智能合約和鏈下系統能夠訪問可驗證的防篡改隨機源。
提供加密安全和可驗證的隨機源使開發人員能夠構建比當前替代方案更開放、更易於訪問和防篡改的系統。最終,Chainlink VRF 和智能合約有助於實現區塊鏈的願景,即讓社會從基於信任的弱系統轉向更強大的基於數學的系統 密碼真理.
如果您是開發人員並希望快速將您的應用程序連接到 Chainlink VRF訪問 開發者文檔 並加入技術討論 不和諧. 如果您想安排電話以更深入地討論集成,請聯繫 這裡.