イーサリアム技術解説: ウォレットのUXを向上させる、Account Abstractionとその近況(第4回)

今回はAccount Abstraction(AA)特集の最終回として、これまでのまとめと、今後の実装が期待されているネイティブAA規格「RIP-7560」について見ていきたいと思います。
これまで3回にわたり、AAの概要や、EIP-3074、ERC-4337、EIP-7702についての仕組みを見てきました。簡単にですが、AA関連規格の流れについておさらいしておきましょう。

2023年3月にERC-4337が実装されたことで、スマートコントラクトベースのウォレットからAAを利用できるようになりました。しかし、既存のウォレットからはERC-4337によるAAを利用できないという課題がありました。

このため、既存のウォレット向けのAAとして、EIP-3074という規格の導入が検討されるようになりましたが、ERC-4337との互換性がないという点が問題視されて、議論が巻き起こりました。

最終的に、ERC-4337との互換性がある既存のウォレット向けのAAとして、EIP-7702という規格が新たに提案され、EIP-3074の代わりに導入されることになった、といった流れとなっています。

このようにしてAAの仕組みはERC-4337のものに統一されましたが、実はまだAAの最終目標は達成されていません。AAの最終目標は、すべてのウォレットがデフォルトでAAを利用できるような、ネイティブAAの実現です。

EIP-7702は既存のウォレットにAAを提供するものですが、あくまで「AAを利用する」というオプトインの選択肢が既存ウォレットに追加されただけであるため、ネイティブAAについては実現されていません。

ネイティブAAを実現する方法のひとつとしては、EIP-7702を用いて既存のすべてのウォレットを永続的にスマートコントラクトベースのウォレットに変換するといったものがあります。ただし、これを行うためにはERC-4337の欠点を解消する必要があります。

ERC-4337には、EntryPointというスマートコントラクトにバグがあると資金が流出してしまうというリスクがあります。また、UserOperationが通常のトランザクションよりも多くのガス代を消費してしまうという欠点があります。現在はERC-4337を利用しているウォレットがまだ多くないため、あまり問題視されていません。しかし、EIP-7702を用いて既存のすべてのウォレットを永続的にスマートコントラクトベースのウォレットに変換する場合には、これらの欠点は無視できないものとなります。

このような欠点を解消した上でネイティブAAを実現するための規格として、RIP-7560というものが提案されています。

RIP-7560の仕組みは基本的にはERC-4337と同じものとなっており、EIP-3074の時に議論された、ERC-4337との互換性を保つという方針については継続されています。ERC-4337と異なるのは、EntryPointをプロトコルレベルに実装するという点と、AA_TX_TYPEという新たなトランザクションタイプを追加するという点にあります。

EntryPointをプロトコルレベルに実装することで、EntryPointにバグがあり資金が流出した場合でも、ハードフォークを行うことで元の状態に戻すことができるというメリットがあります。また、AA_TX_TYPEは通常のトランザクションと同じガス代の消費量となっており、UserOperationよりもガス効率が優れているというメリットがあります。

RIP-7560はレイヤー2向けに提案された規格ですが、仕様としてはEthereumメインネットにもそのまま実装できるようなものとなっています。ただし、メインネットに実装するためにはいくつかの課題があるとされています。

もしもRIP-7560がEthereumメインネットに実装できるということになれば、ネイティブAAがいよいよ実現されることになります。すべてのウォレットのUXが改善されて、Web3の世界がより多くの人に受け入れられる日も近いのかもしれません。

まずは2025年Q1に予定されているPectraアップグレードにて、無事にEIP-7702が実装されることを楽しみにしたいところです。

「MCB Web3カタログ」でウォレット関連のサービス一覧を確認する

ニュースレターを無料購読していただくと、毎週月曜日の17:00にイーサリアム技術解説シリーズを含む最新のニュースレターをお届けいたします。

過去のイーサリアム技術解説

アカウント・アブストラクション(AA)特集

ウォレットのUXを向上させる、Account Abstractionとその近況(第1回)

ウォレットのUXを向上させる、Account Abstractionとその近況(第2回)

ウォレットのUXを向上させる、Account Abstractionとその近況(第3回)

ウォレットのUXを向上させる、Account Abstractionとその近況(第4回)

ダンクシャーディング特集

レイヤー2のガス代を減少させる、ダンクシャーディングとData Availability(第1回)

レイヤー2のガス代を減少させる、ダンクシャーディングとData Availability(第2回)

レイヤー2のガス代を減少させる、ダンクシャーディングとData Availability(第3回)

ステートレスクライアント特集

Ethereumにおける真の分散化を目指す、ステートレスクライアントとVerkle Trees(第1回)

Ethereumにおける真の分散化を目指す、ステートレスクライアントとVerkle Trees(第2回)

Ethereumにおける真の分散化を目指す、ステートレスクライアントとVerkle Trees(第3回)

Comments are closed.