暗号通貨SUIについて③くりぷと知っ得情報1月29日号

クリプトスタディ(クリスタ)の水野です。
シリーズで暗号通貨「SUI(スイ)」について書いています。
前回は、SUIのが多くのVC(Venture Capital:ベンチャーキャピタル)から支援されるそのテクノロジーとして、MOVEプログラム言語について書きました。

🔶SUIの基本データ
くりぷと知っ得情報1月15日号🔶SUIを支援するVCとその理由
くりぷと知っ得情報1月22日号

今回は、SUIのテクノロジーの一つで特徴的なコンセンサスアルゴリズム(暗号通貨の取引をブロックチェーン上で承認するために、参加者間で合意形成を行うこと)である「Narwhal and Tusk」(ナーワル アンド タスク)についてです。
SUIのコンセンサスアルゴリズムは、「Proof of Stake(PoS)」(※)を採用していますが、方式として「Narwhal and Tusk」(ナーワル アンド タスク)を採用しています。

(※)PoSの仕組み
「暗号通貨を預けて、誠実に仕事をすれば報酬がもらえる」
仕組みです。
・仮想通貨を持っている人(バリデーター)が、資金を預ける(ステーキング)。・システムがランダムにバリデーターを選ぶ。・選ばれた人が取引を確認し、新しいブロックを作る。・正しく確認すると、報酬(仮想通貨)がもらえる。・もしズルをしたら、預けたお金の一部が没収される(スラッシング)。

Narwhal and Tusk(ナーワル アンド タスク)

Narwhal and Tuskは、特にSUIやAptosといった次世代ブロックチェーンで採用されている仕組みの一部で、スケーラブルで効率的なブロックチェーンコンセンサスアルゴリズムを提供するために開発されました。

主な開発者

George Danezis(ジョージ・ダネジス)

George Danezisは、ユニバーシティ・カレッジ・ロンドン(UCL)の教授であり、分散システムや暗号技術の専門家で、Narwhal and Tuskの研究を主導しています。

Alin Tomescu(アリン・トメスク)

Alin Tomescuは、分散システムやブロックチェーン技術を専門とする研究者で、Narwhal and Tusk(ナーワルアンドタスク)プロトコルの設計において、DAG(有向非巡回グラフ)の理論と実装に貢献しています。

Narwhal and Tusk(ナーワルアンドタスク)論文

Narwhal and Tusk(ナーワルアンドタスク)、その論文のタイトルは、

「Narwhal and Tusk: A DAG-based Mempool and Efficient BFT Consensus」

(翻訳)

NarwhalとTusk: DAGベースのメモリプールと効率的なBFTコンセンサス

とあります。
 

Narwhal and Tuskの特徴

Narwhal and Tuskは、ブロックチェーンのコンセンサスプロトコルの中でもスケーラビリティと効率性を重視した設計でで、特にSUIやAptosなどの次世代ブロックチェーンで採用されています。
これらは主に、トランザクション処理の高速化と安全性の向上を目指しており、次のような役割を持っています。

Narwhal(ナーワル)

Narwhalは、トランザクションデータを受け取り、それを適切に整理・保存し、合意形成のための準備を整えるメモリプール(Mempool)プロトコルです。

Narwhalの役割

Narwhal(ナーワル)は、トランザクション(取引データ)を効率よく保存・整理する仕組みで「データ管理の基盤」です。

ネットワーク内のトランザクションデータを安全に受け取り、不正や改ざんがない状態を保証し、データの整合性を確保し、ネットワーク内のノード(参加者)間で、効率よくデータを共有する仕組みを提供します。
特徴的なのは、Narwhalの段階では、トランザクションの順序を決めることをしない点です。
あくまでデータを「整理して保存する」ことに特化しています。
その特徴的技術として、Narwhal and Tusk論文のタイトルにもある

DAG(Directed Acyclic Graph, 有向非巡回グラフ)構造

があります。

DAG構造について

DAG(Directed Acyclic Graph,:有向非巡回グラフ)は、数学からコンピュータサイエンス、そしてブロックチェーン技術へと進化してきた重要な構造です。
元々、1730年代から脈々と続く「グラフ理論」にあり、「ものと、それらをつなぐ関係」を考える数学の分野で発展してきたものです。
たとえば、友達どうしのつながりを考えてみた時‥‥

友達(人) → 点(ノード)
友達どうしのつながり
→ 線(エッジ)

この「点」と「線」でできた図を「グラフ」と呼びます。
具体例として、

家や学校、コンビニ → 点
道路 → 線
どの道を通ると一番近いか?を考えるのにもグラフが使われる

よく、「最短ルート」や「友達のつながり」で出てくる”やつ”でも、使われています。
Narwhal(ナーワル)は、トランザクションデータをDAGの形式で保存。これにより、高いスループットと効率的なデータ管理を実現します。

耐障害性

また、Narwhal(ナーワル)では、BFT(Byzantine Fault Tolerance:ビザンチン・フォールトトレランス:ビザンチン耐性)でも技術面で特化しています。
BFT(ビザンチン耐性)とは、「ウソをつく人がいても、みんなで正しい答えを決められる仕組み」のことでした。
一部のノードが停止しても、システム全体の運用に影響を与えないよう設計されています。

BFTの問題点

BFTには、次のような問題点があると指摘されてきました。
◻︎みんなで話し合うのに時間がかかる(遅い)
◻︎ウソをつく人が増えると、決めるのが難しくなる(安全じゃない)

Narwhalの改善点

◻︎DAG(有向非巡回グラフ)技術を使って、情報を早く整理する◻︎たくさんの情報を同時に処理して、スムーズに話し合いができる
このBFT(ビザンチン耐性)においても、DAG(有向非巡回グラフ)技術によって、大きな改善がなされているわけですね。

ちなみに‥‥このDAG理論をブロックチェーン技術に発展させBlockDAG(ブロックDAG)という概念を最初に提唱したのが、Kaspaの論文を書いた創設者である、「ヨナタン・ソンポリンスキー(Yonatan Sompolinsky)氏と、アビブ・ゾハール(Aviv Zohar)氏で、ブロックチェーン技術のスケーラビリティや効率性に焦点を当てた研究へと進化させました。

Tusk(タスク)

Tusk(タスク)は、Narwhal(ナーワル)が準備したデータを基に、ネットワーク全体で「どのトランザクションをどの順番で処理するか」を決定するコンセンサスプロトコルになります。

Tuskの役割

1、トランザクションの順序付け
Narwhal
から渡されたデータの中から、有効なトランザクションを選び、その順序を決定します。
2、効率的な合意形成
ノード同士が過剰に通信しなくても済むように、効率的なプロセスで合意を形成します。
3、高いスケーラビリティ
ネットワークが拡大しても、トランザクションの処理速度が落ちないように設計されています。
を高速化し、ネットワーク全体の安全性を保ちます。

Tuskの技術的特徴

◻︎リーダーレス設計
通常のコンセンサスプロトコルではリーダーが選出されますが、Tuskはリーダーを必要とせず、ボトルネック(※)を解消します。
◻︎高速合意形成
不要な通信を削減することで、トランザクションの承認の高速化に成功しています。

(※)ボトルネックの解消とは、システムや作業の中で1番遅い部分(つまり、全体の流れを邪魔している部分=ビンの首)を改善して、スムーズにすること。
具体的には、ブロックチェーンの取引が遅いというボトルネックの解消には、レイヤー2やDAGで高速化しています。

NarwhalとTuskの連携まとめ

整理すると、NarwhalとTuskこの2つが連携することで、大きなメリットを生んでいるというわけですね。
こんなイメージ。

Narwhalは「荷物をきれいに並べて準備する倉庫」
トランザクションという荷物を整理して、どれも正しく揃っている状態にします。
Tuskは「荷物を届ける順番を決める配送チーム」
倉庫から荷物を取り出し、効率的に届ける順番を決定します。
倉庫管理システムと配送管理システムと分業体制みたいなものです。

Narwhal and Tuskという、「SUI(スイ)」の特徴的なコンセンサスの方式について、今回は書きました。
お読みいただき、ありがとうございました。