2024.03.25

Astar zkEVMとその基盤技術Polygon CDKのご紹介

こんにちは。次世代システム研究室のL.C.A.です。(海外の出身です。)

ChatGPT4にこの記事の日本語訂正を手伝っていただき、感謝します。


はじめに


Astarのイーサリアムレイヤー2(L2)ソリューションであるAstar zkEVMメインネットが2024年2月下旬にローンチされました。既存のAstar Network(現在はAstar Substrateと呼ばれています)がPolkadotに基づいているのに対し、Astar zkEVMはPolygon CDK(Chain Development Kit)を基盤技術として開発されたLayer2チェーンです。

Polygon CDKは既存のL1イーサリアムのEVM(Ethereum Virtual Machine)との互換性が高いため、既存のスマートコントラクトを変更することなく、サービスをAstar zkEVMにデプロイすることができます。さらに、Astar zkEVMがPolygon CDKに基づいているため、将来的には、L1を経由せずに、Polygon CDKを基盤として開発された他のチェーンへ資産を移動することが可能になります。近年、Astarは多くの企業やプロジェクトと積極的に協力しており、その今後の発展が注目されています。

zkEVM分野においては、Polygon CDKなどのzkEVMオープンソースフレームワークの技術が発展するにつれて、将来的にはより多くのプロジェクトがCDKを使用して多様なzkEVMブロックチェーンを開発できるようになり、これがイーサリアムL2エコシステムの発展に寄与することが期待されます。

今回ブログ作成の機会に、Astar zkEVMとその使用技術であるPolygon CDKアーキテクチャに対して調査を行いました。その調査内容を紹介したいと思います。

出典:https://docs.astar.network/docs/build/zkEVM/

予備知識

Astar zkEVMのご紹介

特徴について

Astar zkEVMの公式ウェブサイトによると、AstarはPolygonのChain Development Kit(CDK)を基に設計された、イーサリアムのL2ソリューションです。

zkEVMの仕組みを通じて、Layer2での取引の安全性を保証し、Rollupのコストを効果的に削減することができます。さらに、以前開発されたAstar Substrate EVMに比べて、Astar zkEVMはより高いTPS(トランザクション処理速度)を実現しています。

zkEVM版のAstarネットワークの開発により、Astarは現在、Polkadotとイーサリアムの2つの異なるエコシステムに基づくブロックチェーンを提供しており、ユーザーにはどちらのブロックチェーンを使用するかの大きな選択の自由があります。
今後、Astarは両チェーン間のクロスチェーンブリッジの開発にも取り組むことで、ユーザーがPolkadotとPolygonチェーン間で資産を移動できるようにすることに貢献します。



出典:https://note.com/w3pc/n/n4d2b1a31ae1a

開発面について

既存のイーサリアムプロジェクトの移行には、Astar zkEVMはフルEVM互換性(Full EVM-equivalence)は実現しており、イーサリアムのユーザーは、既存のイーサリアム開発ツールをそのまま使用して、Astar zkEVM上でdAppを開発することができます。(Astar zkEVMのFull EVM-equivalenceについては、興味のある方はこちらで参照してください:


Polygon CDKのご介紹

Polygon Chain Development Kit (CDK) は、モジュール化されたオープンソースのソフトウェアツールキットであり、ブロックチェーンの開発者がより手軽いに新たなL2 zkRollup Chainを作ることができるようになります。
これからより多くのプロジェクトがL2チェーンの技術基盤としてPolygon CDKを採用する見込みです。



出典:https://l2beat.com/scaling/summary?#active

インターオペラビリティレイヤー

Polygon CDKを使用して構築されたL2チェーンは、L1のイーサリアムと相互に通信するだけでなく、他のL2チェーン間での通信も、インターオペラビリティ(interop)レイヤーを介して可能です。


出典:https://polygon.technology/blog/introducing-polygon-chain-development-kit-launch-zk-l2s-on-demand-to-unlock-unified-liquidity

高度にモジュール化

Polygon CDKは高度にモジュール化されたツールであり、開発者はzkRollupのモード、データアベイラビリティソリューション(data availability solutions)、ネイティブトークン、シーケンサーモード(sequencer mode)など、自分のプロジェクトに必要な機能を自由に選択して組み合わせることができます。プロジェクトが自らL2ブロックチェーンを作成するのは大幅便利になりました。
出典:https://polygon.technology/blog/introducing-polygon-chain-development-kit-launch-zk-l2s-on-demand-to-unlock-unified-liquidity

Polygon CDK アーキテクチャ

Polygon CDKのzkEVMアーキテクチャは主に2種類に分かれております、CDK ValidiumとCDK Rollup。

Polygon CDKのValidiumとRollupの最大の違いは、ValidiumがトランザクションデータをL1にアップロードする必要がなく、オフチェーンのData Availability Committee (DAC)を通じてトランザクションデータの保存と認証を行う点です。これにより、わずかなトランザクションデータの可用性と安全性を犠牲にして、L2でのトランザクションデータをL1上に保存するコストを削減でき、L2でのTPSも向上させることを主な目的としています。

詳しい比較は、リンク中の比較表をご参照ください:


CDK ValidiumとCDK rolllupのアーキテクチャのご紹介

CDK rolllup

Rollupの仕組みは、セキュリティが高い代わりに、効率性とコストの面で劣る方法とされます。現在、主要なLayer2プロジェクトの大部分がこの方式を採用しており、主にLayer1(L1)を通じてDA(Data availability)を確保しています。L2 Sequencerを処理されたBatch(すべてのトランザクション)は、圧縮後にL1に保存され、証明者(Prover)もその証明をL1のスマートコントラクトに提出します。

CDK Rollupに、いくつかの重要なコンポーネントには以下のものがあります。


  • Pool DBは、ユーザーがRPCノードを介して送信したトランザクションデータを保存するために使用される
  • Sequencerは他のL2チェーンのSequencerと同様に、Poolからトランザクションを選び出し、バッチにパッケージ化する
  • State DBは、L1のステートを永久に保存するために使用される
  • Synchronizerは、定期的にL1からリアルタイムのデータを取得するために使用される
  • Aggregatorは、Sequencerによりバッチを収集し、Proverに証明の生成をアサインする。
データフロー
  • トランザクションの処理プロセスでは、まずユーザーがRPCノード(InfuraやAlchemyなど)を介してzkEVMネットワークに接続し、トランザクションを送信する
  • 次に、RPCノードがそのトランザクションをPool DBに送り、SequencerがPoolからトランザクションを選び出して処理し、バッチに追加する
  • 最終的には、圧縮されたバッチデータがL1にアップロードされると同時に、バッチがAggregatorに送信され、Proverが証明(Prove)を生成する。ProofがL1にアップロードされ、検証が完了すると、L2のトランザクションステップが完了する(finalized)。

出典:https://docs.polygon.technology/cdk/architecture/cdk-zkevm/

CDK Validium

  • データの可用性の保証方法
    • DACを通じて、L1の検証に代わりにSequencerが処理されたトランザクションが正しいかを確認する一方、バッチデータをローカルDBで保存して、サインをSequencerに返してからをL1にアップロードする。
データフロー
  • ユーザーがトランザクションを送信した後、SequencerはPool DBからトランザクションを取り出して処理し、トランザクションのハッシュとバッチのトランザクションデータを生成し、それをDACに検証させる。
  • DACはバッチのデータをローカルのDBに保存し、そのバッチの完全性と正確性を示すサインを生成しする。
  • Sequencerは、DACのサインとバッチのハッシュをL1にアップロードし、これがEthereumによって検証される。
  • 一方で、rollupアーキテクチャと同様に、aggregatorはバッチのデータを受け取り、Proverによる証明(proof)の生成を依頼した後、Ethereumにそれをアップロードして最終的な清算(Settlement)を行い、そのバッチの有効性を証明する。

出典:https://docs.polygon.technology/cdk/architecture/cdk-validium/

まとめ

今回のブログでは、Astar zkEVMとその核心技術であるPolygon CDKについて紹介しました。

当初の研究調査の目的は、現在astar zkEVMが使っているzkEVMの特性やアーキテクチャを調査することでしたが、意外に実際に使用されているオープンソースフレームワークであるPolygon CDKが多くのL2 zkRollupプロジェクトに採用されていることを発見しました。

Starknet、Scroll、Polygon zkEVMなどのプロジェクトが基盤技術の開発に費やす時間とコストと比べて、将来的には多くの新しいzkRollupプロジェクトがPolygon CDKのようなモジュールブロックチェーンを採用すると予想されます。また、zkRollupプロジェクトの進展により、Ethereumのエコシステムがより活発できることを期待しています。


参考資料

  • Twitter
  • Facebook
  • はてなブックマークに追加

グループ研究開発本部の最新情報をTwitterで配信中です。ぜひフォローください。

 
  • AI研究開発室
  • 大阪研究開発グループ

関連記事