
作者:アルウィーヴ・オアシス
レビュー者:レモン
過去 5 年間の #Arweave の技術的反復プロセスについては、以前の記事「 Arweave のコンセンサス メカニズムの反復プロセスを 1 つの記事で理解する」ですでに学習しており、この記事ではバージョン 2.6 のより包括的な分析を行うことを約束しました。この記事ではこの約束を果たし、Arweave 2.6 バージョンのコンセンサス メカニズムの設計の詳細を説明します。
前に書く
約 1 か月後に #Bitcoin は次の半減期を開始します。しかし、著者はサトシ・ナカモトのビジョン、つまり誰もが CPU を使用して参加できるというコンセンサスは決して実現されていないと信じています。この点で、Arweave のメカニズムの反復は、サトシ・ナカモトの当初のビジョンにより忠実である可能性があり、バージョン 2.6 では、Arweave ネットワークがサトシの期待に真に応えることができます。以前のバージョンと比較して、次のことを達成するために大幅に改善されました。
- ハードウェア アクセラレーションを制限しながら、汎用 CPU + 機械式ハードディスクがシステムのコンセンサス維持に参加できるため、ストレージ コストが削減されます。
- エネルギー集約型のハッシュ軍拡競争ではなく、効率的なデータストレージに向けて可能な限りコンセンサスコストを直接的に設定します。
- マイナーは完全な Arweave データセットの独自のコピーを構築するよう奨励され、データをより速くルーティングし、より分散して保存できるようになります。
ビットコイン:
https://twitter.com/search?q=%23Bitcoin&src=hashtag_click
コンセンサスメカニズム
上記の目標に基づいて、バージョン 2.6 のメカニズムは大まかに次のとおりです。
- ハッシュ チェーンと呼ばれる新しいコンポーネントが元の SPoRA メカニズムに追加されます。これは前述の暗号化アルゴリズム クロックであり、毎秒 SHA-256 マイニング ハッシュ (マイニング ハッシュ) を生成します。
- マイナーは、保存しているデータ パーティション内のパーティションのインデックスを選択し、それをマイニング ハッシュおよびマイニング アドレスとともにマイニング入力情報として使用して、マイニングを開始します。
- マイナーが選択したパーティションにルックバック範囲 1 を生成し、編組ネットワーク内のランダムな場所に別のルックバック範囲 2 を生成します。
- トレースバック範囲 1 内のトレースバック データ チャンク (Chunk) を順番に使用して、ブロック解であるかどうかを計算して試行します。計算結果が現在のネットワーク難易度よりも大きい場合、マイナーはブロックを生成する権利を取得しますが、失敗した場合は、トレースバック範囲内の次のトレースバック ブロックが計算されます。
- トレースバック範囲 1 内のトレースバック データ チャンク (Chunk) を順番に使用して、ブロック解であるかどうかを計算して試行します。計算結果が現在のネットワーク難易度よりも大きい場合、マイナーはブロックを生成する権利を取得しますが、失敗した場合は、トレースバック範囲内の次のトレースバック ブロックが計算されます。
- 範囲 2 のトレースバック ブロックも計算によって検証できますが、その解決策には範囲 1 のハッシュが必要です。

図 1: バージョン 2.6 のコンセンサスメカニズムの概略図
このメカニズムに登場するさまざまな名詞の概念を理解しましょう。
Arweave データ: 「ウーブン ネットワーク」とも呼ばれます。ネットワーク上のすべてのデータは1つずつデータブロックに分割されており、英語名はチャンク(上の写真の「レンガの壁」のようなブロックがチャンク)です。これらのブロックは Arweave ネットワーク内に均等に分散でき、アドレス指定スキーム (グローバル オフセットとも呼ばれる) がマークル ツリーを通じてデータ ブロックごとに確立され、Weave ネットワーク内の任意の位置を識別します。
データ ブロック (チャンク):各データ ブロックのサイズは通常 256 KB です。ブロックを生成する権利を獲得するには、マイナーは対応するデータ ブロックをパッケージ化してハッシュし、SPoRA マイニング プロセス中にデータのコピーを保存していることを証明する必要があります。
パーティション: 「パーティション」はバージョン 2.6 の新しい概念です。それぞれ 3.6TB がパーティションです。パーティションには、ウーブン ネットワークの先頭 (インデックス 0) からウーブン ネットワーク全体をカバーするパーティションの数まで番号が付けられます。
リコール範囲:リコール範囲もバージョン 2.6 の新しい概念です。これは、ウィービング ネットワーク内の特定のオフセットから始まり、長さが 100MB の一連の連続したデータ チャンク (チャンク) です。 256 KB のデータ ブロックに基づいて、トレースバック範囲には 400 データ ブロックが含まれます。このメカニズムには 2 つのルックバック範囲があり、以下で詳しく説明します。
考えられる解決策:ルックバック範囲内のすべての 256KB データ ブロックが、ブロックを生成する権利を取得するための潜在的な解決策になります。マイニング プロセスの一環として、データの各ブロックがハッシュされ、ネットワークの難易度要件を満たしているかどうかがテストされます。満たされた場合、マイナーはブロックを生成する権利を獲得し、マイニング報酬を受け取ります。満足できない場合、マイナーは範囲内の次の 256KB ブロックへのバックトラックを試行し続けます。
ハッシュ チェーン:ハッシュ チェーンはバージョン 2.6 のキー アップデートで、以前の SPoRA に暗号化クロックを追加し、最大ハッシュ量を制限する速度制限の役割を果たします。ハッシュ チェーンは、SHA-256 関数を使用してデータを連続してハッシュすることによって生成されます。このプロセスは並列計算できません (コンシューマ レベルの CPU では簡単に実行できます)。ハッシュ チェーンは一定回数の連続したハッシュ プロセスを実行することで 1 秒の遅延を実現します。
マイニング ハッシュ:十分な数の連続したハッシュ (つまり 1 秒の遅延) の後、ハッシュ チェーンはマイニングに有効であるとみなされるハッシュ値を生成します。マイニング ハッシュはすべてのマイナー間で一貫しており、すべてのマイナーが検証できることは注目に値します。
必要な名詞の概念をすべて紹介した後、最適な戦略を取得する方法によってバージョン 2.6 がどのように連携するかをよりよく理解できるようになります。
最良の戦略
Arweave の全体的な目標は、これまでに何度も紹介されていますが、ネットワーク上に保存されるデータのコピー数を最大化することです。しかし、何を救うべきでしょうか?保存方法は?要件や入り口もたくさんあります。ここでは、最適な戦略を採用する方法について説明します。
レプリカとコピー
Arweave の全体的な目標は、これまでに何度も紹介されていますが、ネットワーク上に保存されるデータのコピー数を最大化することです。しかし、何を保存しますか?保存方法は?要件や入り口もたくさんあります。ここでは、最適な戦略を採用する方法について説明します。
レプリカとコピー
バージョン 2.6 以降、著者はさまざまな技術資料で「レプリカ」と「コピー」という 2 つの単語を頻繁に目にするようになりました。この 2 つの概念は中国語に訳すと「コピー」となりますが、実際には両者の間には非常に大きな違いがあり、その仕組みを理解するのに多くの障害が生じていました。理解を容易にするために、私はレプリカを「コピー」、コピーを「バックアップ」と翻訳することが多いです。
コピー バックアップとは、単にデータをコピーすることを指し、同じデータのバックアップには違いはありません。
レプリカとは一意性を意味し、独自の処理を行ってデータを保存する行為です。 Arweave ネットワークは、純粋なバックアップ ストレージではなく、コピーの保存を奨励します。
注: バージョン 2.7 では、コンセンサス メカニズムが SPoRes (Succinct Proofs of Replications) になりました。レプリケーションの簡潔な証明は、レプリカ ストレージに基づいています。これについては、今後説明します。
固有のレプリカを梱包する
Arweave メカニズムでは、一意のコピーが非常に重要です。マイナーがブロックを生成する権利を取得したい場合は、すべてのデータを特定の形式でパッケージ化し、独自の一意のコピーを形成する必要があります。これは前提条件です。
新しいノードを実行する場合、他のマイナーによってパッケージ化されたデータを直接コピーすることはできません。まず、Arweave ウィービング ネットワーク内の元のデータをダウンロードして同期する必要があります (もちろん、すべてをダウンロードする必要はなく、一部のみをダウンロードできます。また、独自のデータ ポリシーを設定して、危険なデータをフィルターで除外することもできます) )、RandomX 関数を使用してこれらをパッケージ化します。生データのあらゆるチャンクが、潜在的なマイニング ソリューションになります。
パッキング プロセスには、パッキング キーを RandomX 関数に提供することが含まれ、元のデータ ブロックをパッキングするための複数の操作を通じて結果を生成できるようになります。パックされたデータ ブロックを解凍するプロセスも同じで、パッキング キーが提供され、複数の操作によって生成された結果がパックされたデータ ブロックの解凍に使用されます。
バージョン 2.5 では、パッキング キーのバックアップは、chunk_offset (データ ブロックのオフセット。データ ブロックの位置パラメーターとしても理解できます) および tx_root (トランザクション ルート) に関連付けられた SHA256 ハッシュです。これにより、各マイニング ソリューションが特定のブロック内のデータ ブロックの一意のコピーから得られることが保証されます。破損したネットワーク上の異なる場所にデータ ブロックの複数のコピーがある場合、各バックアップを一意のコピーとして個別にバックアップする必要があります。
バージョン 2.6 では、このバックアップ キーは、chunk_offset、tx_root、miner_address に関連付けられた SHA256 ハッシュに拡張されます。これは、各コピーも各マイニング アドレスに対して一意であることを意味します。
完全なコピーを保存する利点
このアルゴリズムはマイナーに、複数回複製される部分コピーではなく、単一の完全コピーを構築するようアドバイスします。これにより、ネットワーク全体にデータが均等に分散されます。
この部分をどう理解すればいいでしょうか?以下の 2 つの写真を比較して理解してみましょう。
まず、Arweave フラクチャ ネットワーク全体が合計 16 個のデータ パーティションを生成すると仮定します。
最初のケース:
- マイナー ボブは、データのダウンロードには時間がかかりすぎると考え、ネットワークを破壊した最初の 4 つのパーティションのデータのみをダウンロードしました。
- これら 4 つのパーティションのマイニング コピーを最大化するために、ボブはアイデアを思いつき、これら 4 つのパーティションのデータの 4 つのコピーをコピーし、4 つの異なるマイニング アドレスを使用して、それらを埋めるための 4 つの一意のコピー リソースを形成しました。ボブの保管スペースには 16 個のパーティションがあります。これは問題なく、一意のコピーのルールに準拠しています。
- 次に、ボブが毎秒マイニング ハッシュ (Mining Hash) を取得すると、各パーティションのトレースバック範囲マテリアルを生成し、その中のデータ ブロックに対して侵害テストを実行できます。これにより、Bob は 1 秒間に 400*16=6400 個の潜在的なマイニング ソリューションを得ることができます。
- 次に、ボブが毎秒マイニング ハッシュ (Mining Hash) を取得すると、各パーティションのトレースバック範囲マテリアルを生成し、その中のデータ ブロックに対して侵害テストを実行できます。これにより、Bob は 1 秒間に 400*16=6400 個の潜在的なマイニング ソリューションを得ることができます。
- しかし、ボブはまた、バックレンジでの採掘の機会を失わなければならなかったので、彼のちょっとした賢さに対して第二の代償を支払ったのです。これらは、ボブのハード ドライブに保存されていないボブのデータ パーティションをマークするため、ボブのハード ドライブに見つからない 2 回目に関連するルックバック範囲を表します。もちろん、運が良ければ、ボブの 4 つのパーティションを表す比較的低いライトがありますが、これは 1,600 の潜在的なソリューションの 25% にすぎません。
- したがって、この戦略により、Bob は 1 秒あたり 6400+1600=8000 個の潜在的な解決策を得ることができます。

図 2: 最初の状況、ボブの「少し賢い」戦略
2番目のケース:
- 次に、2 番目の状況を見てみましょう。 2 つのルックバック範囲の機械的な配置により、より良い戦略は、最も問題のある唯一のコピーを保存することです。図 3 に示すように。
- マイナーのアリスはボブほど「賢く」はありませんが、16 個のパーティションすべてのパーティション データを律儀にダウンロードし、1 つのマイニング アドレスだけを使用して 16 個のバックアップの一意のコピーを作成しました。
- アリスにも 16 個のパーティションがあるため、最初のルックバック範囲の潜在的なソリューションの合計はボブのものと同じ 6400 になります。
- ただし、この場合、アリスは 2 番目のルックバック スコープの潜在的なソリューションをすべて取得します。追加で6,400円です。
- したがって、アリスの戦略には 1 秒あたり 6400+6400=12800 個の潜在的な解が与えられます。利点は自明です。

図 3: アリスの戦略には明らかに大きな利点があります
ルックバックスコープの役割
バージョン 2.5 より前では、単一のトレースバック ブロックのオフセットが関数を通じてランダムにハッシュされ、マイナーがストレージの証明を見つけて提供できるようにしていました。なぜ 2.6 にはトレースバック範囲があるのですか?
その理由は実は簡単で、トレースバック範囲が連続したデータブロックで構成されているのですが、これは何の目的もなく、機械式ハードディスク(HDD)のリードヘッドの動きを最小限に抑えるためです。このアプローチによってもたらされる物理的な最適化により、HDD の読み取りパフォーマンスが、より高価な SSD ハード ドライブ (SSD) と同等になることが可能になります。これは、片手と片足を SSD に縛り付けているようなものですが、1 秒あたり 4 つのトレースバック範囲を転送できる高価な SSD を使用すると、速度面で若干の利点が得られます。しかし、その数は、マイナーが安価な HDD と比較して選択する重要な指標となるでしょう。
ハッシュチェーンの検証
次に、次の新しいブロックの検証について説明します。
ハッシュチェーンの検証
次に、次の新しいブロックの検証について説明します。
新しいブロックを受け入れるために、バリデーターはブロックプロデューサーによって同期された新しいブロックを検証する必要があり、その方法は、自身が生成したマイニングハッシュを使用して新しいブロックのマイニングハッシュを検証することです。
バリデーターがハッシュ チェーンの現在の先頭にない場合、各マイニング ハッシュは 40 ミリ秒の 25 個のチェックポイントで構成されます。これらのチェックポイントは 40 ミリ秒の連続ハッシュの結果であり、これらを合わせると、前のマイニングのハッシュの先頭からの 1 秒間隔を表します。
バリデーターは、新しく受信したブロックを他のノードに伝播する前に、最初の 25 個のチェックポイントの検証を 40 ミリ秒以内に迅速に完了します。検証が成功すると、伝播ブロックがトリガーされ、残りのチェックポイントの検証が続行されます。完全なチェックポイントは、残りのすべてのチェックポイントを検証することによって完了します。最初の 25 チェックポイントの後に 500 検証チェックポイントが続き、さらに 500 検証チェックポイントが続き、後続の 500 チェックポイントはグループごとに 2 倍になります。
ハッシュ チェーンがマイニング ハッシュを生成する場合、それを 1 行で順番に実行する必要があります。ただし、バリデーターはチェックポイントを検証するときにハッシュ検証を実行できるため、ブロックの検証時間が短縮され、効率が向上します。

図4: ハッシュチェーンの検証プロセス
ハッシュチェーンのシード
マイナーまたはマイニング プールがより高速な SHA256 ハッシュ能力を備えている場合、そのハッシュ チェーンはネットワーク内の他のノードよりも先になる可能性があります。時間の経過とともに、このブロック速度の利点が蓄積されて巨大なハッシュ チェーン オフセットとなり、その結果、マイニング ハッシュが残りのバリデーターと同期しなくなります。これは、一連の制御不能な分岐と再組織現象を引き起こす可能性があります。
このようなハッシュ チェーンのドリフトの可能性を減らすために、Arweave は一定の間隔で履歴ブロックのトークンを使用してグローバル ハッシュ チェーンを同期します。これにより、定期的に新しいシードがハッシュ チェーンに提供され、個々のマイナーのハッシュ チェーンが検証済みのブロックと同期されます。
ハッシュ チェーン シードの間隔は、50 * 120 マイニング ハッシュごとに新しいシード ブロックを選択します (50 はブロック数を表し、120 はブロック生成サイクルの 2 分以内のマイニング ハッシュの数を表します)。これにより、シード ブロックは約 50 個の Arweave ブロックごとに 1 回表示されますが、ブロック時間のばらつきにより、シード ブロックが 50 ブロックより早く表示される場合があります。

図 5: ハッシュ チェーン シードの生成方法
上記は、著者が時間をかけて 2.6 仕様から抜粋したものですが、これらから、Arweave は 2.6 以降、低消費電力を実現していることがわかります。次に、ネットワーク全体を実行するために、より分散化されたイデオロギーメカニズムが使用されています。サトシ・ナカモトのビジョンは Arweave に実装されました。
アルウィーヴ 2.6:
https://2-6-spec.arweave.dev/https://2-6-spec.arweave.dev/
「虫取り」プラン
https://2-6-spec.arweave.dev/https://2-6-spec.arweave.dev/
「虫取り」プラン
タイプミス、誤った文章、誤った説明、不明瞭な意味、冗長な説明、その他の問題など、この記事に誤りを見つけた場合は、フィードバックをお送りいただければ、インセンティブが与えられます。フィードバックを送信するには、「ここ」をクリックしてください。
フィードバック有効期間:記事公開後30日以内。
🔗 PermaDAOについて:ウェブサイト| Twitter |電報| Discord |メディア| Youtube
💡 PermaDAO コミュニティは、everVision によって開始され、Forward Research (Arweave 公式) によって後援されており、Arweave コンセンサス ストレージのテーマを中心に構築された「共同ビルダー コミュニティ」です。貢献者のすべての作業がデータの合意となります。 「データのコンセンサス」から始めて、見知らぬ人による仕事のコラボレーションの新しいモデル、つまり分散型自律組織を探ってみましょう。

全てのコメント