![見出し画像](https://assets.st-note.com/production/uploads/images/120038429/rectangle_large_type_2_d7097ffd1d7cd7ae04569a91f8fcf677.jpeg?width=1200)
【初心者向けガイド】 アカウントのアブストラクションについて │ アカウントアブストラクションウォレット
この記事は英語から翻訳されたものです。より正確な情報を必要とされる場合は、英語記事をご参考ください。元の英語記事はこちら
2009年、ビットコインアドレスの秘密鍵を構成する16進数の64文字から、2013年のBitcoin Improvement Proposal 39(BIP39)によるブロックチェーンへのシークレットリカバリーフレーズという概念の導入まで、利用者の資産を守るための最も重要な情報としての秘密鍵とシークレットリカバリーフレーズは、10年間ブロックチェーンにおいて進化し続けてきました。
2020年、Vitalik ButerinのEIP-2938で発表されたアカウントアブストラクションは、より包括的で詳細なアカウントアブストラクションの概念として提案され、アカウントアブストラクションウォレットが開発され始めています。
10億人のユーザーを新たにWeb3.0に引き込むために
アカウントアブストラクションという概念がもたらすアカウントアブストラクションウォレットは、今後のWeb3.0のひとつの方向性となるかもしれません。
用語集
アカウントアブストラクション
イーサリアムアカウント(EOAアカウント)の管理とインタラクションの柔軟性を強化することを目的に、ユーザーがスマートコントラクトをアカウントとして利用できるようにするブロックチェーン技術
EOAウォレット(Externally-Owned Account)
秘密鍵とシークレットリカバリーフレーズによって管理され、現在まで最も利用者の多い従来型のウォレット
AAウォレット(Account Abstraction Wallet)
ERC-4337プロトコルに基づく、スマートコントラクトウォレットの一種
EOAウォレットの限界
あなたは初めてEOAウォレット(TokenPocketやMetaMaskなど)を使った時のことを覚えていますか?
![](https://assets.st-note.com/img/1698395650666-vqapFB3sSI.png?width=1200)
1. 資産が秘密鍵とシークレットリカバリーフレーズによって管理されている
EOAウォレットは、最も一般的なウォレットアカウントシステムの総称です。EOAウォレットは秘密鍵とシークレットリカバリーフレーズによってコントロールされます。そのため、ユーザーはEOAウォレットの秘密鍵とシークレットリカバリーフレーズを安全に保管しなければなりません。これらは一度流出してしまうと、ウォレットの資産の流出につながります。
すべてのWeb3.0ユーザーにとって、これはセキュリティ上の課題であり、今日に至るまでTokenPocketでは、ハードウェアウォレット、コールドウォレット、マルチシグウォレットなど、秘密鍵とシークレットリカバリーフレーズの保管のセキュリティを解決するためにいくつかの製品を導入しました。しかし、これらは初心者にとっては使いにくく、その核心は依然として秘密鍵とシークレットリカバリーフレーズの保管と使用に依存しています。
2. インタラクションロジックがユーザーフレンドリーでない
高くて不安定なオンチェーンのガス代
トランザクションの確認に複数の要因が影響
トランザクションのプロセスが複雑
イーサリアムを例にとると、イーサリアムネットワーク上で送金や取引を実行するには、ネイティブトークンのETHをガス代として支払い、チェーン上でトランザクションを確認する必要があります。
もし、ユーザーのウォレットにETHがない場合は、中央集権的な取引所やサードパーティのクロスチェーンブリッジを通じてETHを購入し、それをウォレットに送金する必要があります。
また、場合によっては、ネットワークの混雑により、ガス代の増加やトランザクションに失敗し、ユーザーに損失が生じる可能性もあります。
上記2点のEOAウォレットの限界は、すべての初心者が直面している課題であり、これらの課題を解決するためには、Web3.0に関する学習の過程で「リスクのあるアプルーブ」や「リスクのあるトークン」などの課題に直面するとともに、よりたくさんの知識の習得と補足が必要となります。
しかし、アカウントアブストラクションという概念の導入と発展により、これらの課題はある程度解決されつつあります。
アカウントアブストラクションを定義する方法
"アカウントアブストラクション"とは、アブストラクションという名称の通り、ウォレット自体の "抽象化 "を指し、アカウントのインタラクション、ユーザーエクスペリエンス、オンチェーンエクスペリエンスの抽象化処理も含みます。
技術的な観点から見ると、「アカウントアブストラクション」とは、スマートコントラクトによるアカウントの完全な制御を指し、特定のコントラクトの詳細はイーサリアムのプロトコルにとって「抽象的」な概念となります。各アカウントはスマートコントラクトであり、ユーザーは秘密鍵や秘密の回復フレーズを扱う必要なく、スマートコントラクトのアカウントを自由にコントロールすることができる。
ユーザーの視点から見ると、"Account Abstraction "はアカウントのインタラクションの詳細における大幅な強化と最適化をもたらし、ウォレットの使用プロセスをより便利にし、Web3.0の適用可能性を向上させている。
ここでは、アカウントアブストラクションを4つの主要な側面から紹介します。
1. ソーシャルリカバリー
"秘密鍵をバックアップし、資産を安全に保つ方法は?"
これはユーザーから最もよく聞かれる質問であり、また現在のEOAウォレットにおける最も大きなユーザーペインポイントでもあります。
Account Abstraction はプライベートキーとシークレットリカバリーフレーズを抽象化し、ユーザーがウォレット作成プロセス中にプライベートキーとシークレットリカバリーフレーズをバックアップする必要性をなくします。ウォレットが誤ってアンインストールされたり、ウォレットアカウントが削除された場合、多要素認証やソーシャルリカバリー(電子メールなど)によってアカウントを回復することができます。
2. 署名の抽象化
今日、EOAウォレットからのトランザクションを有効にするには、楕円曲線デジタル署名アルゴリズム(ECDSA)を使用してウォレットの秘密鍵によって生成された署名が必要です。言い換えれば、秘密鍵はあなたのウォレット資産を管理するための唯一の証明です。アカウント抽象化はECDSAを分離し、ユーザーがウォレットによって開始されるトランザクションを承認するルールをカスタマイズできるようにします。簡単に言えば、あなたは資産をコントロールする唯一の証明書です。
ここでは、「取引限度額」、「複数当事者による承認」、「自動支払い」の機能を通して、署名の抽象化について説明します:
a) 取引限度額: 署名の値があらかじめ設定された限度額を超えた場合、スマートアカウントに関連付けられたウォレットは取引を拒否するか、追加を要求することができます。
例:日常または毎月の家計費を支払うためにクレジットカードをバインドし、それが限度額を超えた場合、銀行口座は取引を拒否します(またはすぐに支払いを確認するためにあなたに連絡します)。
b) 複数当事者による承認: ウォレットのコントロールの一部を信頼できる第三者に委任することができる。「後見人 "は、友人、家族、サービスプロバイダー、あるいはKeyPalハードウェアウォレットのようなあなたが所有する別のデバイスである可能性があります。その結果、"保護者 "はあなたのアカウント内の資産を管理する承認を持っています。
例:TokenPocketのマルチシグウォレットは、「アカウントアブストラクション」のコンセプトの1つです。
c) 自動支払い: 特定の定期的な支出をサポートするために、アカウントから資産を「引き出す」サードパーティ・サービスを承認することができます。
例:クレジットカードの例に戻るが、AAウォレットを支払い(例:プラットフォームのサブスクリプションの支払い)にバインドすることもできる。ただし、プラットフォームが暗号化支払い方法を受け入れるかどうかを確認する必要がある。
「取引制限」、「複数当事者の承認」、「自動支払い」は、署名の抽象化における 3 つの顕著な適用シナリオである。私たちはまた、AA ウォレットをあなたの Web3.0 ライフに統合するために、AA ウォレットの新機能を組み合わせながら、今後さらに多くの利用シナリオを紹介していく予定です。
![](https://assets.st-note.com/img/1698397886955-S8w6ru9CsW.png?width=1200)
4. Nonceの抽象化
イーサリアムのシステムにおいて、Nonce はトランザクションが特定の順序で実行されることを保証するために使用される重要な概念である。Nonceの目的は、「リプレイ」攻撃や無秩序なトランザクションの実行を防ぐために、トランザクションの順序と整合性を維持することです。
2つ以上のトランザクションを開始する必要があり、これらのトランザクションのNonce値がそれぞれ0と1である場合、Nonce=1のトランザクションを実行する前に、Nonce=0のトランザクションが実行/確認されるのを待たなければならない。バッチ・トランザクション操作を実行する必要があるユーザーにとって、このようなプロセスは厳しすぎ、作業効率の低下につながる。
Account Abstractionでは、(厳格なトランザクション順序を強制するイーサリアムのプロトコルの代わりに)カスタムのリプレイ保護メカニズムを作成することができます。例えば、複数のトランザクションのバッチ処理を可能にするNoncesを使用し、複数のトランザクションをチェックします。
![](https://assets.st-note.com/img/1698397978560-9hBmnfdI88.png?width=1200)
では、AAウォレットはどのようなやり取りをするのでしょうか。
![](https://assets.st-note.com/img/1698398026493-XLUE1JFax5.png?width=1200)
さいごに
アカウントアブストラクションは、EOAウォレットの限界を解決する最良のソリューションの1つであり、ウォレットの分野に柔軟性と操作性の向上をもたらします。TokenPocketは近日中にAAウォレットを発表し、ユーザーにWeb3.0の領域でより多くの可能性をもたらす予定です。