Web3 ウォレットがブロックチェーン ユーザーにとって鍵であることは誰もが知っていますが、現在のほとんどのウォレットのユーザー エクスペリエンスはあまり良くなく、これが Web3 ウォレットの大量採用に対する最大の障害の 1 つです。ブロックチェーン上で対話するには、新規ユーザーは次の操作に精通している必要があります: ウォレットの作成、秘密鍵の保持、資金の購入と転送、ガス料金の支払い、さまざまな DAPP での退屈な操作の実行。したがって、新規ユーザーの参入障壁を下げ、ユーザーエクスペリエンスを向上させることが、暗号通貨の大量採用の前提条件となります。ERC-4337 は、イーサリアム ブロックチェーンおよび EVM 互換ネットワーク上のスマート コントラクト ウォレットの機能を解放する新しい「アカウント抽象化 (AA)」標準です。 ERC-4337 は、Web3 ウォレットの動作方法において最も重要なアップグレードの 1 つであり、スマート アカウントを通じてユーザーにスムーズなユーザー エクスペリエンスを生み出すことができます。この記事では、AA スマート コントラクト アカウント (アカウント抽象化) とは何か、その仕組み、ERC-4337 が Web3 ウォレットのユーザー エクスペリエンスにとって重要なアップグレードである理由、および Web3 アプリケーションに「スマート アカウント」を実装する方法を紹介します。### AA スマートコントラクトアカウントの紹介AA スマート コントラクト アカウント (アカウント抽象化) は、現在の契約アカウントと外部アカウント (EOA) アカウント タイプの利点を 1 つに組み合わせ、アカウント自体を「プログラム可能」にします。資産がスマート コントラクトによってのみ保持されるようにしながら、バッチ トランザクション、ガス支払い、秘密キーの回復など、よりカスタマイズおよび拡張された機能を使用できます。これにより、チェーン上の相互作用のプロセスが簡素化されるだけでなく、ガス補助金の実現も自動化されます。アカウント抽象化 (ERC-4337) は、ユーザーがプログラム可能なスマート コントラクトとして非保管ウォレットを作成できるようにするイーサリアムのアップデートになります。ウォレットの回復、追跡のないトランザクション、チーム ウォレットなどの多くの可能性が解き放たれ、Web3 エクスペリエンスがより安全、便利、柔軟になります。 AA スマート コントラクト ウォレット (アカウント抽象化) は、「スマート アカウント」、「スマート ウォレット」、「アカウント抽象化ウォレット」とも呼ばれます。### イーサリアムアカウントの種類イーサリアム アカウントは、ETH を保存し、トランザクションを開始および実行できるイーサリアム ブロックチェーン上の固有のデジタル アドレスです。イーサリアムアカウントは、外部アカウント(EOA)と契約アカウントの 2 種類に分類できます。#### 外部アカウント (EOA):EOA は、ブロックチェーン エコシステムの外部から手動で操作されるユーザー所有のウォレットです。彼らは管理に公開鍵と秘密鍵のペアを使用し、秘密鍵を持っている限り、EOA に保存されている資産を使用できます。 EOA の最も重要な部分はニーモニックです。ニーモニックは、ウォレットの設定時に生成される 12 個のランダムな単語 (通常は 12 個、場合によっては他の数字が使用される) です。EOA はニーモニックを使用して秘密キーを生成し、その秘密キーを使用してトランザクションに署名します。したがって、アカウント所有者は、ハッキングや盗難から保護するためにシード フレーズをオフラインで保存する必要があります。ユーザーが秘密キーを紛失した場合、シード フレーズが秘密キーを取り戻して資産を取得する唯一の方法です。現在人気のある暗号通貨ウォレットのほとんどは、Coinbase Wallet や Metamask などの EOA です。 EOA はイーサリアム エコシステムの重要な部分ですが、機能と柔軟性が制限されており、通常は 2 つのアクションしか実行できません: トークンを他の EOA に転送するか、別のスマート コントラクトをトリガーするトランザクションを開始します。**これらの設計上の制限により、多くの課題が生じます。****1. 弱いセキュリティ: **EOA のセキュリティはニーモニックに直接関係しています。ユーザーが秘密キーとシードフレーズを失うと、すべての資産が失われる可能性があります。そして、社会的回復の選択肢はありません。さらに、ユーザーは支出制限や 2 要素認証などのセキュリティ設定を構成することはできません。**2. カスタマイズ機能の欠如: **EOA によって開始されたトランザクションはカスタマイズまたは自動化できません。ユーザーは各トランザクションに手動で署名する必要があります。**3. ガスの支払い: **ユーザーは取引のガスを支払うためにまず ETH を持っている必要がありますが、新規登録ユーザーは通常 ETH を持っていません。したがって、EOA は Web3 への移行において重要な役割を果たしますが、ユーザー エクスペリエンスは良くなく、特にほとんどの新規ユーザーにとってフレンドリーではないため、EOA はブロックチェーンの大量採用を達成するための理想的な方法ではありません。多数の新規ユーザーを引き付けるには、よりシンプルなユーザー インターフェイス、より優れたセキュリティ、および柔軟性の向上が必要です。#### 契約アカウント:契約アカウントは、スマート コントラクト フォームを暗号化されたウォレットとして使用します。さまざまなロジックをスマート コントラクトにコーディングして、トランザクションをカスタマイズしたり、コントラクト アカウントに他の機能を追加したりできます。ただし、契約アカウントには秘密キーやニーモニックがないため、トランザクションをアクティブに開始することはできません。 EOA からのトランザクションがスマート コントラクト コードをトリガーすると、特定のアクションのみを実行できます。これは、ユーザーが契約アカウントを操作するには、ETH 残高で EOA を維持する必要があることを意味します。このため、契約アカウントの操作はスタンドアロン EOA を操作する場合よりも不便になりますが、アカウントの抽象化によりこれを変えることができます。### アカウントの抽象化の仕組みアカウント抽象化と ERC-4337 の最も重要な革新は、契約ベースのウォレットではなく、個別の EOA または契約アカウントを抽象化 (分離) できる機能です。アカウントの抽象化により、EOA なしでトランザクションを実行できる独立したスマート コントラクト アカウントを作成できます。スマート コントラクト コードの形式で定義できるカスタム操作は、スマート アカウントに実装できます。スマートアカウントの操作は非常に簡単で、EOAのような定期的なトランザクションを送信する必要はなく、「ユーザー操作オブジェクト」(UserOperation)を利用してユーザーに代わって操作します。ユーザー操作オブジェクトには複数のデータ要素があり、トランザクションの種類、トークン、トランザクションの各ステップのガス価格、トランザクションを検証するための署名、その他のデータが記述されます。「アカウント抽象化」スマートアカウントに基づいて、ユーザー操作が送信されるたびに、トランザクションはまずユーザー操作のための一般待機領域「Mempool」(Mempool)に入ります。これらのリクエストは、通常のトランザクションを検証するノードと同様のバンドラーによってバンドルされます。バンドラーは、バリデーター ノードと同じロジックを使用して、最大の値を抽出できるトランザクションを決定します。バンドルされたユーザー アクションは、単一のホワイトリスト エントリを通じて送信され、そこで個々のユーザー アクションが検証され、別の関数を呼び出して実行されます。平たく言えば、これは実際にはウォレットではなくスマートコントラクトですが、ウォレットとしても使用できるため、「抽象」アカウントと呼ばれます。これを行う利点は、新しく優れたエクスペリエンス機能を実装できることです。それで、機能は何ですか?### イーサリアムスマートアカウント機能ユーザーアクションにはあらゆる種類のロジックを含めることができるため、ユーザーはアカウントと資金の管理方法に関するさまざまなカスタムアクションを実装できます。アカウント抽象化の 5 つの使用例を次に示します。#### 1. ウォレットの回復EOA とは異なり、スマート アカウントのセキュリティはニーモニック ワードや秘密キーに依存しません。スマート アカウントの所有者は、複数のデバイス、人、またはサードパーティのサービスをウォレット ガーディアンとして設定できます。アカウント所有者がアカウント資格情報を失った場合、保護者はトランザクションに署名して、スマート アカウントにアクセスするための新しい資格情報を割り当てることができます。このプロセスにより、アカウント所有者の資産の管理や所有権が侵害されることはありません。#### 2. トランザクションをマージするDEX 内で 1 つのトークンを別のトークンに変換するには、2 つの個別のトランザクションが必要です。まず、ユーザーは秘密キーを使用して署名し、交換するトークンを使用するために DAPP を承認する必要があります。次に、交換を実行するにはトランザクションに署名する必要があります。その他のより複雑な Web3 トランザクションでは、承認のために 3 つ以上の署名が必要になる場合があります。スマートアカウントは複数のトランザクションをまとめてすべてのトランザクションを一度に承認できるため、DeFiトランザクションは従来の金融トランザクションと同じくらいシンプルになります。#### 3. 共有アカウントとチームウォレットEOA アカウント所有者は、ニーモニック ワードを使用して EOA へのフル アクセスを制御できます。他のユーザーとアクセス許可を共有したい場合は、フル アクセス アクセス許可を付与するか、すべてのアクセス許可を自分で保持するかしか選択できず、中間的な方法はありません。アカウントの抽象化により、アカウント所有者はウォレットに対するさまざまなレベルの権限を複数のユーザーと共有できます。たとえば、アカウント所有者は、トランザクションを実行するために 2 人以上のユーザーにトランザクションへの署名を要求するマルチシグを作成できます。さらに、特定の時間に限られた量の資金しか使用できないユーザーを特定のウォレットのセットに追加することもできます。#### 4. 自動取引EOA を使用する場合、ユーザーは DAPP 上ですべてのトランザクションを手動で開始または署名する必要があります。信頼できるトランザクションの場合、このプロセスを自動化する方法はありません。スマート アカウントでは、ユーザーは特定のトークンへのアクセス、支出制限、期間、ガス制限、事前設定されたトリガー条件に基づく特定のアクションなどの一連のパラメーターを定義できます。#### 5. トークンを手数料トークンとして使用する抽象アカウントを使用すると、アカウントにイーサリアムがなくても、必要なサードパーティ サービス プロバイダーが USDT などの他のトークンをサポートしている場合、アカウント操作を完了するためのサービス料金として USDT を使用することもできます。要約すると、AA スマート アカウントの機能には、マルチ認証とアカウント回復が含まれます。元の通常アカウントでは、ワンクリックで完了するまでに複数の操作手順 (DEX でのトークンの交換など) が必要です。ガスはメイン チェーンに依存します。通貨が削除され、ステーブルコインを含む任意のトークンをガスの支払いに使用でき、第三者によるガスの支払いが実現でき、スマートアカウントウォレット自体が契約であるため、セキュリティは同等です。管理されていないウォレットのそれと、よりカスタマイズされた機能。### AA スマート アカウントの課題と展望現時点では、すべての DAPP が契約アカウントの署名の有効性を検証できるわけではないため、ERC-4337 には互換性の問題がまだ残っています。しかし、EIP-1217 の実装により、この問題は解決されます。さらに、イーサリアムブロックチェーンの使用は依然として高価であるため、AAスマートアカウントはガスコストの問題にも直面しています。短期的には、ERC-4337 が L2 でさらに採用されることが予想されます。全体として、AA スマート アカウントは、Web3 アプリケーションとウォレットにさまざまな新しい可能性をもたらします。スマート アカウントを使用すると、ユーザーはウォレットをより簡単に管理できるだけでなく、ウォレットの運用方法の柔軟性を最適化することもできます。スマート アカウントは Web3 インタラクションの未来となり、Web3 の可能性に対する新しい標準を設定します。
アカウント抽象化 (AA): 将来の Web3 ウォレット エクスペリエンス
Web3 ウォレットがブロックチェーン ユーザーにとって鍵であることは誰もが知っていますが、現在のほとんどのウォレットのユーザー エクスペリエンスはあまり良くなく、これが Web3 ウォレットの大量採用に対する最大の障害の 1 つです。ブロックチェーン上で対話するには、新規ユーザーは次の操作に精通している必要があります: ウォレットの作成、秘密鍵の保持、資金の購入と転送、ガス料金の支払い、さまざまな DAPP での退屈な操作の実行。したがって、新規ユーザーの参入障壁を下げ、ユーザーエクスペリエンスを向上させることが、暗号通貨の大量採用の前提条件となります。
ERC-4337 は、イーサリアム ブロックチェーンおよび EVM 互換ネットワーク上のスマート コントラクト ウォレットの機能を解放する新しい「アカウント抽象化 (AA)」標準です。 ERC-4337 は、Web3 ウォレットの動作方法において最も重要なアップグレードの 1 つであり、スマート アカウントを通じてユーザーにスムーズなユーザー エクスペリエンスを生み出すことができます。
この記事では、AA スマート コントラクト アカウント (アカウント抽象化) とは何か、その仕組み、ERC-4337 が Web3 ウォレットのユーザー エクスペリエンスにとって重要なアップグレードである理由、および Web3 アプリケーションに「スマート アカウント」を実装する方法を紹介します。
AA スマートコントラクトアカウントの紹介
AA スマート コントラクト アカウント (アカウント抽象化) は、現在の契約アカウントと外部アカウント (EOA) アカウント タイプの利点を 1 つに組み合わせ、アカウント自体を「プログラム可能」にします。資産がスマート コントラクトによってのみ保持されるようにしながら、バッチ トランザクション、ガス支払い、秘密キーの回復など、よりカスタマイズおよび拡張された機能を使用できます。これにより、チェーン上の相互作用のプロセスが簡素化されるだけでなく、ガス補助金の実現も自動化されます。
アカウント抽象化 (ERC-4337) は、ユーザーがプログラム可能なスマート コントラクトとして非保管ウォレットを作成できるようにするイーサリアムのアップデートになります。ウォレットの回復、追跡のないトランザクション、チーム ウォレットなどの多くの可能性が解き放たれ、Web3 エクスペリエンスがより安全、便利、柔軟になります。 AA スマート コントラクト ウォレット (アカウント抽象化) は、「スマート アカウント」、「スマート ウォレット」、「アカウント抽象化ウォレット」とも呼ばれます。
イーサリアムアカウントの種類
イーサリアム アカウントは、ETH を保存し、トランザクションを開始および実行できるイーサリアム ブロックチェーン上の固有のデジタル アドレスです。イーサリアムアカウントは、外部アカウント(EOA)と契約アカウントの 2 種類に分類できます。
外部アカウント (EOA):
EOA は、ブロックチェーン エコシステムの外部から手動で操作されるユーザー所有のウォレットです。彼らは管理に公開鍵と秘密鍵のペアを使用し、秘密鍵を持っている限り、EOA に保存されている資産を使用できます。 EOA の最も重要な部分はニーモニックです。ニーモニックは、ウォレットの設定時に生成される 12 個のランダムな単語 (通常は 12 個、場合によっては他の数字が使用される) です。
EOA はニーモニックを使用して秘密キーを生成し、その秘密キーを使用してトランザクションに署名します。したがって、アカウント所有者は、ハッキングや盗難から保護するためにシード フレーズをオフラインで保存する必要があります。ユーザーが秘密キーを紛失した場合、シード フレーズが秘密キーを取り戻して資産を取得する唯一の方法です。
現在人気のある暗号通貨ウォレットのほとんどは、Coinbase Wallet や Metamask などの EOA です。 EOA はイーサリアム エコシステムの重要な部分ですが、機能と柔軟性が制限されており、通常は 2 つのアクションしか実行できません: トークンを他の EOA に転送するか、別のスマート コントラクトをトリガーするトランザクションを開始します。
これらの設計上の制限により、多くの課題が生じます。
**1. 弱いセキュリティ: **EOA のセキュリティはニーモニックに直接関係しています。ユーザーが秘密キーとシードフレーズを失うと、すべての資産が失われる可能性があります。そして、社会的回復の選択肢はありません。さらに、ユーザーは支出制限や 2 要素認証などのセキュリティ設定を構成することはできません。
**2. カスタマイズ機能の欠如: **EOA によって開始されたトランザクションはカスタマイズまたは自動化できません。ユーザーは各トランザクションに手動で署名する必要があります。
**3. ガスの支払い: **ユーザーは取引のガスを支払うためにまず ETH を持っている必要がありますが、新規登録ユーザーは通常 ETH を持っていません。
したがって、EOA は Web3 への移行において重要な役割を果たしますが、ユーザー エクスペリエンスは良くなく、特にほとんどの新規ユーザーにとってフレンドリーではないため、EOA はブロックチェーンの大量採用を達成するための理想的な方法ではありません。多数の新規ユーザーを引き付けるには、よりシンプルなユーザー インターフェイス、より優れたセキュリティ、および柔軟性の向上が必要です。
契約アカウント:
契約アカウントは、スマート コントラクト フォームを暗号化されたウォレットとして使用します。さまざまなロジックをスマート コントラクトにコーディングして、トランザクションをカスタマイズしたり、コントラクト アカウントに他の機能を追加したりできます。ただし、契約アカウントには秘密キーやニーモニックがないため、トランザクションをアクティブに開始することはできません。 EOA からのトランザクションがスマート コントラクト コードをトリガーすると、特定のアクションのみを実行できます。これは、ユーザーが契約アカウントを操作するには、ETH 残高で EOA を維持する必要があることを意味します。このため、契約アカウントの操作はスタンドアロン EOA を操作する場合よりも不便になりますが、アカウントの抽象化によりこれを変えることができます。
アカウントの抽象化の仕組み
アカウント抽象化と ERC-4337 の最も重要な革新は、契約ベースのウォレットではなく、個別の EOA または契約アカウントを抽象化 (分離) できる機能です。アカウントの抽象化により、EOA なしでトランザクションを実行できる独立したスマート コントラクト アカウントを作成できます。スマート コントラクト コードの形式で定義できるカスタム操作は、スマート アカウントに実装できます。
スマートアカウントの操作は非常に簡単で、EOAのような定期的なトランザクションを送信する必要はなく、「ユーザー操作オブジェクト」(UserOperation)を利用してユーザーに代わって操作します。ユーザー操作オブジェクトには複数のデータ要素があり、トランザクションの種類、トークン、トランザクションの各ステップのガス価格、トランザクションを検証するための署名、その他のデータが記述されます。
「アカウント抽象化」スマートアカウントに基づいて、ユーザー操作が送信されるたびに、トランザクションはまずユーザー操作のための一般待機領域「Mempool」(Mempool)に入ります。これらのリクエストは、通常のトランザクションを検証するノードと同様のバンドラーによってバンドルされます。バンドラーは、バリデーター ノードと同じロジックを使用して、最大の値を抽出できるトランザクションを決定します。バンドルされたユーザー アクションは、単一のホワイトリスト エントリを通じて送信され、そこで個々のユーザー アクションが検証され、別の関数を呼び出して実行されます。
平たく言えば、これは実際にはウォレットではなくスマートコントラクトですが、ウォレットとしても使用できるため、「抽象」アカウントと呼ばれます。これを行う利点は、新しく優れたエクスペリエンス機能を実装できることです。それで、機能は何ですか?
イーサリアムスマートアカウント機能
ユーザーアクションにはあらゆる種類のロジックを含めることができるため、ユーザーはアカウントと資金の管理方法に関するさまざまなカスタムアクションを実装できます。アカウント抽象化の 5 つの使用例を次に示します。
1. ウォレットの回復
EOA とは異なり、スマート アカウントのセキュリティはニーモニック ワードや秘密キーに依存しません。スマート アカウントの所有者は、複数のデバイス、人、またはサードパーティのサービスをウォレット ガーディアンとして設定できます。アカウント所有者がアカウント資格情報を失った場合、保護者はトランザクションに署名して、スマート アカウントにアクセスするための新しい資格情報を割り当てることができます。このプロセスにより、アカウント所有者の資産の管理や所有権が侵害されることはありません。
2. トランザクションをマージする
DEX 内で 1 つのトークンを別のトークンに変換するには、2 つの個別のトランザクションが必要です。まず、ユーザーは秘密キーを使用して署名し、交換するトークンを使用するために DAPP を承認する必要があります。次に、交換を実行するにはトランザクションに署名する必要があります。その他のより複雑な Web3 トランザクションでは、承認のために 3 つ以上の署名が必要になる場合があります。スマートアカウントは複数のトランザクションをまとめてすべてのトランザクションを一度に承認できるため、DeFiトランザクションは従来の金融トランザクションと同じくらいシンプルになります。
3. 共有アカウントとチームウォレット
EOA アカウント所有者は、ニーモニック ワードを使用して EOA へのフル アクセスを制御できます。他のユーザーとアクセス許可を共有したい場合は、フル アクセス アクセス許可を付与するか、すべてのアクセス許可を自分で保持するかしか選択できず、中間的な方法はありません。アカウントの抽象化により、アカウント所有者はウォレットに対するさまざまなレベルの権限を複数のユーザーと共有できます。たとえば、アカウント所有者は、トランザクションを実行するために 2 人以上のユーザーにトランザクションへの署名を要求するマルチシグを作成できます。さらに、特定の時間に限られた量の資金しか使用できないユーザーを特定のウォレットのセットに追加することもできます。
4. 自動取引
EOA を使用する場合、ユーザーは DAPP 上ですべてのトランザクションを手動で開始または署名する必要があります。信頼できるトランザクションの場合、このプロセスを自動化する方法はありません。スマート アカウントでは、ユーザーは特定のトークンへのアクセス、支出制限、期間、ガス制限、事前設定されたトリガー条件に基づく特定のアクションなどの一連のパラメーターを定義できます。
5. トークンを手数料トークンとして使用する
抽象アカウントを使用すると、アカウントにイーサリアムがなくても、必要なサードパーティ サービス プロバイダーが USDT などの他のトークンをサポートしている場合、アカウント操作を完了するためのサービス料金として USDT を使用することもできます。
要約すると、AA スマート アカウントの機能には、マルチ認証とアカウント回復が含まれます。元の通常アカウントでは、ワンクリックで完了するまでに複数の操作手順 (DEX でのトークンの交換など) が必要です。ガスはメイン チェーンに依存します。通貨が削除され、ステーブルコインを含む任意のトークンをガスの支払いに使用でき、第三者によるガスの支払いが実現でき、スマートアカウントウォレット自体が契約であるため、セキュリティは同等です。管理されていないウォレットのそれと、よりカスタマイズされた機能。
AA スマート アカウントの課題と展望
現時点では、すべての DAPP が契約アカウントの署名の有効性を検証できるわけではないため、ERC-4337 には互換性の問題がまだ残っています。しかし、EIP-1217 の実装により、この問題は解決されます。さらに、イーサリアムブロックチェーンの使用は依然として高価であるため、AAスマートアカウントはガスコストの問題にも直面しています。短期的には、ERC-4337 が L2 でさらに採用されることが予想されます。
全体として、AA スマート アカウントは、Web3 アプリケーションとウォレットにさまざまな新しい可能性をもたらします。スマート アカウントを使用すると、ユーザーはウォレットをより簡単に管理できるだけでなく、ウォレットの運用方法の柔軟性を最適化することもできます。スマート アカウントは Web3 インタラクションの未来となり、Web3 の可能性に対する新しい標準を設定します。