zkSync 2.0 アップデート:ダイナミックフィーのマイルストーンが完了
新しい料金モデル、ペイマスターのアカウント抽象化サポート、EIP-1559サポートなどが完了しました。
ロードマップの公開から1ヶ月足らずで、メインネットに向けた、新たなマイルストーンが完了しました。今回の「Dynamic Fees Milestone」には、新しい料金モデル、アカウント抽象化にペイマスターサポートを追加するアップデート、EIP-1559のサポートが含まれます。
ダイナミックフィー
ネットワークの稼働には、手数料が必要となります。L2プロトコルの運用にはコストがかかり、手数料でコストをカバーしなければなりません。この場合、トランザクションに「X ETH」を課すという事実の背後に、提案された手数料が最適なものかを確認するための監視と分析が必要となるのです。
また、私たちはユーザーによる「支払い同意内容」をコントロールできるようにすることを想定しています。イーサリアムとは異なり、トランザクションコストの大部分は、データの可用性を保証するためにL1で公開する必要があるデータ量に相当するものとなります。この価格要素は、L1上のガス料金に依存します。事業者はガス価格をもとにして手数料を計算しますが、zkSync 2.0では同じトランザクションでもイーサリアム上の活動レベルによって手数料が異なります。
つまり、トランザクション手数料は、(1)トランザクションの処理とその証明の生成に必要な計算量、(2)トランザクションの確定に必要なL1ガス量、という2つの値に基づいて計算されます。今回の目標は、ユーザーがこの2つの要素をコントロールできるようにすることでした。
イーサリアムで使われている用語である「ガス」と区別するために、zkSyncでは「エルグ(erg)」という用語を使用します。この用語の語源は物理学に由来するもので、「erg」は「仕事」の尺度となります。
全てのトランザクションコストは、複数のパラメータによって定義されます。基本的なパラメータはイーサリアムのものに近い「ergsLimit」と「ergPrice」です。そして、もう1つ「ergsPerPubdataByte」というパラメーターがあります。これは、L1に送られるcalldataの1バイトあたり何ergsが使われるかを制限するものです。このパラメータによって、ユーザーは特定のガス価格に同意し、L1上のガス価格が急上昇している間は取引が実行されないようにすることができるのです。
この仕組みによって、トランザクションの料金は、必要なシステムリソースの予想値に基づいて見積もられ、実際に使用された分だけ課金されます。また、この料金モデルは、あくまで初期導入であり、改善されていくことが想定されています。今後は、ライブ環境でモニタリングやチューニングを行い、フィードバックを受けながら、システムを構築していく予定です。
今後のマイルストーンとして、料金を可能な限り抑制しながら、より良いUXとDevExを提供できるよう、既にいくつかの修正を考えています。
ペイマスターへの対応
zkSync 1.0では、支払いに使用されるERC-20トークンをネイティブにサポートしており、zkSync 2.0でも当初は同じ機能を実装させていましたが、さらに優れたものとして「ペイマスター」の実装を選択しました。
EIP-4337に触発されて、zkSyncのバージョンのペイマスターは、開発者が料金支払いの処理を引き受けるメカニズムを構築するためのツールセットをもたらします。主な用途は、ERC-20トークンで手数料を支払う機能ですが、それに限定されるものではありません。例えば、トランザクションをさらに安く(または完全に無料で)するために補助する仕組みのあるdAppを想像してください。このシステムは柔軟性があり、開発者は決済の流れをコントロールすることが可能になります。
この機能によって、ERC-20トークンのネイティブサポートも冗長化されました。開発者がアプリケーションを、手数料トークンの使用からペイマスターに切り替えると、ユーザーは手数料にETH以外のトークンを使用できるようになります。この方法と独自のペイマスターを構築する方法については、zkSync 2.0のドキュメントを参照してください。
これはzkSyncのアカウント抽象化サポートにおける強化の一環となるものであり、これが最後ではありません。今後数ヶ月間にわたって、インターフェイスを改良し、改善していく予定です。
重要:zkSyncインフラの多様性を促進するために、メインネットには「デフォルト」のペイマスターが付きません。これは「平等」「ネットワーク内に特権的なエンティティが存在しないこと」を保証するものです。
EIP-1559のサポート
EIP-1559はイーサリアム上のトランザクションの新しい標準として、現在zkSync 2.0テストネットでサポートされています。
EIP-1559のトランザクションを送信することはできますが、zkSyncの仕様はイーサリアムとは異なります。例えば、全てのトランザクションは先着順で処理されるため、優先手数料やチップはなくなります。現状では、EIP-1559のトランザクションは単なるフォーマットであり、プロトコルロジックの新機能のレイヤーではありません。
今後、EIP-1559上に構築する新機能を複数計画しています。詳細は、今後のリリースでお伝えします。
その他
今回のリリースにおける追加のアップデートは以下の通りです:
- Viperプログラミング言語がサポート―サンプルはこちら。
- Hardhatコンパイラプラグイン―Dockerイメージではなく、コンパイラバイナリをダウンロード可能に。
- zkEVMの互換性が改善―スマートコントラクトの動作に関する問題についてのフィードバックに対応し、zkSyncのVMがEthereumの動作とより一致するように。
リジェネシス後のトランザクションに問題が発生した場合(保留中のトランザクションなど)、メタマスクをリセットしてください。それでも問題が解決しない場合は、Discordに参加するか「support@zksync.io」にメールを送ってください。
今後の展望
59日後のメインネットへのローンチに向けて、順調に進んでいます。
今後のリリースにご期待ください。
それまでの間に、zkSyncのテスネットに参加し、zkSync 2.0への移植やプロジェクトをローンチされることをお薦めします: v2.zksync.io