乱数の追求は人類の最も単純な正義である
DfinityFun
2019-07-24 06:41
本文约10156字,阅读全文需要约41分钟
01 マシン上で実行され、世界中のあらゆるものによって認識される乱数は、ブロックチェーン以前にはこれほど魅力的なものはありませんでした。

作者: ブロックパンク

序文

序文

4,000 年前の東大陸で、シャーマンはたき火の灰の中からゆっくりと亀の甲羅を取り出しました。亀の甲羅のランダムな亀裂が部族の次の狩猟のタイミングを決定します。優秀な国民 500 名が無作為に選ばれ、この狩猟に参加します。」都市国家の政務についての議論; 2,000年前の中東では、商人たちがギャンブルテーブルの周りに座り、テーブルの上で転がる4面のサイコロを緊張しながら見守り、その最終的な出目が巨額の財産の帰属を決定することになった。

数千年にわたる人類の歴史の中で、私たちは常に信頼できる乱数を探し求め、生活のあらゆる側面、民主主義と共和制の宝くじシステム、戦争中の軍事情報の伝達、生産のモデル計算、ギャンブルや娯楽を楽しむ際の信頼できる参考資料。

最初のレベルのタイトル

真の乱数

私たちの祖先の単純な技術という観点から言えば、人間は乱数を生成する多くの方法を生み出してきましたが、これらの乱数のランダム性と予測不可能性は、亀の甲羅を燃やす場合と同じです。

画像の説明

「何百万ものランダムなテーブル」の画像はインターネットから取得したものです

画像の説明

インターネットからの溶岩ランプの写真

最初のレベルのタイトル

擬似乱数

私たちは物理現象から神秘的で無限のランダム性を得ることができますが、一部の現象は正確に定量化することができません。しかし同時に、データの暗号化、モデルのトレーニング、公正な調停を行うためには大量の乱数が必要であり、自然乱数だけでは十分ではありません。

画像の説明

ENIAC コンピューター | インターネットからの画像

このアルゴリズムは次のようになります。まず、このアルゴリズムの「シード」として、演算時のミリ秒数などの非常に短い乱数値を取得し、次に「シード」を 2 乗し、2 乗した結果の中央部分を出力します。を選択し、それを「シード」として使用します。上記の操作を繰り返します。十分な回数繰り返すと、「乱数」が得られます。

これは二乗法と呼ばれ、初期シードの乱数のみに依存するシーケンスを出力する無数の疑似乱数アルゴリズムの 1 つにすぎません。マシンの確実性により、同じシードが同じ乱数を計算できます。

シードの桁数によって乱数のランダム性が決まります。10 桁の乱数を生成するために 2 桁のシードを設定すると、関数が繰り返しサイクルを生成する前に取得できる乱数は最大 100 個になります。一方、自然界では、10 桁の乱数には 100 億通りの可能性があるはずです。 2 つの間の大きな違いは、真の乱数と偽の乱数の違いです。

画像はインターネットから来ました

画像はインターネットから来ました

擬似乱数には一定の周期があり、点の集中が静脈として表現される

もちろん、この種の乱数を使用すれば十分ですが、コンピュータ サイエンスでは、この乱数がどのくらいの期間安全で反復性がないのかという時間境界という非常に重要な概念を導入する必要があります。パスワード車のロックを使用するのと同じように、正しいパスワードは 10,000 通りの組み合わせでなければならないことがわかっていますが、それぞれを試すには数日かかります。この時間境界内では安全であると考えられており、同様のことが疑似乱数にも当てはまります。 。

私たちが目を閉じてキーボードで入力するランダムな文字列には、実は従うべき規則があり、これが QWER のキーボード配列であり、解析すると乱数を解読できる可能性が非常に高くなります。

最初のレベルのタイトル

ブロックチェーンに乱数が必要な理由

従来のインターネットでは、乱数は暗号化とプライバシー保護の基礎であり、ランダムキーを共有することで、2 つのノード間で暗号化されたプライベート通信を実行できます。ブロックチェーンでは、秘密キーの送信がプロパティとして使用されると同時に、乱数も利用されます。限られた帯域幅でのマルチノード通信でも広く使用されています. 乱数を使用して、マルチパーティノードを調整するためのデータ送信の合理的な順序を決定できます. ブロックチェーン上では、乱数に基づくコンセンサスアルゴリズムを使用して調整しますトランザクション確認機能は、ネットワーク メッセージの数が制限されている場合に合意を得るために、全員が一定期間内に一部のノードのメッセージのみを更新することを保証します。

要約する

要約する

  • ブロックを生成する権利を公正に決定し、一貫した合意を維持します。一部の PoW および PoS メカニズムでは、ブロック プロデューサーまたはブロック プロデューサーの選択に乱数が使用されます。これには、DPoS メカニズムでの循環ブロック生成の順序も含まれます。これも乱数によって決定されます。

  • 秘密鍵の生成。現状では、ウォレットごとに決められた乱数方式で秘密鍵を生成している限り、セキュリティ上のリスクが大きくなります。

  • オンチェーン アプリケーションの乱数ソース。ギャンブル、ゲーム、宝くじ、配布、アンケートなど、ハッキングされやすいアプリケーションの公平性と公正性を確保します。

  • 最初のレベルのタイトル

オンチェーン乱数の難しさ

ブロックチェーンは依然として過去のインターネット技術をベースにしていますが、乱数生成の部分に大きな違いがあります。

従来の乱数生成方法は集中型であり、生成される乱数は特定のマシンの状態値と物理的状態に関連付けられますが、異なるノード上の同じ乱数アルゴリズムによって取得される乱数は異なり、また、それぞれの乱数を検証することは不可能であるため、従来の方法では一貫した乱数を生成できず、ブロックチェーンと互換性がありません。

副題

オンチェーン乱数の原理

1. 予測不能

乱数は上記のすべての層を含むプロトコル層全体の公平性を決定するため、乱数を事前に予測できれば、攻撃を開始する機会を待つことができます。もちろん、この予測不可能性には時間的な境界があり、一般的にはブロックチェーンの時間を境界として、計算や設定待ちの難易度を制御することで予測の難易度を高めます。つまり、次の 2 つのオプションがあります。

  • 乱数がブロック時間からシリアル化されることを保証 (VRF/VDF)

  • 乱数生成の難易度を保証し、状況に応じて難易度を調整(ハッシュ衝突)

2. 干渉しないでください

乱数はブロックのコンセンサス確認を決定します (非ビザンチン フォールト トレラント システムでは)。そのため、乱数の発生を妨害できれば、ノードをマスターすることなくブロックチェーンの将来の方向性を間接的に制御できます。計算能力が上限を超えると、干渉は小さい可能性がありますが、複数の干渉が蓄積すると、より深刻な問題 (「増幅攻撃」) が発生する可能性があります。解決策は 2 つあります。

  • 乱数生成が非インタラクティブであること (しきい値署名スキーム)、または完全にノード自体の状態に基づいて計算されること (ハッシュ衝突) を確認します。

  • 乱数生成の遅延を設定します。乱数を取得するために複雑な計算を長時間待つ必要があるため、干渉者は自身の影響を予測できません。

3. 検証可能

副題

上記の原則に従わない一部のソリューション

ブロックチェーン上の乱数の難しさを解決するために、多くの解決策が自然発生的に生み出されてきましたが、以下に、上記の 3 つの原則を満たさない解決策を簡単に紹介します。現時点ではまだ問題が残っている段階ですが、セキュリティ要件がそれほど高くない場所ではまだ使用できます。これは特定のプロジェクトに固有のものではありませんが、同様のパラダイムの問題を示しています。

1. オフチェーンの真の乱数を使用する

オンチェーンで乱数を計算する代わりに、大気ノイズや電気パルスなどの物理現象から得られる真の乱数を使用し、熱ノイズの多い回路を含むチップセットに依存します。しかし、ブロックチェーンの場合、オフチェーン部分は目に見えず、デフォルトでは信頼できません。チェーンから乱数を取得するには、第三者がそれをチェーンにアップロードする必要があり、これはブロックチェーンの分散化の精神に違反するだけでなく、完全に検証不可能であり、改ざんや事前予測の危険性があります。オラクルマシンを使用してオフチェーンで分散型の真の乱数を取得したとしても、依然として物理的な人間の干渉が存在します。したがって、この計画は非常に望ましくない。

2. 現在のブロックのデータをランダム ソースとして使用する

チェーン上の多くのギャンブル Dapp は、最新のブロックのハッシュ ルート値をコントラクトのランダム シードとして直接参照し、乱数を生成するために使用されます。簡単な紹介ではチェーン上の計算能力の保証に依存しており、この方法で生成された乱数は十分信頼できるように見えますが、多次元のセキュリティを考慮する必要があります。まず第一に、ブロック上のデータは透過的であり、すべてのノードがそれを取得でき、攻撃者もそれを使用してコントラクトを攻撃することができますが、唯一の障害は、オープンソースではない乱数アルゴリズムです。 2 番目のポイントは、ブロックプロデューサーがブロックを生成する資格を得た後、パッケージ化されたトランザクションの順序を変更したり、さまざまなトランザクションをパッケージ化して自分にとって最も有益なハッシュルート値を生成したりすることで、勝利のチャンスを拡大できることです。 、他の参加者にとって不公平です。

3. 分散組織の助けを借りて乱数を生成する

最初のレベルのタイトル

3種類のプログラム

副題

ハッシュ衝突

PoW システムでは、マイナーのクライアントはノードの状態に基づいて乱数生成器を備えており、一連の乱数を出力してそのハッシュ値を計算できます。生成されたハッシュ値が指定されたサイズの範囲内に収まると、ブロックを生成する資格を得るために、他のノードはこのランダムな値を取得し、ハッシュ値を一度計算して検証するため、その検証は非常に簡単です。

したがって、この乱数は要件を満たす乱数を取得するまでに数百兆回の乱数の発生を経験する必要があるため、その乱数の度合いは非常に高く、この乱数を数ブロック予測することはほとんど不可能です。事前に; 乱数は完全にノード自体の状態に応じて出力されるため、この乱数は他の攻撃者に干渉せず; 瞬時の難易度調整(ハッシュ値の大きさの範囲を調整)し、範囲内で突破されることはありませんセキュリティの時間境界。

アドバンテージ:

アドバンテージ:

  • 最も強力なランダム性であるセキュリティ番号は、コンセンサス層を駆動するのに非常に適しています。

  • 欠点:

欠点:

  • 計算の冗長性、大量の計算消費、リソースの無駄。

  • アプリケーション層で使用するのが難しい。

  • 一意ではなく、要件を満たす複数の乱数が同時に存在する可能性があり、ブロック フォークが発生する可能性があります。

  • 副題

検証可能なランダム関数 (VRF)

VRF (Verifiable Random Function) アルゴリズムは、1999 年に Mocali 教授によって提案されました。その優れたセキュリティと効率のため、ますます多くのブロックチェーン プロジェクトでコンセンサス プロセスを最適化するために使用され、コンセンサスの乱数部分が計算 リソースが削減され、トランザクションの確認と契約の操作により多くのリソースが占有されます。

生成手順を簡単に説明するには、上の図を設定します。

0. 乱数署名専用の公開鍵と秘密鍵のペアを生成します。

1. 十分にランダムなシードを取得します。これは、前のラウンドの結果を直接使用し、ブロックの高さや時間などの変数と組み合わせることができます。

2. 乱数秘密鍵を使用して署名する (乱数生成に共同で参加する) か、最初に署名してから結合します。

3. 署名された値のハッシュ要約を作成して、最新の乱数を取得します。

4. 乱数が法定範囲内であるかどうかを確認し、抽選がブロック生産グループに正常に入力されたかどうかを判断します(一部のプロジェクトではこのプロセスが必要ありません)

5. 公開鍵とラウンドなどの入力に従って証明を計算し、検証者は乱数を受け取って関数を使用して検証します。

したがって、このようにして生成された乱数は、ノードがアルゴリズムに準拠しているかどうかを簡単に検証でき、"Verifiable"これが行われ、十分に複雑なアルゴリズムとハッシュ ダイジェスト プロセスを組み合わせた後、十分にランダムに分散された結果が得られ、「ランダム」が保証されます。

VRF は主に PoS メカニズムと組み合わせて使用​​され、ブロック プロデューサー (グループ) をランダムに選択し、個々のプロジェクトで一貫したブロックの選択を直接決定します。乱数生成プロセスは、ノードのチェーンから完全に外れて実行することも、チェーン上で完全に実行することもできます。

アドバンテージ:

アドバンテージ:

  • 計算能力要件が低く、乱数生成の効率が高い。

  • 分岐しにくい一意で決定的な乱数を生成します。

  • 検証は乱数生成よりも遅れる可能性があり、秘密選挙に適しています。

  • 欠点:

欠点:

  • 多くの検証手順があり、秘密選挙では複数の検証が必要です。

  • 乱数分布は特性キーに従って計算されるため、均一性は良くありません。

  • 帯域幅の使用量が多く、遅延が長いため、秘密裏に選出されたノードが相互に確認できるため、BLS プロジェクトは大きな問題にはなりません。

Algorand

各ノードは、前のラウンドの確認ブロックでランダム シードを取得し、ラウンド時間などを設定し、チェーンの下で個別に VRF 関数を実行し、結果に対してハッシュ サマリーを実行し、ノードは結果をハッシュと比較します。ネットワーク内の値の範囲 (PoW のハッシュ比較に比較的似ています)、範囲内のメンバーは検証とブロック生成に参加する資格があります。

VRF はネットワーク境界、つまりノード チェーンの一部で実行されているため、どのノードが選択されるかはネットワーク全体にはわかりません。選択されたノードはどのノードも選択されるかわかりません。乱数と証明が必要です。相互に送信し、他のノードの身元を判断するための検証を収集するため、このプロセスは「秘密選挙」と呼ばれます。

ブロックの選択に関しては、ブロック生成ノードの乱数の「資格」に従って決定されますが、同時にノードは他のブロックに投票する必要があります。このプロセスは、改良されたビザンチン障害です。寛容なプロトコルであり、投票には 2 ラウンドが必要であり、各ラウンドでは「秘密選挙」が必要です。

アドバンテージ:

アドバンテージ:

  • 「秘密選挙」では、最初に選択されたすべてのノードを知ることは不可能であるため、事前に結託したり、定点で攻撃したりすることは不可能です。

  • 欠点:

欠点:

  • 選択されたノードが互いの身元を確認し、ネットワーク全体を横断するのに長い時間がかかり、帯域幅の使用率が高すぎるため、一般の人がコンセンサスに参加できず、分散化の度合いに影響を及ぼします。

  • 検証グループのサイズは確率範囲に従って分散されるため、ネットワーク規模が小さい場合は十分なノードを選択できず、ネットワーク規模が大きい場合は検証グループが大きすぎてパフォーマンスが低下します。

副題

DFINITY

ノードが初めてネットワークに参加することを誓約するとき、分散鍵生成プロトコルに従って各ノード専用の「乱数鍵」をランダムに生成します。

この分散鍵協定により、要件を満たす合計鍵ペアが生成され、システムによって指定された委員会グループのサイズに応じて、合計鍵ペアがグループ内のノードに分割されて配布されます。ノードには秘密署名キーが与えられますが、マスターキーが何であるかは誰も知りません。

グループの割り当てはランダムであり、ノードは同時に複数のグループに存在できますが、グループのメンバーは固定されており、事前にわかっているため、アルゴランドの「秘密選挙」とは異なります。DFINITY は「アプリオリ」です。アルゴランドは「事後的」です。

DFINITY の乱数生成プロセスは完全にオンチェーンであり、乱数プロセスを制御することはできません。最終ラウンドの乱数により、複数のグループからこのラウンドの委員会グループが選択され、プロセス全体が公開されています。委員会グループはブロックの生成と公証の義務を果たします。公証プロセス中、ノードは最も高い「重み」を持つブロックを探し続けます。この「重み」も前のラウンドの乱数によって決定されます。ブロックが見つかると、それが使用され、「乱数キー」が署名され、ブロードキャストされます。

そして、チェーン上では乱数ビーコンと呼ばれるプログラムが実行されており、現在のラウンドの署名データを常に受け​​入れており、ブロックの署名が検証グループ内のノード数の 50% を超えると、送信されます。署名を集約して一意に確認された乱数を生成します。この乱数の出現はこのコンセンサス ラウンドの終了を告げるものであり、引き続き次のコンセンサス ラウンドの参加者の選択が行われます。

アドバンテージ:

アドバンテージ:

  • コンセンサスと乱数生成の段階では、ノードは対話する必要がなく、自動的に実行され、ビザンチン フォールト トレランスは必要なく、効率が高く、帯域幅の使用量は低くなります。

  • 乱数生成プロセスは操作不能かつ非対話型であるため、影響を受けることがなく、乱数はより公平になります。

  • しきい値グループは決定されており、コンセンサスに従って変更されません。これは当然シャーディングに適しているため、スケーラビリティは非常に優れています。

  • 欠点:

欠点:

  • 事後的には、チームメンバーは合意前に決定されており、共謀の可能性がある。

  • 完全に乱数によって駆動されるため、共謀しているノードはブロックチェーンを制御できませんが、システムのシャットダウンを阻止することができます。

  • BLS アルゴリズムの学術的基盤は十分ですが、エンジニアリングによる実装が不足しており、オープンソースの事例もありません。

Cardano

このプロジェクトは、有名なウロボロス アルゴリズムの最初の実装です。コンセンサス フェーズはエポックごとに循環します。各ラウンドには複数のスロットがあり、各スロットはブロックを生成します。何か問題が発生した場合、スロットはスキップできます。そして、各スロットのブロックを生成する人は、このラウンドのジェネシス ブロックによって与えられる乱数シード、コンセンサスに参加する資格のあるノードの抵当権、ノードの公開鍵、スロットのリスト (インデックス) を使用する必要があります。他のデータを収集し、ノードによって発表された公開鍵を収集し、最終結果を計算し、その数によってどのノード (スロット リーダー) がブロックを生成できるかが決まります。

したがって、Cardano の鍵となるのは、各時代の元のブロックに、ブロック生成者を決定する乱数が含まれていることです。実際、このステート マシンの下のノードでは、この時代のブロック生成は最初の時点ですでに決定されています。オリジンブロックの生成 勝者は誰か? この選択アルゴリズムはしばらく計算する必要がある ブロックプロデューサーを計算するプロセスは VRF の検証後のプロセスとみなすことができるため、Cardano は「秘密」とみなすこともできます選挙"。

鍵となるのは、ジェネシス ブロックでの乱数の生成にあり、ノードによって認識されるほど十分にランダムである必要があります。 Cardano は、秘密を明らかにするコミットのプロセスを使用して、各ノードがマシンの状態から生成された独自の乱数をアップロードできるようにし、秘密が明らかになった後、これらの乱数を組み合わせてランダ​​ムな文字列を生成します。これは乱数を生成するプロセスです。

秘密を明らかにするプロセスはより複雑です。まず、スロット ブロックの生成段階の前に、賭け金に応じて (住宅ローンの規模に応じて) 選択されたすべてのノードがランダムな文字列を秘密裏に計算し、次にこの文字列に対して複雑な暗号化を実行します。暗号化された暗号文はネットワーク全体にブロードキャストされ(ブロードキャストしないことは次の時代では棄権とみなされます)、秘密を説明することを約束します。次に、スロット ブロック生成のプロセスで、ノードは、復号化と元の乱数を含む暴露データ Open を公開します。これは、ノードの乱数を検証するために使用できます。このようにして、ノードは、他の人の秘密を受け取った後に乱数を生成するのではなく、乱数が生成される前にすでに乱数を準備し、変更していないことを保証できます。これは、乱数の生成を間接的に妨げる可能性があるためです。これにより、エリアブロックチェーンを間接的に制御します。

しかし問題があり、ノードは公開段階でオープンと乱数を送信できないため、携帯電話に十分なノード乱数が不足し、ジェネシスブロックが生成できず、最終的にブロックチェーンがダウンしてしまう可能性があります。このリスクに対抗するため、カルダノでは、ノードは暗号化された暗号文を送信する段階でオープンをアルゴリズムに従って複数のシェアに分割し、この時代のブロック作成者の公開鍵を使って暗号化する必要があると規定している。ノードが暴走すると、ブロック生成ノードは独自の秘密キーを使用して Open のフラグメントを復号化し、Open をまとめることができます。

そして、このOpenを分割するアルゴリズムをVerifiable Secret Sharing VSS(検証可能秘密共有)と呼びます。オープンが分割された後は、断片を食べてもオープンの全体像を見ることは不可能であるため、この乱数はブロック作成者であっても事前に取得することはできません。同時に、この VSS アルゴリズムの利点は、DFINITY で使用される BLS アルゴリズムと似ており、すべてのフラグメントを結合する必要がなく、フラグメントの一部だけで完全な Open を復元できるという点です。

アドバンテージ:

アドバンテージ:

  • 優れたランダム性と高いセキュリティ。

  • 欠点:

欠点:

  • 検証グループが最初に決定され、出資額に応じて分類されるため、分散性は若干悪くなります。

  • ノード間の共謀が発生する可能性があります。

  • 最初のレベルのタイトル

VDF+Randao

Hash Collisionで述べたように、ブロックデータの透明性により、PoW機構の乱数を上位層のコントラクトのシードとして利用することが困難であり、この問題はイーサリアム1.0にも存在します。したがって、安全で予測不可能な乱数を契約上で実現するために、分散型組織を使用して分散的にシードを収集することを検討する人もいます。前述したように、経済的な設計により共謀は制限されていますが、「最終参加者攻撃」や「増幅攻撃」のリスクは依然として存在します。

最後の参加者攻撃: Randao に最後に参加した人は、将来の乱数を予測できるため、秘密を公開せず、それに干渉しないことを選択できます。

増幅攻撃:最後の参加者攻撃を複数回実行し、乱数への撹乱を増幅させ、組織を一時的に制御する。

最近発表されたイーサリアム 2.0 スキームでは、パフォーマンスを考慮して PoW の代わりに PoS を使用する必要があるため、ブロック資格を選択するために乱数が必要です。乱数は「ビーコンチェーン」と呼ばれる単一のチェーン上で動作し、それによって生成された乱数を使用してシャードの構成をランダムに制御することで、マルチシャードの並列処理を実現し、イーサリアムのパフォーマンスを拡張します。したがって、乱数はシャーディングの公平性と最終確認の可能性に関わるイーサリアムのアップグレードの重要な基盤となっています。

PoW のシャーディングスキームは複雑すぎるため、イーサリアム 2.0 のシャーディングは PoS に基づいており、乱数についても同様であり、コンセンサス層で乱数を取得するためにハッシュ衝突を使用することはもはや不可能であるため、イーサリアム 2.0 Randao からアイデアを借用していますが、上記の 2 つの問題を解決するために、検証可能な遅延関数 VDF (Verifiable Delay Function) が導入されており、Randao によって生成された乱数は結果を得るまでに長い時間を経る必要があります。計算が比較的難しく、複数のブロックを待つ必要がありますが、シリアルに実行されるため、最初にシークレットが Randao に送信されるとき、攻撃者は自分のシークレットを食べた場合の最終的な状態への影響を予測できません。最新のテクノロジーを備えているため、上記の攻撃を開始することはできません。

まずはRandaoについて紹介しましょう. Ethereum 2.0上のノードは32 ETHを抵当にすることでRandaoに参加する資格があります. 乱数シードを取得するたびに, Randaoに参加しているノードは心の中にある秘密の数字を静かに読み取って暗号化してブロードキャストしますそれ。全員が他人の暗号文を取得した後、ノードは次々と秘密を公開し、乱数が特定の方法で結合され、最終的な乱数を生成するための乱数シードとして使用できます。これはブリッジプレイのようなもので、最初にプレイヤーにカードが裏向きで配られ、カードが開かれると1枚ずつ公開されますが、最後の参加者が結果を予測して妨害するのを防ぐために、VDFが選択されます最終的な乱数を生成します。

そして、この VDF には次のような特徴があります。

1. 計算が難しく結果が出るのが遅い。 VDF の計算プロセスは比較的複雑で、結果が得られるまでに長い時間がかかるため、遅延時間が十分に長く設定されている場合、結果を迅速に予測することは非常に困難です。

2. 簡単な検証。 VDF の実行プロセスは難しくて時間がかかる場合がありますが、結果はすぐに確認する必要があります。

3. 連続性。 VDF の計算はステップバイステップで行われる 最終的な結果を計算するにはステップバイステップで計算する必要がある 並列加速はできない 攻撃者が複数のマシンを保有していても、短時間で結果を予測することはできない

たとえば、長い整数の 10 乗を連続して計算した後、ある大きな素数の余りを求め、上記の手順を何百回も連続して実行するのが VDF の機能です。したがって、電力を計算するアルゴリズムは難しく、複数のサイクルの下では、次の計算を実行する前に前の結果を知る必要があるため、このアルゴリズムの最終結果は迅速に計算できず、段階的に計算する必要があります。誠実にステップを実行しました。同時に、人間のコンピューターのアーキテクチャにより、たとえ人間が大きく異なっていても、この計算の難易度は指数関数的に変化せず、依然として解くのは非常に困難です。この予測不可能性により、乱数の安全性が確保されます。

実際には、上記の部分は結果を計算するためのアルゴリズムにすぎません. VDF には結果を検証するためのアルゴリズムも含める必要があります. VDF の結果は乱数であるだけでなく、乱数の検証も行う必要があります。任意のノードによって検証されます。

アドバンテージ:

アドバンテージ:

  • 現在、ブロックチェーン上で最も予測が難しい疑似乱数であり、乱数の強度は非常に高いですが、POW よりも弱いです。

  • 乱数は厳密にシリアル順序に従い、逆並列加速操作になります。

  • 欠点:

欠点:

  • VDF の計算プロセスは非常に難しく、乱数を取得する効率が非常に低く、計算パフォーマンスが大幅に浪費されます。

  • 計算は非常に難しいですが、PoW ほど量子コンピューティングに耐性がなく、壊れる可能性があります。

  • 要約する

要約する

統計学者のフランシス・ゴルトンは、1890年に『ネイチャー』誌に次のように書いた。「ランダム性を選択する手段として、サイコロより優れたものは何もないと思います。」

人間は常にランダム性を法則でまとめようとしていますが、新たな法則のもとで新たなランダム性が出現し、量子の世界の無秩序さとランダム性に驚き、探究心を刺激されます。乱数の理解は人類の進歩の歴史とも言え、乱数の追求は科学への訴えであるだけでなく、運命論への反論でもあります。

同時に、我々はバイナリの仮想世界を創り出し、その世界で我々の宇宙を可能な限り再現し、コピーし、自然界に存在する不思議で不思議な乱数を取得したいと考えています。真の乱数、仮想世界に生命を与えることができるでしょうか? 「自由意志」をシミュレートすることはできるでしょうか?私たち人間は仮想化の中で生き残ることができるのでしょうか?

宇宙のランダム性は生命にとって最大の公平性であり、ブロックチェーン上の乱数は人類にとって最も直感的かつ根本的な公平性の追求となるでしょう。過去は決定されており、現在は起こっており、未来は一般的にランダムであり、ブロックチェーン上の世界も同様であるはずです。

01 マシン上で実行され、世界中のあらゆるものによって認識される乱数は、ブロックチェーン以前にはこれほど魅力的なものはありませんでした。

DfinityFun
作者文库