アカウント抽象とは何か#
この質問に答える前に、まず「イーサリアムにはどのようなアカウントタイプがあるのか」と「なぜアカウント抽象が提案されたのか」という 2 つの質問を考えてみましょう。
アカウントタイプ#
- EOA(外部所有アカウント)
- CA(コントラクトアカウント)、自発的に取引を開始できない
なぜ「アカウント抽象」が提案されたのか#
上記の EOA 取引メカニズムのフローチャートから、現在存在するいくつかの問題が見えてきます:
- 秘密鍵管理 -> 単一障害点のリスク(no you key, no you coin)
- ECDSA 署名に依存 -> 量子計算に対抗できない
- 取引検証ロジックがプロトコル層に書かれている -> 悪いユーザー体験
近年の EIP 提案を振り返ると、開発者たちは常にユーザーのアカウントにチューリング完全な能力を持たせたいと考えてきました。関連する作業は常に行われており、ついに ERC-43371が登場しました。業界でも「アカウント抽象」という言葉が統一されました。
このソリューションはプロトコル層を変更する必要がなく、アカウント抽象の取引検証をプロトコル層からアプリケーション層に移行しました。しかし、アプリケーション層においても、これは技術標準に属し、新しく開発されるスマートコントラクトウォレットはこの標準に従うべきです2。
最初の質問に戻りましょう ——「アカウント抽象とは何か」。上記の内容を振り返ると、EOA 取引メカニズムの現在の問題と ERC-4337 の取引フローが理解できたと思います。そこで「アカウント抽象」の定義を試みることができます:
アカウント抽象は、取引の有効性を検証するためにプログラム可能な方法を使用する技術的なソリューションです。
アプリケーションシーン#
- 秘密鍵の回復
- ガス代の代払い、バッチ承認および取引
- 権限管理
ユーザーはアカウントの秘密鍵を回復でき、「単一障害点」の問題を解決します。開発者は Web3 の世界で二要素認証を導入して権限を付与でき、秘密鍵を失ってもメールで回復できます。
ユーザーはより良い取引体験を得られ、ガスとは何かを理解する必要がなくなります。Defi シーンでの先に承認してから取引するステップも、1 つの取引に統合でき、より便利になります。
ユーザーはアカウントの権限管理を行うことができ、企業や DAO 組織内で、管理者は異なるユーザー役割に基づいて異なる支出権限を設定できます。
関連製品#
一部の考察#
「AA」という分野に多くの製品が参入しているのを見ていますが、現在は非常に初期の段階にあります。私は lixin がこのポッドキャスト3での類似性が好きです。「AA」は「EOA」に対して、まるで「オートマチック車」が「マニュアル車」に対してのようです。オートマチック車が登場したとき、燃費が悪いとか安全でないという疑念が渦巻いていました。
おそらく ERC-4337 はアカウント抽象のフレームワークを提供しましたが、その次の製品形態を誰も予測することはできません —— 関連する標準はまだ策定中です。この道には未知と機会が満ちており、時には茨の道かもしれません。しかし、これこそが最も魅力的な部分ではないでしょうか?