日本語でAccountAbstractionを網羅的理解するための資料を作成します
この記事をcollectしていただいた方に、僕が1時間の1on1で、AccountAbstractionについてレクチャーさせていただきます。
日本語でAccountAbstraction(以下、AA)を網羅的理解するための資料を作成します。
資料は、後述の「目次」にそって内容を作成し(変更の可能性あり)、この記事に追記する形で公開します。
そこで、資料作成のための僕の報酬を、この記事をcollectしていただく形でfundingしたいと思います。
fundingに参加していただいた方は、AAの情報の流通に協力してくださった方として、感謝の気持ちを込めて、僕が1時間の1on1で直接、この資料と共にAAついて知っていることの全てを共有させていただく時間を作りたいと思います(今回以降、私が1on1でAAについて話す場合は、今回のfundingの倍額以上の価格をつけると思います)。
collectはこちらから
ETHIndiaで、ERC4337に準拠したAAのウォレットを開発し、ethereum fundationからprizeを受賞
現在、Account Abstractionに関するインフラ事業を立ち上げ中
最近執筆したAccount Abstraction関係(特にERC4337)の記事
AccountAbstractionというコンセプトについて
AccountAbstractionとは何か
なぜAccountAbstractionが重要なのか
どのようにしてAccountAbstractionが実現されるのか
これまでのAccountAbstractionに関する取り組みの歴史について
ERC-4337について
これまでの規格とERC4337の違い
ERC-4337がどのようにしてAccountAbstractionを実現しているか
AccountAbstractionの応用、どんなことに使えるか
AccountAbstractionを使ったプロダクト・業界図
AccountAbstractionの将来の展望について
僕が提供する情報に対して、第三者が検証・批判可能な状態にしたいから
僕自身、たくさんのオープンソースによってAccountAbstractionを学んだから
AccountAbstractionに関する情報が秘匿されるよりも、多くの方に知っていただくことがethereumコミュニティ(ひいては人類)にとって良いと信じているから
AccountAbstraction(以下、AA)は、それ単体で何かを解決する性質のものではない。 AAは、課題解決のためのデザイン可能な空間を広げている。
現行のEthereumのアカウントの仕組み(EOA)が、人類にとっての最適ではないことが明らかとなった。そして、人類は未だにこの領域の最適解を見つけていない。そこで、まず、アカウントシステムに関するイノベーションの硬直化を解き、次世代のイノベーションを待つための受け皿を作ることから始めることにした。このような概念がAAである。
AAの目的は2つある。
認証機構にデザイン空間を作ること
資産の管理方法にデザイン空間を作ること
AAの目的の一つは、EOAの代わりに、任意の認証方式を使えるようにすることである。
現行システムでは、私たちは「秘密鍵の管理」という人類には早すぎた作業を強いられる。そして、その失敗のリスクは、全てを失うことである。
AAは、こうした秘密鍵の管理からエンドユーザーを解放する新たな認証方式を導入するために、スマートコントラクトウォレットのデザイナーが自由に認証方式をデザインできるようにする。
Smart contract wallets that use signature verification other than ECDSA (eg. Schnorr, BLS, post-quantum…)
Smart contract wallets that include features such as multisig verification or social recovery, reducing the highly prevalent risk of funds being lost or stolen
Achieve the key goal of account abstraction: allow users to use smart contract wallets containing arbitrary verification logic instead of EOAs as their primary account. Completely remove any need at all for users to also have EOAs (as status quo SC wallets and EIP-3074 both require)
To me, it's about moving user authentication from the network to the smart contract and letting wallet designers decide how to authenticate their users. Henri (Dev Advocate at StarkWare)
https://hackernoon.com/what-is-account-abstraction-and-why-is-everyone-talking-about-it
AAのもう一つの目的は、機能を拡張することが可能なウォレット、スマートコントラクトウォレットを実装することである。
現行システム、例えば、metamaskではユーザーは「する」か「しないか」の二つの選択肢しか与えられない。 これに対して、スマートコントラクトウォレットは、期限や条件をつけた意思表示を表現することができる。例えば、一定期間、少額の決済を全て承認する(Session key)、全資産のうちの20%までを処分することができるアカウント作成する、など。資産をprogramableにした。
ここで、EOA+外部のスマートコントラクトでは同一の機能を実現できないのかという疑問が生まれる。
例えば、NFTのレンタルの事例で考えてみると、既にERC-4907などのレンタルに対応したNFTの規格が存在する。一方で、既にdeploy済みのブルーチップNFTは、中央集権的な強引な手法を取らない限りこれらの規格に対応することができない。
「受け」側の拡張性が必要となる。このようなシチュエーションで
技術的なイノベーションというよりは、何をウォレットと認識するかという認識のパラダイムである。
重要な大局観としては、vitalikをはじめとするEthereumコミュニティのコアメンバーが2016年からAccountAbstractionの実現に取り組んでいること。過去の複数の提案(EIP)が、棄却、撤回されていること。その原因が、セキュリティの懸念から、プロトコルレイヤーの改修についてステークホルダーの賛同を集められなかったことであるという点である。
ERC-4337とは、「プロトコルレイヤーの改修を必要としないAccountAbstractionの実装」である。
EFは、AAがプロトコルレイヤーに取り込まれることを最終的な目標としており、ERC-4337をそのマイルストーンとして置いている。
ERC-4337は、二つの要件を満たす必要がある。
Ethereum mainnetでのAccountAbstractionの実装
これをプロトコルレイヤーを改修せずに行うこと
プロトコルレイヤーを改修せずにAAを実装するとは、つまり、「txの発行にはEOAアカウントによる署名が必要」というルールを維持しながら、アカウント認証機構をスマートコントラクトに移行するということです。
[図]
スマートコントラクトウォレットに指令を出すオーダー票のようなものを用います。エンドユーザー(ウォレットの持ち主)は、たとえば、ETHを特定のアドレス(0x0000…)に送金する指示を記したオーダー票を作成します。オーダー表は、オーダー表の作成者が、真の所有者であるかを確認するための認証に必要な情報を含みます。そして、これをEOAを持っている人に依頼して、オーダー表の内容を含むtxを発行してもらいます。そして、当該txがブロックに取り込まれると、スマートコントラクトウォレットにてオーダー票に記された指示が実行されます。
オーダー票を用いたスマートコントラクトウォレットの操作は、任意のEOAから行うことができます。認証機構はオーダー表の中に含まれているためです。この意味で、ERC-4337は、エンドユーザーはEOAを持つことなく、また、特定のEOAに依存することなくスマートコントラクトウォレットを操作することができます。
オーダー票のことをuser operation。
オーダー票をエンドユーザーから受け取り、EOAで署名する役割をBundler。
前処理を行う専用のコントラクトをEntryPointContract
冒頭で、AAは、課題解決のためのデザイン可能な空間を広げているものであると説明しました。
私は、AAによって拡張されたデザイン空間は、主に2つの方向で進化すると期待しています。
UXに優れたコンシューマ向けのウォレット
セキュリティに優れた、ビジネス、政府向けのウォレット
2023/05/15
インフラ提供者
ウォレットプロバイダー
アプリ専用
拡張ウォレット
派生・類似プロジェクト
ERC4337のfinalize
1on1は、僕の直接の知人、もしくは、知人による紹介をいただけた方に行います(国内のクリプト事業者であれば、だいたい一人挟めば辿り着けると思います)
1on1を行う際は、記事をcollectした際にmintされるNFTを、僕にtransferしていただきます
1on1をする権利は、NFTを譲渡する方法で、第三者に譲渡することができます。
資料の公開、および、1on1のスケジューリングの開始は、fundingが全額達成されて以降2週間以内に行います。
fundingが2/28までに達成されない場合、相談の上、返金させていただく場合があります。
問い合わせ先