
著者:Arweave Oasis Chinese、出典:著者Twitter Twitter
前に
約1か月間、ビットコインは次のラウンドで半分になり始めます。しかし、著者は、中本のビジョン – 誰もがCPU参加のコンセンサスを使用できると信じており、実現したことはありません。この時点で、Arweaveのメカニズムの反復は、中本atのビジョンにより忠実であるかもしれません。バージョン2.6は、arweaveネットワークが真に中本の期待を真に満たしていますエッセンスそれは、以前のバージョンよりも大きな改善をもたらしました。
-
ハードウェアアクセラレーションを制限する、一般的なレベルのCPU +機械的ハードディスクは、システムのコンセンサスメンテナンスに参加して、ストレージコストを削減できます。
-
高いエネルギーを抑えるハッシュアーム競技ではなく、可能な限り効果的なデータにコンセンサスコストを呼び出します。
-
マイナーを刺激して、独自の完全なArweaveデータセットコピーを構築し、データをより速く、より分散したストレージにルーティングできるようにします。
コンセンサスメカニズム
上記の目標に基づいて、バージョン2.6のメカニズムは次のとおりです。
-
元のSporaメカニズムのハッシュチェーンに新しいコンポーネントが追加されます。
-
マイナーは、独自のデータパーティションでパーティションインデックスを選択し、マイニングハッシュでマイニングを開始し、マイニングアドレスをマイニング入力情報として開始します。
-
レトロスペクティブ範囲1がマイナーによって選択されたパーティションで生成され、織りネットワーク内のランダムな位置が遡及範囲2に再生されます。
-
レトロスペクティブ範囲1内のレトロスペクティブデータブロック(チャンク)を計算して、ブロックソリューションであるかどうかを試します。計算結果が現在のネットワークの難易度よりも大きい場合、マイナーはブロックの権利を取得します。
-
範囲2のレトロスペクティブデータブロックも計算および検証できますが、そこでのソリューションには範囲1のハッシュが必要です。
図1:2.6コンセンサスメカニズムのバージョンコンセンサスメカニズムの図
このメカニズムに表示される名詞の概念を知りましょう。
-
Arweaveデータ:「織り」としても知られています。ネットワーク内のすべてのデータは、データブロックに1つずつ分割され、英語名チャンク(上の図の「レンガの壁」のようなブロックはチャンクです)。これらのブロックは、Arweaveネットワークで、およびMerkel Treeの方法を介して、各データブロック(Global Office Global Offsetとも呼ばれる)のアドレス指定ソリューションを確立して、織りネットワークデータブロックの任意の位置を識別できます。
-
データブロック(チャンク):通常、各データブロックのサイズは256 kbです。ブロックの権利を獲得するには、マイナーは対応するデータブロックを梱包して処理し、スポラマイニングプロセス中にデータコピーを保存したことを証明する必要があります。
-
パーティション:「パーティション」は、バージョン2.6の新しい概念です。3.6TBごとにパーティションがあります。パーティションには、織りネットワーク(インデックス0)の最初から、織りネットワーク全体をカバーするパーティションの数まで番号が付けられています。
-
範囲を思い出してください:レトロスペクティブ範囲は、バージョン2.6の新しい概念でもあります。これは、特定のオフセットから100MBの長さと100MBの長さの一連の連続データブロック(チャンク)です。256 kbのデータブロックによって計算され、遡及範囲の400のデータブロックが含まれています。このメカニズムでは、2つのレトロスペクティブスコープがあり、以下で詳しく説明します。
-
潜在的な解決策:レトロスペクティブ範囲内の各256kbのデータブロックは、ブロックから抜け出す権利を得るための潜在的なソリューションになります。マイニングプロセスの一部として、各データブロックはハッシュによって処理され、ネットワークの難易度要件を満たしているかどうかをテストします。あなたが満足している場合、鉱夫は外に出て鉱業報酬を得る権利を勝ち取ります。満足していない場合、鉱夫は遡及範囲内の次の256kbブロックを試し続けます。
-
ハッシュチェーン:ハッシュチェーンは、バージョン2.6の重要な更新です。SHA-256関数を使用して、データのセクションによって生成されたハッシュチェーン。このプロセスは並列を計算することはできません(消費者CPUは簡単に実行できます)。ハッシュチェーンは、一定数の連続ハッシュ処理を実行することで遅延1秒効果を達成できます。
-
マイニングハッシュ(マイニングハッシュ):十分な数の連続ハッシュ(つまり、1秒遅れた後)の後、ハッシュチェーン出力は、マイニングに効果的であると見なされるハッシュ値です。マイニングハッシュはすべての鉱夫の間で一貫しており、すべての鉱夫が検証できることは注目に値します。
必要なすべての名詞の概念を導入した後、最良の戦略を取得する方法を通じて2.6バージョンがどのように機能するかをよりよく理解できます。
最良の戦略
Arweaveの全体的な目標は、以前に何度も導入されました。つまり、ネットワーク上のデータストレージコピーの数です。しかし、あなたは何を保存しますか?保存する方法は?また、多くの要件と出入り口があります。ここでは、最良の戦略をとる方法について説明します。
レプリカとコピー
バージョン2.6以来、著者はさまざまな技術資料、レプリカ、コピーに2つの単語を頻繁に見てきました。どちらの概念も中国語に翻訳することがコピーを意味する可能性がありますが、実際には、それらの間には非常に大きな違いがあります。これは、メカニズムを理解すると私にも多くの障害を引き起こします。理解を促進するために、レプリカを「コピー」に翻訳し、コピーを「バックアップ」に翻訳する傾向があります。
コピーバックアップは、同じデータのデータに違いがないことを意味します。
レプリカのコピーの意味は、その独自性に注意を払うことであり、データの一意の処理後にデータを保存することです。Arweaveネットワークは、単にバックアップストレージではなく、コピーのストレージを奨励します。
注:バージョン2.7のコンセンサスメカニズムは胞子になりました。これは、コピーに保存されているレプリケーションの成功証明の単純な複製証明書であり、将来解釈します。
ユニークなコピーの梱包(ユニークなレプリカの梱包)
唯一のコピーは、ブロックの権利を取得したいArweaveメカニズムで非常に重要です。
新しいノードを実行したい場合は、他の鉱夫が直接詰め込んだデータをコピーすることはできません。まず、Arweave Weaving Networkに元のデータをダウンロードする必要があります(もちろん、すべてをダウンロードしたくありません。ダウンロードパーツのみを設定できます。独自のデータポリシーを設定し、リスクデータを除外することもできます)。これらをパッケージ化するランダム機能を介してこれらをパッケージ化します。
パッケージングプロセスには、ランダムな機能のパッキングキーパッキングキーが含まれています。これにより、複数の操作を介して元のデータブロックを梱包できます。パッケージデータブロックを解凍するプロセスは同じです。
バージョン2.5では、パッキングキーバックアップはSHA256ハッシュです。SHA256ハッシュは、データブロックの位置パラメーターとデータブロックの位置パラメーターとして、およびTX_ROOT(トランザクションルート)に関連付けられています。これにより、各マイニングソリューションが特定のブロック内のデータブロックの唯一のコピーから得られることが保証されます。データブロックにネットワーク内の異なる場所に複数のバックアップがある場合、各バックアップを一意のコピーにバックアップする必要があります。
バージョン2.6では、このバックアップキーはchunk_offset、tx_root、miner_address(minerアドレス)に拡張されています。これは、各コピーが各マイニングアドレスにも一意であることを意味します。
完全なコピーを保存することの利点
アルゴリズムは、マイナーが複数回コピーされるコピーの一部ではなく、一意の完全なコピーを構築することを推奨しています。これにより、ネットワーク内のデータが均等に分散されます。
この部分をどのように理解していますか?次の2つの写真の比較を通して理解しています。
まず、Arweave Broken Network全体が合計16のデータパーティションを生成すると仮定しましょう。
最初のケース:
-
Miner Bobは時間がかかりすぎているため、データをダウンロードできないため、ネットワークを破壊する最初の4つのパーティションのデータのみがします。
-
これらの4つの地区のマイニングコピーを最大化するために、ボブの賢いマシンは、これらの4つの部門のデータのコピーを4コピーし、4つのユニークなコピーリソースを備えた4つのマイニングアドレスを使用しました、したがって、ボブの保管スペースには16のパーティションがあります。このように問題はありません。これは、唯一のコピーのルールに沿っています。
-
次に、ボブが1秒あたりのマイニングハッシュを取得できる場合、各トレース可能な範囲の遡及的物質のデータブロックのデータブロックを毎秒生成できます。これにより、ボブは1秒で400* 16 = 6400の潜在的なマイニングソリューションを獲得します。
-
しかし、ボブは彼の小さな賢さの2番目の価格でもあります。なぜなら、彼はこれらの「小さな質問数」を見た採掘の機会を失わなければならないからです。彼らは、ボブが保存しなかったデータパーティションをマークしたため、ボブのハードディスクの関連する第2回顧視範囲を表しています。もちろん、幸運を祈ります。これは、これが4つの地区、つまり1600の潜在的なソリューションを象徴する比較的低いインジケーターライトがあります。
-
したがって、この戦略により、ボブは1秒あたり6400+1600 = 8000の潜在的なソリューションを持つことができます。
2番目のケース:
次に、2番目の状況を見てみましょう。2つのレトロスペクティブメカニズムの配置により、より良い戦略がストレージ問題の唯一のコピーです。図3に示すように。
-
マイナーアリスは、ボブほど「スマート」ではありません。彼女はこの部門の16のパーティションすべてのパーティションデータをダウンロードしており、1つのマイニングアドレスのみを使用して、16のバックアップの一意のコピーを形成しています。
-
アリスは16のパーティションでもあるため、最初の追跡可能な範囲の最初の潜在的な解決策はボブと一致しており、6,400でもあります。
-
しかし、この場合、アリスはすべての2番目の追跡可能なソリューションを獲得しました。それが余分な6400です。
-
したがって、これにより、アリス戦略が6400+6400 = 12800秒の潜在的なソリューションを持つことができます。利点は自己明らかです。
遡及範囲の役割
たぶんあなたは奇妙になります。
理由は、この構造が他のものではないことです。この方法によってもたらされる物理的最適化により、HDDの読み取りパフォーマンスをより高価なSSDハードディスク(SSD)で配置できます。これは、もちろんSSDの手と片足を結びつけるようなもので、高価なSSDを持つために4つのレトロスペクティブ範囲を送信できます。しかし、安価なHDDと比較して、カウントは鉱夫の選択の重要な指標になります。
ハッシュチェーンの検証
それでは、次の新しいブロックの検証について説明しましょう。
新しいブロックを受け入れるには、検証者がブロック生産者が同期する新しいブロックを確認する必要があります。
検証がハッシュチェーンの現在のヘッドにない場合、各マイニングハッシュには25 40ミリ秒のチェックポイントが含まれます。これらのチェックポイントは、連続ハッシュ40ミリ秒の結果です。
新たに受信したブロックが他のノードに認証される前に、検証は40ミリ秒以内に最初の25のチェックポイントを迅速に完了します。完全なチェックポイントは、残りのチェックポイントのすべての検証によって完了します。最初の25のチェックポイントは、500の検証済みのチェックポイントであり、各グループの各グループの500のチェックポイント間の間隔が2倍になります。
ハッシュチェーンがマイニングハッシュを生成する場合、順番に実行する必要があります。ただし、検査ポイントを検証できるときに検証の検証を検証できます。これにより、検証ブロックの時間が短くなり、効率が向上します。
図4:ハッシュチェーンの検証プロセス
ハッシュチェーンシード
マイナーまたはマイニングプールのSHA256ハッシュコンピューティング能力が高速である場合、ハッシュチェーンはネットワーク内の他のノードをリードする可能性があります。時間が経つにつれて、このブロック速度の利点は巨大なハッシュチェーンオフセットを蓄積する可能性があり、マイニングハッシュは検証の残りの部分と同期していません。これにより、一連の制御不能なフォークと再編成現象につながる可能性があります。
このハッシュチェーンオフセットの可能性を減らすために、Arweaveは、固定間隔で履歴ブロックのトークンを使用して、グローバルハッシュチェーンを同時に同期します。これにより、ハッシュチェーン用の新しい種子が定期的に提供されるため、各マイナーのハッシュチェーンが検証されたブロックと同期します。
ハッシュチェーンシード間の間隔は50 * 120マイニングハッシュごとに(50はブロック数を表し、120はブロック生産サイクル2分間のマイニングハッシュの数を表します)新しいシードブロックを選択します。これにより、シードブロックは約50個のArweaveブロックを1回表示しますが、ブロック時間の変更により、シードブロックが50ブロック以下に表示される場合があります。
上記は、これらから2.6の仕様から選択されたコンテンツです。中本のビジョンはArweaveで実践されました。
Arweave 2.6:
https://2-6-spec.arweave.dev/https://2-6-dec.arweave.dev