PoREP アルゴリズムがウィンドウ SDR から SDR に変更されるまでに、それほど時間はかかりませんでした。新しい PoREP アルゴリズム NSE はすでに開発中です。 NSE アルゴリズムの正式名称: N arrow S tacked Expander PoRep。 NSE アルゴリズムの実装は、rust-fil-proofs の feat/nse ブランチで確認できます。 この記事で使用したソースコードの最終コミット情報は次のとおりです。 コミット af4bdcb6da4b371230eed441218c459e99d32068 (HEAD -> feat/nse、origin/feat/nse) NSE アルゴリズムを理解するには、まず storage-proofs/porep/src/nse/vanilla/porep.rs の NarrowStackedExpander 構造の複製関数から始めることができます。 NSE は N が Narrow (狭い) の略であるため NSE と呼ばれます。狭いというのは、以前の SDR アルゴリズムよりも狭く、データが処理されるたびにウィンドウが狭くなることを意味します。 各ウィンドウは、処理のレイヤーを経て対応するレプリカを生成します。すべてのウィンドウに対応する各レイヤーのデータは、Merkle ツリーにまとめて構築されます。すべてのウィンドウに対応するレプリカのデータも、Merkle ツリーに構築されます。これら 2 つのツリーのルートの Poseidon ハッシュの結果が comm_r として使用されます。 comm_d と comm_r はチェーンにアップロードする必要があるデータです。 各ウィンドウは、マスク レイヤー、エクスパンダー レイヤー、バタフライ レイヤーに分かれた多くのレイヤーの処理を経る必要があります。コアロジックは、storage-proofs/porep/src/nse/vanilla/labels.rs の encode_with_trees 関数にあります。 Expander/Butterflyのレイヤー数の構成や一部のパラメータ構成は未定です。テストコードの構成から: num_windows = 1 とします。 ウィンドウは 1、エクスパンダーの依存関係は 384、バタフライの依存関係は 16 に設定されています。合計 15 フロアがあります。 マスクレイヤー マスク レイヤーは特定のデータとは関係ありませんが、ウィンドウ番号/ノード番号に関連しています。 エキスパンダーレイヤー Expander レイヤーは、ExpanderGraph に基づいて、依存する前のレイヤーのノードのデータを生成します。これらのデータの sha256 結果といくつかの番号情報は、新しいノードのデータとして使用されます。次に例を示します。 親ノードの計算については、storage-proofs/porep/src/nse/vanilla/expander_graph.rs の ExpanderGraphParentsIter 構造体の update_hash 関数と next 関数を参照してください。 pub構造体ExpanderGraph{ 簡単に言えば、各ノードが依存する親の数は degree*k です。親は、ノード番号と親のシーケンス番号のハッシュ結果によって決定されます。 具体的なハッシュ計算ロジックについては、storage-proofs/porep/src/nse/vanilla/batch_hasher.rs の batch_hash 関数を参照してください。 (i, j) が (0..degree).tuples() 内にある場合 { バッチハッシュの名前はバッチに由来しています。ハッシュする前に、k 個の親をモジュラーで追加し、モジュラー追加の結果がハッシュされます。 バタフライレイヤー バタフライ レイヤーの計算は、親を取得する方法と親のハッシュ計算を除いて、エクスパンダー レイヤーの計算と似ています。 Parents の計算は ButterflyGraph の実装によって異なります。 pub構造体バタフライグラフ{ バタフライ レイヤー内のノードは、前のレイヤー内のノードに程度によって依存します。各親番号の計算式は次のとおりです。 ノード + 位置 * 係数 このうち、node はノード番号、pos は親番号、factor は係数(レイヤー番号に関連)です。このような一定の間隔を持つ従属的な形状は、蝶の羽の縞模様に少し似ているため、バタフライ レイヤーと呼ばれます。 すべての親のハッシュ計算は比較的単純で、連結されたすべての親データのハッシュ値になります。 // 親のハッシュを計算します。 マルチレイヤー処理が完了すると、最後のバッファフライ レイヤーが元のデータでエンコードされ、最終的なレプリカ レイヤーが生成されます。計算プロセスは、最後のバッファフライレイヤーに基づいて別のバッファフライ計算を実行し、その結果と元のデータに対して大きな数値の加算計算を実行します。詳細な計算プロセスについては、storage-proofs/porep/src/nse/vanilla/labels.rs の butterfly_encode_decode_layer 関数を参照してください。 要約: PoREP の NSE アルゴリズムは、SDR アルゴリズムの別の試みです。単一プロセス(ウィンドウ)で処理されるデータのサイズを小さくし、ノードのフロントエンドとバックエンドの依存関係を使わないようにし(レイヤー計算は並列化できる)、単一レイヤーの依存関係を増やし、レイヤーの数を増やします。基礎となるアルゴリズムでは、引き続き sha256 アルゴリズムが使用されます。 NSE アルゴリズムは、セキュリティとパフォーマンスのバランスを取ろうとする試みとして理解できます。 スターアイデア テクノロジーは世界を変える QRコードを長押ししてフォローしてください |
<<: XBIT Tao Maowen: ブロックチェーンゲームに未来はあるか?
>>: カナンテクノロジーは従業員給付として1240万ドルの株式を配布する予定
この記事は香港ウェブ3カーニバルの速記です編集:Wuがブロックチェーンについて語るシェンユ:Cobo...
過去1週間、ビットコインマイナーのチャン・チャン氏は自分の賭けが失敗するのを見て、気分が急落した。 ...
使用上の注意1. 電源はマイニングマシンの消費電力より20%以上高いものを推奨します。 2. マイニ...
境界を打ち破り、外に向かって生きよう! 3月3日から5日まで、「鉱業同時中継」に16人のビッグネーム...
わずか1年前、彼は人権活動家から非常に迷惑を受け、警察署に阻止されたこともあった。最近、中国最大の仮...
著者:シャオ・チャンがブロックチェーンについて語るイーサリアム 2.0 は明日ジェネシスブロックを発...
Apple Pay は長い間、携帯電話で支払う最も革新的な方法の 1 つと考えられてきました。これが...
Uniswapの創設者ヘイデン・アダムス氏は、EIP-1559のアップグレードがリリースされてから2...
Leifeng.comによると、6月14日、最近A站を攻撃し、段階的にユーザー情報を開示すると脅迫し...
著者: PANews、Wu Shuo Blockchainの転載を許可された編集者ウー氏は「ジェウ・...
ケベック州当局はブロックチェーン企業(特にマイナー)の電気料金を値上げし、1キロワット時あたり約15...
序文TokenGazer 暗号通貨データ月次レポートの説明: このレポートは、TokenGazer ...
今後の Ethereum PoS の合併により、Ethereum マイナーはどこに行くのかという高価...
金融機関は暗号通貨を新たな観点から検討しており、すでに暗号通貨に群がっています。先週、ブラックロック...
大手投資銀行モルガン・スタンレーは、中央銀行のデジタル通貨が暗号通貨の存在に脅威を与えることはないと...