By Gerry Wang @ Arweave Oasis, originally first published on @ArweaveOasis Twitter
解釈(III)の記事で、我々は数学的な導出によって#SPoResの実行可能性を主張した。記事中のボブはアリスと一緒にこの証明ゲームに参加する。そして#Arweaveマイニングでは、プロトコルはこのSPoResゲームの修正版を展開する。マイニングの間、プロトコルはボブの役割を果たし、ネットワーク上のすべてのマイナーはアリスの役割を集団で演じる。SPoResゲームから得られた各有効な証明は、Arweaveの次のブロックを作成するために使用される。具体的には、Arweaveブロックは以下のパラメータで作成されます:
Where:
BI = Arweaveネットワークのブロックインデックス ブロックIndex;
800*n_p=チェックポイントごとにパーティションごとに最大800のアンロックハッシュ、n_pは採掘者によって保存されたサイズ3.6TBのパーティションの数で、この2つの掛け算が採掘者が1秒間に試行できるハッシュの最大数です。
d = ネットワークの難易度。
成功した有効な証明とは、平均して120秒ごとにブロックが採掘されるように時間経過とともに調整される難易度の値よりも大きい証明です。ブロックiとブロック(i+10)の時間差をtとすると、古い難易度d_iから新しい難易度d_{i+10}への調整は次のように計算されます:
where:
Formula note:上記2つより。上記の2つの式からわかるように、ネットワークの難易度は主にパラメータrによって調整されます。これは、1ブロックあたり120秒というシステムの予想標準時間に対する、実際のブロック生成に必要な時間のオフセットパラメータを意味します。
新しい計算の難易度は、以下のように、生成された各SPoA証明に基づくブロックのマイニングの成功確率を決定します:
。式の注釈:上記の導出は、新しい難易度でのマイニング成功確率を、古い難易度での成功確率にパラメータrを掛けたものとして与えます。
同様に、VDFの難易度は、チェックポイントのサイクルを1秒間に1回に保つために再計算されます。
完全コピーに対するインセンティブ
SPoResメカニズムによるArweaveの各ブロック生成は、
インセンティブがあれば、個々のマイナーも、協力的なマイナーグループも、
次のような前提に基づいています。または協力的な採掘者のグループは、採掘のための最良の戦略として、データの完全なコピーの維持を実行します。
先に説明したSPoResゲームでは、保存されたデータセットの同じ部分の2つのコピーは、保存されたデータセット全体のフルコピーと同じ数のSPoAハッシュをリリースするため、マイナーによる投機的行動の可能性が残ります。
1つのパートは、採掘者のストレージ内のパーティションを指定して、ある数のSPoAチャレンジを解放します。
1つのパートは、採掘者のストレージ内のパーティションを指定して、ある数のSPoAチャレンジを解放します。
もう1つの部分は、SPoA課題を解放するために、Arweaveのすべてのデータパーティションの中からランダムなパーティションを割り当てます。もし採掘者がこのパーティションのコピーを保存していない場合、この部分の課題数を失います。
ここで、SPoAとSPoResの関係がいったい何なのか、混乱があるかもしれません。コンセンサスメカニズムはSPoResですが、なぜSPoAのチャレンジが公開されるのでしょうか?SPoResはコンセンサスメカニズムの包括的な用語であり、マイナーが行う一連のSPoA証明チャレンジを含んでいます。
これを理解するために、前節で説明したVDFがSPoAのチャレンジを解除するためにどのように使用されているかを調べます。
上記のコードは、VDF(暗号クロック)を使用して、ある数のSPoAからなるストレージパーティションのバックトラックを解除する方法を詳細に表しています。の範囲で構成されています。
約1秒ごとに、VDFハッシュチェーンはチェックを出力します。
このチェックは、採掘アドレス(addr)、パーティションのインデックス(index(p))、および採掘アドレス(addr)を持つ元のVDFseed)と共に、RandomXアルゴリズムを使用して、256ビット数であるハッシュ値H0を計算します。
C1は、H0をパーティションのサイズ(size(p))で割った余りであるバックトラックオフセットであり、最初の範囲の開始オフセットとなります。
この開始オフセットから、チェックポイントCheckは、バックトラックの最初の範囲のチェックポイントとなります。
この開始オフセットから連続する100MBの範囲の400個の256KBのデータブロックが、ロック解除される最初の後方範囲のSPoAチャレンジです。
C2は2番目の後方範囲の開始オフセットで、H0をすべてのパーティション サイズの合計で割った余りであり、2番目の後方範囲の400 SPoAチャレンジもアンロックされます。
これらの課題に対する制約は、第2範囲のSPoA課題は、第1範囲の対応する位置にもSPoA課題を持つ必要があるということです。
パックされたパーティションあたりのパフォーマンス
パックされたパーティションあたりのパフォーマンスは、各VDFチェックポイントで各パーティションによって生成されるSPoAチャレンジの数を指します。SPoAチャレンジの数は、採掘者がパーティションのユニークレプリカを保存している場合、採掘者が同じデータの複数のバックアップコピーを保存している場合よりも多くなります。
ここでの「ユニークレプリカ」の概念は、過去の記事Arweave2.6の方がより合致しているかもしれないで読むことができるように、「バックアップ」の概念とは大きく異なります。サトシ・ナカモトのビジョン」をご参照ください。
採掘者がパーティションのデータの一意のコピーのみを保存する場合、パックされた各パーティションは、最初の後方範囲のチャレンジをすべて生成し、保存されたパーティションのコピーの数に基づいて、そのパーティション内に該当する2番目の後方範囲を生成します。Arweaveネットワーク全体にm個のパーティションがあり、採掘者がそれらのn個のユニークなコピーを保存している場合、各パックされたパーティションのパフォーマンスは次のようになります:
採掘者によって保存されたパーティションが同じデータのバックアップである場合、各パックされたパーティションは、依然としてすべての最初の後方範囲チャレンジを生成します。しかし、1/m倍の場合のみ、2番目の後方範囲がこのパーティション内に位置する。このため、このストレージポリシーの動作には、生成されるSPoAチャレンジの数の割合が
図1:採掘者(または協力する採掘者のグループ)がデータセットを梱包し終えたときあるパーティションのパフォーマンスが向上する。
図1の青い線は、パーティションの一意なコピーを保存した場合のパフォーマンスperf_{unique}(n,m)を示しており、これは、採掘者がパーティションのコピーをほとんど保存しない場合、パーティションあたりの採掘効率が50%しかないことを視覚的に示しています。
トータル・ハッシュ・レート
トータル・ハッシュ・レート(図2に示す)は、各パーティション(パーティションごと)の値にnを乗じて得られる以下の式で与えられる:
上記の式は、織りネットワークのサイズが大きくなるにつれて、一意のコピーデータが格納されていない場合、ペナルティ関数は格納されたパーティションの数とともに成長することを示しています。関数)は、保存パーティション数とともに二次関数的に成長します。
Figure 2: ユニークデータセットとバックアップデータセットの合計マイニングハッシュ率
限界パーティショニング効率
このフレームワークに基づいて、新しいパーティションを追加するときに採掘者が直面する決定問題、つまりレプリカパーティションの選択を探ってみましょう。すなわち、すでに持っているパーティションのコピーを作るか、他のマイナーから新しいデータを入手してユニークなコピーに詰め込むかを選択する問題である。彼らの採掘ハッシュレートは、可能な最大m個のパーティションからn個のパーティションのユニークコピーをすでに保存している場合に比例します:
。そのため、新しいパーティションのユニークなコピーを追加する追加的な利点は次のようになります:
そして、パックされたパーティションをコピーする(より小さい)利点は次のようになります:
最初の数字を2番目で割ると、採掘者の相対的な限界パーティション効率が得られます。partition efficiency)
図3:採掘者は、追加のコピーを作成する(オプション2)よりも、完全なコピーを作成する(オプション1)方がインセンティブが高い
採掘者がデータセットの完全コピーに近いものを持っているとき、コピーを完了する報酬は最も高くなる。これは、nがmになり、mが無限大になると、rmpeの値が3になるからである。これは、完全コピーに近いものは、新しいデータを見つける効率が、既存のデータを再パックする効率の3倍であることを意味する。
採掘者がWeaveネットワークの半分を保存するとき、例えばn= 1/2 mのとき、rmpeは2である。これは採掘者が新しいデータを見つけることによる利得が、既存のデータをコピーすることによる利得の2倍であることを意味する。
nの値が小さい場合、rmpeの値は1より大きくなる傾向がありますが、常に大きくなります。これは、一意のコピーを保存することによる利得が、既存のデータをコピーすることによる利得よりも常に大きいことを意味します。
ネットワークが成長するにつれて(mは無限大になる傾向がある)、採掘者が完全なコピーを作成するインセンティブは増加する。これにより、少なくとも1つのデータセットの完全なコピーを保存するために協力するマイニンググループの作成が容易になりました。
本稿では、Arweaveコンセンサスプロトコルの構築の詳細に焦点を当てますが、もちろんこれはこのコアセクションの序章に過ぎません。メカニズムの紹介とコードから、プロトコルの具体的な詳細を非常に直感的に理解することができる。うまくいけば、理解の助けになるだろう。