今回から数回にわたり、
ウォレットのUXを向上させる技術として注目されている、
Account Abstraction(以下AA)
とその近況について取り上げていきたいと思います。
AAはEthereumに存在する2種類のアカウントである、外部所有アカウント (EOA : Externally Owned Accounts) とコントラクトアカウント (CA : Contract Accounts) の役割を変更して、コントラクトアカウントをプライマリアカウントとして定義する仕組みのことです。
このままだと何が何だか分からないと思いますので、もう少し分かりやすく単語を置き換えてみましょう。EOAはMetaMaskなどのウォレットアドレス、CAはスマートコントラクトのことを指しています。また、プライマリアカウントは「トランザクションを開始できるアカウント」のことです。
つまりAAは、スマートコントラクトからトランザクションを開始できるようにすることを目指した技術であるといえます。
現在のEthereumでは、スマートコントラクトからトランザクションを開始することはできません。ウォレットアドレスからのみトランザクションを開始することができるような仕組みになっており、実はこれによって以下のようなデメリットが発生しています。
- トランザクションを開始するときに、必ず自分がガス代を支払う必要がある
- ガス代について、必ずETHで支払う必要がある
- トランザクションのプログラム化・自動化ができない
- 秘密鍵やシードフレーズを紛失すると、ウォレットを復元できない
- 署名に使用できる暗号化方式がECDSAに限定されており、量子コンピューターが発展するとECDSAは破られる可能性がある
このうち1~4については、ウォレットのUXに直結するデメリットとなっています。現在主流であるMetaMaskなどのウォレットが使いづらく、マスアダプションできないと評されている要因にはこうしたものが挙げられます。
また5についても、Ethereumの存続にとってはクリティカルなものとなっており、量子コンピューターの性能がECDSAを解く水準に至る前に解決しなければなりません。
AAによってスマートコントラクトからトランザクションを開始できるようになることで、こうしたデメリットは解消されると考えられています。具体的には、以下のようなユースケースが実現できる可能性があります。
- ガス代について、ユーザーの代わりに運営側が負担してくれるNFTマーケットプレイス
- ステーブルコインなどのERC-20トークンによるガス代の支払い
- トークンを用いた定期的な支払いの自動化
- ソーシャルリカバリー機能を持ったウォレット
- ECDSA以外の暗号化方式(量子耐性暗号やSecure Enclaveなど)による署名
この中で最も分かりやすいユースケースは、1の「ガス代について、ユーザーの代わりに運営側が負担してくれるNFTマーケットプレイス」でしょう。
従来はNFTを出品したり購入したりする際に、ユーザー側が必ずETHでガス代を支払わなければなりませんでした。AAを導入することによって、NFTマーケットプレイスを運営する側がユーザーの代わりにガス代を支払う、といったことができるようになります。
4の「ソーシャルリカバリー機能を持ったウォレット」もウォレットのUXを大きく改善するものです。ソーシャルリカバリー機能は、事前に設定した信頼できる第三者によって公開鍵を変更できる機能のことを指しています。これによって、秘密鍵を紛失した場合でも信頼できる第三者に依頼することで公開鍵を変更してもらい、ウォレットの利用を継続することができるようになります。
AAに関連するEthereumの規格としては、現在ERC-4337、EIP-3074、EIP-7702という3つのものが主な議論の対象になっています。このうち、ERC-4337については2023年3月にすでに実装されていますが、まだ不完全なものとなっています。次回はこうしたAA関連規格について、その仕組みと近況について見ていきたいと思います。
「MCB Web3カタログ」でウォレット関連のサービス一覧を確認する
※ニュースレターを無料購読していただくと、毎週月曜日の17:00にイーサリアム技術解説シリーズを含む最新のニュースレターをお届けいたします。