1/x
私たちは@SuiNetwork : Mysticetiを紹介できることを誇りに思います。これは、コンセンサスの新しいパラダイムへの深い探求です。
$Sui = 初の並列実行 + 超高速コンセンサス
そして、$Suiの急速な成長は、堅牢な技術インフラによって支えられています。
______
なぜMysticetiがこれほど魅力的なのかを探ってみましょう。
感謝 : $Suiチーム @EmanAbio @0xAmoghGupta @weiduong @EvanWeb3 @theharrisonkim など
感謝 : ContributionDAO研究の責任者およびその他
______
とても長いですが、皆さんにはこの研究からインスピレーションを得るために読む時間があるはずです。
______
Mysticeti
7月、$SuiはNarwhalとBullsharkをコンセンサスプロトコルとして使用するのからMysticetiに移行することを発表しました[1]。この記事では、Mysticetiの論文をできるだけ簡素化し、Mysticetiがどのように機能し、なぜ私の視点から選ばれたのかを説明しますが、核心のアイデアは保持します。
NarwhalとBullsharkの要約
Mysticetiの必要性を理解するために、まずNarwhalとBullsharkをレビューしましょう。これらのプロトコルに詳しい場合は、先に進んでください。詳細については、参考文献[2]、[3]、および[4]を参照してください。
NarwhalとBullsharkは、データの普及をコンセンサスロジックから分離することによってシステムのスループットを向上させるように設計された認証されたDAGベースのコンセンサスプロトコルです。Narwhalはメモリプールレイヤーとして機能し、データフローを管理し、Bullsharkはコンセンサスを処理します。バリデーターは、追加の通信なしでNarwhalによって構築されたローカルDAGを解釈するため、コンセンサスには通信オーバーヘッドがなく、効率が向上します。
高いレベルでは、Narwhalは各バリデーターがメッセージをブロードキャストし、DAGのローカルビューを構築できるメモリプールとして機能します。ラウンドrの間、各バリデーターは他のバリデーターに自分のブロック(頂点)をブロードキャストします。各ブロック内の主な要素は次のとおりです:
1. 取引のリスト,
2. ラウンドr-1からの2f+1の証明書,
3. バリデーターの署名。
別のバリデーターからブロックを受け取った後、各バリデーターはブロックの有効性を確認し、署名し、元の送信者に返送します。バリデーターが2f+1の異なるバリデーターから署名を集めると、彼らは自分のブロックの証明書を作成し、他の人と共有できます。バリデーターが証明書を受け取ると、対応するブロック(頂点)をローカルDAGに追加します。バリデーターは2f+1の証明書を受け取った後、ラウンドr+1に移動します。結果として得られる構造はDAGを形成します。なぜなら、各ブロックは前のラウンドからの2f+1のブロックを参照し、以前のラウンドに基づいてリンクを構築するからです。
図1: NarwhalにおけるラウンドベースのDAG構造
これでDAGができたので、Bullsharkを使用して解釈できます。Bullsharkでは、バリデーターは2ラウンドごとにブロックをコミットしようとします。[4]の例を借りると、各偶数ラウンドでリーダーブロックが選択され、コミットプロセスに使用されます。たとえば、バリデーター4(L2)とバリデーター1(L4)のブロックがそれぞれラウンド2とラウンド4でリーダーブロックとして選ばれます。
図2: L2とL4はそれぞれラウンド2と4のリーダーであり、緑色で表示されています。
次の奇数ラウンドでは、ブロックは前のラウンドのリーダーに投票します。参照が投票として機能します。たとえば、ラウンド2のリーダーブロックL2は、ラウンド3でそれを参照するブロックが1つしかないため、1票を受け取ります。直接コミットルールによれば、リーダーがf+1票を超えた場合、それとその因果関係がコミットされることができます。したがって、L4は2票を受け取るため直接コミットできますが、L2はできません。
図3: Bullsharkにおける直接コミットルール