EIP-4337 (アカウント抽象化) がイーサリアムの UX をどのように改善するかを理解するための記事
DeFi之道
2022-10-12 13:00
本文约2060字,阅读全文需要约8分钟
アカウントの抽象化は私たちにとって何を意味するのでしょうか?イーサリアムのアカウント抽象化を実装するにはどうすればよいですか?

原作者:Nishil, Biconomy 研究員

原文の編集: The Way of DeFi

原文の編集: The Way of DeFiEIP-4337イーサリアムの主な欠点の 1 つは、ユーザー エクスペリエンスが複雑であることです。nethermind と opengsn の研究者によって提案されたものを理解しましょう。

アカウントの抽象化を使用してこの問題を解決する方法。

アカウント抽象化 EIP-4337 はイーサリアムの UX をどのように改善しますか?

それでは、アカウント抽象化 (AA) が何を意味するのかから始めましょう。

1. アカウント抽象化(AA)の定義

アカウントの抽象化により、ユーザーはアカウントの使用を簡素化できるため、基礎となるプロセスを理解する必要性が軽減されます。

それは、私たちが Gmail アカウントの仕組みを知らずに使用しているようなものです。

アカウントの抽象化により、記憶術の恐ろしい世界から逃れる機会が得られます。

さまざまな署名オプションを有効にしたり、ガス料金を Dapp によってスポンサーしたり、法定通貨で支払ったりすることができます。

アカウント抽象化 (AA) の定義が何であるかがわかったので、それをイーサリアムに導入する方法を理解しましょう。

2. イーサリアムのアカウント抽象化の実装方法

  • 現在、イーサリアムには、外部所有アカウント (EOA) とスマート コントラクト アカウントの 2 種類のアカウントがあります。

  • いわゆる外部所有アカウント (EOA) は、これらのアカウントがユーザーのキー ペア (公開キーと秘密キー) によって制御されることを意味します。これは、ほとんどのユーザーがイーサリアムと対話するために使用する方法です。アカウント対話インターフェイス。

スマート コントラクト アカウントは秘密キーではなく、そのコードによって制御されます。たとえば、すべての DeFi プロトコルはスマート コントラクト アカウントによって制御されます。

イーサリアムの問題は、外部所有アカウント (EOA) が、スマート コントラクト アカウントでは得られない権限を獲得することです。最も注目すべき例は、トランザクションを開始する機能です。現在、これを実行できるのは外部所有アカウント (EOA) のみです。

EOA 機能はイーサリアム プロトコルにハードコーディングされており、カスタマイズの余地がないため、これが問題となります。

例: Gmail では、アカウントで 2FA を有効にするオプションが提供されます。現在のイーサリアムでは同様のカスタマイズは不可能です。

  • イーサリアム上の EOA には次の制限があります。

  • ユーザーはカスタム署名スキームを使用できません。 ECDSA は、イーサリアムが公開鍵と秘密鍵のペアを生成するために使用する典型的な署名スキームです。

  • ガス料金はネイティブ暗号通貨 ($ETH) で支払う必要があります。

秘密キーはあなたのアカウントであるため、キーを失うことはアカウントを失うことを意味します。

スマート コントラクト ウォレットではカスタム ロジックを使用できるため、これらすべての問題は簡単に解決できます。

ただし、前述したように、イーサリアム上のトランザクションは、スマート コントラクト ウォレットではなく、ECDSA で保護された外部所有アカウント (EOA) を通じてのみ開始できます。

ここで、あなたはこう疑問に思うかもしれません - なぜそれを変えないのですか?EIP-2938よし、

この問題を解決する方法です。これにより、EOA ではなくスマート コントラクトからトランザクションを開始できるようにするイーサリアム プロトコルの変更が導入されます。

しかし問題は、プロトコルに大幅な変更が必要なことです。

したがって、netermind と opengsn の研究者は、Vitalik Buterin の協力を得て、EIP-4337 を提案しました。

アカウント抽象化 EIP-4337 はイーサリアムの UX をどのように改善しますか?

この提案は、コンセンサス層プロトコルに変更を加えることなく、イーサリアムに「アカウントの抽象化」をもたらす回避策を提案しています。

コンセンサス層自体のロジックは変更されませんが、現在の TX ストレージ プールの機能が上位システムに複製されます。

  • プロセスには、次のような多くの可動部分があります。

  • ユーザー操作

  • バンドラー

給与マスター (オプション)

次に、これらの概念を 1 つずつ理解してみましょう。

この提案では、スマート コントラクト ウォレットにカスタム機能をエンコードできる「ユーザー アクション」の概念が導入されています。

ユーザーアクションは、検証のためにユーザーの意図、署名、その他のデータをパッケージ化します。

関連画像:

アカウント抽象化 EIP-4337 はイーサリアムの UX をどのように改善しますか?

以下は、スマート コントラクト ウォレットを通じてトランザクションを開始する一般的なプロセスです。

1. アリス (ユーザー) は「ユーザー操作」を開始し、実行したい TX を含めます。

アカウント抽象化 EIP-4337 はイーサリアムの UX をどのように改善しますか?

2. 操作を高レベルの「ユーザー操作ストレージ プール」に送信します。

3. 操作は部分的に検証され、P2P ストレージ プール ノード ネットワークにブロードキャストされます。

4 — アクションは「バンドラー」によって実行されるように選択されます。MEV シーカー、バリデーター、あなたまたは私など、誰でもバンドラーになれます。

5 — 次に、Bundler はすべての操作を 1 つの大きな TX にバンドルします。

6 — バンドラーには、他の TX とともにイーサリアム ブロック内のブロックが含まれます。

ここで、Bundler の機能を詳しく分析して、tx がどのように実行され検証されるかを見てみましょう。

1 — バンドラーは tx をグローバルな「エントリポイント」スマート コントラクトにルーティングします。

2 — グローバル コントラクトは各ユーザーを通じて動作し、スマート コントラクト ウォレットの「検証機能」を呼び出します。

3 — ウォレットはこの機能を実行して、ユーザーアクションの署名を検証し、これらのトランザクションをバンドルすることについてバンドラーを補償します。

4 — ウォレットは実行オペレーションを実行して、オペレーションで指定されたトランザクションを実行します。

5 — 操作後、残ったガスをウォレットに戻します。

EIP は「ペイマスター」という概念も提案しています。

ユーザーはウォレットに依存する代わりに、支払者に取引手数料をスポンサーしてもらうことができるようになりました。

アカウント抽象化 EIP-4337 はイーサリアムの UX をどのように改善しますか?

  • スポンサーシップ トランザクション機能には多くの使用例があり、最も一般的に引用される使用例は次のとおりです。

  • アプリ開発者がユーザーに代わって料金を支払うことを許可します。

ユーザーが ERC20 トークンで料金を支払うことを許可し、契約は ERC20 を受け取るための仲介者として機能します。

3. アカウントの抽象化は私たちにとって何を意味しますか?

これらすべては非常に興味深いものですが、なぜ気にする必要があるのでしょうか?まあ、理由は複数あります。

カスタム署名スキームの使用を許可する提案。ユーザーは、iOS および Android デバイス用の組み込みソリューションを使用して、すべての携帯電話をハードウェア ウォレットに変えることができるようになりました。

これにより、イーサリアム上の複数の署名者のネイティブ サポートが可能になります。 2 人以上のユーザーが 1 つのトランザクションを承認できるようになり、セキュリティが強化されました。

社会的回復を有効にすることができます。ユーザーが何らかの理由でキーを紛失した場合、友人や家族に尋ねるだけでアカウントを回復できます。

さて、提案は以上です。


DeFi之道
作者文库