アカウントアブストラクション(アカウント抽象化) 2: キーコンセプト(コラム)
アカウントアブストラクション(Account Abstraction、アカウント抽象化)は、イーサリアム(Ethereum)の規格の一つであるERC-4337で定義され、簡単に言うと「ユーザーがスマートコントラクトをウォレットとして使用できるようにする」ものです。
前の単元「アカウントアブストラクション(アカウント抽象化) 1: 基礎知識」では、アカウント抽象化の技術を利用したスマートコントラクトウォレットの仕組みを簡単に解説しましたが、もう少し詳しくアカウント抽象化のキーコンセプトについて解説します。なお、本単元はブロックチェーン開発プラットフォーマーであるAlchemy(アルケミー)が提供する「Understanding Account Abstraction」の内容を翻訳、一部再編集したものとなります。
アカウント抽象化における五つのキーコンセプト
アカウント抽象化のキーコンセプトとして、以下の五つが挙げられます。これらのキーコンセプトを組み合わせることで、Web3開発者はスマートコントラクトウォレットを構築し、スマートコントラクトウォレットと互換性のあるDappsを作るというようなイメージです。
1. UserOperation(ユーザーオペレーション)
2. Bundler(バンドラー)
3. EntryPoint(エントリーポイント)
4. Paymaster(ペイマスター)
5. Aggregator(アグリゲーター)
以下、それぞれについて解説します。
■1. UserOperation(ユーザーオペレーション)
UserOperationは、ユーザーが行いたいトランザクションの意図を表す「擬似トランザクションオブジェクト」です。
■2. Bundler(バンドラー)
Bundlerは、複数のUserOperationを一つのトランザクションにまとめて、そのトランザクションをEntryPointスマートコントラクトに送信します。Bundlerは、ガス料金の一部を受け取ることで報酬を得ることができます。
スマートコントラクトウォレットにはトランザクションを開始する機能がなく、全てのイーサリアムのトランザクションは外部所有アカウント(Externally Owned Account、EOA)によって開始される必要があるため、BundlerはERC-4337を実現するために必要不可欠なインフラです。BundlerはEOAを所有しており、アカウント抽象化のエコシステムでは、EOAを必要とする唯一の参加者ということになります。
なお、ERC-4337の主な目標の一つは、Web3の全ての参加者が自分のEOAウォレットを持つ必要性を抽象化することにあります。
■3. EntryPoint(エントリーポイント)
EntryPointはいわゆるスマートコントラクトで、Bundlerからトランザクションを受け取り、UserOperationを検証して実行します。スマートコントラクトアカウントは、ウォレットに十分な資金を持っているかどうかを確認します。ウォレットに十分な資金がない場合、EntryPointスマートコントラクトはトランザクションを拒否します。
■4. Paymaster(ペイマスター)
PaymasterはERC-4337で定義されたスマートコントラクトで、ガス支払いポリシーの実装を処理します。このガス支払いポリシーは、ガスがどの通貨で、誰によって支払われるかなどを示すことで柔軟性を生み出し、ユーザーがいわゆるガストークンを保有する必要性を排除します。
例えば、イーサリアムチェーンのガストークンはETHですが、ユーザーはイーサリアムのトランザクションのガスをETHで支払う代わりに、USDCやUSDTのような任意のERC-20トークンで支払うことができます。
Paymasterによって、アプリケーション開発者は以下のことが可能になります。
・ユーザーに対してガス料金をスポンサーする(ユーザーの代わりに第三者がガス代を支払う)
・ステーブルコインでガス料金を支払う
・ERC-20トークンなどでガス料金を支払う
■5. Aggregator(アグリゲーター)
複数の署名を一つの署名にまとめることで、Aggregatorは複数のUserOperationを一つのステップで検証し、コストを削減することができます。
スマートコントラクトウォレットをユーザーとして利用する上では、仕組みを完全に理解する必要はありません。ただし、アカウント抽象化はまだ新しい技術であり、使用の上では既存の製品との違いに悩まされることもあるでしょう。おおまかな流れだけでも理解しておくと、不具合が生じた時のヒントになるかもしれません。
制作:株式会社Kudasai
Web3ポケットキャンパスはスマホアプリでも学習ができます。アプリではnote版にはない「クイズ」と「学習履歴」の機能もあり、よりWeb3学習を楽しく続けられます。ぜひご利用ください。
▼スマホアプリインストールはこちら
この記事が気に入ったらサポートをしてみませんか?