Web3.com Ventures オリジナル調査分析

0xフィッシュロソファー

導入

Aptos の最近のメインネットの立ち上げと、Binance やその他の主要な中央集権型取引所でのトークンの立ち上げにより、この長く称賛されてきたプロジェクトの調査分析を書くのにこれ以上のタイミングはありません。Meta の Libra 暗号通貨作成の試みの孤児である Aptos は、暗号通貨の次の 100 万人のユーザーを獲得するブロックチェーンになるという Libra の理想を引き継いでいます。

Aptosの全体的な焦点は、スケーラブルで安全かつ信頼性の高いブロックチェーンを提供することです[1]。そのために、Aptosは新しいスマートコントラクト言語であるMoveに依存しています。これは、表面上は現在のEthereumのSolidityの「ゴールドスタンダード」よりも「安全な」言語です。もちろん、Aptosは「スケーラブルで安全で信頼できる」と自らを売り込む最初のL1ブロックチェーンではありません。他のチェーン、特にSolanaも、過去にこれをスローガンとして使用しようとしましたが、成功と失敗が混在していました[2]。このエッセイでは、Move言語の基本的な属性から始めて、他の同様のプロジェクトのコンテキストでAptosの技術的基礎を分析し、この注目の新しいチェーンの可能性と限界について批判的な評価を提供しようと努めます。

言語を移動

Move言語の分析なしにAptosの分析を行うことはできません。実際、Aptosの可能性の大部分はここから来ていると言えるでしょう。MoveはもともとMetaのLibraチーム(現在はDiemと改名)によって開発され、他のスマートコントラクト言語とはパラダイム的に異なるスマートコントラクトプログラミングモデルを提供しています。Moveはトランザクションベースのアプローチを採用する代わりに、スマートコントラクトモデルを定義するためにリソースベースのアプローチを採用しています[3]。

では、これは何を意味するのでしょうか? ビットコインを皮切りに、著名なブロックチェーンの大半は「ト​​ランザクションファースト」アプローチを採用しており、ブロックチェーンのブロック内の各エントリはトランザクション (たとえば、アリスとボブの間) となります。トランザクションは相対的なオブジェクトです。トランザクションが存在するためには、アリスとボブのアドレスが存在している必要があります。トランザクションファーストアプローチでアリスがコインを「二重支払い」していないことを確認するには、他のすべてのトランザクションと競合がないことを確認する必要がありますが、これは必然的にトランザクションを遅くする面倒な作業です。

一方、Move の「リソースベース」のアプローチは大きく異なります。A から B へのトランザクションの行を記録する代わりに、Move はオブジェクト (またはリソース) の変更を記録し、それに応じて属性を更新するだけです。重要なのは、リソースがアトミック エンティティであることです。つまり、トランザクション T が 2 つの先行エージェント A と B の存在に依存するトランザクションの場合とは異なり、リソース X の存在は他のリソースの存在に依存しません。したがって、リソースベースのアプローチを使用すると、並列実行に最適化された、よりアトミックで独立した構造が可能になります。

Move における「リソース」とは、本質的には特定の属性を持つオブジェクトです。専門用語で言えば、それらは実装された構造体(つまり、コンテナ データ構造)です [4]。この時点で、Ethereum プログラミングの経験がある人は、Solidity にも構造体があり、他のデータ構造もありますが、Move の構造体の何が特別なのかという疑問を持つかもしれません。最も重要な違いは、Solidity の構造体は言語の中で比較的周辺的な部分を占めているのに対し(主にわかりやすくするために使用されている)、Move では構造体がすべての基礎となっている点だと思います。さらに、Move の構造体には、「コピー」、「ドロップ」、「保存」、「キー」など、オブジェクトが複製可能、保存可能、削除可能かどうかを定義するさまざまな「機能」があります [5]。この種の構造体の表記法は、Solidity や、実際のところ一般的なプログラミング言語の大多数(C/C++ など)とはまったく異なります。ただし、これらのさまざまな「機能」は非常に直感的です。コインやトークンのように「コピー」できるものもあります。「ドロップ」または捨てることができるものもあります。ユニークなデジタル資産など、他のものはコピーできない可能性があります。ここで、Move における「リソース」の次の公式定義を考えてみましょう。

「構造体の値は、コピーもドロップもできない場合、リソースと呼ばれることがよくあります。」— 構造体とリソース、Move言語ドキュメント [4]

つまり、「リソース」は本質的に、いつでも利用できるユニークな「構造」なのです。なんとロマンチックでしょう。

Moveの「構造体」の完全な再定義により、1つのデータ構造を使用して、トークン、NFT、スマートコントラクト、その他のデジタル資産をクリーンでモジュール化されたアプローチで簡潔に定義できるようになりました[6]。これは、EthereumのEVMとは比べものにならないものです。EVMを使用した開発経験のある人なら誰でも、Solidityで構造体(およびネストされた構造体)を扱うのがいかにイライラするかを知っています。

重要なのは、Moveのリソースベースのアプローチがセキュリティ保証を保証していることです。Moveのホワイトペーパーに記載されているように、多くのプログラムでは資産が間接的に表現されており、これは希少性とアクセス制御がスケーラブルではないことを意味します。たとえば、Etherの希少性はハードコードされ、EVMによって保護されていますが、他のERC-20トークンは「これらの保護を継承しないため、資産の複製、再利用、または損失を可能にするバグを導入しないように注意する必要があります」[4]。古典的な再入攻撃を考えてみましょう。これは長い間EVMプロジェクトを悩ませてきたもので、多くの場合、何百万ドルもの損失を引き起こしています[7]。Moveのリソースベースのアプローチにより、再入攻撃はMoveでは不可能です。したがって、Moveコーディングの参入障壁は、EVMよりもはるかにアクセスしやすいと言えます。これは、大量採用にとって重要な要素です。

Aptos — 技術原則

Aptos の最大の功績は、Move を言語として市場に投入したことです。実際、Aptos の設計の多くは、Meta が開発した Diem (Libra) ブロックチェーンから直接取り入れられています。  Aptos は、スケーラビリティとセキュリティを重視したチェーンであることを思い出してください。これを実現するために、2 つの主要な技術的実装が使用されています。1 つ目はコンセンサス層、つまり AptosBFT コンセンサス メカニズムです。2 つ目は実行層、つまり Block-STM 実行エンジンです。  これらを順番に見ていきましょう。

まず、AptosBFTはビザンチンフォールトトレラントなコンセンサスメカニズムです。これは基本的に、ネットワーク上のノードの1/3以下が悪意のあるアクターである限り、セキュリティを保証し続けることができることを意味します[8]。これは標準的な方法です。ビットコインのプルーフオブワーク、イーサリアムのプルーフオブステークなどはすべてビザンチンフォールトトレラントです。では、AptosBFTは実際にどのようにコンセンサスメカニズムを実装しているのでしょうか?他のすべてのプルーフオブステークチェーンと同様に、Aptosは「ステークされた」バリデータノードに依存しています。これは、ノードが他のすべてのノードではなく「ローテーションリーダー」と通信することにより、以前のモデル(pBFTなど)と比較してノード間のはるかにクリーンな通信プロトコルを提供する最新のPoSアルゴリズムであるHotStuffコンセンサスアルゴリズムのバリアントを実装しています[9]。 AptosBFTはHotStuffの上にいくつかの最適化を導入していますが、最も注目すべきは「キーローテーションメカニズム」(セキュリティ強化のため)とオーバーヘッドの削減(スケーラビリティ強化のため)ですが、HotStuffのPoS設計に大きな構造的変更はありません[10]。

一方、Block-STM並列実行エンジンははるかに独創的な設計であり、おそらくプロジェクトの主な技術的ブレークスルーです[11]。リソースはアトミックであることを思い出してください。つまり、特定のリソースXの所有権の変更は、他のリソースに依存しません。トランザクションをブロック(レゴピースのように)にグループ化することで、リソーストランザクションの実行に大規模な並列処理を活用し、Ethereumと比較して20倍の計算速度を実現できます[11]。

しかし、これは Solana や他の並列実行エンジンとどう違うのでしょうか? Solana の主な革新は、並列実行を可能にするために、スマート コントラクトの依存関係をすべてハードコードしたことです。すべての依存関係が事前にわかっているため、Solana 実行エンジンは実行前に必要な依存関係をロックできます。一方、Aptos は依存関係をオンザフライで管理し、最初にすべてのトランザクションを「楽観的に」実行し、失敗した場合は失敗した特定のトランザクションを再実行します [12]。

上記を説明するために、簡単な例え話をしましょう。イーサリアムは1車線の道路で、すべての車が一列に並んで走行する必要がありますが、ソラナとアプトスはどちらも4車線の高速道路です。これは明らかにスピードアップします。しかし、問題は、車は高速道路をどのように走行するのかということです。ソラナの場合、各車には基本的に特定の車線が割り当てられ、常にその車線に沿って走行します。これは最良のシナリオでは非常に高速で効率的ですが、割り当てプロセスがうまくいかない場合は、非常に悪い最悪のシナリオになります。一方、アプトスの場合、車には最初にいくつかの車線が割り当てられますが、これがうまくいかない場合、車は事故を防ぐために他の車線に逸れることが許可されます。したがって、最良のシナリオではアプトスはソラナほど速く走らないかもしれませんが、ソラナよりも信頼性が高く、最悪のシナリオも優れています[13]。

評価 — 可能性と限界

Aptos は現在、メインネットを立ち上げた最初で唯一の主要な Move ベースの L1 チェーンです。そのため、Aptos のメインネット リリースは非常に象徴的なイベントです。Aptos が集めた資金とメディアの注目は、必ずしもその固有の技術革新に見合ったものではありません。

前述のように、Aptos自体が行った主な技術革新は、Block-STM並列実行エンジンにあります。コンセンサスメカニズムやMove言語の使用など、その他の技術的側面のほとんどは、Meta [14]から継承されたわずかに改良されたレガシー製品です。Block-STM並列実行エンジンに関しては、これがAptosのユーザーエクスペリエンスとSolanaのユーザーエクスペリエンスの間に質的な違いを引き起こすかどうかは不明です。ユーザーエクスペリエンスが同じであれば、ユーザーは技術レベルでどのように実装されているかを気にしません。

他のインフラプロジェクトと同様に、Aptosの長期的な成功は、どのようなプロジェクトがその上に構築するかにかかっています。現在、Liquidswap DEX、Topaz NFTマーケットプレイス、Aptos Namesドメインサービスなどのエコシステム内のプロジェクトは、どのブロックチェーンエコシステムでも必要な製品ですが、Aptosの設計には十分にユニークではありません[15]。これらのプロジェクトは、小さな村の食料品店、学校、病院のようなものです。村の機能には必要ですが、他の村にはないユニークな特徴を村に与えるものではありません。

過去を振り返ると、Solanaの成功の一部は、Solanaの並列処理の利点を実際に活用できたStepNなどのプロジェクトによるものかもしれません。これらのGameFiおよびSocialFiプロジェクトは、比較的分離された大量の並列データを伴うことがよくあります。したがって、これらのアプリケーションは、AptosやSolanaなどの並列実行エンジンに独自に適しており、大規模な消費者ベースと高いトランザクション量をもたらすこともできます。実際、一時期、StepNだけでSolanaの有料ユーザーの約20%を占めていました[16]。

したがって、Aptos がインフラストラクチャ プロジェクトとして成功するには、Aptos の並列実行エンジンを大いに活用する独自の一連のプロジェクトが必要です。これは、Ethereum や Solana では実行できないプロジェクトです。Aptos の斬新な Block-STM 設計により、これらは、ユーザーが小さなグループ (グループ チャットなど) でやり取りする新しいクラスの SocialFi プロジェクトとして形作られる可能性があります。これらのグループは流動的で動的である可能性があり、また互いにある程度独立しているため、Solana や Ethereum の並列実行エンジンよりも Aptos の並列実行エンジンに適しています。ただし、もちろん、これは単なる抽象的な推測です。

それでも、Aptos のメインネットの立ち上げは、暗号通貨の世界では依然として非常に重要かつ象徴的なイベントです。これは、Ethereum のスケーラビリティのボトルネックを解決するための質的に異なるパラダイムを実現するための、Meta エンジニアの長年の努力の集大成です。Move のユニークな言語機能により、Solidity や他のスマート コントラクト言語よりも Move で実装する方がはるかに優れた DApp が必然的に存在します。しかし、それらのプロジェクトは必ず Aptos エコシステムで実装されるのでしょうか? 誰にもわかりません。Aptos は、Move を製品化でき、Move 言語と名前を結び付けることができるという先行者利益を享受できるかもしれません。しかし同時に、先行者であることの MySpace のような運命に苦しむ可能性もあります。

少なくとも一つ確かなことは、AptosはMoveを使った市場初の実験かもしれないが、それが最後ではないということだ[17]。

🐦 @0xfishylosopher

📅 2022年10月22日

免責事項:この調査は情報提供のみを目的としています。投資に関するアドバイスや投資の売買を推奨するものではなく、投資判断のメリットを評価するために使用されるものではありません。

参考文献

[1] Aptos Labsのメインページを参照: https://aptoslabs.com/

[2] Solanaの紹介: https://www.forbes.com/advisor/investing/cryptocurrency/what-is-solana/

[3] Move Languageホワイトペーパー: https://diem-developers-components.netlify.app/papers/diem-move-a-language-with-programmable-resources/2020-05-26.pdf

[4] 構造体とリソースに関するMove開発者向けドキュメント: https://github.com/move-language/move/blob/main/language/documentation/book/src/structs-and-resources.md

[5] 構造体の能力の詳細: https://move-language.github.io/move/abilities.html

[6] Move Languageチュートリアルを参照: https://101blockchains.com/move-programming-language-tutorial/

[7] https://blog.chain.link/reentrancy-attacks-and-the-dao-hack/

[8] ビザンチンフォールトトレランスの詳細: https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained

[9] HotStuffコンセンサスモデル: https://hackernoon.com/hotstuff-the-consensus-protocol-behind-safestake-and-facebooks-librabft

[10] AptosBFTコンセンサス: https://blog.pontem.network/aptosbft-all-you-need-to-know-about-the-bft-consensus-in-aptos-ff4cf22c7a80

[11] Block-STM技術論文を参照: https://arxiv.org/abs/2203.06871

[12] Aptos vs Solana実行エンジンの比較: https://www.gofyeo.com/post/aptos-vs-solana-a-technical-comparison-part-1

[13] アプトスのワーストケース分析は O(n²)、ソラナは O(n⁴)。詳細: https://antiape.substack.com/p/cf40447d-d674-4454-9e09-f003517de6de?s=r

[14] Aptosホワイトペーパーを参照: https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf

[15] Aptos エコシステム: https://coinmarketcap.com/alexandria/article/what-is-aptos-the-ultimate-guide-to-the-aptos-ecosystem

[16] Messari CryptoのTwitterより: https://twitter.com/MessariCrypto/status/1567880625218019333

[17] 別のMoveベースの言語であるSuiを参照: https://sui.io/