AccountAbstractionについて日本語で網羅的に理解する

サマリー

  • 日本語でAccountAbstractionを網羅的理解するための資料を作成します

  • この記事をcollectしていただいた方に、僕が1時間の1on1で、AccountAbstractionについてレクチャーさせていただきます。

funding企画の概要

日本語でAccountAbstraction(以下、AA)を網羅的理解するための資料を作成します。

資料は、後述の「目次」にそって内容を作成し(変更の可能性あり)、この記事に追記する形で公開します。

そこで、資料作成のための僕の報酬を、この記事をcollectしていただく形でfundingしたいと思います。

fundingに参加していただいた方は、AAの情報の流通に協力してくださった方として、感謝の気持ちを込めて、僕が1時間の1on1で直接、この資料と共にAAついて知っていることの全てを共有させていただく時間を作りたいと思います(今回以降、私が1on1でAAについて話す場合は、今回のfundingの倍額以上の価格をつけると思います)。

collectはこちらから

僕がAccountAbstractionについて語る正統性について

目次

  • AccountAbstractionというコンセプトについて

    • AccountAbstractionとは何か

    • なぜAccountAbstractionが重要なのか

    • どのようにしてAccountAbstractionが実現されるのか

  • これまでのAccountAbstractionに関する取り組みの歴史について

  • ERC-4337について

    • これまでの規格とERC4337の違い

    • ERC-4337がどのようにしてAccountAbstractionを実現しているか

  • AccountAbstractionの応用、どんなことに使えるか

  • AccountAbstractionを使ったプロダクト・業界図

  • AccountAbstractionの将来の展望について

なぜ資料を公開するか

  • 僕が提供する情報に対して、第三者が検証・批判可能な状態にしたいから

  • 僕自身、たくさんのオープンソースによってAccountAbstractionを学んだから

  • AccountAbstractionに関する情報が秘匿されるよりも、多くの方に知っていただくことがethereumコミュニティ(ひいては人類)にとって良いと信じているから

AccountAbstractionというコンセプトについて

イントロダクション

AccountAbstraction(以下、AA)は、それ単体で何かを解決する性質のものではない。 AAは、課題解決のためのデザイン可能な空間を広げている。

現行のEthereumのアカウントの仕組み(EOA)が、人類にとっての最適ではないことが明らかとなった。そして、人類は未だにこの領域の最適解を見つけていない。そこで、まず、アカウントシステムに関するイノベーションの硬直化を解き、次世代のイノベーションを待つための受け皿を作ることから始めることにした。このような概念がAAである。

AccountAbstractionの目的

AAの目的は2つある。

  1. 認証機構にデザイン空間を作ること

  2. 資産の管理方法にデザイン空間を作ること

認証機構にデザイン空間を作ること

AAの目的の一つは、EOAの代わりに、任意の認証方式を使えるようにすることである。

現行システムでは、私たちは「秘密鍵の管理」という人類には早すぎた作業を強いられる。そして、その失敗のリスクは、全てを失うことである。

AAは、こうした秘密鍵の管理からエンドユーザーを解放する新たな認証方式を導入するために、スマートコントラクトウォレットのデザイナーが自由に認証方式をデザインできるようにする。

  1. Smart contract wallets that use signature verification other than ECDSA (eg. Schnorr, BLS, post-quantum…)

  2. Smart contract wallets that include features such as multisig verification or social recovery, reducing the highly prevalent risk of funds being lost or stolen

https://eips.ethereum.org/EIPS/eip-2938#motivation

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)

https://eips.ethereum.org/EIPS/eip-4337#motivation

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について

ERC-4337とは、「プロトコルレイヤーの改修を必要としないAccountAbstractionの実装」である。

EFは、AAがプロトコルレイヤーに取り込まれることを最終的な目標としており、ERC-4337をそのマイルストーンとして置いている。

ERC-4337の発明の概要

ERC-4337は、二つの要件を満たす必要がある。

  • Ethereum mainnetでのAccountAbstractionの実装

  • これをプロトコルレイヤーを改修せずに行うこと

プロトコルレイヤーを改修せずにAAを実装するとは、つまり、「txの発行にはEOAアカウントによる署名が必要」というルールを維持しながら、アカウント認証機構をスマートコントラクトに移行するということです。

[図]

スマートコントラクトウォレットに指令を出すオーダー票のようなものを用います。エンドユーザー(ウォレットの持ち主)は、たとえば、ETHを特定のアドレス(0x0000…)に送金する指示を記したオーダー票を作成します。オーダー表は、オーダー表の作成者が、真の所有者であるかを確認するための認証に必要な情報を含みます。そして、これをEOAを持っている人に依頼して、オーダー表の内容を含むtxを発行してもらいます。そして、当該txがブロックに取り込まれると、スマートコントラクトウォレットにてオーダー票に記された指示が実行されます。

オーダー票を用いたスマートコントラクトウォレットの操作は、任意のEOAから行うことができます。認証機構はオーダー表の中に含まれているためです。この意味で、ERC-4337は、エンドユーザーはEOAを持つことなく、また、特定のEOAに依存することなくスマートコントラクトウォレットを操作することができます。

ERC-4337

オーダー票のことをuser operation。

オーダー票をエンドユーザーから受け取り、EOAで署名する役割をBundler。

前処理を行う専用のコントラクトをEntryPointContract

Account Abstarctionの応用

冒頭で、AAは、課題解決のためのデザイン可能な空間を広げているものであると説明しました。

私は、AAによって拡張されたデザイン空間は、主に2つの方向で進化すると期待しています。

  • UXに優れたコンシューマ向けのウォレット

  • セキュリティに優れた、ビジネス、政府向けのウォレット

現在の業界図

2023/05/15

  • インフラ提供者

  • ウォレットプロバイダー

    • アプリ専用

    • 拡張ウォレット

  • 派生・類似プロジェクト

今後のtimeline

ERC4337のfinalize

collectしていただ方へのリターンについての詳細

  • 1on1は、僕の直接の知人、もしくは、知人による紹介をいただけた方に行います(国内のクリプト事業者であれば、だいたい一人挟めば辿り着けると思います)

  • 1on1を行う際は、記事をcollectした際にmintされるNFTを、僕にtransferしていただきます

  • 1on1をする権利は、NFTを譲渡する方法で、第三者に譲渡することができます。

  • 資料の公開、および、1on1のスケジューリングの開始は、fundingが全額達成されて以降2週間以内に行います。

  • fundingが2/28までに達成されない場合、相談の上、返金させていただく場合があります。

問い合わせ先

Subscribe to askyv
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.