一文讀懂可驗證隨機函數VRF

可驗證的隨機數可以用來打造刺激的遊戲體驗,鑄造罕見的NFT,並保障公平的結果。

原文標題:《Verifiable Random Function (VRF)》

撰文:Chainlink

在密碼學中,可驗證隨機函數(VRF)是一種隨機數生成器(RNG),可以通過加密手段來驗證隨機性。可驗證的隨機數對許多區塊鏈應用來說都是不可或缺的要素,因為這類隨機數具有防篡改性和不可預測性,可以用來打造刺激的遊戲體驗,鑄造罕見的NFT,並保障公平的結果。

本文將討論什麼是可驗證隨機函數,研究隨機數在區塊鏈上的應用,以及智能合約開發者如何利用Chainlink 可驗證隨機函數(VRF)在dApp 中獲得安全的隨機數來源。

什麼是可驗證隨機函數(VRF)?

可驗證隨機函數是一種加密函數,基於數據輸入生成偽隨機數並附上一份證明,任何人都可以對其進行驗證。

VRF 的數據輸入通常包含一對公鑰和私鑰(也稱為「verification key」和「secret key」)以及一個seed。公鑰和私鑰是生成的,而seed 則是選擇的。將這些數值一起輸入VRF,用私鑰和seed 來生成隨機數。然後,VRF 會生成一個隨機數以及一份證明。最關鍵的一步是生成證明,因為用戶可以通過證明來驗證函數。而將私鑰保密則可以確保隨機數無法被預測。

可驗證隨機函數的關鍵特質都寫在了它的名字裡:

  • 可驗證——任何人都可以驗證VRF 生成的隨機數是否有效,只需要查看證明並驗證哈希計算結果是否正確即可。只有持有VRF 私鑰的人才能進行哈希運算,而任何持有公鑰的人都可以驗證哈希運算結果。

  • 隨機——對於不知道seed 或不持有私鑰的人來說,VRF 輸出的結果完全不可預測且概率均勻分佈,沒有任何規律可循。 VRF 輸出的每個結果都擁有同樣的概率,並使用seed 和私鑰,以獨特的方式生成隨機數。

  • 函數——VRF 使用數學算法來生成隨機數以及證明。 VRF 將seed 隱藏起來,以保障其不可預測性;同時,將隨機數證明公開,以供所有人查看和驗證。

VRF 的發展歷史

可驗證隨機函數這個概念是在1999 年由知名計算機科學家和數學家Silvio Micali、Michael Rabin 以及Salil Vadhan 在論文中提出的。值得一提的是,Silvio Micali 後來創建了Algorand 區塊鏈,Algorand 在共識機制中也使用了VRF。

之後,VRF 技術出現了一系列關鍵突破。 2005 年,Yevgeniy Dodis 和Aleksandr Yampolskiy 使用了抗碰撞哈希函數實現了更短的證明和密鑰,因此提升了VRF 的效率,並推動了這項技術的發展。 2015 年,Dennis Hofheinz 和Tibor Jager 使用橢圓曲線加密技術開發了可驗證安全性的VRF。 2019 年,Nir Bitansky 提出了VRF 可以用一般原語構造,而不用簡單的代數構造。如今許多VRF 方案都建立在這些創新之上。

2020 年,研究者提出了一種使用Lattice 加密的VRF 方案。這個方案的安全性足以抵禦量子計算機發起的攻擊,這意味著VRF 將在未來仍是一項重要技術。

VRF 的應用場景

大多數RNG 都無法生成可以通過加密技術進行驗證的隨機數,因此這類RNG 容易受到操縱,導致其應用場景受限。 VRF 如果能保障隨機數的安全性,就可以解鎖一系列關鍵的用例,其中包括:

  • 網絡安全——使用VRF 保障域名系統(DNS)消息傳輸的安全性。

  • 零知識技術——VRF 可以用來打造零知識證明和零知識數據庫。

  • 非交互式抽獎系統——VRF 可以為抽獎遊戲保障公平、可驗證且高效的結果。

  • 可驗證的交易託管機制——VRF 可以支持自動託管服務,保障用戶的匿名性。

  • 區塊鍊和智能合約——VRF 已經成為了去中心化協議和應用重要的組成部分。

區塊鏈中的VRF

包括Algorand、Cardano、Internet Computer 和Polkadot 在內的許多L1 區塊鏈都在共識機制中使用了VRF 來隨機選擇出塊節點。

另外,區塊鏈智能合約開發者在開發應用時也需要隨機數。然而,由於區塊鍊網絡具有高確定性,鏈上應用往往無法獲得安全的隨機數生成器。使用鏈上區塊哈希生成隨機數有可能被區塊鏈礦工/ 驗證者操控,他們可以放棄對他們不利的區塊,重新「擲色子」,以改變隨機數。而鏈下隨機數則缺乏透明性,而且無法驗證隨機數是否公正且沒有受到數據源或節點的操控。

可以利用鏈上生成隨機數方案的漏洞謀取私利

穩健的隨機數生成方案意味著隨機數的公平性可以得到驗證,所有參與者都擁有同樣的概率,並且攻擊者不太可能通過預測隨機數來操縱智能合約。

Chainlink VRF

Chainlink VRF 是公平、可驗證的RNG,可以滿足上述需求,為智能合約提供具有加密證明的安全隨機數,無法被預言機節點、用戶或開發團隊篡改。

視頻相見:https://blog.chain.link/verifiable-random-function-vrf/

Chainlink VRF 可以為開發者帶來以下好處:

  • 不可預測性——Chainlink VRF 無法被預測。由於在請求隨機數時無法得知區塊數據,因此任何人都無法通過預測隨機數來提高自己的成功概率。

  • 公平性——Chainlink VRF 非常公平公正,因為隨機數是均勻分佈的,所有數字都有同樣的概率被選中。

  • 隨機性——Chainlink VRF 的隨機性可以得到驗證,因為其使用區塊哈希作為seed 來生成隨機數,而區塊哈希無法提前預知。

  • 防篡改性——Chainlink VRF 具有防篡改性,任何人,包括預言機、外部方或開發團隊,都無法操縱隨機數生成流程。

Chainlink VRF 是用戶和區塊鏈之間的抽象層,可以幫助智能合約開發者訪問安全的隨機數來源。

Chainlink VRF 採用了開源代碼和加密技術,生成防篡改的隨機數,用戶可以驗證隨機數的真實性

Chainlink VRF 採用了Goldberg 的可驗證隨機函數(VRF),詳情請查看這篇論文。 Chainlink VRF 會針對每一個隨機數請求生成一個或多個隨機數,並附上一份隨機數的加密證明。這份證明會被發佈到鏈上並在鏈上得到驗證,驗證通過後才會使用隨機數。

Chainlink VRF 的應用場景

Chainlink VRF 目前正在為Web3 生態中的眾多應用提供安全的鏈上隨機數來源,其中包括GameFi、DeFi 以及NFT 等項目。

Chainlink VRF 的應用場景包括:

  • 為NFT 分配隨機屬性——Chainlink VRF 可以用來鑄造特殊的NFT。比如,Axie Infinity 使用Chainlink VRF 為每個Origin Axie 賦予隨機屬性。

  • 公平地分配罕見NFT——Chainlink VRF 可以證明NFT 是公平分配的,且證明可以得到驗證。比如,Bored Ape Yacht Club(BAYC) 使用Chainlink VRF 向BAYC NFT 持有者隨機分配變異血清NFT。

  • 遊戲結果無法預測——開發者可以利用隨機數打造出更好玩的區塊鏈遊戲。比如,Blockmine 使用Chainlink VRF 在Next Card 遊戲中隨機抽取卡牌。

  • 公平地選出參與者——發放熱門活動門票,抽取奢侈品預售的買家,以及選出熱門公開發售活動的參與者。比如,Centaur 使用Chainlink VRF 選出鏈上公開發售活動的參與者。

  • 隨機選出中獎者——Chainlink VRF 可以讓用戶驗證中獎者的篩選流程是否公平公正。比如,PoolTogether 是一個無損儲蓄遊戲,將用戶存款放在一個資金池中,並每天和每週展開抽獎,將池子的收益隨機分配給中獎者。

PoolTogether 利用Chainlink VRF 隨機選出無損儲蓄遊戲的中獎者

總結

Chainlink VRF 是區塊鏈行業領先的安全隨機數生成器(RNG),為智能合約和鏈下系統提供可驗證且防篡改的隨機數來源。

Chainlink VRF 通過加密技術為開發者保障隨機數的安全性和可驗證性,幫助他們打造出更加開放、可訪問且防篡改的系統。 Chainlink VRF 和智能合約將實現區塊鏈的最終願景,基於加密事實打造出更加強大的算法系統,取代當前基於信任的薄弱系統。

Total
0
Shares
Related Posts