Diemの流れから見るAptosとSui
前書き
現在、BitcoinやEthereum、Solanaをはじめとした様々なL1チェーンプロジェクトがブロックチェーン業界には存在しています。多くのチェーンが誕生しても尚、新しい特徴やメリットを持つL1チェーンが開発されており、技術進化が目覚ましい勢いで起きています。そんなL1チェーンプロジェクトであるAptosとSuiが話題ですね。このAptosとSuiに関連して、Diem系L1チェーンについて特徴や歴史を調べたのでこれらを備忘録兼自分の中での整理の為に記事にしました。
L1(レイヤー1)とL2(レイヤー2)
レイヤー1について詳しく書こうとするとそれだけで記事が一つ書けてしまうので今回はDiem系L1チェーンについて書く上でざっくり理解できるくらいの内容を説明したいと思います。
レイヤー1はPoWやPoS等のコンセンサスアルゴリズムによる、取引検証やブロックの生成をする領域(レイヤー)です。この領域に属するブロックチェーンが俗にレイヤー1ブロックチェーンと言われているものです。なのでレイヤー1ブロックチェーンとは、BitcoinやEthereum等のベースとなるネットワークと、その基盤となるインフラストラクチャを指しています。
レイヤー1ブロックチェーンは特徴として、他のネットワークを必要としません。また取引検証を行い、確定することができます。
問題点として、Bitcoinを例にとってみるとわかりやすいですが、レイヤー1ネットワークはスケーラビリティを向上させることが難しいという点があります。なのでレイヤー1のネットワークにセキュリティとコンセンサスを依存するレイヤー2のプロトコルを作ることでこの問題を解決しようとしました。つまり、レイヤー2とはブロックチェーン以外の"スケーラビリティ問題を解決するために開発されたオフチェーン"を意味し、レイヤー1で発生した問題のソリューションを提供したりする拡張領域です。レイヤー2ブロックチェーンというとOptimistic RollupのOptimism, Arbitrum, zkRollupのzkSync, Starknet, Bitcoinを拡張したLightning Networkは一例ですね。メインチェーンに記録する前に、ユーザーが自由に取引を行うことができます。この記録する前が重要でオフチェーンなので、ブロックチェーン上に直接記録されないやり取りとなります。つまりオフチェーン上でトランザクションを実行することで、レイヤー1の負荷を減らすことができ、処理速度の向上やガス代の安くすることを可能にしています。
Diemとは?
レイヤー1についてざっと説明したところで、今回の主題であるDiem系チェーンの大元であるDiemについて説明します。DiemもL1チェーンです。DiemとはMeta(旧Facebook)が構想した暗号資産です。元はLibraという名前でその専用デジタルウォレットCalibraと同時に2019年に発表されましたが、2020年にDiem、デジタルウォレットはNoviへとリブランディングされ名称が変更されています。
Diemは世界中で普及している携帯電話を使って、簡単に送受信することができるように設計されてました。また、決済手数料が安いことや決済がスムーズに行えることも特徴の一つです。Diemの普及が進むことで、決済手段としての活用が期待されていました。
価格変動が起きにくい通貨
いわゆるステーブルコインと言われるものです。Diem Associationが常に総価格よりも多くの資産を保有することで市場に出回るDiemが多くなって価格が下がってしまった時は資産を用いて買い戻し価格を適正にし、逆に価格が上がった場合にはDiemを追加で発行し流通量を増やして市場をコントロールできるようにすると発表していました。
発行の目的
上記でも簡易的に述べましたが、Diem(旧Libra)を用いたFinancial Inclusion(金融包摂)によって、発展途上国などにおける基本的金融サービスへのアクセス問題が解決され、誰もが金融サービスを利用可能になるだろうとLibraプロジェクトを率いていたデビッド・マーカス氏が述べています。
つまり、Diemはどのような人々も享受することができる金融インフラを整えるという目的で発行するという思想がありました。貧困のために銀行口座を持っていなくてもスマートフォン、PCといった電子機器さえあればDiemを使って物の売買やサービスを享受できるようになるので預金や入金の概念を大きく変える可能性を持った暗号資産という点では他の通貨との差異であったと思います。
Diem売却、Diem Association解散
2019年に政治家から厳しい批判を浴びたことで旧Libra協会のメンバー間の足並みも乱れてしまい、主要企業が離脱するといったことが起こりました。このことから運営組織を再編し、準備金を国債などの低リスク資産からアメリカドルで用意する方針へと変え、2020年12月にはLibraの名称を「Diem」へとリブランディングしました。
しかし、FRBやその他規制当局はDiemに難色を示しました。こういった状況からさらに2021年11月に、アメリカ財務省がステーブルコイン規制に関する報告書を提出するなどが起こり、Diemに対する規制が厳しくなったという状況を受け残念ながら、Diemは解散を決定しています。2022年1月31日にDiem Payment Networkの運営に関連する知財を含むすべてを米Silvergate Capitalに資産売却することを発表しました。
どういった懸念があったのか?
Meta社(旧Facebook)の影響力に政治家たちは強い危機感を抱き、反発は想像以上に強かったと報じられています。Diemへとリブランディングした際にMeta社は協会から抜けたり、(子会社は参加はしていた)様々な行動を取りましたが、懸念を払拭しきれなかったのだろうと思います。
通貨バスケット制による懸念
通貨バスケット制とは、暗号通貨の値段を安定させるための制度です。通貨バスケット制では、様々な通貨を組み合わせた「通貨バスケット」を作り、これを基準として暗号通貨の値段を定めます。例えば、通貨バスケットには、ドル、ユーロ、円などが含まれているとします。この場合、通貨バスケットに含まれる通貨の値動きがあると、暗号通貨の値段も変動します。通貨バスケット制は、暗号通貨の値段の安定化に役立つとされています。
一つの通貨だけを持っていると、その通貨の価値が暴落したり逆に暴騰してしまうリスクがありますよね。そうなってしまうと当然ですが、通貨として使いづらいです。通貨をまとめることでこういったリスクを減らせるため、通貨バスケット制度が導入されていました。
Diemが実現しようとした通貨は米ドルに近いものですが、完全に同じではありませんでした。バスケット価格の平均などを取って、新しい価値を作ろうとしたんですね。米ドルだけではなくて国際的な通貨ですというようなブランディングをしていました。
しかし、
- マネーロンダリング、テロリストへの資金提供になり得る
- 消費者保護や詐欺被害の防止の観点で規制当局からの懸念があった
- Diemがテロリストへの資金提供やマネーロンダリングを防止するためにどう対処するのか、判断できなかった
といった懸念も生んでしまいました。
Diem後継チェーンについて
Diem Association解散してしまいましたが、その技術は現在Diem系L1チェーンという形で後継されています。
これらプロジェクトは、Meta(旧Facebook)が開発していたDiem(旧Libra)に携わっていたエンジニア達(DiemおよびDiem対応ウォレット「Novi」の元開発者)が創始したプロジェクトです。なのでもちろん、Diemの特徴を多く引き継いでいます。Aptos、Suiが話題ですが、どちらもDiemの開発で使用されていたMove言語を採用しています。(Suiに関しては独自に拡張したMove Suiを使用しています)
既存のL1チェーンとは言語、メカニズムなどが異なっているため、他のL1チェーンの抱える課題に、異なる角度からアプローチしています。これらの特徴について簡単に説明します。
採用されているMove言語
Diemの仕様を引き継いでいるDiem系L1チェーンはsmart contractに、Rustベースのプログラミング言語であるMove言語またはMoveの流れを汲むMove Sui言語が利用されています。Move言語もMetaで開発されていた技術です。
Move言語は、カスタムトランザクションを作成するために使用される実行可能なバイトコード言語です。Move言語に関するwhite paperによると、
- 希少性
- アクセスコントロール
という2つの主要なデジタル資産に焦点を当てています。
希少性は資産の創造に制限をかけることで二重消費を防ぐことができ、アクセスコントロールという特徴は所有権と特権を管理するものです。
同じくsmart contractの実装で使われるSolidityなどのプログラミング言語と異なる点もあります。線形論理の概念から導き出されるリソースの使用方法です。線形論理では数式は一度しか使えない資源として扱われますが、Move言語の場合、
a resource can never be copied or implicitly discarded, only moved between program storage
locations.
リソースはコピーや暗黙のうちに破棄されることはなく、プログラムの格納場所間を移動するだけ
であるため、「Move」という名前がついています。この仕組みは、トランザクション(ブロックチェーン上の取引記録)を複雑にすることなく、セキュリティを最大限に高め、ガス料金を削減することを可能にしています。
Diem系L1チェーンを代表してAptosとSuiについて見てみます。
AptosはほぼDiemのwhite paperの設計を踏襲しています。一方でSuiはAptosとは少し異なるオブジェクトモデルを取っています。
Moveとの大きな違いは以下の5つの点です。
- Sui独自のオブジェクトセントリックなグローバルストレージを使用している
- アドレスはオブジェクトIDを表す
- SuiのオブジェクトはグローバルにユニークなIDを持つ
- モジュール初期化子(init)を持つ。
- エントリーポイントはオブジェクト参照を入力とする
Move Suiは、オブジェクトが所有、共有、変異可能、不変のいずれであるかを明確にしています。さらに、Suiの所有権APIは、ブロックチェーンの設計をより明確に示すため、Aptosのそれよりもクリーンと言えます。この点が自分がAptosと比較してSuiを推す理由でもあります。
Move Suiをより詳しく知りたい方は公式ドキュメントをどぞ
並列処理が可能である
AptosとSuiはどちらも、Solanaと同様に、ネットワーク容量を最大化することでスケーラビリティの向上を目指しています。
スケーラビリティの改善は、ブロックチェーンの普及に向け、Diem系L1チェーンだけでなくどのプロジェクトも取り組んでいる課題です。Ethereumを例に取るとL2のRollupによりスケーラビリティを確保すると共に、シャードチェーンを追加することによりチェーンを複数に分割したりすることでスケーラビリティの拡大をしようしています。
Proof of Stakeをコンセンサスメカニズムとして採用
AptosとSuiどちらのチェーンもコンセンサスメカニズムとしてProof of Stakeを採用しています。
Proof of Stake(PoS)とは?
ブロックチェーン技術を採用した分散型台帳システムにおける新しいブロックを採掘する方法の一つです。Proof of Stakeでは、取引を行うユーザーが、その取引を証明するために、自身が保有する暗号資産の数を証明します。つまり、通常のProof of Work(PoW)では、コンピューターで計算を行って新しいブロックを採掘することで取引を証明するのですが、Proof of Stakeでは、保有している暗号資産の数を証明することで取引を証明します。Proof of Stakeでは、新しいブロックを採掘するためや取引の正当性を確認のために大量のコンピューター資源を必要としないので取引が安定し、高速に行われるようになります。
同じPoSを採用しているが
その背後にあるコンセンサスアルゴリズムがAptosとSuiは異なっています。AptosはHotStuffプロトコルを派生させたBlockSTMを並列実行に使用していますが、Suiは実行層での並列化に使用するDAGベース[1]のメムプール(承認前のトランザクションが集まるところ)であるNarwhal(メムプールに提出されたトランザクションを実行しネットワーク内にその実行情報を拡散するプロセス)とTuskを使用しています。
参考:
メインネットローンチ
Aptosはすでにメインネットがローンチされていますが、Suiはまだローンチされていません。
感想
個人的に気になっていたDiem関連の話やDiem系L1チェーンを調べてまとめてみました。Sui vs Aptosみたいな話は至る所でされていますが、私個人の好みや意見はさておきどちらが優れているかというのは本当の意味ではまだわからないです。どちらのプロジェクトも急速に発展していますし、(Suiに関してはローンチすらされていない)現在の設計を最適化しようとコミュニティは頑張っています。ブロックチェーンのスケーラビリティとセキュリティにおいて多くの可能性を示していることからDiem系L1チェーンには期待ですね。
References
no plan株式会社について
- no plan株式会社は、ブロックチェーン技術、Webサイト開発、ネイティブアプリ開発、チーム育成、などWebサービス全般の開発から運用や教育、支援などを行っています。よくわからない、ふわふわしたノープラン状態でも大丈夫!ご一緒にプランを立てていきましょう!
- no plan株式会社について
- no plan株式会社 | ブロックチェーン実績
- no plan株式会社 | ブログ一覧
-
DAG(Directed Acyclic Graph)は、従来のブロックチェーンの特徴である一つのブロックに対し一つのブロックしか繋がってない直線的な構造を保有しているチェーンに対し一つのブロックに複数のブロックが繋がった構造になっています。この仕組みにより、複数トランザクションの並列記録が可能になるため、ブロックチェーンよりも処理能力が高くなるそうです。(実際に計測しているわけではないのでわからないですが...) ↩︎
Discussion