アカウント抽象化の本質は契約アカウントです。Ethereumには、2種類のアカウントがあります:
シンプルな例は、契約アドレスは契約が展開されるアドレスであることです。呼び出すことができるEthereumの任意の契約には、USDTの契約アドレスなどの契約アドレスがあります。EOAアカウントは、Metamaskウォレットに表示されるようなETHアカウントです。
0xdac17f958d2ee523a2206206994597c13d831ec7USDTトークンの契約アドレスはです。契約アドレスは外部から直接作成することはできません。それらはEOAによって作成および管理されます。USDT契約アドレスを作成したEOAは、0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
したがって、AAアカウントはイーサリアムの特別な契約アカウント(CA)の一種であると理解しています。 AAアカウントは引き続きEOAによって作成する必要があり、イーサリアムチェーンとやり取りする唯一の方法はEOAを介しているため、外部EOAによって制御されます。その結果、AAはCAウォレットの標準化されたモジュラーな実装として機能し、時間とともに進化を続けています。
わたしたちは、AAとCAの関係を説明しました。ERC-4337標準の提案の前に、すでに多くのCAウォレットが利用可能でした。以下に、3つの人気のあるCAウォレットとその動作に関する情報を提供します。
イーサリアムの開発の初期段階では、いくつかのコントラクトウォレットが登場しました。最もよく知られているのは、PolkaDotの創設者であるGavin Woodのチームによって開発されたParityウォレットです。パリティはRustで実装されており、Golangで開発されているGethノードの代替として機能します。Parity Walletは、複数の外部所有アカウント(EOA)がコントラクトアカウント(CA)を制御および管理できるようにするマルチシグコントラクトウォレットです。しかし、2017年、ハッカーがパリティウォレットのバグを悪用し、150,000ETH以上を盗みました。この事件により、コントラクトウォレットへの信頼が失われました。
結果として、AAウォレットは類似のインシデントを防ぐために幅広い練習と標準化が必要です。
Gnosisのマルチシグネチャウォレットは現在、主流のマルチシグウォレットであり、ほとんどの機関や開発者によって使用されています。多くのチームが開発資金をGnosisのマルチシグネチャウォレットに保管しており、チームメンバーが悪意を持って行動することを防いでいます。Gnosis Safeを使用している注目すべきチームには、Yearn、Aave、そしてBalancer. Gnosis Safeのセキュリティは非常に高いですが、その使用は比較的高価です。これはCAウォレットの一般的な問題です。
Unipass Walletは、MPC技術とCA契約ウォレットを組み合わせており、ユーザーはEOAウォレットの自己保持なしにソーシャルログインを使用することができます。ParityウォレットとGnosis Safeの両方は、引き続きユーザーにプライベートキーの自己保持を要求します。Unipassの一般的な流れは次のとおりです。
Unipassの元のAAソリューションは、ERC-4337標準に完全に準拠していないことに注意することが重要です。ウォレットの制御はまだUnipassのMPCによって制御されているEOAに委任されています。
AAの本質は、標準化された、モジュール化されたCAアカウントです。ERC-4337は、主に以下の革新を具体化しています:
上記の図は、ERC-4337の標準取引プロセスをおおよそ説明しています:
AAと従来のCAとの主な違いを以下のようにまとめることができます:
AAを完全に理解する前に、多くの人々がAAとMPCの概念をしばしば混同します。なぜなら、両者ともソーシャルリカバリーやブラウザレスプラグインなどの機能をサポートしているためです。AAとMPCの本質的な違いは次のとおりです:
次に、MPCとそのユニークな機能を紹介しましょう。
現在、MPCソリューションは広く社会的なログインで使用されており、多くのプロジェクトがMPCウォレットを立ち上げて、プラグインウォレットのインストールやプライベートキーの管理の必要性をなくし、チェーンレスウォレット体験を提供しています。このような管理型ウォレットは業界ではWallet-as-a-Service(WaaS)と総称されています。成熟したプロジェクトには次のものが含まれます:
WaaSサービスの数が増えるにつれて、将来はWaaSを提供する製品がさらに増えることが予想されます。しかし、中央集権型取引所はこの分野で絶対的なユーザー数と幅広いビジネス経験を持っているため、将来的にはすべての中央集権型取引所が関連サービスを提供する可能性があります。
従来の外部所有アカウント(EOA)の主な欠点は、ユーザーが自分自身の秘密鍵を保存する責任があることです。この自己保管は次の問題を引き起こします:
AA(Account Abstraction)は、ユーザーがソーシャルリカバリーアカウントを設定できるように設計されています。彼らは1つ以上の外部EOAを使用してAAを取り戻すことができます。ソーシャルリカバリーの一般的な流れは次のとおりです:
この申し立て手続きを通じて、ユーザーがAAを管理するEOAの制御を失っても、新しいEOAに切り替えることができます。MPC(Multi-Party Computation)ソーシャルログインとは異なり、このソーシャルリカバリは完全に分散化されており、単一障害点を持ちません。
ガス委任はブロックチェーンの大量採用にとって核心的です。Web3に新たに参入するユーザーにとって、最大の痛点はガス手数料を事前に資金を提供することです。AAのペイマスターを使用してガスを委任することで、新規ユーザーに補助金が支給され、それによりWeb3アプリケーションへの参入障壁が低くなります。
Web3の大量採用に影響を与えている別の中核的な問題は、クロスチェーンの互換性です。Paymasterは、Layer0/Warmholeなどのクロスチェーンプロトコルを統合することにより、Chain A(例:Ethereum)に入金し、他のChain B(例:MaticまたはBSC)でアプリケーションをシームレスに使用できるようになり、これによりチェーンの境界が消失し、新しいDappsが他のチェーンからユーザーを獲得するのを支援しています。
AAの利点についてはすでに議論していますが、ERC-4337標準は現在の欠点を解決するために急速に繰り返し改善されています。
EOAとは異なり、EOAが作成されると、同じ公開-秘密キーペアを使用して異なるチェーンで相互作用することができるため、EOAはEVM互換チェーンで使用できます。しかし、CAであるAAの性質により、新しいAA契約は各チェーンまたはLayer2に別々に展開する必要があります。AA契約の高い展開コストは、ユーザーがAAを採用するのをためらわせる可能性があります。
さらに、ユーザーが適切にデプロイしない場合、例えば異なるFactoryを使用してAA契約アカウントをデプロイすると、異なるチェーンで異なるAAアドレスを持つ可能性があり、それは使用上や理解上において重大な混乱や難しさを引き起こす可能性があります。現在のAAウォレットFactoryは、異なるチェーン上で同じAAアドレスを生成することに成功していますが、ユーザーは依然として、彼らが使用しているプロトコルを確認してAAアドレスが異なるチェーン全体で一貫していることを確認するために注意を払う必要があります。これにより、将来の問題や混乱を防ぐことができます。
前述のように、AAアカウントを使用するには、Wallet Factoryによって異なるチェーンおよびLayer2に生成されたAAコントラクトをデプロイする必要があります。現在のサイドチェーン、EVM互換チェーン、および下位Layer2のガス料金が低くなっていても、それでもかなりの費用がかかります。現在のガス料金とETHの価格が1800ドルである場合、ETHメインネット上でAAアカウントをデプロイする費用はおおよそ20ドルから40ドルになりますが、EVM互換チェーンやLayer2上では0.5ドルから5ドルになります。ほとんどのユーザーにとって、Dappを使用する前にデプロイメントコストを受け入れるのは難しいです。このコストがバンドラーまたはペイマスターによって補助されると仮定すると、補助金のコストはまだ高すぎて強力なインセンティブが必要です。
AAの実装と1つのBundlerトランザクションにまとめられる取引の数(取引が多いほど、UserOPごとのガスコストが低くなります)に応じて、現行の標準ERC-4337トランザクションのガス消費量は通常のEOAアカウントよりも数倍高くなる場合があります。これは、AAアカウントによって開始されたトランザクションがしばしば3つ以上の契約の呼び出しを必要とし、オンチェーンBLS署名の検証などの複雑な計算が関わるためです。現在のERC-4337標準は、次のロードマップに沿って最適化されています。
私たちは、ERC-4337標準を使用する際の比較的高いコストについて触れました。具体的な費用は何ですか?まず、ガス料金の計算式という概念を紹介しましょう。
手数料 = ガス × 価格
ERC-4337の展開および使用コストは何ですか? StackUpチームは、ブログで正確な見積もりを提供しています。
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
表1. ERC-4337トランザクションのガス
上記の表は次のとおりです:
表2. ERC-4337トランザクションのガス手数料見積もり
この表は、現在のガス価格を使用してERC-4337 AAアカウント上でのさまざまな操作の費用見積もりを提供しています。次のことがわかります:
要約すると、メインネット上でERC-4337 AAアカウントを作成するコストが高いため、広範な採用はおそらく最初にLayer2およびEVM互換チェーンで発生するでしょう。
AAの開発に対する別の障壁は、AA契約とのインフラ互換性です。ネイティブAAチェーン外のほとんどのDappsは、EOAアカウントのみをサポートしています。AAのサポートを受けるには、Dappsが取引のためにAAのSDKを使用し、ユーザー情報のクエリパラメータを変更する必要があります。
さらに、Etherscanなどのブロックチェーンブラウザは主にEOA向けに設計されています。AAアカウントの照会の利便性を向上させるために、これらのブラウザは一連のUIおよびUXの最適化が必要となる場合があります。
Ethereumを除くと、ほとんどの新しいパブリックブロックチェーンはすでにネイティブAAアカウントを実装しています。
ネイティブAAは、チェーンのコンセンサスレイヤーで実装されているため、展開にコミュニティ開発者は必要ありません。これらは、通常、ブロックチェーンの開発者によって開発および維持される内部またはシステム契約です。
デプロイメントコストを削減し、追加のガス手数料
内部契約は通常、より高い権限と優先度を持ち、そのガスの計算は外部契約とは異なります。そのため、ネイティブAAは展開コストが低く、通常、著しいガスのオーバーヘッドを追加しません。
ネイティブAAのアップグレードには、パブリックチェーンの開発者が責任を持つ必要があり、しばしばソフトフォークやハードフォークが必要です。これにより、モジュラーなERC-4337よりも柔軟性に欠け、イテレーションや新機能のリリースのペースが制限されます。
ネイティブAAを持つチェーンは、ERC-4337の拡張性とモジュラリティを積極的に研究しており、ネイティブAAの上にさらに多くの機能を構築することが可能になります。
Nearは、ブロックチェーンに直接保存されたアカウントで、コンセンサスレイヤーでネイティブAAを実装しています。複数のアクセスキーとソーシャルリカバリ(メール、電話番号)をサポートしています。次の画像は、ETHアカウントとNearアカウントの違いを示しています。
AptosとSuiのリソース所有モデルのために、両方のAptosとSuiはコンセンサスレイヤーでネイティブAAを実装しています。例としてAptosを取ると、Aptosのアカウントはブロックチェーン上のリソースのセットであり、したがってAptosのアカウントを作成する際には、アカウントの初期化を完了するためにAptosを前払いする必要があります。Aptos/Suiのアカウントは認証キーを変更することもサポートしていますが、アカウントのアドレスは変わらず、その他のAAの機能もサポートしています。
Near/Aptos/Sui/Starknet とは異なり、ZKsync は共識レイヤーで EOA と AA の両方をサポートしています。そのため、ZKsync は EOA と AA の両方を使用してトランザクションを開始でき、Metamask や Argent などの人気のあるウォレットと使用できます。ZKSync の AA デザインは ERC-4337 に基づいており、EIP-4337 をサポートするウォレットや Dapp と互換性があります。現在、ZKsync での AA トランザクションの追加ガスコストは、実行ガス + 20000 程度で、執筆時点では約0.01USDです。これは、ネイティブでない AA ERC-4337 と比較して、わずかなコストです。
Starknetは、AAをネイティブにサポートし、EOAによるトランザクションをサポートしていません。StarknetのAAアカウントは、ERC-4337に基づいて設計されています。現在、StarknetのAA契約は、OpenZeppelinによって提供され、Cairoを使用して開発されています。
ICP内のネイティブAAアカウントはInternet Identity(略してII)と呼ばれます。 IIの実装はERC-4337とは異なります。 IIはWeb2フレームワークで一般的に使用されるWebAuthnを利用し、ユーザーはスマートフォンの内蔵セキュリティチップを使用してアカウントを制御できます。ユーザーは自由にデバイスを追加および削除できます。本質的には、IIはユーザーのスマートフォンデバイスをハードウェアウォレットに変えます。
Bundlerは、AAエコシステムにおける以前のノードMempoolを置き換えます。 UserOpsはもはやバリデーターに送信されず、バンドラーにパッケージ化およびオンチェーン処理のために送信されます。 主要なバンドラーは次のとおりです:
StackupのバンドラーはGo langで実装され、Go Ethereum (geth)とシームレスに統合することを目指しています。これはERC-4337に完全に準拠したこのリストの中で最初の本番標準のバンドラーであり、Stackupは積極的にメンテナンスされており、包括的なドキュメンテーションがあり、現在最も人気のあるバンドラーです。Stackupはバンドラーサービスを提供し、チームが独自のバンドラーサービスを設定する必要をなくします。
Infinitism のバンドラーは TypeScript で開発され、ERC-4337 の原作者によって開発されました。インフィニティズムはERC-4337コントラクトも開発しており、そのバンドラーはERC-4337と高い互換性を持っています。ただし、TypeScriptで開発されているため、パフォーマンスと安定性についてはさらに検証が必要です。
Skandhaは、Etherspotによって開発されたTypeScriptベースのバンドラーです。 Etherspotは、バンドラーのメンプール実装に積極的です。 Skandhaは2023年4月にすべてのテストに合格しました。
ヴォルテールは、キャンディードチームによって開発されたバンドラープロトコルで、独自のキャンディドウォレットをサポートするために開発されました。ヴォルテールは、ERC-4337のPythonベースの実装です。ヴォルテールは現在、キャンディド独自のオープンソースウォレットに対して良好なサポートを提供しています。
Rundlerは、Ethereumの最大のノードサービスプロバイダであるAlchemyによって開発されたBundlerプロトコルです。現在、Rundlerはオープンソースではありませんが、Alchemyの大規模なユーザーベースのため、かなりのトラフィックサポートを受ける可能性があります。
Bundlerは現在、急速な開発とイテレーションの段階にあります。
バンドラーが対処する必要がある現在の課題は、バンドラーのメンプールの一貫性とコミュニケーションの問題です。市場には複数のバンドラープロトコルが存在し、それらの間でのコミュニケーションが欠如していると、バンドラーに対するDDoS攻撃の深刻な問題につながる可能性があります。ユーザーが複数のバンドラーに同時にトランザクションを送信する場合、それらの間のコミュニケーションがないと、これらのバンドラーは同時にUserOpsをバリデーターにパッケージ化して送信します。ただし、最初のバンドラーからのUserOpのみが実行され、残りのバンドラーからのトランザクションは同じnonceのため拒否されます。この場合、ユーザーのペイマスターに残高が不足していると、バンドラーはこれらのUserOpsに無効なガスを支払います。したがって、現在、バンドラー間のコミュニケーションは、バンドラーへのUserOpスパム攻撃を防ぐために対処する必要がある問題です。
現在のバンドラーは非常に中央集権化されています。もしバンドラーが特定のユーザーをブラックリストに載せた場合、その取引は実行できなくなる可能性があります。これはブロックチェーンの分散化と権限のない特性に反します。
ペイマスターは、AAの重要な部分であり、ユーザーのガス料金を補助し、Web3への参入障壁を大幅に低減することができます。 以下は、ペイマスターの人気のある実装例です。
スタックアップスペイマスター
StackupsのペイマスターはStackups AAエコシステムの一部です。 Stackupsは、DAppsや他のサービスプロバイダーが自分自身の補助金口座を設定できるペイマスターダッシュボードを実装していますhttps://app.stackup.sh/sign-inユーザーの取引を後援するため。
Biconomyダッシュボード
Biconomy Dashboardは、組織や開発者がプロジェクトでAAコンポーネントを利用できるようにします。プロジェクト所有者は、ユーザーのガス料金をペイマスターを通じて支払ったり、ガスのスポンサー条件を追加したりすることができます。サポートされているチェーンのいずれかにペイマスターを登録することで、DAppsはユーザーのWeb3体験を大幅に簡素化することができます。
従来のEOAアカウントは、分散、利便性、およびセキュリティを同時に実現するのが難しいことがよくあります。
従来のEOAフレームワークでは、ユーザーはWeb3アプリケーションを使用するために、ETHなどのブロックチェーントークンを法定通貨で購入する必要があります。 これには通常、中央集権取引所(CEX)を使用して法定通貨を預け入れ、必要なトークンと交換し、最終的に新しく作成されたEOAアカウントに転送することが含まれます。 このプロセスにはWeb3の理解が必要であり、多くの地域では手間がかかります。 AAにおけるペイマスターの導入により、ユーザーの初期オンボーディングコストをDAppsのプロジェクトオーナーに委任することができます。 ガス料金の移転は、Web3の大規模採用に重要な影響を与えます。
現在、ERC-4337は初期段階にあり、それに基づいて多数のツールが開発されています。ペイマスター側では、ユーザーのUserOpを監査して、過度な承認や不正な資金移動などの発生を防ぎます。ペイマスターのセキュリティ監査は、問題のある取引をレビューし、ユーザー資金の安全性を確保するために、Web2金融セクターで確立された方法を使用して行われることがあります。
開発中の別の革新は、口座のセキュリティ分離であり、資金口座をゲーム口座から分離するなどのことです。ユーザーが馴染みのあるDeFiや送金機能を使用する場合、厳格なセキュリティ監査が行われた資金口座が使用されます。ユーザーがGameFiや馴染みのないDeFiを試す場合、ゲーム口座が使用されます。このように、ユーザーが管理する必要があるプライベートキーを増やすことなく、口座のセキュリティ分離設計により、ユーザーの資金のセキュリティが基本レベルで保証されます。
現在、スマートフォンやラップトップなどの多くのデバイスには、MacやiPhoneで使用されているApple T2セキュリティチップなど、セキュアチップが組み込まれています。したがって、基本的に、Teeチップを搭載したすべてのデバイスは、信頼できるハードウェアウォレットです。ただし、これらのセキュアチップは現在、ECDSAなどの一般的なブロックチェーン署名アルゴリズムをサポートしていません。
プラグイン/モバイルウォレット内のEOAプライベートキーの現在のセキュリティは、デバイス上で平文で直接保存されています。デバイスが侵害されると、ユーザーの資産が迅速に失われる可能性があります。したがって、Metamaskのようなブラウザ拡張ウォレットは利便性が高い一方、セキュリティが低いです。
ハードウェアウォレット
ハードウェアウォレットは、プライベートキーがデバイスを離れることなく、外部の第三者に直接アクセスされないようにします。しかし、ほとんどのユーザーは常にハードウェアウォレットを持ち歩くことができないため、高いセキュリティが得られますが使い勝手は低くなります。
AAウォレットと革新的なオンチェーン検証方法を使用することで、取引はデバイスのセキュアチップに直接署名され、ユーザーの秘密鍵がデバイスから決して漏洩しないように確保されます。これにより、従来のEOAアカウントと比較して、より高いセキュリティが提供されます。現在、Internet ComputerのInternet IdentityとETHBogota HackathonのPorton Walletというプロジェクトは、デバイスのセキュアチップ署名とセッションキーを利用したソリューションを実装しており、ユーザーはスマートフォンやコンピュータなどのデバイスのセキュリティを完全に活用でき、ハードウェアウォレットと同等のセキュリティを実現しています。
ERC-4337の非常にモジュラーな設計のおかげで、拡張と繰り返しを通じて、AAアカウントは著しく向上したセキュリティを実現します。
現在、Web3の大規模普及へのもう1つの障害は、異なるチェーン間でのブロックチェーンエコシステムの断片化です。
簡単な例として、バイナンススマートチェーン(BSC)でアプリケーションを体験したいイーサリアム(ETH)のユーザーを考えてみましょう。このユーザーは何をすべきですか?まず、ユーザーはETHを対応するUSDT/USDCに交換し、クロスチェーンブリッジを使用してこれらのトークンをETHからBSCに転送する必要があります。その後、ユーザーは中央集権型取引所(CEX)からBNBを購入し、BSCに送金する必要があります。そうして初めて、ユーザーはBSCでさまざまなDeFiアプリケーションを体験し始めることができます。このプロセス全体は時間がかかり、セキュリティが不十分で、特にクロスチェーンブリッジに慣れていない可能性のある新しいユーザーにとっては、急な学習曲線が伴います。
現在一般に使用されているクロスチェーンプロトコル(例:Layer0 + AAなど)を介して、異なるチェーン上でのDAppの使用プロセスを大幅に簡略化することができます。ペイマスターはクロスチェーンプロトコルを完全に統合して、「一度チャージし、どこでも支払う」を実現できます。たとえば、ユーザーがETHのペイマスターでUSDCをチャージした場合、異なるチェーン上のユーザーのAAアカウントが同じであり、同じペイマスターにバインドされている限り、ペイマスターはユーザーの代わりに会計処理を行うことができます。ユーザーは手動で資産を任意のEVM互換チェーン/Layer2に同じアカウントアドレスに送金する必要はありません。
paymasterを導入する最大の利点は、Dappユーザーへの補助金の条件をプログラムで設定することです。
過去には、Web3エコシステムプロジェクトが集客のためにガスに補助金を出したケースもありました。しかし、プログラムで条件を設定せずにEOAアカウントに助成金を支給すると、ボットや詐欺師による助成金の悪用(助成金を直接送金するなど)につながり、本物の顧客を引き付けないことがよくありました。
現在、ペイマスターダッシュボードには、一般的にDappsのガス手数料を補助する機能が含まれています。プロジェクト開発者は、ダッシュボードで補助金の条件を簡単に設定できるため、特定の条件を満たす取引のみが補助金の対象となります。ペイマスターを介して補助金の取引条件を制御することで、Dappsはコストを抑えながらより多くの本物のユーザーを引き付けることができます。
EOAの下、Metamaskの支配があるため、現在のDappsは主にWebインターフェースを介してアクセスされ、Webプラグインウォレットの市場シェアが高くなっています。ただし、web3の大量採用は、モバイルユーザーの参加に依存しており、AAの開発と適応がよりモバイルネイティブになります。
Dark Forestの人気が高まるにつれ、完全にオンチェーンのゲームのトレンドが静かに浮上しています。ただし、ゲームでEOA(外部所有アカウント)を使用するユーザーエクスペリエンスは非常に貧弱です。ゲームでアクションを実行するたびに、承認やトランザクションへの署名にウォレットを使用しなければならないことを想像してみてください。この絶え間ない中断により、プレイヤーはゲーム自体に完全に集中することができません。この問題に対処するために、通常のAAの特殊バージョンであるアーケードアカウントは、完全にオンチェーンゲーム用に特別に開発されました。これらのアカウントは、特定のゲーム操作を承認するため、プレイヤーは繰り返しの承認やトランザクションの署名を必要とせずに、完全なオンチェーンゲームに参加することができます。その結果、ゲーム体験が大幅に向上します。今後、完全オンチェーンゲームの台頭により、AAアカウントの普及が進むと思われます。
最近、意図に基づく取引の概念がUnibotの台頭と共に人気を集め、Uniswapも意図に基づく取引の実装を推進するためにUniswap Xプロジェクトを立ち上げました。次の例は、意図に基づく取引とは何かを説明しています。
もし誰かが意図を実行する意志がある場合、相手方はアリスに1000 USDTを転送し、1 ETHを受け取るための別の意図を開始します。
取引は正常にマッチングされました。
意図ベースの取引は次の利点を提供します:
現在、CowSwapは、EOAに基づく意図ベースの取引を実装しています。ただし、EOAに基づく意図ベースの取引では、取引を開始する前にユーザーが承認(ERC-20、承認)する必要があります。しかし、AAの新しいアカウントアーキテクチャの下では、ユーザーは承認と意図を同時にバンドラーに送信できます。AAのバンドラーは同時にIntents Pollにアクセスし、意図を一致させ、より便利な取引体験を提供できます。
アカウント抽象化の本質は契約アカウントです。Ethereumには、2種類のアカウントがあります:
シンプルな例は、契約アドレスは契約が展開されるアドレスであることです。呼び出すことができるEthereumの任意の契約には、USDTの契約アドレスなどの契約アドレスがあります。EOAアカウントは、Metamaskウォレットに表示されるようなETHアカウントです。
0xdac17f958d2ee523a2206206994597c13d831ec7USDTトークンの契約アドレスはです。契約アドレスは外部から直接作成することはできません。それらはEOAによって作成および管理されます。USDT契約アドレスを作成したEOAは、0x36928500Bc1dCd7af6a2B4008875CC336b927D57。
したがって、AAアカウントはイーサリアムの特別な契約アカウント(CA)の一種であると理解しています。 AAアカウントは引き続きEOAによって作成する必要があり、イーサリアムチェーンとやり取りする唯一の方法はEOAを介しているため、外部EOAによって制御されます。その結果、AAはCAウォレットの標準化されたモジュラーな実装として機能し、時間とともに進化を続けています。
わたしたちは、AAとCAの関係を説明しました。ERC-4337標準の提案の前に、すでに多くのCAウォレットが利用可能でした。以下に、3つの人気のあるCAウォレットとその動作に関する情報を提供します。
イーサリアムの開発の初期段階では、いくつかのコントラクトウォレットが登場しました。最もよく知られているのは、PolkaDotの創設者であるGavin Woodのチームによって開発されたParityウォレットです。パリティはRustで実装されており、Golangで開発されているGethノードの代替として機能します。Parity Walletは、複数の外部所有アカウント(EOA)がコントラクトアカウント(CA)を制御および管理できるようにするマルチシグコントラクトウォレットです。しかし、2017年、ハッカーがパリティウォレットのバグを悪用し、150,000ETH以上を盗みました。この事件により、コントラクトウォレットへの信頼が失われました。
結果として、AAウォレットは類似のインシデントを防ぐために幅広い練習と標準化が必要です。
Gnosisのマルチシグネチャウォレットは現在、主流のマルチシグウォレットであり、ほとんどの機関や開発者によって使用されています。多くのチームが開発資金をGnosisのマルチシグネチャウォレットに保管しており、チームメンバーが悪意を持って行動することを防いでいます。Gnosis Safeを使用している注目すべきチームには、Yearn、Aave、そしてBalancer. Gnosis Safeのセキュリティは非常に高いですが、その使用は比較的高価です。これはCAウォレットの一般的な問題です。
Unipass Walletは、MPC技術とCA契約ウォレットを組み合わせており、ユーザーはEOAウォレットの自己保持なしにソーシャルログインを使用することができます。ParityウォレットとGnosis Safeの両方は、引き続きユーザーにプライベートキーの自己保持を要求します。Unipassの一般的な流れは次のとおりです。
Unipassの元のAAソリューションは、ERC-4337標準に完全に準拠していないことに注意することが重要です。ウォレットの制御はまだUnipassのMPCによって制御されているEOAに委任されています。
AAの本質は、標準化された、モジュール化されたCAアカウントです。ERC-4337は、主に以下の革新を具体化しています:
上記の図は、ERC-4337の標準取引プロセスをおおよそ説明しています:
AAと従来のCAとの主な違いを以下のようにまとめることができます:
AAを完全に理解する前に、多くの人々がAAとMPCの概念をしばしば混同します。なぜなら、両者ともソーシャルリカバリーやブラウザレスプラグインなどの機能をサポートしているためです。AAとMPCの本質的な違いは次のとおりです:
次に、MPCとそのユニークな機能を紹介しましょう。
現在、MPCソリューションは広く社会的なログインで使用されており、多くのプロジェクトがMPCウォレットを立ち上げて、プラグインウォレットのインストールやプライベートキーの管理の必要性をなくし、チェーンレスウォレット体験を提供しています。このような管理型ウォレットは業界ではWallet-as-a-Service(WaaS)と総称されています。成熟したプロジェクトには次のものが含まれます:
WaaSサービスの数が増えるにつれて、将来はWaaSを提供する製品がさらに増えることが予想されます。しかし、中央集権型取引所はこの分野で絶対的なユーザー数と幅広いビジネス経験を持っているため、将来的にはすべての中央集権型取引所が関連サービスを提供する可能性があります。
従来の外部所有アカウント(EOA)の主な欠点は、ユーザーが自分自身の秘密鍵を保存する責任があることです。この自己保管は次の問題を引き起こします:
AA(Account Abstraction)は、ユーザーがソーシャルリカバリーアカウントを設定できるように設計されています。彼らは1つ以上の外部EOAを使用してAAを取り戻すことができます。ソーシャルリカバリーの一般的な流れは次のとおりです:
この申し立て手続きを通じて、ユーザーがAAを管理するEOAの制御を失っても、新しいEOAに切り替えることができます。MPC(Multi-Party Computation)ソーシャルログインとは異なり、このソーシャルリカバリは完全に分散化されており、単一障害点を持ちません。
ガス委任はブロックチェーンの大量採用にとって核心的です。Web3に新たに参入するユーザーにとって、最大の痛点はガス手数料を事前に資金を提供することです。AAのペイマスターを使用してガスを委任することで、新規ユーザーに補助金が支給され、それによりWeb3アプリケーションへの参入障壁が低くなります。
Web3の大量採用に影響を与えている別の中核的な問題は、クロスチェーンの互換性です。Paymasterは、Layer0/Warmholeなどのクロスチェーンプロトコルを統合することにより、Chain A(例:Ethereum)に入金し、他のChain B(例:MaticまたはBSC)でアプリケーションをシームレスに使用できるようになり、これによりチェーンの境界が消失し、新しいDappsが他のチェーンからユーザーを獲得するのを支援しています。
AAの利点についてはすでに議論していますが、ERC-4337標準は現在の欠点を解決するために急速に繰り返し改善されています。
EOAとは異なり、EOAが作成されると、同じ公開-秘密キーペアを使用して異なるチェーンで相互作用することができるため、EOAはEVM互換チェーンで使用できます。しかし、CAであるAAの性質により、新しいAA契約は各チェーンまたはLayer2に別々に展開する必要があります。AA契約の高い展開コストは、ユーザーがAAを採用するのをためらわせる可能性があります。
さらに、ユーザーが適切にデプロイしない場合、例えば異なるFactoryを使用してAA契約アカウントをデプロイすると、異なるチェーンで異なるAAアドレスを持つ可能性があり、それは使用上や理解上において重大な混乱や難しさを引き起こす可能性があります。現在のAAウォレットFactoryは、異なるチェーン上で同じAAアドレスを生成することに成功していますが、ユーザーは依然として、彼らが使用しているプロトコルを確認してAAアドレスが異なるチェーン全体で一貫していることを確認するために注意を払う必要があります。これにより、将来の問題や混乱を防ぐことができます。
前述のように、AAアカウントを使用するには、Wallet Factoryによって異なるチェーンおよびLayer2に生成されたAAコントラクトをデプロイする必要があります。現在のサイドチェーン、EVM互換チェーン、および下位Layer2のガス料金が低くなっていても、それでもかなりの費用がかかります。現在のガス料金とETHの価格が1800ドルである場合、ETHメインネット上でAAアカウントをデプロイする費用はおおよそ20ドルから40ドルになりますが、EVM互換チェーンやLayer2上では0.5ドルから5ドルになります。ほとんどのユーザーにとって、Dappを使用する前にデプロイメントコストを受け入れるのは難しいです。このコストがバンドラーまたはペイマスターによって補助されると仮定すると、補助金のコストはまだ高すぎて強力なインセンティブが必要です。
AAの実装と1つのBundlerトランザクションにまとめられる取引の数(取引が多いほど、UserOPごとのガスコストが低くなります)に応じて、現行の標準ERC-4337トランザクションのガス消費量は通常のEOAアカウントよりも数倍高くなる場合があります。これは、AAアカウントによって開始されたトランザクションがしばしば3つ以上の契約の呼び出しを必要とし、オンチェーンBLS署名の検証などの複雑な計算が関わるためです。現在のERC-4337標準は、次のロードマップに沿って最適化されています。
私たちは、ERC-4337標準を使用する際の比較的高いコストについて触れました。具体的な費用は何ですか?まず、ガス料金の計算式という概念を紹介しましょう。
手数料 = ガス × 価格
ERC-4337の展開および使用コストは何ですか? StackUpチームは、ブログで正確な見積もりを提供しています。
https://www.stackup.sh/blog/how-much-more-expensive-is-erc-4337
表1. ERC-4337トランザクションのガス
上記の表は次のとおりです:
表2. ERC-4337トランザクションのガス手数料見積もり
この表は、現在のガス価格を使用してERC-4337 AAアカウント上でのさまざまな操作の費用見積もりを提供しています。次のことがわかります:
要約すると、メインネット上でERC-4337 AAアカウントを作成するコストが高いため、広範な採用はおそらく最初にLayer2およびEVM互換チェーンで発生するでしょう。
AAの開発に対する別の障壁は、AA契約とのインフラ互換性です。ネイティブAAチェーン外のほとんどのDappsは、EOAアカウントのみをサポートしています。AAのサポートを受けるには、Dappsが取引のためにAAのSDKを使用し、ユーザー情報のクエリパラメータを変更する必要があります。
さらに、Etherscanなどのブロックチェーンブラウザは主にEOA向けに設計されています。AAアカウントの照会の利便性を向上させるために、これらのブラウザは一連のUIおよびUXの最適化が必要となる場合があります。
Ethereumを除くと、ほとんどの新しいパブリックブロックチェーンはすでにネイティブAAアカウントを実装しています。
ネイティブAAは、チェーンのコンセンサスレイヤーで実装されているため、展開にコミュニティ開発者は必要ありません。これらは、通常、ブロックチェーンの開発者によって開発および維持される内部またはシステム契約です。
デプロイメントコストを削減し、追加のガス手数料
内部契約は通常、より高い権限と優先度を持ち、そのガスの計算は外部契約とは異なります。そのため、ネイティブAAは展開コストが低く、通常、著しいガスのオーバーヘッドを追加しません。
ネイティブAAのアップグレードには、パブリックチェーンの開発者が責任を持つ必要があり、しばしばソフトフォークやハードフォークが必要です。これにより、モジュラーなERC-4337よりも柔軟性に欠け、イテレーションや新機能のリリースのペースが制限されます。
ネイティブAAを持つチェーンは、ERC-4337の拡張性とモジュラリティを積極的に研究しており、ネイティブAAの上にさらに多くの機能を構築することが可能になります。
Nearは、ブロックチェーンに直接保存されたアカウントで、コンセンサスレイヤーでネイティブAAを実装しています。複数のアクセスキーとソーシャルリカバリ(メール、電話番号)をサポートしています。次の画像は、ETHアカウントとNearアカウントの違いを示しています。
AptosとSuiのリソース所有モデルのために、両方のAptosとSuiはコンセンサスレイヤーでネイティブAAを実装しています。例としてAptosを取ると、Aptosのアカウントはブロックチェーン上のリソースのセットであり、したがってAptosのアカウントを作成する際には、アカウントの初期化を完了するためにAptosを前払いする必要があります。Aptos/Suiのアカウントは認証キーを変更することもサポートしていますが、アカウントのアドレスは変わらず、その他のAAの機能もサポートしています。
Near/Aptos/Sui/Starknet とは異なり、ZKsync は共識レイヤーで EOA と AA の両方をサポートしています。そのため、ZKsync は EOA と AA の両方を使用してトランザクションを開始でき、Metamask や Argent などの人気のあるウォレットと使用できます。ZKSync の AA デザインは ERC-4337 に基づいており、EIP-4337 をサポートするウォレットや Dapp と互換性があります。現在、ZKsync での AA トランザクションの追加ガスコストは、実行ガス + 20000 程度で、執筆時点では約0.01USDです。これは、ネイティブでない AA ERC-4337 と比較して、わずかなコストです。
Starknetは、AAをネイティブにサポートし、EOAによるトランザクションをサポートしていません。StarknetのAAアカウントは、ERC-4337に基づいて設計されています。現在、StarknetのAA契約は、OpenZeppelinによって提供され、Cairoを使用して開発されています。
ICP内のネイティブAAアカウントはInternet Identity(略してII)と呼ばれます。 IIの実装はERC-4337とは異なります。 IIはWeb2フレームワークで一般的に使用されるWebAuthnを利用し、ユーザーはスマートフォンの内蔵セキュリティチップを使用してアカウントを制御できます。ユーザーは自由にデバイスを追加および削除できます。本質的には、IIはユーザーのスマートフォンデバイスをハードウェアウォレットに変えます。
Bundlerは、AAエコシステムにおける以前のノードMempoolを置き換えます。 UserOpsはもはやバリデーターに送信されず、バンドラーにパッケージ化およびオンチェーン処理のために送信されます。 主要なバンドラーは次のとおりです:
StackupのバンドラーはGo langで実装され、Go Ethereum (geth)とシームレスに統合することを目指しています。これはERC-4337に完全に準拠したこのリストの中で最初の本番標準のバンドラーであり、Stackupは積極的にメンテナンスされており、包括的なドキュメンテーションがあり、現在最も人気のあるバンドラーです。Stackupはバンドラーサービスを提供し、チームが独自のバンドラーサービスを設定する必要をなくします。
Infinitism のバンドラーは TypeScript で開発され、ERC-4337 の原作者によって開発されました。インフィニティズムはERC-4337コントラクトも開発しており、そのバンドラーはERC-4337と高い互換性を持っています。ただし、TypeScriptで開発されているため、パフォーマンスと安定性についてはさらに検証が必要です。
Skandhaは、Etherspotによって開発されたTypeScriptベースのバンドラーです。 Etherspotは、バンドラーのメンプール実装に積極的です。 Skandhaは2023年4月にすべてのテストに合格しました。
ヴォルテールは、キャンディードチームによって開発されたバンドラープロトコルで、独自のキャンディドウォレットをサポートするために開発されました。ヴォルテールは、ERC-4337のPythonベースの実装です。ヴォルテールは現在、キャンディド独自のオープンソースウォレットに対して良好なサポートを提供しています。
Rundlerは、Ethereumの最大のノードサービスプロバイダであるAlchemyによって開発されたBundlerプロトコルです。現在、Rundlerはオープンソースではありませんが、Alchemyの大規模なユーザーベースのため、かなりのトラフィックサポートを受ける可能性があります。
Bundlerは現在、急速な開発とイテレーションの段階にあります。
バンドラーが対処する必要がある現在の課題は、バンドラーのメンプールの一貫性とコミュニケーションの問題です。市場には複数のバンドラープロトコルが存在し、それらの間でのコミュニケーションが欠如していると、バンドラーに対するDDoS攻撃の深刻な問題につながる可能性があります。ユーザーが複数のバンドラーに同時にトランザクションを送信する場合、それらの間のコミュニケーションがないと、これらのバンドラーは同時にUserOpsをバリデーターにパッケージ化して送信します。ただし、最初のバンドラーからのUserOpのみが実行され、残りのバンドラーからのトランザクションは同じnonceのため拒否されます。この場合、ユーザーのペイマスターに残高が不足していると、バンドラーはこれらのUserOpsに無効なガスを支払います。したがって、現在、バンドラー間のコミュニケーションは、バンドラーへのUserOpスパム攻撃を防ぐために対処する必要がある問題です。
現在のバンドラーは非常に中央集権化されています。もしバンドラーが特定のユーザーをブラックリストに載せた場合、その取引は実行できなくなる可能性があります。これはブロックチェーンの分散化と権限のない特性に反します。
ペイマスターは、AAの重要な部分であり、ユーザーのガス料金を補助し、Web3への参入障壁を大幅に低減することができます。 以下は、ペイマスターの人気のある実装例です。
スタックアップスペイマスター
StackupsのペイマスターはStackups AAエコシステムの一部です。 Stackupsは、DAppsや他のサービスプロバイダーが自分自身の補助金口座を設定できるペイマスターダッシュボードを実装していますhttps://app.stackup.sh/sign-inユーザーの取引を後援するため。
Biconomyダッシュボード
Biconomy Dashboardは、組織や開発者がプロジェクトでAAコンポーネントを利用できるようにします。プロジェクト所有者は、ユーザーのガス料金をペイマスターを通じて支払ったり、ガスのスポンサー条件を追加したりすることができます。サポートされているチェーンのいずれかにペイマスターを登録することで、DAppsはユーザーのWeb3体験を大幅に簡素化することができます。
従来のEOAアカウントは、分散、利便性、およびセキュリティを同時に実現するのが難しいことがよくあります。
従来のEOAフレームワークでは、ユーザーはWeb3アプリケーションを使用するために、ETHなどのブロックチェーントークンを法定通貨で購入する必要があります。 これには通常、中央集権取引所(CEX)を使用して法定通貨を預け入れ、必要なトークンと交換し、最終的に新しく作成されたEOAアカウントに転送することが含まれます。 このプロセスにはWeb3の理解が必要であり、多くの地域では手間がかかります。 AAにおけるペイマスターの導入により、ユーザーの初期オンボーディングコストをDAppsのプロジェクトオーナーに委任することができます。 ガス料金の移転は、Web3の大規模採用に重要な影響を与えます。
現在、ERC-4337は初期段階にあり、それに基づいて多数のツールが開発されています。ペイマスター側では、ユーザーのUserOpを監査して、過度な承認や不正な資金移動などの発生を防ぎます。ペイマスターのセキュリティ監査は、問題のある取引をレビューし、ユーザー資金の安全性を確保するために、Web2金融セクターで確立された方法を使用して行われることがあります。
開発中の別の革新は、口座のセキュリティ分離であり、資金口座をゲーム口座から分離するなどのことです。ユーザーが馴染みのあるDeFiや送金機能を使用する場合、厳格なセキュリティ監査が行われた資金口座が使用されます。ユーザーがGameFiや馴染みのないDeFiを試す場合、ゲーム口座が使用されます。このように、ユーザーが管理する必要があるプライベートキーを増やすことなく、口座のセキュリティ分離設計により、ユーザーの資金のセキュリティが基本レベルで保証されます。
現在、スマートフォンやラップトップなどの多くのデバイスには、MacやiPhoneで使用されているApple T2セキュリティチップなど、セキュアチップが組み込まれています。したがって、基本的に、Teeチップを搭載したすべてのデバイスは、信頼できるハードウェアウォレットです。ただし、これらのセキュアチップは現在、ECDSAなどの一般的なブロックチェーン署名アルゴリズムをサポートしていません。
プラグイン/モバイルウォレット内のEOAプライベートキーの現在のセキュリティは、デバイス上で平文で直接保存されています。デバイスが侵害されると、ユーザーの資産が迅速に失われる可能性があります。したがって、Metamaskのようなブラウザ拡張ウォレットは利便性が高い一方、セキュリティが低いです。
ハードウェアウォレット
ハードウェアウォレットは、プライベートキーがデバイスを離れることなく、外部の第三者に直接アクセスされないようにします。しかし、ほとんどのユーザーは常にハードウェアウォレットを持ち歩くことができないため、高いセキュリティが得られますが使い勝手は低くなります。
AAウォレットと革新的なオンチェーン検証方法を使用することで、取引はデバイスのセキュアチップに直接署名され、ユーザーの秘密鍵がデバイスから決して漏洩しないように確保されます。これにより、従来のEOAアカウントと比較して、より高いセキュリティが提供されます。現在、Internet ComputerのInternet IdentityとETHBogota HackathonのPorton Walletというプロジェクトは、デバイスのセキュアチップ署名とセッションキーを利用したソリューションを実装しており、ユーザーはスマートフォンやコンピュータなどのデバイスのセキュリティを完全に活用でき、ハードウェアウォレットと同等のセキュリティを実現しています。
ERC-4337の非常にモジュラーな設計のおかげで、拡張と繰り返しを通じて、AAアカウントは著しく向上したセキュリティを実現します。
現在、Web3の大規模普及へのもう1つの障害は、異なるチェーン間でのブロックチェーンエコシステムの断片化です。
簡単な例として、バイナンススマートチェーン(BSC)でアプリケーションを体験したいイーサリアム(ETH)のユーザーを考えてみましょう。このユーザーは何をすべきですか?まず、ユーザーはETHを対応するUSDT/USDCに交換し、クロスチェーンブリッジを使用してこれらのトークンをETHからBSCに転送する必要があります。その後、ユーザーは中央集権型取引所(CEX)からBNBを購入し、BSCに送金する必要があります。そうして初めて、ユーザーはBSCでさまざまなDeFiアプリケーションを体験し始めることができます。このプロセス全体は時間がかかり、セキュリティが不十分で、特にクロスチェーンブリッジに慣れていない可能性のある新しいユーザーにとっては、急な学習曲線が伴います。
現在一般に使用されているクロスチェーンプロトコル(例:Layer0 + AAなど)を介して、異なるチェーン上でのDAppの使用プロセスを大幅に簡略化することができます。ペイマスターはクロスチェーンプロトコルを完全に統合して、「一度チャージし、どこでも支払う」を実現できます。たとえば、ユーザーがETHのペイマスターでUSDCをチャージした場合、異なるチェーン上のユーザーのAAアカウントが同じであり、同じペイマスターにバインドされている限り、ペイマスターはユーザーの代わりに会計処理を行うことができます。ユーザーは手動で資産を任意のEVM互換チェーン/Layer2に同じアカウントアドレスに送金する必要はありません。
paymasterを導入する最大の利点は、Dappユーザーへの補助金の条件をプログラムで設定することです。
過去には、Web3エコシステムプロジェクトが集客のためにガスに補助金を出したケースもありました。しかし、プログラムで条件を設定せずにEOAアカウントに助成金を支給すると、ボットや詐欺師による助成金の悪用(助成金を直接送金するなど)につながり、本物の顧客を引き付けないことがよくありました。
現在、ペイマスターダッシュボードには、一般的にDappsのガス手数料を補助する機能が含まれています。プロジェクト開発者は、ダッシュボードで補助金の条件を簡単に設定できるため、特定の条件を満たす取引のみが補助金の対象となります。ペイマスターを介して補助金の取引条件を制御することで、Dappsはコストを抑えながらより多くの本物のユーザーを引き付けることができます。
EOAの下、Metamaskの支配があるため、現在のDappsは主にWebインターフェースを介してアクセスされ、Webプラグインウォレットの市場シェアが高くなっています。ただし、web3の大量採用は、モバイルユーザーの参加に依存しており、AAの開発と適応がよりモバイルネイティブになります。
Dark Forestの人気が高まるにつれ、完全にオンチェーンのゲームのトレンドが静かに浮上しています。ただし、ゲームでEOA(外部所有アカウント)を使用するユーザーエクスペリエンスは非常に貧弱です。ゲームでアクションを実行するたびに、承認やトランザクションへの署名にウォレットを使用しなければならないことを想像してみてください。この絶え間ない中断により、プレイヤーはゲーム自体に完全に集中することができません。この問題に対処するために、通常のAAの特殊バージョンであるアーケードアカウントは、完全にオンチェーンゲーム用に特別に開発されました。これらのアカウントは、特定のゲーム操作を承認するため、プレイヤーは繰り返しの承認やトランザクションの署名を必要とせずに、完全なオンチェーンゲームに参加することができます。その結果、ゲーム体験が大幅に向上します。今後、完全オンチェーンゲームの台頭により、AAアカウントの普及が進むと思われます。
最近、意図に基づく取引の概念がUnibotの台頭と共に人気を集め、Uniswapも意図に基づく取引の実装を推進するためにUniswap Xプロジェクトを立ち上げました。次の例は、意図に基づく取引とは何かを説明しています。
もし誰かが意図を実行する意志がある場合、相手方はアリスに1000 USDTを転送し、1 ETHを受け取るための別の意図を開始します。
取引は正常にマッチングされました。
意図ベースの取引は次の利点を提供します:
現在、CowSwapは、EOAに基づく意図ベースの取引を実装しています。ただし、EOAに基づく意図ベースの取引では、取引を開始する前にユーザーが承認(ERC-20、承認)する必要があります。しかし、AAの新しいアカウントアーキテクチャの下では、ユーザーは承認と意図を同時にバンドラーに送信できます。AAのバンドラーは同時にIntents Pollにアクセスし、意図を一致させ、より便利な取引体験を提供できます。