アカウントアブストラクション(アカウント抽象化) 3: スマートコントラクトウォレットの利点と懸念点(コラム)
アカウントアブストラクション(Account Abstraction、アカウント抽象化)は、イーサリアム(Ethereum)の規格の一つであるERC-4337で定義され、簡単に言うと「ユーザーがスマートコントラクトをウォレットとして使用できるようにする」ものです。
この単元では、従来のEOA(Externally Owned Account、外部所有アカウント)ウォレットと比べた上での、アカウント抽象化によって生成されるERC-4337スマートコントラクトウォレットのメリットとデメリットについて解説します。なお、本単元はブロックチェーン開発プラットフォーマーであるAlchemy(アルケミー)が提供する「Understanding Account Abstraction」の内容を翻訳、一部再編集したものとなります。
スマートコントラクトウォレットのメリット
ERC-4337を使用するスマートコントラクトウォレットは、スマートコントラクトのプログラマビリティを活用し、EOAウォレットと比較して実用性を高めてくれます。スマートコントラクトウォレットのトランザクションはEOAウォレットによって開始される必要がありますが、Bundler(バンドラー)、Paymaster(ペイマスター)、EntryPoint(エントリーポイント)スマートコントラクトなどのアカウント抽象化インフラによって、ウォレット開発者とエンドユーザーにとってプロセスがよりシンプルになります。
スマートコントラクトウォレットが可能にする機能には、次のようなものがあります。
1. 二要素認証
2. ソーシャルリカバリー
3. 柔軟なガスポリシー
4. カスタム署名スキーム
5. マルチコール
6. 複数署名者の使用限度額の設定
7. 許可アドレスと拒否アドレスの設定
8. マルチシグウォレットのサポート
■1. 二要素認証
スマートコントラクトウォレットは、二要素認証を提供することができます。二要素認証は、ユーザーの身元を確認するために二つの異なる要素を必要とします。これはパスワード、スマートフォン、指紋などのセキュリティの追加レイヤーによって不正アクセスを防止する、Web2.0ではよく知られた機能です。
■2. ソーシャルリカバリー
スマートコントラクトウォレットはそのプログラム可能性により、アカウントが秘密鍵を紛失した場合に、ガーディアンと呼ばれる、事前に定義しておいた信頼できる友人や知人などによってウォレットのリカバリーが可能となります。これにより、所有者はシードフレーズを保存する必要がなくなります。
■3. 柔軟なガスポリシー
スマートコントラクトウォレットは、ERC-4337で定義されるペイマスターAPIを使用して、柔軟なガスポリシーを作成できます。開発者はガスポリシーを管理することで、ユーザーに代わってトランザクションにかかるガス代を支払ったり、ユーザーが任意のERC-20トークン(USDCなど)でガス代を支払うことを可能にしたりすることができるようになります。
■4. カスタム署名スキーム
イーサリアムではECDSAと呼ばれる楕円曲線DAS暗号方式が初期設定されていますが、スマートコントラクトウォレットは、楕円曲線DAS暗号方式とは異なる署名方式を簡単にプログラムすることができます。例えば、Aggregator(アグリゲーター)という機能により、複数の署名を一つの署名にまとめることで、コストを削減することができます。
■5. マルチコール
マルチコールとは、スマートコントラクトウォレットが一つのトランザクションで複数のアクションを実行する機能のことです。マルチコール機能は、全てのトランザクションが別々に伝播され確認されるため、処理時間を短縮できます。
例えば、ユーザーがDEXのUniswap(ユニスワップ)でトークンを取引したい場合、まず「承認」をクリックし、トランザクションが確認されるのを待ちます。その後、「スワップ」トランザクションが確認されるのを待ち、初めてトークン交換が完了します。スマートコントラクトのウォレットを使えば、これらのトランザクションを一つのトランザクションにまとめることができます。
■6. 複数署名者の使用限度額の設定
スマートコントラクトウォレットは、複数の署名者を認識するように設定できます。例えば、ユーザーはノートパソコンとハードウェアウォレットの両方を署名者として追加し、ノートパソコンでは0.05ETHまでのトランザクションを承認するが、ハードウェアウォレットではより大きなトランザクションを要求するといった設定ができます。
■7. 許可アドレスと拒否アドレスの設定
スマートコントラクトウォレットは、ユーザーが自分のアカウントへのアクセスを許可または拒否することを可能にします。この機能はセキュリティを向上させ、ユーザーが自分のアカウントをさらにコントロールできるようにするものです。
■8. マルチシグウォレットのサポート
スマートコントラクトウォレットのマルチシグサポート機能は、ブロックチェーン開発企業など、トランザクションが実行される前に複数の承認を必要とする組織にとって特に重要です。マルチシグウォレットのサポートは、複数の人による承認を必要とすることでトランザクションのセキュリティを高め、誰かが資金を盗んだり不正なトランザクションを実行したりすることを困難にします。
スマートコントラクトウォレットのデメリット
スマートコントラクトウォレットの主なデメリットとしては以下などが挙げられます。
1. ガスコストの上昇
2. 潜在的なコードの問題
3. サポートの不足
■1. ガスコストの上昇
スマートコントラクトウォレットはスマートコントラクトコードによって制御され、コードを実行するために必要な計算リソースにコストを支払う必要があります。よって、スマートコントラクトウォレットのトランザクションの実行は、EOAウォレットを運用するよりもガスコストがかかります。特に、複雑なスマートコントラクトコードを実行する必要がある追加機能がある場合はなおさらです。
■2. 潜在的なコードの問題
スマートコントラクトウォレットはコードベースであるため、一般的なソフトウェア製品と同じように監査、セキュリティ、バグの問題に直面します。スマートコントラクトウォレットは新しい技術なので、スマートコントラクトウォレットを導入する際には、開発しているチーム、ウォレットのデザイン、コードのセキュリティなどを確認・評価する必要があります。
■3. サポートの不足
スマートコントラクトウォレットはまだ初期段階にあり、一部のプラットフォームでしかサポートされていません。スマートコントラクトウォレットが主流になるには、トップクラスのDeFiプロトコルや他のWeb3プラットフォームでサポートされるのを待つ必要があります。
カウント抽象化によって生成されるERC-4337スマートコントラクトウォレットには多くのメリットがあり、既存のユーザーエクスペリエンスを改善する可能性がありますが、まだ発展途上の技術であることからデメリットも少なからず存在します。これらデメリットが解消されてくると、より一層アカウント抽象化の普及が進むと考えられるため、導入を検討する際には最新の技術動向を確認する必要があります。
制作:株式会社Kudasai
Web3ポケットキャンパスはスマホアプリでも学習ができます。アプリではnote版にはない「クイズ」と「学習履歴」の機能もあり、よりWeb3学習を楽しく続けられます。ぜひご利用ください。
▼スマホアプリインストールはこちら
この記事が気に入ったらサポートをしてみませんか?