Account Abstraction(AA)とは?(パート3)
Vitalik氏は、Account Abstractionは「我々が常に望んでいたもの」であり、「長い間、Ethereum開発者コミュニティの夢であった」と述べています。
しかし、実際にAccount Abstractionとは何なのでしょうか?そして、なぜそれが重要なのでしょうか?
この投稿では、AAが提供する実用的な利点について見ていきます。まず、5つの重要な機能から始めますが、これらは全てArgentで取り組んでいるものです。
AAがなければ、クリプトは一部のユーザー利用で終わってしますと考えています。DappsはWeb2のようなUXを実現できず、ウォレットは使いにくく、安全性が低いため、中央集権的なソリューションに依存することになり、自身でコントロールできず、使用例も限定されます。一方、AAを使えば、クリプトのマスアダプションのための潜在能力を最終的に引き出すことができると信じています。
その前に、Account Abstractionとは何か、簡単におさらいしておきましょう。
Account Abstractionとは?
Account Abstractionは、Ethereumが2種類のアカウント(外部所有アカウントとコントラクトアカウント)を持っていたのを、1つだけのアカウント(コントラクトアカウント)にするものです。これらのコントラクトアカウントは、取引を開始し、取引手数料を支払うことができ、ユーザーのニーズに合わせてカスタマイズすることができます。AAとは何か、詳しくはこちらの記事をご覧ください。
さて、次にメリットについてです。
1. マルチコール:ワンタップで取引
今日、Ethereum上でDappを使用している場合、オンチェーンでのやりとりのたびに新しいトランザクションを作成する必要があります。これはイライラするし、時間もかかるし、ガス代が高いときは高くつきます。
Account Abstractionを使えば、代わりに複数のトランザクションを1つに束ねて、一連の操作を1つのアトミックトランザクションで実行することができます。この機能はマルチコールと呼ばれています。
例として、Uniswapに流動性を提供するには、通常、2つのトークンをそれぞれ承認し、それを預ける、という3つのトランザクションが必要です。マルチコールを使えば、たった1つのアトミックトランザクションで行うことができます。より早く、より簡単で、そして、より安全です(無制限の承認の必要性がなくなるので)。
AAの利点は、3つのトランザクションを1つにまとめるだけでなく、さらに広がります。AA は、より複雑なプロセスを根本的に簡素化し、ユーザーがワンタップで操作できるようにすることができます。これによって、Hasuが以下に説明する理想的なDeFiインタラクションが実現されます。
2. セッションキー:シンプルさとセキュリティ
セッションキーは、UX、特にブロックチェーンゲームにとって画期的なものです。Dappsとのやりとりのルールを事前に承認しておくことで、いちいち署名しなくても、そのルールの中で好きなだけDappを使うことができます。
つまり、Dappができること、できないことを制限することで、自分の資産を守りながらDappの利用を楽しむことができるのです。つまり、リスクを最小限に抑えながら、使い勝手を最大限に高めることができるのです。
これを現状に照らし合わせると、常にトランザクションに署名するか、自分の代わりに行動するエンティティを信頼しなければならないことになります。
セッションは様々な方法で定義することができます。MatchBox DAOが提案したように、パラメータは「所定の期間、ガスの最大量、特定のトークンの最大取引量、特定のコントラクトの特定の機能」になります。
Influence、Loot Realms、Briq、Topology、Cartridge、MatchBoxDAO、Ledgerなど、多くのチームがこれらを使って開発をしていることに大きな興奮を覚えています。
3. ソーシャルリカバリー:セキュリティ向上とシードフレーズの廃止
Vitalikは、ソーシャルリカバリーは「ウォレットを安全にするために推奨する方法」だと言っています。
ソーシャルリカバリーの目的は、アカウントを紛失したり、何らかの形で侵害された場合にユーザーを保護することです。ソーシャルリカバリーは、MetaMaskのようなウォレットの典型的なリカバリー方法であるシードフレーズを避けながら、これを実現します。シードフレーズは使いにくく、安全性に欠け、マスアダプションの大きな障壁となるため、排除する必要があるのです。ソーシャルリカバリーでは、秘密鍵を紛失した場合、正当なウォレットの所有者として新しい鍵を承認すればいいのです。そのための仕組みは様々です。信頼できる人脈、ハードウェアウォレット、あるいはサードパーティのサービスに依存するリカバリ方法を選択することができます。あるいは、それらすべてを組み合わせてもよいでしょう。
重要なのは、ソーシャルリカバリーがセルフカストディを犠牲にしないことです。あなたは自分の資産をコントロールし続けることができるのです。さらに、リカバリーを無効にするための猶予期間を設けることもできます。
また、ソーシャルリカバリーが普及することで、安全でシンプルな相続など、さらなるイノベーションが起こることを期待しています。
4. 多要素認証とセキュリティ強化
現代の銀行では、新しいアドレスへの大きな送金には2要素認証が標準になりつつあります。もし、あなたがクリプトで同じような、あるいはもっとスマートな保護を望んでいるとしたらどうでしょう?
Account Abstractionは、複数の鍵の署名を必要とするアカウントを持ち、特定の条件が満たされた場合にのみトランザクションを実行することを可能にします。
Gnosis Safeのようなマルチシグネチャーのウォレットとどう違うのですか?Vitalik氏がこの投稿で述べているように、その違いは、AAを活用したウォレットは、より高いカスタマイズ性、セキュリティ、ユーザビリティを提供することができるということです。
AAでは、アカウントのセキュリティレベルをニーズに合わせて調整したり、取引の承認にさまざまなデバイスを使用したりすることができます。
では、より広範にはどのようなことが可能なのでしょうか。次のようなことが考えられます。
- 2要素(またはそれ以上)認証を行う。
あなたのアカウントの鍵の1つは、電子メールやSMSなどの第2の要素で確認された場合にのみ共同署名するサービスによって管理されているとします。あなたが第2要素を確認した場合、取引は成功します。確認できない場合は、自動的にブロックされます。 - 詐欺のアドレスをリストアップし、そのアドレスへの取引を自動的にブロックする。
不正なコントラクトへの取引をブロックすることもできます。 - 1日の送金限度額を設定し、それを超えるものは自動的にブロックする。
ただし、あなたが明示的に承認した場合はこの限りではありません。 - オフチェーンサービスを統合して保護を強化する。
例えば、セキュリティサービスを使用して、取引を承認する前にNFTコレクションがOpenSeaで認証されているかどうかを確認し、認証されていない場合は二要素認証を要求します。
重要なのは、各トランザクションの検査がすべて自動化されていることです。クリプト界隈で時々耳にすることですが、普通の人が使用する各コントラクトを調査する根気や知識を持つことを期待するのは非常識なことです。
したがって、これは、1つの小さなミスがすべてを失うことを意味する従来のウォレット、EOAの現状からの根本的な変化です。これらのツイートが示すように、このようなことはあまりにも頻繁に起こっているのです。
5. プラグイン:より高い柔軟性
プラグインは、アカウントをより柔軟でモジュール化したものにします。サードパーティの開発者は、アカウント作成時に有効にしたい新機能を備えたプラグインを構築することができます。
また、アカウント作成後にユーザーが機能を追加・削除できるようにすることで、アカウントの拡張性を高めることもできます。
ゲーム、ソーシャルリカバリー、セッションキーなどのプラグインを選択できるなど、アカウント用のアプリストアのように考えることができます。
クリプトは進化のスピードが速いため、プラグインはアカウントの将来性を保証するのに役立ちます。プラグインは、プライバシーやハイパーチェーンなど、新しく登場する機能を利用するのに役立ちます。
以上の5つのポイントの他に、実際に影響を与えることができる追加的なものをいくつか紹介します。
Account Abstractionのその他の利点
1.任意のトークンでガス代を支払う
現状Ethereumでは、ガス代を支払うために特定のトークンを持っている必要があります。これは、送金やトレードを行わないと手に入らないため、ユーザーにとって負担になります。しかし、Account Abstractionを使えば、どのようなトークンでもガス代を支払うことができます。
2. プロジェクトがガス代を代理で支払う
プロジェクトは、ユーザーに代わってガス代を支払う「払い主」としての役割を果たすことができます。これにより、ユーザーにとっての抵抗感を大幅に軽減することができます。
3. 異なる署名スキーム
現在のEthereumは、単一の署名方式であるECDSAと、単一の楕円曲線に依存しています。重要なのは、これを変更する唯一の方法はAccount Abstractionであることです。
これはクリプト専門家だけが興味を持つようなよく分からないポイントに聞こえるかもしれませんが、重要なことなのです。そのメリットは以下の通りです。
すべての携帯電話をハードウェアウォレットにする
別の署名方式を使えば、iOSやAndroidデバイスの安全なエンクレーブを使用して、スマートフォンをハードウェアウォレットに変えることができます。世界には60億人以上のスマートフォンユーザーがいるため、この変化により、現在のハードウェアウォレット市場は驚くほど小さく見えるようになるでしょう。
量子コンピュータ対策
量子コンピュータが登場したら、ECDSAを破ることができることが分かっています。Vitalik氏が書いているように、AAでは「ポスト量子安全署名アルゴリズム(例:Lamport、Winternitz)」を試すことができるのです。
より効率的な署名アルゴリズム
スマートコントラクトウォレットで取引の署名を認証する際に、より少ない計算処理を実行することで、ガス代の低減につながる可能性があります。
アップグレード可能
アカウントはコントラクトであるため、よく知られたプロキシパターンを使用し、実行を実装者に委ねることができます。プロキシがアップグレード可能なようにプログラムされている場合、ユーザーは新しい機能が利用可能になるにつれて、自分のアカウントのコードをアップグレードすることができます。
まとめ
Account Abstractionがクリプトにとって真のブレークスルーであると信じています。そして、AAをzkSyncやStarkNetのようなLayer 2と組み合わせることで、トランザクションとセルフカストディのUXの両方をスケールアップすることができるのです。
Web2のシンプルさとWeb3の魔法によって。