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

スマートコントラクトウォレットとEOAウォレットの比較:8つの優れた利点

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

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

Alchemy's BundlerとGas Managerは、スマートコントラクトウォレットのトランザクションとガススポンサーシップをサポートしている。

スマートコントラクトウォレットのメリットは何か?

スマートコントラクトウォレットは、スマートコントラクトのプログラム可能性を活用することで、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開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。