IOSG:アカウント抽象はスマートコントラクトウォレットの終局になるのか?
財布の使用体験は本当に良くないのでしょうか?
想像してみてください。Facebookで動画を視聴したり、好きな投稿や画像にコメントしたりするためには、まずログインしなければならないとしたら、次第にユーザーは減少し、最終的には使用しなくなるでしょう。
今日のブロックチェーンの構築方法では、ウォレット層、インタラクション層、決済層のすべてにおいて、ユーザー体験に摩擦が存在しています。
Hasu(Flashbotsのストラテジーリードであり、Lido Financeのストラテジックアドバイザーでもあります)は、2〜3のDeFiプロトコルとインタラクションする際にウォレットを使用する際のいくつかの悪い体験を説明しました。下の図は現在の状態と理想的な状態を比較しています。
多くのゲームスタジオがオンチェーンゲームの開発を始め、開発者がソーシャルアプリケーションの開発に興味を持つ中、現在のインフラは次の10億人のユーザーを受け入れる準備ができているのでしょうか?ユーザー体験が悪い場合、どうすればよいのでしょうか?
一、エコシステムの現状
ウォレットのユーザー体験と安全性を向上させるための他の解決策もあります。これを以下の2つの大きなカテゴリに分けます:
1)アカウント抽象化ウォレット
2)基盤となるEOAを使用したウォレット
3)MPC(マルチパーティ計算ウォレット)タイプ
4)MultiSigマルチシグウォレット
MPC
マルチパーティ計算ウォレット(MPC)は、EOAの単一の秘密鍵がより小さな断片に分散され、3つの異なる当事者間で安全に保存されることを指します。m/nまたはn/nの当事者が一緒に取引に署名できます。これにはユーザー、デバイス、第三者サービスが含まれます。
分割された鍵は通常、チェーン外で保存および計算されます。これは分散型の精神に合わないかもしれませんが、非常に安全なウォレット管理の方法です。私たちは、SSOのように、秘密鍵管理の障害を減らすことでユーザー体験を向上させるサービスを提供できます。例えば、FireblocksやAnchorageなどです。
マルチシグウォレット
マルチシグウォレットは、取引に署名するために2つ以上の外部アカウントを必要とするスマートコントラクトウォレットです。マルチシグウォレットは個人にはあまり使用ケースがありませんが、組織にとっては非常に効果的です。単一のユーザーが他の人の資金や資産を持ち逃げするのを防ぐために、マルチシグは現在最良の選択肢です。例えば、業界のベンチマークであるGnosis Safeがあります。
アカウント抽象化ウォレット
アカウント抽象化は、EIP-4337によって解放された新しい技術で、Web3のユーザーに新しい視野を開きます。
アカウント抽象化(AA)についてさらに深く理解してみましょう。
アカウント抽象化とその重要性
アカウント抽象化とは何かを理解するためには、まずアカウントの意味を理解する必要があります。イーサリアム(およびほとんどの他のEVMベースのチェーン)には、次の2種類のアカウントがあります:
1)外部アカウント(Externally Owned Account, EOA)
2)コントラクトアカウント(Contract Account, CA)
外部所有アカウントは一般的にユーザーが所有するウォレットアカウントを指し、コントラクトアカウントはスマートコントラクトアドレスです。アカウント抽象化では、主に外部アカウントEOAについて話します。
EOAのアーキテクチャは、取引を検証するために一対の鍵を使用します:公開鍵と秘密鍵です。これらは、取引が実際に送信者によって署名されたことを証明するために使用され、偽造を防ぎます。秘密鍵は、ユーザーがウォレットを開くときに得られる「ニーモニックフレーズ」によって生成されます。
秘密鍵は取引に署名するために使用され、取引がアカウント所有者によって署名されたことを確認し、悪意のある取引を防ぎます。秘密鍵の所有権はEOAの「自己管理」を定義します。
このアーキテクチャは、ある程度Web3教育を受けたユーザーには効果的ですが、多くの問題があります。
ウォレット接続
EOAを作成するのは簡単で無料ですが、EOAごとに取引を行うたびにETHを消費しなければなりません。これにより、ユーザーは中央集権的な取引所とやり取りする必要があるか、他の人に自分の外部アカウントEOAにETHを送ってもらう必要があります。
2つ目の問題は、ユーザーがニーモニックフレーズを保存する必要があることです。この行動を理解していないユーザーは、秘密鍵の重要性を理解できません。
秘密鍵管理
ユーザー(EOAの所有者)は秘密鍵の重要性を知らず、自分のニーモニックフレーズを他の誰にも漏らしてはいけないことだけを知っています。したがって、ユーザーがWeb3に参加するための学習曲線のハードルは非常に高く、プロセスは煩雑です。
ECDSA署名への依存
現在、イーサリアムで取引に署名する方法はECDSA署名を使用することです。ECDSA署名は量子耐性を持っていません(楕円曲線暗号は、楕円曲線上の離散対数問題を解決するための改良型ショアアルゴリズムの影響を受けやすく、量子コンピュータはショアアルゴリズムを簡単に実行できます)。これは直接的な影響ではありませんが、イーサリアムの将来の発展を考慮すると、将来の可能性について考える必要があります。
行動 = 取引
今日、ユーザーがチェーン上で行うすべての行動は取引と見なされます。したがって、ユーザーが取引を完了するために複数の行動を実行しなければならない場合、ユーザーにとって非常に非効率的です。例えば、ユーザーがWeb3ゲームをプレイする場合、ゲーム内の各行動が取引署名を必要とする場合、ゲームの楽しさが損なわれます。
なぜ既存のスマートコントラクトウォレットを選ばないのか?
ユーザーの観点から見ると、スマートコントラクトウォレットはEOAの秘密鍵管理を追加し、ガス補助を助けるリレーターを追加することでこれを実現できます。プロセスは以下の図のようになります。
このシステムの問題は、EOAも依然として秘密鍵管理を必要とすることです。これらの秘密鍵は安全に管理できますが、依然として第三者サービスMPC/マルチシグサービスプロバイダーに依存する必要があります。Web3AuthはMPCシステムを使用し、Safe Walletはマルチシグモードを使用しています。ガス補助についても、リレーターへの外部依存があります(例えばBiconomyが提供するもののように)。
ブロックチェーン自体に内蔵された実行層を使用することは、常に第三者に依存するよりも良いです。なぜなら、他のものは故障を引き起こす可能性があるからです。
未来の方向性
Vitalikとチームがイーサリアム全体でEOAを廃止する動きを非常に明確に示している中、現在ERC-4337を実装しているウォレットは、EOAよりも優れた独自の価値提案を失うことになります。
ここまで来ると、これら2年間(アカウント抽象化が初めて提案されて以来)、ERC-4337を実装したウォレットは分散し、ユーザーがブロックチェーンを使用する際にウォレットは粘着性のある製品となります。
イーサリアムの最終目標はEOAをイーサリアムネットワークから削除することですが、EOAを排除することは人々が想像するほど簡単ではありません。これには一定のトレードオフがあります。
1)ERC-4337の存在だけでは、既存のEOAをAAウォレットに変換することは不可能です。
2)ガス効率が低い(基本的なUserOperationは4.2万必要で、基本的な取引は2.1万必要です)。
3)プロトコル内の抗検閲技術からの利益が少ない(crListsは、強制的に検証者が取引をメモリプールのブロックに追加するメカニズムであり、このメカニズムは取引がユーザー操作を逃すことに対して機能しません。crListsはUserOperationメモリプールには適用されません)。
イーサリアム財団はこれらのトレードオフを認識し、これらの問題を解決するための可能な解決策を提案しました。
1)EOAをコントラクトアカウントに変換します。EOAがそのコントラクトコードを設定する操作を実行できるようにする必要があります。一度EOAがこれを行うと、変換は不可逆的です。その時点から、そのアカウントはスマートコントラクトウォレットとしてのみ機能します。したがって、新しいEIPを作成する必要があります。提案された関数は「AUTHUSURP」と呼ばれています。(参考文献:EIP:5003)
2)ガスを削減します。Verkleツリーがオンラインになると、これは可能です(ただし明確なETDはありません)。しかし、UserOperationsを1つの取引にバンドルすることは、同じブロック内で1つのUserOperationを行うよりも経済的に効率的です。
ウォレットタイプの比較
まとめ
アカウント抽象化がどのように機能し、どのような問題を解決できるのか、他のタイプのウォレットとの違いを理解しました。アカウント抽象化が以下のエコシステムで勝利することを予測できます。
ゲーム
ブロックチェーンゲームに対する期待が2023年に高まる中、AAウォレットはブロックチェーンゲームの成功において重要な役割を果たします。オンチェーンゲームのユーザー体験は、セッションキーによって大幅に改善されます。セッションキーは、ユーザーが一連のパラメータに基づいてアプリケーションの取引を事前に承認できるようにします。例えば、定量的な持続時間、最大ガス量、特定のトークンの最大取引量、または特定のコントラクトの特定の機能などです。ユーザーは基本的な条件を使用してセッションを事前に承認し、開始をクリックしてゲームをプレイすることで、ウォレットからの取引確認の煩わしさを避けることができます。彼らはゲームがオフラインになるかトークンを交換する時だけ、ブロックチェーンの部分を心配すればよいのです。Sequenceなどのウォレットプロバイダーは、主要なブロックチェーンゲームと協力して、プレイヤーの体験を改善するためにこの作業を行っています。
DeFi
DeFiユーザーはDeFiプロトコルを使用する際の体験が非常に悪いです。なぜなら、ユーザーが永続的な先物プラットフォームで取引を完了するたびに、2回の取引に署名し、2回のガス費用を支払う必要があるからです。この間に取引価格が変わる可能性があります。
高頻度取引者は、アカウント抽象化ウォレットを使用することで、より速い速度とより良い体験で取引を完了できます。アカウント抽象化は、バンドル取引を利用してdApp間の相互運用性を実現します。例えば、今ではETHをAaveに預け、受け取ったAETHをUSDCに交換することが、1回の取引で完了します。バンドル取引とセッションキーは、既存のDeFiユーザーにより良い体験を提供します。SDKベースのアプローチはDeFiには採用されないでしょう。なぜなら、DeFiはプライベートで意図的なユースケースであり、ユーザーのニーズを理解する必要があるからです。通常、DeFiのユーザーはチェーン上の動作に非常に精通しています。
Web3ソーシャル(DeSoc)
Web3ソーシャルは2023年に強いストーリーがあります。
次の100万人のユーザーがDeSocとNFTを通じて暗号市場に流入する中、これは市場で最も注目されるトレンドの1つであり、ビルダーたちの目標でもあります。アカウント抽象化は、SDKを通じて最小限の摩擦点でユーザーを受け入れるのを助けることができ、初回使用時のガススポンサーがPaymasterに入ることで、ユーザーがスムーズな体験を得るのを助ける可能性があります。ユーザーはセッションキーを使用してソーシャルdAppと対話できます。
以上のように、SDKベースのアカウント抽象化アプローチは、DeSocやWeb3ゲームのようなより多くの消費者ユースケースにとって非常に良いものです。同時に、独立したウォレットはDeFi分野でもより多くの応用方向を持つでしょう。