コンテンツへスキップ
0%

スマートコントラクトウォレットvs. EOAウォレット:8つの優れたメリット

2023年6月1日 公開読了時間 1 分

ERC-4337を利用するスマートコントラクトウォレットは、スマートコントラクトアカウントを管理するweb3ウォレットであり、従来のEOA(Externally-Owned Account)ウォレットと同様のシンプルなユーザー体験を提供しながら、追加の機能性、柔軟性、セキュリティ上の利点を備えています。

Alchemy's Account Kitを使えば、アプリにスマートコントラクトウォレットをすぐに実装できます。

スマートコントラクトウォレットにはどのような利点があるか

スマートコントラクトウォレットは、スマートコントラクトのプログラマビリティを活用することで、EOAウォレットに比べて有用性を高めています。スマートコントラクトウォレットのトランザクションはEOAウォレットによって開始される必要がありますが、Bundler、Paymaster、EntryPointコントラクト、Wallet SDKといったAccount Abstractionインフラサービスにより、ウォレット開発者とエンドユーザー双方にとってこのプロセスが簡素化されています。

スマートコントラクトウォレットによって可能になる機能には、以下のようなものがあります:

  1. 二要素認証
  2. ソーシャルリカバリー
  3. 柔軟なガスポリシー
  4. カスタム署名スキーム
  5. マルチコール
  6. 使用限度額の設定
  7. アドレスのアローリスト化
  8. マルチシグウォレットのサポート

1. 二要素認証

スマートコントラクトウォレットは二要素認証を提供できます。これはユーザーの本人確認のために2つの異なる要素を要求するもので、例えば:

  • ユーザーが知っているもの(パスワードなど)
  • ユーザーが持っているもの(電話など)
  • ユーザー自身に固有のもの(指紋など)

これはweb2ではよく知られた機能で、追加のセキュリティ層を提供し、不正アクセスを防ぎます。

2. ソーシャルリカバリー

スマートコントラクトウォレットはプログラマブルであり、ソーシャルリカバリーでは、ウォレット所有者が元の秘密鍵を紛失した場合に、スマートコントラクトウォレットの公開鍵が変更されます。これは、あらかじめ信頼できる友人や親族(ガーディアンと呼ばれる)とのマルチシグトランザクションによって実現されます。これにより、所有者がシードフレーズを保管する必要がなくなります。

3. 柔軟なガスポリシー

スマートコントラクトウォレットは、ERC-4337のPaymaster仕様をサポートするAPIを使って柔軟なガスポリシーを設定できます。ガスポリシーを管理できることで、開発者はユーザーに代わってトランザクションをスポンサーする(つまりガスレストランザクション)ことや、ユーザーが任意のERC-20トークン(USDCなど)でガス代を支払うことを可能にします。

トランザクションのスポンサー

トランザクションには、そのcalldata内に手数料のスポンサーが指定されます。Paymasterはそのスポンサーにトランザクション手数料をスポンサーする意思があるかを確認し、そうであればトランザクションの実行を進めます。

任意のERC-20トークンでのガス代支払い

Paymasterは、ブロックチェーンのネイティブトークン以外の通貨での手数料支払いも可能にします。

例えば、ウォレットがUSDCのようなERC-20トークンのみを保有し、Ethereumのネイティブトークン(ETH)を保有していない場合、Paymasterはその手数料をカバーするのに十分なUSDC残高があるかを確認します。十分なUSDCがあれば、PaymasterはETHでトランザクションの実行費用を支払い、代わりにウォレットのUSDCを報酬として受け取ります。

4. カスタム署名スキーム

スマートコントラクトウォレットは、Ethereumで標準的に使われるECDSAとは異なる署名スキームを使うように容易にプログラムできます。このデフォルトの署名スキームは、マルチシグ、ソーシャルリカバリー、あるいはCrystals-Kyberのような耐量子オプションに置き換えることも可能です。

5. マルチコール

マルチコールとは、スマートコントラクトウォレットが単一のアトミックなトランザクション内で複数のアクションを実行できる機能です。マルチコール機能は、すべてのトランザクションが個別に伝播・確認される現行のウォレットのパラダイムを改善し、処理時間の長期化や不十分なユーザー体験の問題を解決します。

例えば、ユーザーがUniswapでトークンを取引したい場合、まず「approve」をクリックし、そのトランザクションが確認されるのを待つ必要があります。その後、「swap」トランザクションの確認を待って、ようやくトークンの交換が完了します。

スマートコントラクトウォレットでは、これらのトランザクションを1つのアトミックなトランザクションにまとめることができます。

6. 署名者ごとの使用限度額

スマートコントラクトウォレットは複数の有効な署名者を認識するよう設定でき、署名者ごとに異なる使用限度額を設定するのに利用できます。例えば、ユーザーは自分のノートパソコンとLedgerハードウェアウォレットの両方を署名者として追加し、ノートパソコンでは0.05 ETHまでのトランザクションを許可し、それを超える金額の場合はハードウェアウォレットの使用を必須にすることができます。

7. アローリストとデナイリストのアドレス

スマートコントラクトウォレットでは、ユーザーが1つ以上のウォレットアドレスにアカウントへのアクセスを許可または拒否できます。アローリストはユーザーがアクセスを許可することを可能にし、デナイリストはアカウントへのアクセスをブロックまたは拒否します。これらの機能はいずれもセキュリティを向上させ、ユーザーがアカウントをより細かく制御できるようにします。

8. マルチシグウォレットのサポート

スマートコントラクトウォレットのマルチシグサポート機能は、トランザクションの実行前に複数の承認を必要とすることが多い組織にとって特に重要です。マルチシグウォレットのサポートは、複数の人による承認を必要とすることでトランザクションのセキュリティを高め、単独の人物が資金を盗んだり、不正なトランザクションを実行したりすることを困難にします。

スマートコントラクトウォレットの欠点は何か

スマートコントラクトウォレットの主な欠点としては、ガスコストの高さ、コード上の潜在的な問題、そして現時点でほとんどのweb3プラットフォームでサポートが不足していることが挙げられます。

1. ガスコストの高さ

スマートコントラクトウォレットはスマートコントラクトのコードによって制御されており、そのコードを実行するために必要な計算リソースの対価を支払う必要があります。スマートコントラクトウォレットのトランザクション実行は、EOAウォレットの運用に比べて高コストであり、特に複雑なスマートコントラクトコードの実行を要する追加機能がある場合はなおさらです。

2. コード上の潜在的な問題

スマートコントラクトウォレットはコードベースであるため、一般的なソフトウェア製品と同様の監査、セキュリティ、バグの問題に直面します。スマートコントラクトウォレットはまだ新しいため、SCウォレットを採用するユーザーは、新しいERC-4337準拠ウォレットのチーム、ウォレット設計、コードのセキュリティを評価すべきです。

3. サポートの不足

スマートコントラクトウォレットはまだ初期段階にあり、対応しているプラットフォームはごく一部に限られています。スマートコントラクトウォレットが主流になるためには、トップクラスのDeFiプロトコルや他のweb3プラットフォームによるサポートが必要です。

スマートコントラクトウォレットを使うべきか

スマートコントラクトウォレットの利用を検討すべき主な理由は、セキュリティ機能の向上、自動化、非中央集権性、そしてユーザーフレンドリーさです。

  1. セキュリティ - 2FA、マルチシグサポート、ソーシャルリカバリーにより、EOAよりも安全に利用できる
  2. 自動化 - web3プロトコルやスマートコントラクトとプログラム的にやり取りできる
  3. 使いやすいUX - SCWはEOAウォレットに伴う複雑さを排除する
Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。