確保不可預測的情況:Web3 遊戲中的隨機數技術

新手1/26/2024, 6:03:41 AM
本文解釋了 Web3 中對真隨機數生成器 (TRNG, True Random Number Generator) 的必要性,並簡要介紹了破解僞隨機數生成器 (PRNG, Pseudo-Random Number Generators ) 的理論方法。

每個玩家都想戰勝困難。但實際上很少有人這樣做。您是否想過如何打敗賭場的老虎機?或者說如何在靠運氣的Web3遊戲中取勝?在本文中,我們將探討隨機性在 Web3 中扮演的角色、是否有可能擊敗隨機數生成器 (RNG),以及如何破解 RNG。

在浩瀚的 Web3 領域,隨機性不僅僅是偶然。它是各種場景中的關鍵元素,影響從遊戲體驗到關鍵區塊鏈功能的結果。

隨機性在 Web3 中發揮作用的地方

在 Web3 中,隨機性是影響各個方面的基本力量。一個突出的領域是遊戲領域,在特定位置揭開稀有遊戲內物品的機會取決於隨機數生成器的機制。

這些隨機遭遇通常決定了玩家擊敗對手後的獎勵體驗。

彩票是隨機性的典型例子,需要一個明確透明且可驗證的隨機過程,尤其是在公平和開放至關重要的 Web3 生態系統中。如果沒有,抽籤可能只對特定羣體或球員有利。

此外,通過 RNG 隨機選擇區塊生產者在某些第一層區塊鏈中至關重要。如果這個選擇過程缺乏可驗證的隨機性並表現出可辨別的模式,區塊生產者可能會利用這一點來發揮自己的優勢,戰略性地生產符合其利益的區塊。此類行爲損害了網路的安全,凸顯了真正隨機和公正的選擇機制在 Web3 區塊鏈操作中的關鍵作用。

雖然隨機性在 Web3 遊戲和 “自治世界 “中扮演着如此重要的角色,但必須區分使用算法生成隨機數序列的僞隨機數發生器 (PRNG) 和使用物理過程以提高安全性的真隨機數發生器 (TRNG)。

爲什麼可以預測隨機數

由於其算法固有的特定漏洞和模式,預測僞隨機數生成器 (PRNG) 生成的數字可能是可行的。如果生成器的初始種子(起點)和狀態(當前條件)已知,PRNG 的生成過程遵循可以利用的模式。

讓我們更深入地了解“種子”和“狀態”在這種情況下的含義。種子是一個關鍵輸入,啓動隨機數生成過程。它可以是像當前時間一樣簡單的東西。狀態是指生成器的當前狀況,它隨着生成的每個數字而演變。了解初始狀態可以預測後續數字,在不可預測性至關重要的情況下會帶來重大的安全風險。

RNG 的運作方式

此外,使用集中式 RNG 源會帶來額外的漏洞。集中式系統成爲單點故障,使其成爲惡意攻擊的主要目標。歷史事件表明,暴力攻擊可以破壞這些系統。

攻擊者可以用大量隨機猜測淹沒中央服務器,並進行增量調整來微調他們的預測,最終提高猜測下一個生成的隨機數的準確性。

這些漏洞強調了在各種應用程序中需要更安全和去中心化的 RNG 解決方案,特別是在數據完整性和隨機性至關重要的 Web3 領域。

利用 RNG 漏洞:理論方法

通過假設檢驗尋找種子

利用 RNG 的第一步是發現種子,這是數字生成的起點。這個過程涉及制定和測試有關潛在種子來源的各種假設。例如,如果種子的假設是 RNG 運行的時間,那麼在一致的時間生成數字並分析輸出的模式可以證實或反駁該假設。可以應用先進的統計技術來檢測可能不會立即顯現的微妙模式,從而提高種子預測的準確性。

狀態分析和逆向工程

除了識別種子之外,了解 RNG 算法內的狀態轉換也至關重要。通過分析狀態如何隨着生成的每個數字而變化,可以對 RNG 算法進行逆向工程。該方法涉及復雜的數學和計算技術,包括算法分析和潛在的密碼逆向工程,具體取決於 RNG 的復雜性。

利用機器學習進行模式識別

機器學習是人工智能 (AI) 的一個子集,擅長破譯大型數據集中的復雜模式。此功能超出了簡單的模式識別範圍,使算法無需顯式編程即可學習和適應。一個突出的例子是谷歌的 AlphaGo。這個人工智能系統接受了棋盤遊戲圍棋的訓練,通過學習大量的遊戲數據掌握了圍棋,最終通過預測世界冠軍的走法超越了世界冠軍。

該原理直接適用於分析 RNG 輸出。機器學習算法可以處理 RNG 生成的大量數字數據集,以檢測潛在模式,包括通過傳統分析方法可能不明顯的細微不規則性和算法重置。

通過在足夠大的數據集上進行訓練,機器學習模型可以識別這些 RNG 的循環性質,包括它們的重置點和輸出模式。了解這些模式可以預測並可能操縱未來的 RNG 輸出。當 RNG 用於可預測性可能導致安全漏洞或不公平優勢的環境(例如遊戲或加密應用程序)時,此功能尤其重要。

攝影:米格爾·阿。帕德裏南:https://www.pexels.com/photo/dominoes-585293/

密碼分析

RNG 的密碼分析是一種多面向的方法,涉及仔細審查其密碼設計和實現的各個方面。這個過程從對熵源的徹底檢查開始,熵源(entropy sources)是隨機性的原材料。熵的質量、它的收集方法以及收集的速度是至關重要的因素;低質量的熵或可預測的收集方法可能會削弱 RNG 的輸出。

接下來,檢查密碼算法本身對已知攻擊的抵抗力。這包括統計分析以檢測隨時間推移出現的任何偏差或模式,以及針對已知的密碼分析技術(如差分密碼分析或線性密碼分析)測試算法。這裏的目標是確保算法不會產生受到種子或狀態的某些位不成比例影響的輸出。

此外,RNG 在軟件或硬件中的實現可能會引入額外的漏洞。這部分分析涉及代碼審核,以查找可能損害隨機性的錯誤或疏忽。攻擊者可以利用熵混合不足、狀態變量的可預測增量或播種不當等缺陷。密碼分析還擴展到 RNG 的操作環境,檢查定時攻擊或功率分析等旁路漏洞,攻擊者可以通過觀察系統的間接特徵來推斷內部狀態。

可驗證隨機且防篡改的 RNG

當 Randcast 適配器合約收到來自 DApp 或 Web3 遊戲的隨機性請求時,該過程開始。然後,它啓動 BLS-TSS(Boneh-Lynn-Shacham 閾值籤名方案)任務,將鏈上事件發送到 ARPA 網路,該網路由多個能夠執行這些任務的節點組成。

網路確認此事件並完成任務,隨後將籤名作爲隨機種子返回到 Randcast 適配器合約。然後,該種子會轉換爲所需的隨機類型(無論是擲骰子、洗牌數組還是任何其他形式),並在後續 DApp 或 Web3 遊戲邏輯中使用。

Randcast 有何不同

Randcast 的方法在可靠隨機性至關重要的場景中尤其重要。在區塊鏈的確定性環境中,智能合約的結果取決於輸入,可以輕鬆操縱生成隨機數。例如,使用區塊哈希或時間戳作爲隨機源可能會被礦工利用以謀取利益。 Randcast 通過去中心化網路生成隨機數來規避這個問題,確保過程的透明度和可驗證性。

Randcast 設計的一個重要方面是其抗篡改能力。傳統的單實體隨機性生成存在被篡改的風險。Randcast 利用 ARPA 網路的集體能力規避了這一問題。通過 BLS Threshold 籤名任務,它可以確保任何單個節點都無法影響最終的隨機性結果。這種分散式方法不僅增強了安全性,還維護了隨機性生成的完整性和公正性,使 Randcast 成爲 Web3 開發人員不可或缺的工具。

參考連結

聲明:

  1. 本文轉載自[hackernoon],著作權歸屬原作者[Felix Xu],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。

確保不可預測的情況:Web3 遊戲中的隨機數技術

新手1/26/2024, 6:03:41 AM
本文解釋了 Web3 中對真隨機數生成器 (TRNG, True Random Number Generator) 的必要性,並簡要介紹了破解僞隨機數生成器 (PRNG, Pseudo-Random Number Generators ) 的理論方法。

每個玩家都想戰勝困難。但實際上很少有人這樣做。您是否想過如何打敗賭場的老虎機?或者說如何在靠運氣的Web3遊戲中取勝?在本文中,我們將探討隨機性在 Web3 中扮演的角色、是否有可能擊敗隨機數生成器 (RNG),以及如何破解 RNG。

在浩瀚的 Web3 領域,隨機性不僅僅是偶然。它是各種場景中的關鍵元素,影響從遊戲體驗到關鍵區塊鏈功能的結果。

隨機性在 Web3 中發揮作用的地方

在 Web3 中,隨機性是影響各個方面的基本力量。一個突出的領域是遊戲領域,在特定位置揭開稀有遊戲內物品的機會取決於隨機數生成器的機制。

這些隨機遭遇通常決定了玩家擊敗對手後的獎勵體驗。

彩票是隨機性的典型例子,需要一個明確透明且可驗證的隨機過程,尤其是在公平和開放至關重要的 Web3 生態系統中。如果沒有,抽籤可能只對特定羣體或球員有利。

此外,通過 RNG 隨機選擇區塊生產者在某些第一層區塊鏈中至關重要。如果這個選擇過程缺乏可驗證的隨機性並表現出可辨別的模式,區塊生產者可能會利用這一點來發揮自己的優勢,戰略性地生產符合其利益的區塊。此類行爲損害了網路的安全,凸顯了真正隨機和公正的選擇機制在 Web3 區塊鏈操作中的關鍵作用。

雖然隨機性在 Web3 遊戲和 “自治世界 “中扮演着如此重要的角色,但必須區分使用算法生成隨機數序列的僞隨機數發生器 (PRNG) 和使用物理過程以提高安全性的真隨機數發生器 (TRNG)。

爲什麼可以預測隨機數

由於其算法固有的特定漏洞和模式,預測僞隨機數生成器 (PRNG) 生成的數字可能是可行的。如果生成器的初始種子(起點)和狀態(當前條件)已知,PRNG 的生成過程遵循可以利用的模式。

讓我們更深入地了解“種子”和“狀態”在這種情況下的含義。種子是一個關鍵輸入,啓動隨機數生成過程。它可以是像當前時間一樣簡單的東西。狀態是指生成器的當前狀況,它隨着生成的每個數字而演變。了解初始狀態可以預測後續數字,在不可預測性至關重要的情況下會帶來重大的安全風險。

RNG 的運作方式

此外,使用集中式 RNG 源會帶來額外的漏洞。集中式系統成爲單點故障,使其成爲惡意攻擊的主要目標。歷史事件表明,暴力攻擊可以破壞這些系統。

攻擊者可以用大量隨機猜測淹沒中央服務器,並進行增量調整來微調他們的預測,最終提高猜測下一個生成的隨機數的準確性。

這些漏洞強調了在各種應用程序中需要更安全和去中心化的 RNG 解決方案,特別是在數據完整性和隨機性至關重要的 Web3 領域。

利用 RNG 漏洞:理論方法

通過假設檢驗尋找種子

利用 RNG 的第一步是發現種子,這是數字生成的起點。這個過程涉及制定和測試有關潛在種子來源的各種假設。例如,如果種子的假設是 RNG 運行的時間,那麼在一致的時間生成數字並分析輸出的模式可以證實或反駁該假設。可以應用先進的統計技術來檢測可能不會立即顯現的微妙模式,從而提高種子預測的準確性。

狀態分析和逆向工程

除了識別種子之外,了解 RNG 算法內的狀態轉換也至關重要。通過分析狀態如何隨着生成的每個數字而變化,可以對 RNG 算法進行逆向工程。該方法涉及復雜的數學和計算技術,包括算法分析和潛在的密碼逆向工程,具體取決於 RNG 的復雜性。

利用機器學習進行模式識別

機器學習是人工智能 (AI) 的一個子集,擅長破譯大型數據集中的復雜模式。此功能超出了簡單的模式識別範圍,使算法無需顯式編程即可學習和適應。一個突出的例子是谷歌的 AlphaGo。這個人工智能系統接受了棋盤遊戲圍棋的訓練,通過學習大量的遊戲數據掌握了圍棋,最終通過預測世界冠軍的走法超越了世界冠軍。

該原理直接適用於分析 RNG 輸出。機器學習算法可以處理 RNG 生成的大量數字數據集,以檢測潛在模式,包括通過傳統分析方法可能不明顯的細微不規則性和算法重置。

通過在足夠大的數據集上進行訓練,機器學習模型可以識別這些 RNG 的循環性質,包括它們的重置點和輸出模式。了解這些模式可以預測並可能操縱未來的 RNG 輸出。當 RNG 用於可預測性可能導致安全漏洞或不公平優勢的環境(例如遊戲或加密應用程序)時,此功能尤其重要。

攝影:米格爾·阿。帕德裏南:https://www.pexels.com/photo/dominoes-585293/

密碼分析

RNG 的密碼分析是一種多面向的方法,涉及仔細審查其密碼設計和實現的各個方面。這個過程從對熵源的徹底檢查開始,熵源(entropy sources)是隨機性的原材料。熵的質量、它的收集方法以及收集的速度是至關重要的因素;低質量的熵或可預測的收集方法可能會削弱 RNG 的輸出。

接下來,檢查密碼算法本身對已知攻擊的抵抗力。這包括統計分析以檢測隨時間推移出現的任何偏差或模式,以及針對已知的密碼分析技術(如差分密碼分析或線性密碼分析)測試算法。這裏的目標是確保算法不會產生受到種子或狀態的某些位不成比例影響的輸出。

此外,RNG 在軟件或硬件中的實現可能會引入額外的漏洞。這部分分析涉及代碼審核,以查找可能損害隨機性的錯誤或疏忽。攻擊者可以利用熵混合不足、狀態變量的可預測增量或播種不當等缺陷。密碼分析還擴展到 RNG 的操作環境,檢查定時攻擊或功率分析等旁路漏洞,攻擊者可以通過觀察系統的間接特徵來推斷內部狀態。

可驗證隨機且防篡改的 RNG

當 Randcast 適配器合約收到來自 DApp 或 Web3 遊戲的隨機性請求時,該過程開始。然後,它啓動 BLS-TSS(Boneh-Lynn-Shacham 閾值籤名方案)任務,將鏈上事件發送到 ARPA 網路,該網路由多個能夠執行這些任務的節點組成。

網路確認此事件並完成任務,隨後將籤名作爲隨機種子返回到 Randcast 適配器合約。然後,該種子會轉換爲所需的隨機類型(無論是擲骰子、洗牌數組還是任何其他形式),並在後續 DApp 或 Web3 遊戲邏輯中使用。

Randcast 有何不同

Randcast 的方法在可靠隨機性至關重要的場景中尤其重要。在區塊鏈的確定性環境中,智能合約的結果取決於輸入,可以輕鬆操縱生成隨機數。例如,使用區塊哈希或時間戳作爲隨機源可能會被礦工利用以謀取利益。 Randcast 通過去中心化網路生成隨機數來規避這個問題,確保過程的透明度和可驗證性。

Randcast 設計的一個重要方面是其抗篡改能力。傳統的單實體隨機性生成存在被篡改的風險。Randcast 利用 ARPA 網路的集體能力規避了這一問題。通過 BLS Threshold 籤名任務,它可以確保任何單個節點都無法影響最終的隨機性結果。這種分散式方法不僅增強了安全性,還維護了隨機性生成的完整性和公正性,使 Randcast 成爲 Web3 開發人員不可或缺的工具。

參考連結

聲明:

  1. 本文轉載自[hackernoon],著作權歸屬原作者[Felix Xu],如對轉載有異議,請聯系Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所表達的觀點和意見僅代表作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得復制、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!