菠菜菠菜|bocaibocai.eth

菠菜菠菜|bocaibocai.eth

Web3 Researcher|RMIT Master of Blockchain|Web3caff Reseacher|Buidler DAO Core Contributor |ENFP|DYOR|Mirror: http://mirror.xyz/bocaibocai.eth
twitter

EIP-4337アカウント抽象化ウォレットの提案は、ウォレットの新時代を切り開くことができるか?

財布は暗号世界への入り口および通行証として、暗号業界全体で代替不可能な地位を占めています。財布の使用は、暗号世界に入りたいすべての人にとって避けられない要素であり、財布の機能は最初の純粋な記帳機能から、現在のマルチチェーン・マルチシーン使用機能へと進化しています。しかし、現在の財布の使用の敷居は新しいユーザーにとって学習コストが高すぎるため、この敷居が多くの人々を暗号世界から遠ざけています。財布の敷居を下げることが、暗号世界全体に新しい血液とエコシステムの爆発をもたらすことができます。EIP-4337 アカウント抽象提案の到来に伴い、アカウント抽象財布がもたらす敷居の低下は、財布が次の時代に入り、暗号世界のユーザー爆発を引き起こすのでしょうか?

image

著者:菠菜菠菜

特別感謝:十四君および方軍先生の支援と指導

注:この記事は著者の個人的な見解を示しており、投資のアドバイスを構成するものではありません。

目次

01/ 現段階での初心者ユーザーが財布を使用する際の痛点は何ですか?

02/ 現在のイーサリアムの財布の種類は何ですか?

03/ アカウント抽象とは何ですか?EIP-4337 アカウント抽象にはどのような利点がありますか?

04/ なぜイーサリアムは EIP-4337 アカウント抽象提案を選んだのですか?

05/ EIP-4337 アカウント抽象財布はどのように機能しますか?他の財布アカウントタイプと何が違いますか?

06/ EIP-4337 アカウント抽象にはどのような欠点やリスクがありますか?

TL;DR

  • 暗号世界の知識の敷居は高く、人々は一般的にブロックチェーンや財布の知識に対する認識が不足しており、現在の財布の使用体験は複雑です。新しいユーザーの参加を妨げる要因が多く存在します。
  • 現段階での初心者ユーザーが財布を使用する際に直面する痛点は:財布を使用するにはまず Gas 費が必要で、暗号資産を購入するためのチャネルを探さなければならず、目まぐるしいメインネットの選択肢や財布の安全性の問題があります
  • イーサリアム上の財布には、EOA 外部所有アカウント(Externally Owned Accounts)と CA 契約アカウント(Contract Account)の 2 種類の異なるアカウントがあります。EOA 外部所有アカウントタイプの財布は、秘密鍵と公開鍵の鍵対によって制御される財布であり、プログラム可能な機能を持ちません。CA 契約アカウントタイプの財布は、スマートコントラクトの形式で存在する財布であり、契約アカウントタイプの財布自体は秘密鍵によって制御されず、秘密鍵も存在せず、コードを記述することでさまざまな機能を実現しますが、取引を自発的に開始することはできません
  • 2 種類の財布アカウントタイプにはそれぞれ利点と限界があり、EOA 外部所有アカウントはイーサリアムが規定する方法でのみ鍵対を生成でき、プログラム可能性がなく、Gas 費を持っていなければ操作できません。秘密鍵を失うと回復できません。しかし、CA 契約アカウントタイプに比べて、CA 契約アカウントタイプはより多くの機能を実現するためのカスタマイズロジックを持つ可能性がありますが、CA 契約アカウントタイプは自発的に取引を開始できず、EOA 外部所有アカウントによって呼び出される必要があります。また、CA 契約アカウントタイプの財布を生成するには追加のコストが必要です。この 2 種類の財布アカウントタイプは現在、財布の使用体験の複雑さを解決できていません
  • アカウント抽象(Account Abstraction)は、イーサリアム上の実装待ちの財布技術ソリューションであり、その最終的なビジョンは AA アカウント抽象財布が EOA 外部所有アカウントと CA 契約アカウントの 2 種類のアカウントタイプの特徴を組み合わせ、一体化して EOA の代わりに主アカウントとして存在させることです。CA のプログラム可能性を持ちながら、EOA の依存から解放されて自発的に取引を開始できるようになります。
  • EIP-4337 提案は、元々イーサリアムの財布取引プロセスでコンセンサス層に書き込まれていた【取引検証メカニズム】を新しいメカニズムに分離し、EIP-4337 が処理します。この新しいメカニズムの登場により、アカウント抽象財布は署名方式のカスタマイズを実現し、より多くのアプリケーションシーンをもたらしました
  • アカウント抽象を実現した財布アプリケーションは、ユーザーが EOA を持たずに特定の署名方式を使用して取引を開始できるようにし、アカウント抽象財布の所有権と署名権を分離します。アカウント抽象財布の EOA 所有者アカウントは単に所有者として存在し、実際のアカウント抽象財布の使用には影響しません
  • EIP-4337 がイーサリアムによって最終的なソリューションとして選ばれた理由は、まずEIP-4337 はコンセンサスプロトコル層の変更を必要とせずにアカウント抽象を実現できるため、これは POW から POS へのような大規模なコンセンサス層の変更を回避します。
  • EIP-4337 では、アカウント抽象財布が【署名検証メカニズム】を入口点契約に委ねるため、アカウント抽象財布は任意の署名形式の署名メカニズムを使用できます。財布開発者は、適切なシーンの署名形式を選択して財布製品を開発できます。
  • 現在のアカウント抽象財布は、EOA を財布の所有者として必要とする依存からまだ脱却できていない新しい標準のスマートコントラクト財布のようです。また、現在のアカウント抽象提案にはいくつかの欠点やリスクが存在します:スマートコントラクトのリスク、高い GAS、技術的実現の問題。

(一)現段階での初心者ユーザーが財布を使用する際の痛点は何ですか?#

暗号世界の知識の敷居は高く、人々は一般的にブロックチェーンや財布の知識に対する認識が不足しており、現在の財布の使用体験は複雑です。新しいユーザーの参加を妨げる要因が多く存在します。

痛点一:財布を使用するにはまず Gas 費が必要

初心者ユーザーが期待を持って暗号世界を体験しようと財布をダウンロードしたとき、初心者は驚くことに財布が使用できないことに気づきます。財布の中に公的チェーンのネイティブトークン(例えばイーサリアムの ETH)が Gas 費として存在しないため、財布は何の操作もできません。財布のすべてのチェーン上の操作は、マイナーが操作をパッケージ化し、Gas 費をマイナーに支払う必要があります。この時、初心者は暗号資産を購入するためのチャネルを探し始めなければなりませんが、多くの財布製品は入出金チャネルを提供していません。ほとんどの初心者の選択肢は中央集権的な取引所になる可能性があります。

image

痛点二:暗号資産購入チャネルおよび目まぐるしいメインネットの選択

初心者ユーザーが暗号資産を購入したいとき、彼らは入出金チャネルのある財布製品、中央集権的な取引所、OTC 取引などのチャネルを選ぶかもしれません。しかし、中央集権的な取引所や OTC 取引チャネルを選択した初心者ユーザーにとって、中央集権的な取引所で資産を購入した後、財布に転送しようとすると、初心者ユーザーはさまざまなメインネットの選択肢に混乱することになります。メインネットを選ぶことを学ぶには一定の学習コストが必要で、少しでも間違えると処理が非常に煩雑になります。OTC 取引の場合はリスクが非常に高く、初心者ユーザーは詐欺の対象になりやすいです。

image

痛点三:財布の安全性の問題

初心者ユーザーにとって、Gas 費をなんとか確保して財布を使用できるようになったとしても、暗号世界全体は初心者にとっては暗い森のようです。初心者ユーザーは、財布に関する暗号学の知識(秘密鍵や公開鍵など)を学ぶ必要があり、秘密鍵が何であるかを理解し、秘密鍵の安全性を確保し、暗号の暗い森の中の詐欺から身を守る方法を考える必要があります。これらは初心者ユーザーにとって学習コストが高く、簡単に騙される可能性があります。最も重要なのは、秘密鍵を一度失ったり忘れたりすると回復できず、Web2 アプリケーションのようにパスワードを再取得することはできません。Web2 ユーザーにとって、これは非常に慣れないことです。

image

(二)現在のイーサリアムの財布の種類は何ですか?#

現在、イーサリアム上の財布には、EOA 外部所有アカウント(Externally Owned Accounts)と CA 契約アカウント(Contract Account)の 2 種類の異なるアカウントがあります。

EOA 外部所有アカウント(Externally Owned Accounts):

EOA 外部所有アカウントタイプの財布は、秘密鍵と公開鍵の鍵対によって制御される財布です。外部所有の財布の役割は、基本的にトークンを受け取る、保持する、送信する、スマートコントラクトと相互作用する機能のみであり、プログラム可能な機能はありません。すべての取引を実行するには Gas 費を支払う必要があります。外部所有アカウントタイプの財布を作成するにはコストはかかりませんが、秘密鍵を生成する方法でのみ作成できます。

CA 契約アカウント(Contract Account):

CA 契約アカウントタイプの財布は、スマートコントラクトの形式で存在する財布であり、契約アカウントタイプの財布自体は秘密鍵によって制御されず、秘密鍵も存在せず、コードを記述することでさまざまな機能を実現します。DeFi プロトコル、多署名財布、金庫、蛇口などの機能が一般的に使用されます。多署名財布は、複数の外部所有アカウント財布の承認が必要な取引を行う財布であり、通常は企業の財布管理に使用されます。契約アカウント財布を作成するには Gas 費が必要で、契約アカウント財布自体は自発的に取引を開始できず、外部所有アカウント財布によって呼び出され、Gas 費を支払う必要があります

image

この 2 種類の財布アカウントタイプにはそれぞれ利点と限界があり、EOA 外部所有アカウントはイーサリアムが規定する方法でのみ鍵対を生成でき、プログラム可能性がなく、Gas 費を持っていなければ操作できません。秘密鍵を失うと回復できませんが、CA 契約アカウントタイプに比べて、CA 契約アカウントタイプはより多くの機能を実現するためのカスタマイズロジックを持つ可能性がありますが、CA 契約アカウントタイプは自発的に取引を開始できず、EOA 外部所有アカウントによって呼び出される必要があります。また、CA 契約アカウントタイプの財布を生成するには追加のコストが必要です。この 2 種類の財布アカウントタイプは現在、財布の使用体験の複雑さを解決できていません。

アカウント抽象(Account Abstraction)は、イーサリアム上の実装待ちの財布技術ソリューションであり、その最終的なビジョンは AA アカウント抽象財布が EOA 外部所有アカウントと CA 契約アカウントの 2 種類のアカウントタイプの特徴を組み合わせ、一体化して EOA の代わりに主アカウントとして存在させることです。CA のプログラム可能性を持ちながら、EOA の依存から解放されて自発的に取引を開始できるようになります。

ここで議論されているアカウント抽象(Account Abstraction)は、Vitalik が提案したイーサリアム EIP-4337 提案を指します。この提案は、元々イーサリアムの財布取引プロセスでコンセンサス層に書き込まれていた【取引検証メカニズム】を新しいメカニズムに分離し、アカウント抽象財布が署名方式のカスタマイズを実現し、Gas の代払い、署名の集約、プライバシー保護などのより多くのアプリケーションシーンをもたらしました。

EIP-4337 提案が実現したアカウント抽象財布は、EOA 外部所有アカウントタイプの財布で使用されるイーサリアムの楕円曲線デジタル署名アルゴリズム(ECDSA)鍵対の署名方式に制限されません財布アプリケーションの開発者は、任意のタイプの署名スキームをアカウント抽象財布アプリケーションに適用でき、ユーザーは他の署名方式を使用して取引を開始できるようにすることで、ユーザーの使用の敷居を下げることができます。

アカウント抽象を実現した財布アプリケーションは、ユーザーが EOA を持たずに特定の署名方式を使用して取引を開始できるようにし、アカウント抽象財布の所有権と署名権を分離します。アカウント抽象財布の EOA 所有者アカウントは単に所有者として存在し、実際のアカウント抽象財布の使用には影響しません。所有権と署名権の分離により、財布製品はユーザーにソーシャルリカバリーなどの手段を提供でき、ユーザーが秘密鍵を失っても回復できないことを心配する必要がなくなります。

アカウント抽象財布の新しいメカニズムによる拡張性により、Gas を持っていなければ財布を使用できないという痛点も解決できます。アカウント抽象財布は、第三者が Gas を代わりに支払うことを許可するだけでなく、ネイティブトークン以外の資産で Gas 費を支払うことも実現できます。これにより、初心者ユーザーの Gas 費の使用の敷居が大幅に下がります。近い将来、アカウント抽象がもたらすより低い敷居とより多くのカスタマイズ機能が財布の新しい時代を導く可能性があります。

image

(四)なぜイーサリアムは EIP-4337 アカウント抽象提案を選んだのですか?#

アカウント抽象の議論は、イーサリアムのローンチ時から続いており、最初の EIP-101 から EIP-3074、そして現在の最新の EIP-4337 まで、アカウント抽象のソリューションはすでにいくつかのバージョンを経てきましたが、大部分のソリューションは成熟しておらず、コンセンサスプロトコル層の変更が複雑すぎるため、最終的には棚上げされました。

image

2015 年から現在までの長い議論と反復を経て、最終的にイーサリアムは EIP-3074 と EIP-4337 の 2 つのソリューションの間で選択を行いました。EIP-4337 が CA スマートコントラクトアカウント財布を EOA のように使用できるようにするものであれば、EIP-3074 は EOA 外部所有アカウント財布がスマートコントラクトアカウントのプログラム可能な機能を持つことを可能にします。最終的に、イーサリアムの創設者 Vitalik が発表した最新のイーサリアムのロードマップにおいて、EIP-4337 が正式に The Splurge(狂歓)段階に実装されることになりました。これにより、EIP-4337 はアカウント抽象の最終的なソリューションとなりました。

EIP-4337 がイーサリアムによって最終的なソリューションとして選ばれた理由は、まずEIP-4337 はコンセンサスプロトコル層の変更を必要とせずにアカウント抽象を実現できるため、これは POW から POS へのような大規模なコンセンサス層の変更を回避します。EIP-3074 はコンセンサス層の変更を伴い、問題が発生した場合はハードフォーク(hard fork)を使用して問題を解決する必要があります。次に、EIP-3074 は EOA 外部所有アカウントがスマートコントラクトアカウントの特性を持つことを可能にしますが、署名メカニズムは依然として固定の ECDSA 署名を使用しており、EIP-4337 のように任意の署名方式を使用することはできません。したがって、EIP-3074 に比べて、EIP-4337 は財布の敷居を下げる上でより優位性があります。

(画像出典:ethereum.cn 翻訳)

(画像出典:ethereum.cn 翻訳)

(五)EIP-4337 アカウント抽象財布はどのように機能しますか?他の財布アカウントタイプと何が違いますか?#

アカウント抽象は、以前のアカウントタイプに新しい役割とメカニズムを導入しました:

財布契約(Wallet Contract):アカウント抽象後の財布スマートコントラクトであり、カスタマイズされた財布ロジックを実現できます。

入口点契約(Entry Point Contract):財布契約と通信し、ユーザー操作の検証と実行を処理する契約です。

ユーザー操作(UserOperations, uo):ユーザーが発起する新しいオフチェーン取引形式であり、以前の【取引トランザクション Transaction, tx】とは異なります。

バンドラー(Bundler):ユーザー操作をパッケージ化し、入口点契約に渡すオフチェーン計算ノードです。

ユーザー操作メモリプール(UserOperation Mempool):実行待ちのユーザー操作を蓄積するための専用メモリプールであり、取引トランザクションメモリプールとは独立しています。

代払い人(Paymaster):Gas を支払うための選択可能な第三者の代払い契約アカウントです。

これらの新しい用語が何を意味するのか分からない場合、次に簡略化されたフローチャートを使って説明します。まず、EOA 外部所有アカウントタイプの財布の取引メカニズムを理解しましょう。EOA 外部所有財布は、取引を開始するために ECDSA 署名を行う必要があります。

画像出典:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8

画像出典:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8

図から見ると、EOA アカウントタイプの財布が取引を開始する手順は次のとおりです:

  1. ユーザーは秘密鍵を使用して取引情報に ECDSA 署名を行い、署名付きの取引トランザクション(Transaction, tx)を生成します。
  2. 署名付きの取引トランザクションは、処理待ちのトランザクションのメモリプールに送信され、処理を待ちます。
  3. マイナーは取引トランザクションメモリプール内のトランザクションを処理し、有効性を検証します。
  4. 有効性が確認されると、取引トランザクションはブロックに組み込まれ、無効な場合は取引トランザクションが破棄されます。

CA 契約アカウントタイプには統一された取引プロセスの標準がないため、以下はある種のリレイヤーに依存するスマートコントラクト財布の取引プロセスです。CA 契約タイプのアカウントは、取引を実行するために EOA 外部所有アカウントタイプの財布の ECDSA 署名に依存する必要があります。また、リレイヤーという役割は中央集権的なリスクを伴う可能性があります。

画像出典:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8

画像出典:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8

図から見ると、ある種の CA 契約アカウントタイプの財布が取引を開始する手順は次のとおりです:

  1. ユーザーは秘密鍵を使用して取引情報に任意の形式の署名を行い、署名付きの取引情報(signed message)を生成します。
  2. 署名付きの取引情報は、メッセージを伝達するノードリレイヤーに送信されます。
  3. リレイヤーは秘密鍵を使用して、ユーザーの署名が付いた取引情報に ECDSA 署名を行い、取引トランザクションを形成します。
  4. リレイヤーは、ユーザーの取引情報を含む取引トランザクションをリレイヤーの EOA 外部所有アカウント財布を介してユーザーの財布スマートコントラクトに送信し、実行します。
  5. ユーザーのスマートコントラクト財布は操作を実行し、マイナーによって検証された後、ブロックに組み込まれます。

次に、EIP-4337 アカウント抽象後の財布取引メカニズムを見てみましょう。

画像出典:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8

画像出典:https://medium.com/nethermind-eth/ethereum-wallets-today-and-tomorrow-eip-3074-vs-erc-4337-a7732b81efc8

図から見ると、アカウント抽象後に取引を開始する手順は次のとおりです:

  1. ユーザーは財布ユーザー操作を発起し、任意の形式の秘密鍵を使用してユーザー操作に署名し、署名付きのユーザー操作(UserOperations, uo)を生成します。
  2. 署名付きのユーザー操作は、実行待ちのユーザー操作メモリプールに送信され、処理を待ちます。
  3. バンドラーはユーザー操作メモリプール内のユーザー操作をパッケージ化し、トランザクションとして入口点契約に提出します。
  4. 入口点契約はすべてのユーザー操作を処理します:財布が存在するかを検証し、財布がユーザー操作を検証し、ユーザー操作をスマートコントラクト財布に送信して実行します。
  5. スマートコントラクト財布はユーザー操作を実行し、ブロックに組み込みます。

比較すると、EOA 外部所有アカウントが取引を開始するには、イーサリアムの固定の ECDSA 署名アルゴリズムに依存する必要がありますが、CA 契約アカウントも最終的には EOA 外部所有アカウントの ECDSA 署名アルゴリズムに依存して取引を署名する必要があります。一方、EIP-4337 ではアカウント抽象財布が【署名検証メカニズム】を入口点契約に委ねるため、アカウント抽象財布は任意の署名形式の署名メカニズムを使用でき、財布開発者は適切なシーンの署名形式を選択して財布製品を開発できます。ユーザーは、財布アプリケーションの特定の署名方式を使用してアカウント抽象財布を操作できます。この署名方式は、Web2 ユーザーが簡単に使用できる方法や特定のシーンでのカスタマイズされた方法である可能性があります。

また、任意のマイナーがバンドラーの役割を果たすことができるため、バンドラーの中央集権的なリスクを回避できます。さらに、バンドラーは取引をバンドルすることで、Flashbot がメモリプールを監視して MEV アービトラージを行うのを防ぐこともできます。これらの新しいメカニズムの登場は、第三者が Gas 費を代わりに支払う Paymaster など、より多くのアプリケーションシーンの想像の余地をもたらしました。

image

図から見ると、取引トランザクション(tx)とユーザー操作(uo)は 2 つの独立したメモリプールであり、アカウント抽象の入口点契約の存在により、代払い人(Paymaster)契約はレゴブロックのように入口点契約と組み合わせることができます。入口点契約がユーザー操作(uo)を検証する前に、代払い人を検証確認します:代払いに同意していますか?Gas 費を支払うための十分な ETH を担保として持っていますか?

代払い人が完全に補填する場合に加えて、ユーザーのアカウント契約に Gas 費を支払うための ETH がない場合でも、ユーザーは Gas に相当する他のトークンを代払い人契約に転送することで、ETH なしで Gas 費を支払うことができます。

Gas 費の代払いに加えて、入口点契約は集約署名検証契約と組み合わせて集約署名機能を実現し、複数の署名によって財布を制御することができます。

image

以上のケースから、EIP-4337 ソリューションの入口点契約のモジュール化された組み合わせ性がもたらすより多くのアプリケーションシーンの想像の余地が見て取れます。アカウント抽象財布は暗号世界全体に非常に多くの利点をもたらす可能性がありますが、現実は本当にそんなに美しいのでしょうか?

(六)EIP-4337 アカウント抽象にはどのような欠点やリスクがありますか?#

アカウント抽象のビジョンは非常に美しいですが、現実はしばしば厳しいものです。現在のアカウント抽象財布は、EOA を財布の所有者として必要とする依存からまだ脱却できていない新しい標準のスマートコントラクト財布のようです。また、私たちは一つの原則を理解しています:複雑なものほど問題が発生しやすいということです。現在のアカウント抽象提案にはいくつかの欠点やリスクが存在します:

スマートコントラクトの安全性の問題

スマートコントラクトの安全性の問題は、暗号世界を悩ませる難題であり、私たちは「スマートコントラクト監査」を通過した契約でも安全な脆弱性が発生することを目にしています。契約の安全性の問題が発生するたびに、通常は巨額の財産損失を伴います。EIP-4337 アカウント抽象ソリューションにとって、アカウント抽象財布の機能モジュール化の蓄積と新しいメカニズムの追加は、コードの実行ロジックをより複雑にします。より複雑なコードの実行ロジックは、潜在的な安全リスクを伴う可能性があります。アカウント抽象財布と入口点契約自体がスマートコントラクトであるため、入口点契約または財布契約に問題が発生すると、重大なハッカー事件を引き起こす可能性があります。人々はアカウント抽象財布の使用に対する信頼を大きく失うでしょう。

より高い Gas 費

潜在的な契約の安全リスクに加えて、アカウント抽象財布はユーザーが支払う必要のある Gas 費を高くします。アカウント抽象財布は、EOA 外部所有アカウントや CA 契約アカウントに比べて、取引の操作手順が増え、処理ロジックが複雑になるため、処理する操作が増えることは、必要な Gas 費が増えることを意味します。Vitalik は、Layer2 を使用してアカウント抽象のデータを処理し、Gas 消費を削減する解決策を提案しましたが、これには長い時間がかかります。

技術的実現の問題

EIP-4337 の実現にはまだ長い道のりがあります。理論的には実現可能な技術でも、実践では多くの問題に直面することが多く、互換性の問題、複雑なノード検証プロセス、バンドラーの悪用を防ぐ方法、技術的ロジックの実現不可能性などが含まれます。これらの技術的問題を解決するには、長時間の試行と議論が必要です。これが EIP-4337 がイーサリアムのアップグレードの第六段階 Splurge(狂歓)に置かれている理由です。

道は遠く、暗号世界はより低い敷居と安全な財布を必要としています。これにより、より多くの新しいユーザーを引き付け、ユーザー数のボトルネックを突破することができます。アカウント抽象の実現が暗号世界に新しい想像の余地をもたらすと信じています。近い将来、アカウント抽象を代替する予想外のより良いソリューションが登場する可能性もあります。暗号業界の進化の速度は私たちの想像を超えており、これがこの業界の魅力でもあります。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。