IOSG:ランダム数は Web3 世界に欠かせない部分です。
執筆:Sally, IOSG Ventures
ランダム \& 運命
もし今、非常に裕福で非常に退屈な BTC 巨大投資家のグループが、毎年 1000 BTC を出し合ってロシアンルーレットを開催することを決めたとします。彼らはリボルバーを用意し、6 発の弾丸が装填できるマガジンに 1 発だけ弾を入れ、あなたの頭に向けて引き金を引きます。引き金を引くたびに生じる結果は、1 つの平行宇宙と見なすことができ、この単一のイベントにおいて、合計 6 つの異なる結末に対応する平行宇宙が存在し、それぞれの平行宇宙が生じる確率は同じです。このうち 5 つの平行宇宙では、あなたは一夜にして大金持ちになり、『Forbes』の表紙を飾ることさえあるでしょうが、残りの 1 つの平行宇宙では、あなたは悲惨な死に方をし、笑い者になるでしょう。
あなたはこの賭けに参加したいですか?1 回だけ参加したいですか?それとも、毎年運試しをしたいですか?
このゲームをプレイするには勇気が必要で、もちろん頭を使う必要もあります。83% は非常に高い勝率であり、生活の中で確実性が 83% に達することはあまりありません。しかし、もし貪欲な愚か者たちがずっとプレイし続けるなら、20 年後には彼らの大多数が新聞の訃報欄で見つけることができるでしょう。この仮定のロシアンルーレットゲームでは、ルールは非常に明確に定められており、オッズは計算可能で、リスクも測定できます。すべての条件情報は事前に開示されていますが、現実の世界では、私たちが直面するのは非対称情報の動的ゲーム(Asymmetric Information Game Theory)です。私たちの運命を左右するのは、リボルバーやトランプの山ではありません。私たちは、どれだけのマガジンにどれだけの弾が入っているのか、またこのトランプの山にどれだけのスートがあるのかを知りません。無限の平行宇宙と無限のリスク条件の中で、私たちの運命は予測不可能です。
これは、私たちがランダムに満ちた世界に生きていることを示しています。
フェインマンが言ったように、自然界が私たちに計算を許すのは確率だけです。「確率振幅」を計算する超能力を持つことができれば、私たちは予言者となり、未来を予測し、さらには変えることができます。言い換えれば、ランダム性を掌握した者が運命のサイコロを手に入れ、神となるのです。
ランダム \& 安全
この考え方を暗号の世界に移すと、ランダム数を生成する機械は神の神託を伝える使者と見なすことができます。このような役割を果たすため、オラクル(oracle)と呼ばれるようになりました。過去のオラクルに関する記事では、ブロックチェーンシステムの透明性により、チェーン上で生成されるすべてのアルゴリズム、入力、出力がシステム参加者に公開されることを指摘しました。したがって、チェーン上で直接生成されるランダムシーケンスは実際には予測可能です。
未来のブロックハッシュなどの典型的なチェーン上のランダム数生成方法には、大きな不正の余地とセキュリティの脆弱性があります。簡単な例を挙げると、もしマイナーがギャンブルゲームをプレイしていて、そのゲームの賞金が 10ETH で、ブロック報酬が 3ETH しかない場合、マイナーには明らかな不正の動機があります。彼はブロックを破棄したり公開しなかったりすることでランダムシーケンスの生成に影響を与え(Block Withholding Attacks)、ゲーム内での優位性を得ることができます。これは、あなたがマイナーと同じポーカーのゲームをしているが、彼は底のカードを変えることができるようなものです。このように改ざん可能で予測可能な擬似ランダムシーケンスを Web3 のさまざまなシーンに適用すると、その背後にある巨大なセキュリティリスクと不公平性を想像するのは難しくありません。ハッカーや攻撃者がランダムアルゴリズムを見つけ、ランダムシーケンスの初期入力値を計算できれば、NFT のエアドロップ、GameFi でのレア装備の出現、ユーザー個人のウォレットの秘密鍵アドレス生成などが操作され、改ざんされる可能性があります。
では、どのようなランダム数が本当に信頼でき、安全なのでしょうか?ここでは、ランダム数の分類について簡単に理解する必要があります。
一般的に、ランダム数は 2 種類に分けられます:真のランダム数(True Random Number、以下 TRN)と擬似ランダム数(Pseudo-Random Number、以下 PRN)です。
その中で、擬似ランダム数はさらに弱い擬似ランダム数と強い擬似ランダム数に細分化できます。
「擬似」という言葉が示すように、擬似ランダム数は本当のランダムではありません。ブロックチェーン上で生成されるすべてのランダム数も「擬似」です。本質的に、PRN はコンピュータソフトウェアが既定の数学的公式とアルゴリズム命令に基づいて出力する一見ランダムな数字のシーケンスであり、外部から初期値を入力して seed として使用する必要があります。そして、多くの人々の自然な認識とは逆に、コンピュータは偶然の条件を生成するのが非常に難しいのです。なぜなら、それ自体が予測可能なデバイスだからです。部品は決定的であり、回路は事前に設定されており、コードとアルゴリズム命令は明確です。さまざまな固定された外部条件の下で、私たちは特定の方法(上記の不正手段など)を通じてシーケンスの結果を特定することができます。そして、計算可能な結果は、ええ、どうしてそれが…… 擬似ランダムではないのでしょうか?
真の TRN は、ノイズ、混沌とした現象、量子ランダムプロセスなどの物理現象からランダム性を抽出し、コンピュータによって生成されるものです。簡単に言えば、オフチェーンの大きなサイコロをコンピュータに接続することです。
性質上、TRN はランダム性、予測不可能性、再現不可能性の 3 つの特性を同時に備える必要があります:
- ランダム性:数列は完全に無秩序であり、統計的偏差は存在しませんが、見抜かれないわけではありません。
- 予測不可能性:過去の数列を知っていても、次に生成される数列を予測することはできません。
- 再現不可能性:元の数列を保存しない限り、完全に同じ数列を再現することはできません。
強い PRN は前の 2 つの特性のみを備え、弱い PRN はランダム性という 1 つの特性しか持たず、見抜かれやすいです。
私たちは、ランダム数が信頼でき、安全であると言うとき、少なくともそれが見抜かれないことを指します。したがって、予測不可能な TRN と強い PRN は、信頼できるランダム数としてスマートコントラクトに導入できます。弱い PRN は、鍵の生成、パスワードの生成などの暗号学的関連のシーンには適用できません。
信頼できる安全なランダム数を生成する方法については、現在のところ最も直接的で効率的な方法は、オラクルを介して外部 API にリンクし、暗号認証を生成することです。たとえば、Chainlink の検証可能なランダム関数(VRF)サービスは、テストネットワークで外部 API に接続し、公開鍵とスマートコントラクトの seed を使用して生成された強い PRN を検証し、それをスマートコントラクトに送信します(具体的な作業フローは下図を参照)。Chainlink の VRF サービスは、主にサブスクリプションアカウントの課金方式を採用しており、ユーザーが十分な LINK トークンをアカウントに預け入れた後、サブスクリプションリクエストを送信することで提供されるランダム数を取得できます。
さらに、API3 は最近、オーストラリア国立大学(ANU)の量子光学チームと協力して、dApp や Web3 のさまざまな製品に量子ランダム数生成(QRNG)サービスを提供し、量子現象に基づく生成された TRN をリクエスターに上チェーンで提供しています(具体的な作業フローは下図を参照)。QRNG は現在、TRN を生成する唯一のサービスメカニズムであり、そのホワイトペーパーの関連論述によれば、QRNG は最大限にウィッチ攻撃を防止でき、この機能は完全に無料で使用できます。
ランダム \& Web3
信頼できるランダム数の定義とその出所を理解した後、より実際的な問題について話しましょう:ランダム数は Web3 でどのように役立つのでしょうか?
実際、ランダム数はほぼすべての Web3 シーンとユースケースにおいて不可欠です。
1. GameFi
ゲームにおいて確率分配が必要な状況は数多く存在し、RPG ゲームはその典型的な例です。あるキャラクターは非常に希少で、珍しい属性を持っている一方で、他のキャラクターは非常に普通です。通常、希少なキャラクターほど価値が高く、ユーザーが高額な経済的リターンを得るのに役立ちます。たとえば、Axie では、各精霊キャラクターには 6 つの構成要素があり、それぞれ異なる属性と能力を持っています。ゲームメーカーはユーザーにパーソナライズされたゲーム体験を提供するために、キャラクターの配分メカニズムを適切に設定し、配分確率をできるだけ公平に設定する必要があります。
PVP 対戦では、プレイヤーの勝率や報酬の獲得量は、対戦中に割り当てられた相手によって決まります。ゲームのマッチングメカニズムが不公平であれば、プレイヤーの流出を直接引き起こす可能性があります。また、世界探索型ゲームでは、プレイヤーが地図を探索する過程で希少なアイテムや装備を獲得する確率も、公平な確率モデルが必要です。カードゲームでは、プレイヤーがカードを使用する順序が試合の勝敗を大きく左右します。シューティングゲームでは、射撃の命中率やキャラクターの復活地点の選択がプレイヤーのゲーム体験に影響を与えます。
上記のゲームは本質的に、一定の予測不可能性を注入することでゲームのプレイアビリティを高める必要があります。そして、予測不可能性を生み出すためには、信頼できるランダム数を導入する必要があります。
2. NFT
GameFi におけるキャラクター属性が異なる構成を持つのと同様に、NFT の詳細も異なる属性で構成されています。たとえば、BAYC の NFT には、背景、衣服、耳飾り、目、毛髪、帽子、口の 7 つの異なる属性が含まれており、属性の希少性が実際にその NFT の価値を決定します。希少性の配分や属性の総量上限の設定は、信頼できるランダム数を利用して解決できます。
さらに、ますます多くの NFT コミュニティが設立され成長する中、プロジェクトチームは特別な祝日や特定のマイルストーンを達成した際に、ランダムな NFT エアドロップ報酬を配布してメンバーの忠誠心と活発さを刺激することがよくあります。どのアドレスにエアドロップを行うか、エアドロップの公平性をどのように保証するかは、プロジェクトチームが慎重に一定の配布メカニズムに基づいて実行する必要があります。このような状況下で信頼できるランダム数は、良い解決策と見なすことができます。実際、現在のほとんどの NFT のエアドロップインセンティブ活動も Chainlink VRF などのサービスを統合して行われています。
3. DeFi
Olympus のような DeFi プロトコルやアルゴリズム安定コインプロトコルでは、質権メカニズムに変基質押(rebase)プロセスを設けて、シェアの希薄化問題を解決したり、特定の市場行動を奨励したりします。たとえば、価格の安定を維持するための基準を設けることです。rebase メカニズムの「敏感性」の強い変数の 1 つは、その周期時間です。
設定された rebase 周期時間が長期間変わらない場合、短期的なアービトラージャーに利用される可能性が高くなります。したがって、rebase メカニズムの設計には信頼できるランダム数を適用し、変更調整の大まかな周期を決定することができます。
いくつかの革新的な Yield Farming プロトコルでは、報酬メカニズムに一定の変動性を導入してユーザーの参加度を高めます。参加度が高く貢献度の大きいユーザーの年率収益率は、普通または参加度が低いユーザーとは異なります。したがって、資金プールの報酬の大きさの配分や収益幅の増減には、ランダム数を使用して調整し、モデルを構築する必要があります。
4. DAO
DAO のガバナンスでは、メンバーが組織の重要な決定を下す必要があることがよくあります。大規模な DAO コミュニティは、しばしば取締役会などのコア管理層を設けて、日常的な決定をより効率的に実行します。これらの取締役会や管理者の選択と補充には、公平で透明なメカニズムが必要であり、信頼できるランダム数を導入することは、このようなメカニズムの設立において最適かつ最便捷な選択と見なされます。
さらに、大量の資金管理や特別な投資を行う DAO では、ランダム数を使用してメンバーの身分認証システムのセキュリティを向上させ、ハッカーや悪意のある攻撃者が身分認証プロセスを逆工学するのを防ぎ、DAO 内の資金庫の安全を確保することができます。
5. L1 コンセンサスメカニズムにおける VRF の利用
新しい公的ブロックチェーンが直面する大きな問題の 1 つは、シャーディング(shard)後のセキュリティの低下です。シャーディング前は、ネットワーク内のすべての検証者がすべての取引を共同で検証していましたが、シャーディング後は、これらの検証者が各シャードに均等に分配されて検証を行うため、各シャードがフォーク(51% 攻撃)される確率が大幅に増加します。このセキュリティ問題を解決する良い方法は、攻撃者が各シャードの検証者を事前に予測できないようにすることであり、これには一定のランダム性と予測不可能性を導入する必要があります。NEAR は VRF サービスを通じて検証者をランダムに割り当て、検証者の具体的な検証シャード情報を隠しています。
最後に
ランダム性が魅力的なのは、それが不確実性を意味し、可能性を意味するからです。可能性は私たちに希望をもたらすこともあれば、恐怖をもたらすこともあります。そのため、決定論と非決定論の争いは今も続いています。そして、神がサイコロを振るかどうかは実際にはそれほど重要ではありません。おそらく、すべての物事は取り返しのつかない形で大数の法則に向かって進んでいるのかもしれませんし、すべての運命的な出会いは単なる確率的な偶然に過ぎないのかもしれません。あなたも、私も、彼も Web3 の中でランダムに歩き回る愚か者に過ぎないのかもしれません。
しかし、答えがわからないことは、間違った答えを得るよりもはるかに面白いことです。カルロ・ロヴェッリが本の中で言ったように:「What's nonapparent is much vaster than what's apparent (見えないものは、見えるものよりもはるかに広大です)」。
愚かさを保ち、ランダム性を敬う。