【Filecoin】Drand: Filecoin のランダム性の源

【Filecoin】Drand: Filecoin のランダム性の源

ブロックチェーンのセキュリティ保証の 1 つは、秘密鍵、ブロック生成権、チャレンジ シードなどのさまざまな予測不可能性から生まれます。Filecoin の元の設計では、予測不可能だが公的に検証可能な乱数を生成させるために Ticket Chain が使用されていました。現在、乱数ソースとして Drand が使用されています。
Drand は独立したプロジェクトであり、この記事では簡単に紹介します。

Ethereum 2.0 で実装されたビーコン チェーンと同様に、Filecoin は現在、ビーコン ソースとして Drand を使用しており、独自に設計されたチケット チェーンを有効にしています。 Ticket Chain は実際には Filecoin チェーンに寄生する論理チェーンであることがわかっています。チケット チェーンは適切に設計されていますが、まだいくつか不十分な点があります。たとえば、1) 各ブロックにはチケットがありますが、高さごとに必要なチケットは 1 つだけなので、ここでは選択の問題がありますが、これは大きな問題ではありません。さらに、2Ticket 自体は誰にとっても予測不可能なものではありません。チケットはマイナーによって生成されるため、ブロックマイナーは他のマイナーよりも早く乱数が何であるかを知ることができます。さらに、3) チェーンが分岐して再編成されると、チケットが変更され、チケットに依存する多くの計算が無効になります。

したがって、チケットチェーンは理想的なソリューションではありません。 Filecoin チームは新しいテクノロジーを採用するのが得意です。長所と短所を比較検討した結果、現在の処理方法は、乱数の生成を Filecoin ネットワークから完全に分離し、公開され、予測不可能で、偏りがなく、公的に検証可能な乱数ソースを有効にすることです。このランダムソースはDrandです。

信頼できるランダムソースによって解決される問題

つまり、優れたランダム ソースには次の特性が必要です。

  • 予測不可能: いかなる個人またはグループも、いつ、どの時点でも、公開される乱数を予測することはできません。

  • 偏りなし: 最終的な出力分布は完全にランダムであり、傾向を持たない。

  • 公的に検証可能: 乱数が生成された後、誰でもそれを検証できる

  • 分散化: 乱数は独立した活動的な個人のグループによって生成される必要がある

  • 可用性: システムは実行し続け、常に(リズムに応じて)ランダムな結果を継続的に出力する必要があります。

Drand: 分散ランダム性ビーコンデーモン

Drand (発音は「ディーランド」) は、分散ノードとして実行されるプログラムそのものです。 Drand は Golang で記述されており、双線形ペアリングとしきい値暗号化技術を使用して、drand を実行しているサーバーを相互にリンクし、共通の、公開検証可能な、偏りのない、予測不可能なランダム値を一定の間隔で生成します。 Drand ノードは、ローカルで生成されたプライベートなランダム性をクライアントに提供することもできます。

drandはもともとDEDIS(Decentralized Distributed Organization)組織内で開発され、2019年12月に独立したdrand組織になりました。

Drandの目標と応用

公的に検証可能な乱数の必要性は広く知られています。たとえば、ギャンブル、ブロックチェーン システム、組み込みデバイスなどです。同様に、ランダム性は、自治組織、選挙、陪審員の構成、ランダムな財務監査などの統計的サンプリングにおいても重要です。ただし、安全なランダム性のソースを構築することは決して簡単ではありません。現実の世界でも、福祉くじの不正や選挙でのえこひいきなど、さまざまな攻撃が失敗するのを目にしてきました。静的キー、不均一な分布、出力バイアスなど、ランダム性の生成に影響する理由は多数あります。

Drand は、ランダムネス アズ ア サービス ネットワーク (時間用の NTP サーバーや CA 検証用の証明機関サーバーに類似) を提供し、ランダムネスの継続的なソースを提供することで、このブレークスルーを達成することを目指しています。

Drand メカニズムには、次の特性、つまり目標があります。

  • 分散化: Drand は、インターネット上のさまざまな信頼できる組織によって実行されるソフトウェアであり、中央の障害点がなく、ランダム性を生成するためのしきい値が必要です。

  • 公的に検証可能で偏りがない: drand は公的に検証可能で偏りのないランダム性を定期的に提供します。第三者は誰でもランダム性の真正性を取得して検証し、改ざんされていないことを確認できます。

  • 「プライベート」なローカル サービスも提供します。Drand ノードは、オペレーティング システムの PRNG のシードの挿入など、ローカル アプリケーションで使用するための暗号化のランダム性も提供できます。

現在、Drand ネットワークは、Cloudflare、EPFL、Kudelski Security、Protocol Labs、Celo、UCL、UIUC など世界中の組織によって運営されています。

詳細については、League of Entropy の Web サイトをご覧ください。ウェブサイトでは、ネットワークによって生成されたランダムな値をリアルタイムで表示することもできます。

公開乱数

Drand の主な機能は、公開乱数を生成することです。これは、Drand ノードのコラボレーションによって実現されます。

優れたランダム性を生成する上での主な課題は、ランダム性生成プロセスに関与する当事者が最終出力を予測したり偏らせたりできないことです。さらに、最終結果は、宝くじ、シャーディングやセキュリティ プロトコルでのパラメータ生成など、さまざまなアプリケーションで使用できるように、第三者によって検証可能でなければなりません。Filecoin ネットワークでは、このタイプの乱数は、ブロック生成権、複製の証明のさまざまな段階、時間と空間の証明など、多くの状況で使用されます。

Drand ランダム ビーコンは分散ノードのセットで構成され、次の 2 つのフェーズに分かれています。

  1. セットアップ: 各ノードは最初に、長期使用のための固定の公開鍵と秘密鍵のペアを生成します。すべての公開鍵は、ビーコンの操作に必要なその他のメタデータとともにグループ ファイルに書き込まれます。このファイル セットを配布した後、ノードは分散キー生成 (DKG) プロトコルを実行して、各サーバーの共通の公開キーと秘密キー要素を作成します。つまり、この秘密鍵は、ノードのグループによって共同で制御される分散秘密鍵です。各参加者は、配布された秘密鍵全体を明示的に表示したり使用したりすることはありませんが、独自の秘密鍵要素を使用して公開鍵ペアを計算し、公開ランダム性を生成します。セットアッププロセスは一度だけ実行する必要があります。

  2. 生成: 設定すると、ノードは連続ランダム生成モードに切り替わります。どのノードもメッセージをブロードキャストすることでランダム性生成ラウンドを開始でき、他のすべての参加者は Boneh-Lynn-Shacham (BLS) 署名方式の n しきい値バージョンとそれぞれの秘密鍵要素を使用してそのメッセージに署名します。いずれかのノード(またはサードパーティのオブザーバー)が t 個の部分署名を収集すると、完全な BLS 署名を再構築できます(ラグランジュ補間を使用)。次に、署名は SHA-512 を使用してハッシュされ、最終出力のバイト表現に偏差がないことが保証されます。このハッシュは設定されたランダム値に対応し、設定された公開キーに対して検証できます。

プライベートランダムネス

プライベートなランダム性、つまりローカル ノードに役立つランダム性。

プライベートなランダム性生成は、Drand の二次的な機能です。クライアントは一部またはすべての Drand ノードにプライベートなランダム性を要求でき、Drand ノードはそれをエントロピー プールからローカルに抽出し、暗号化された形式で送り返します。これは、組み込みデバイスなどのさまざまなエントロピー ソースからランダム性を収集する場合に役立ちます。

このモードでは、クライアントが秘密鍵と公開鍵のペアを持ち、ECIES ( Elliptic Curve Integrated Encryption Scheme ) 暗号化方式を使用してその公開鍵をサーバーの公開鍵にラップすることを前提としています。 Drand ノードはリクエストを受信すると、ローカルで 32 バイトのランダム バイトを生成し、受信した公開キーを使用して暗号化し、クライアントに送り返します。

一部のデバイスでは、適切な局所的な水分源がないため、ランダム性を保証することが困難です。このようにして、非常に優れた乱数を得ることができます。たとえば、多くの組み込みデバイスや、特別なノイズ源を考慮して設計されていないデバイスなどです。ただし、最初のクライアント キー ペアは信頼できるソース (デバイスの製造元など) によって発行される必要があることに注意してください。キーペアのセキュリティが影響を受けると、乱数の受信も大幅に損なわれます。

集中化か分散化か?

記事の冒頭で述べたランダムソースの 5 つの目標を振り返ってみると、Drand はそれらを達成したのでしょうか?私の結論は、これは基本的に正しいが、理想的な解決策ではないということです。

現在、このシステムは異なる企業によって運営されており、ある程度の分散化は達成されていますが、完全に分散化されているわけではなく、あまり自己完結的なアクセス ネットワークではありません。これが、Drand がブロックチェーンの世界で広く受け入れられていない理由かもしれません。

しかし理論的に言えば、これらのノードが互いに共謀せず、継続的な動作と乱数の安定した出力を確保できる限り、比較的安全です。

ドラゴンボートフェスティバル
ドラゴンボートフェスティバルおめでとう

<<:  コメント | SEC の不法利益回収権限は制限されています。暗号通貨のスタートアップ企業はこの恩恵を受けることができるでしょうか?

>>:  【上級教室】マイニングマシンはコインを何枚採掘できるのか?

推薦する

2020 年の暗号通貨のハッキング、エクスプロイト、盗難

過去数年とは異なり、2020年の主な暗号通貨ニュースは、大手取引所がハッキングされ、数百万ドル相当の...

オーストラリア証券取引所、オーストラリアがブロックチェーン業界のリーダーになるだろうと発言

クレイジーな解説: オーストラリアの経済は長年にわたって継続的に成長してきましたが、その結果、国内の...

ビットはブロックチェーン技術に基づいたバルバドスドルを立ち上げ、ビットコインアライアンスの設立を呼び掛ける

Bitt はブロックチェーン技術に基づいたバルバドス・ドルを立ち上げました。同社は、この新製品が国内...

警察はなぜ仮想通貨に関わる刑事事件をねずみ講として分類することが多いのでしょうか?

近年、仮想通貨に関連した刑事事件が多発しています。一つのパターンとして、通貨関連の事件の多くは、ねず...

雨の日に備えて、ビットコインのハードフォークに備えましょう。必要なのは正当な理由だけです

ビットコインのハードフォークは差し迫ってはいないものの、ビットコインの開発者はすでにハードフォークに...

USDC の市場価値が 1 年前の半分しかないのはなぜですか?

USDC の時価総額は 1 年前の半分程度になっており、引き続き減少しています。 USDC は暗号...

PoWは時代遅れに見えるかもしれないが、イノベーションは止まっていない

新しい PoW プロジェクト Kaspa は最近好調な業績を上げており、わずか 1 年で 100 倍...

Chainlink がすべての Substrate、Polkadot、Kusama チェーンに Oracle モジュールをオープン

これらのチームをサポートするために、Polkadot エコシステムのチームは、ネットワーク レイヤー...

Bitfinex と他の主要取引所の価格差は深い溝のようなものです。これは破産の不吉な兆候でしょうか?

過去1週間、多くのトレーダーが取引所間の大幅な価格差について議論してきました。最も注目すべきは、Bi...

スナップチャットの最初の投資家ジェレミー・リュー氏:ビットコインは2030年までに50万ドルに達する

市場に流入する新たな資金の急増により、ビットコインの価格は急騰している。新たな資金が流入するにつれ、...

カナンクリエイティブ、鉱業事業を行うためにカザフスタンに事業拠点を設立

6月23日のCoindeskによると、Canaan Creativeは暗号通貨マイニングに参入し、カ...

ソーシャルメディアにはビットコイン強気派の声が溢れているが、今は本当に安値で買うのに良い時期なのだろうか?

暗号通貨市場は過去24時間で再びジェットコースターのような変動を終え、暴落の底でソーシャルメディア上...

Wu Says Podcast: 暗号通貨界の若者3人が「最初の金の壺と最初の穴」について語る

注: この号の内容は純粋に個人的な経験に基づくものであり、いかなる財務アドバイスも構成するものではあ...

イーサリアムテストネットがフォークを無事完了し、コンスタンティノープルアップグレードがカウントダウンに入った

イーサリアムは、来たるコンスタンティノープル ハードフォークに備えています。このハードフォークの開発...