---
title: "オンチェーンアプリ向け、最も低コストなSmart Walletの登場"
description: "あらゆるユーザーとトランザクションにおいてセキュリティ、コスト、柔軟性を最大化するAlchemy Smart Walletsの設計思想を紹介します。"
---

# オンチェーンアプリ向け、最も低コストなSmart Walletの登場

夜も眠れなくなるような悩みを、いくつか挙げてみます。

- ユーザーと評判を危険にさらす**セキュリティの脆弱性**
- ベンダーロックインが発覚したり、プロバイダーに頼れなくなったりしたときの**苦痛を伴う移行作業**
- スケールするほど財務的に立ち行かなくなる**高額なツール**

私たち自身も開発者として、こうした悩みに共感します。そして、こうした悪夢を避けるためのツールを構築することにコミットしています。だからこそ、出荷とスケーリングに集中できるよう、最もコスト効率が高く、安全で、柔軟なスマートウォレットを提供しています。

<ImageBlock
  src="https://media.alchemy.com/1746456107-ws-benchmarks-blog.jpg"
  alt="スマートウォレットのコスト削減比較"
  width={2400}
  height={1260}
  caption="Alchemy Smart Walletsでコストを53%削減"
  priority
/>

## スマートウォレットとは

web3で開発をしている人なら誰でも、[MetaMask](https://www.alchemy.com/dapps/metamask)のような[従来のEOA](/overviews/best-ethereum-wallets-for-developers-complete-evm-guide-2025)\(Externally Owned Account\)ウォレットの限界を理解しています。シードフレーズ、ガス代、ブラウザ拡張機能——こうした体験全体が摩擦を生み、ユーザーのオンボーディングとトランザクションの完了を妨げています。

[スマートウォレット](/smart-wallets)は、この分野における大きな進歩を表しています。これらはブロックチェーン上に存在するスマートコントラクトによって動くプログラマブルなアカウントであり、[ERC-4337](/overviews/what-is-account-abstraction)と呼ばれる標準を活用しています。

この根本的な違いにより、従来のEOAウォレットでは単純に提供できない機能が実現します。

- **アカウントリカバリー** - 忘れたシードフレーズによる永久的な損失を排除
- **バッチトランザクション** - 複数の操作を一度に実行
- **ガススポンサーシップ** - アプリケーションがユーザーに代わってガス代を負担できる
- **カスタム認可** - オール・オア・ナッシングの方式を超えた、きめ細かな権限システムの実装

開発者にとって、これはweb2水準のオンチェーン体験を作れることを意味します。ユーザーにとっては、背後にある技術的な複雑さを理解しなくてもブロックチェーンアプリケーションと対話できることを意味します。

[スマートウォレット](/smart-wallets)は、ブロックチェーンの可能性とメインストリームでの採用との橋渡しをし、シームレスなweb3体験を可能にするゲートウェイとして機能します。Alchemyは[#1のスマートウォレットプロバイダー](https://www.bundlebear.com/erc4337-factories/all)であり、現在1,600万を超えるスマートウォレットを支えており、Ethereum Foundationと共に[ERC-6900](https://erc6900.io/)のような標準を共同で執筆してきました。今、その専門知識をあなたのために活用します。ここからは、私たちがどのように構築し、あなたがどのように活用して優れたアプリを構築できるかを説明します。

<CardWithCta
  text="Alchemy Smart Walletsで、コスト、セキュリティ、柔軟性のすべてを最適化。"
  ctaLabel="はじめる"
  ctaHref="/"
  theme="light"
/>

## 要点まとめ

<ImageBlock
  src="https://media.alchemy.com/1746799178-img-1-4.png"
  alt="スマートウォレットのコスト、セキュリティ、柔軟性のベンチマーク概要"
  width={3840}
  height={2160}
  caption="Alchemy Smart Walletsで低コストにスケール"
/>

時間が貴重なのは分かっているので、要点をまとめました。重要なポイントは以下の通りです。

- **最も低いアカウント作成コスト**: 私たちのスマートウォレットは業界平均より約53%安くデプロイできます\(主要なL2全体で0.56¢に対して0.26¢\)。これにより、コストを抑えたまま数百万人をオンボーディングできます
- **最も低いトランザクションコスト:** 私たちのスマートウォレットは、すべてのトランザクションにおいて代替手段と比較して約5〜10%のコストを節約します
- **最大限のセキュリティ**: [Quantstamp](https://www.alchemy.com/dapps/quantstamp)、Chainlight、500以上のセキュリティリサーチャーによって全面的に[監査済み](https://github.com/alchemyplatform/modular-account/tree/develop/audits)
- **真のモジュール性**: 実行関数、バリデーション、フックにより機能を際限なく拡張可能
- **開発者フレンドリー**: スマートコントラクトの専門家である必要のない[シンプルなSDK](https://www.alchemy.com/docs/wallets/smart-contracts/modular-account-v2/overview)

[**スマートウォレット**](/smart-wallets)は、あなたのアプリに数百万人のユーザーをオンボーディングするために設計されています。安全かつコスト効率よく実現し、スケールについて心配する必要はもうありません。

<CardWithCta
  text="料金計算ツールでスケール時のウォレットコストを見積もれます。"
  ctaLabel="計算ツールを使う"
  ctaHref="https://wallet-calculator.alchemy.com/"
  theme="light"
/>

この業界トップクラスの結果をどう達成したか、詳しく見ていきましょう。

## コアとなる設計原則

<ImageBlock
  src="https://media.alchemy.com/1746457678-img-2-1.png"
  alt="スマートウォレットのコスト効率、柔軟性、セキュリティの概要"
  width={3840}
  height={2160}
  caption="Alchemy Smart Walletsは、コスト効率、柔軟性、セキュリティを最大化するよう設計されています。"
/>

多くのプロバイダーは何かを犠牲にすることを強いてきます。セキュリティが欲しいですか？柔軟性とはお別れです。安価にしたいですか？複雑さを覚悟してください。

私たちは、そうした妥協をすべきではないと考えています。スマートウォレットの機能を支えるスマートコントラクトは、3つのコア原則を念頭に構築されました。

- **セキュリティ**: あなたの資産は安全に保たれます。それだけです。
- **コスト**: 極めてガス効率が高く、デプロイも利用も安価です。
- **柔軟性**: これらは*スマート*ウォレットです。きめ細かなコントロールで必要な機能を簡単に追加できます。

そして、これらすべてが、ただ機能する、一級品のSDKによって使いやすくなっています。「スマートコントラクトの魔術師」である必要はありません。

### セキュリティ

セキュリティは私たちにとって単なる一機能ではなく、最優先事項です。私たちのコントラクトは、2つの有力な監査会社である[Quantstamp](https://github.com/alchemyplatform/modular-account/blob/develop/audits/2024-12-11_quantstamp_14afcd8.pdf)と[Chainlight](https://github.com/alchemyplatform/modular-account/blob/develop/audits/2024-12-03_chainlight_14afcd8.pdf)、そして[Cantina](https://www.alchemy.com/dapps/cantina)の5,000人を超えるセキュリティリサーチャーのコミュニティによって監査されています。

実行経路は3通り考えられます——

1. UserOp経路
1. ランタイムバリデーション経路\(`executeWithRuntimeValidation\(\)`経由\)
1. 直接呼び出し経路

各経路の動作は異なりますが、すべて同じセキュリティ基準を維持しています。この実装は、**バリデーション**を通じて柔軟性*と*セキュリティの両方を最大化します。詳しく見ていきましょう。

#### バリデーション

通常、標準的なトランザクションを送信する際、ユーザーのEOAがトランザクションの詳細に署名することで、本人が本当に送信者であることを証明します。

しかし、アカウントアブストラクション（[ERC-4337](/overviews/what-is-account-abstraction)）では、ユーザーは直接トランザクションを送信しなかったり、標準的なEOAでトランザクションの詳細に署名しなかったりする場合があります。では、ユーザーオペレーションをどのように認証するのでしょうか？

ここで登場するのが*バリデーション*です。

概念的には、バリデーションとは、スマートアカウントが実行できる1つ以上の操作に関連付けられた認証方法です。

<CalloutBlock>

**スマートアカウントとスマートウォレットの違いは何ですか？**
スマートウォレットとは、スマートアカウント機能を活用したウォレットのことで、ソーシャルリカバリー、バッチトランザクション、カスタマイズされたセキュリティルールといったプログラマブルな機能を、シームレスなインターフェースを通じて直接提供します。

</CalloutBlock>

バリデーションはスマートアカウントにきめ細かなセキュリティを追加します。何でもできる全権を持つスーパーバリデーションを1つ持つこともできますし、それぞれが異なる狭い範囲を持つバリデーションを十数個持つこともできます。

デフォルトでは、アカウントには事前にインストールされたフォールバックバリデーションがあり、元の署名者（アカウントの「所有者」）が何でも実行できるようになっています。これは完全に設定可能であり、このバリデーションを完全に無効にすることもできます。

バリデーションは以下のルールに従う必要があります。

- バリデーションは、使用するためにアカウントに「インストール」される必要があります。
- バリデーションはセレクタ固有にすることも、グローバルにすることもできます。
- バリデーションには任意の数の「フック」を関連付けることができ、きめ細かなアクセス制御が可能です。
- バリデーションは、userOp、ランタイム呼び出し\(`executeWithRuntimeValidation\(\)`経由\)、EIP-1271署名の任意の組み合わせを検証するために使用できます。
- 特別な識別子を持つバリデーションをインストールすると、そのバリデーションに関連付けられたアドレスが、指定された機能についてアカウントへ直接呼び出しを行えるようになります。
  - これは、他のEOAがあなたのスマートアカウントに対して限定的な操作を実行できるようにするために使用できます。

バリデーションは、アクセス制御と権限委譲をきめ細かく管理するための強力な仕組みを提供します。

さらに、バリデーションは単なる認可手段にとどまらず、アプリがユーザーから安全に権限をリクエストできるようにし、その際に追加の保証（フックの形で）がアプリの制御外でユーザーのウォレットによって提供されます。設計の自由度は文字通り無限です。

### 柔軟性

真のスマートウォレットは、あなたのニーズに合わせて適応すべきであり、その逆ではありません。私たちのスマートコントラクトは、3つの主要コンポーネントを通じて設計上モジュール化されています。

#### 実行関数
実行関数は、アカウントへの呼び出しを指定されたアドレスへ中継できるようにします。

例えば、[NFTマーケットプレイス](https://www.alchemy.com/dapps/best/nft-marketplaces)を構築している場合、受信側アドレスへのコールバックを必要とするトークン（`onERC721Received\(\)`のような）の転送をサポートしたいことがあるでしょう。私たちの実行関数を使えば、それは1回のインストール呼び出しで済みます——複雑なカスタムコードは不要です。

#### バリデーション
前述の通り、バリデーションはグローバルまたは関数固有にできる認可方式です。ここでの強みは、アカウントが単一の署名方式に縛られていないことです——あなたが選ぶどんな認可方式でも動作します。

パスキーをサポートしたいですか？ソーシャルログインは？アクションごとに異なる閾値を持つマルチシグは？すべてバリデーションを通じて可能です。

#### フック
フックこそ、モジュール性が真価を発揮する部分です。スマートウォレット内の任意の関数やバリデーションにカスタムロジックを付加できます。

特定のトークンの転送のみを許可し、1日あたりの上限額を設けるバリデーションを作成できます——ドルコスト平均法やサブスクリプション決済に最適です。あるいは、高額なトランザクションの前に高度なセキュリティチェックを実装するフックも考えられます。

---

これらのコンポーネントが組み合わさることで、私たちのスマートウォレットは将来にわたって通用するものになります。新しい認可方式が登場しても、あるいはアプリケーションのニーズが変化しても、ウォレットのインフラはユーザーに苦痛を伴う移行を強いることなく適応できます。

### コスト

<EmbeddedTable
  table={{
    columns: [
      { key: "1", width: 200, title: "PROVIDER", dataType: "object" },
      { key: "2", width: 200, title: "ACCOUNT CREATION", dataType: "object" },
      { key: "3", width: 200, title: "ERC-20 TRANSFER", dataType: "object" },
    ],
    data: [
      {
        "1": { title: "<p>Alchemy</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.036¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.074¢</p>", tooltip: "", icon: "" },
        id: 0,
      },
      {
        "1": { title: "<p>Biconomy Nexus</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.074¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.076¢</p>", tooltip: "", icon: "" },
        id: 1,
      },
      {
        "1": { title: "<p>ZeroDev Kernel v3.1</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.067¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.085¢</p>", tooltip: "", icon: "" },
        id: 2,
      },
      {
        "1": { title: "<p>Safe v1.4.1</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.104¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.081¢</p>", tooltip: "", icon: "" },
        id: 3,
      },
      {
        "1": { title: "<p>Coinbase Smart Wallet</p>", tooltip: "", icon: "" },
        "2": { title: "<p>0.067¢</p>", tooltip: "", icon: "" },
        "3": { title: "<p>0.075¢</p>", tooltip: "", icon: "" },
        id: 4,
      },
    ],
  }}
/>

ガス効率は単なるあると良いものではなく、スケールできる製品とそうでない製品の違いを生むものです。

私たちのスマートウォレットは、[Uniswap](https://www.alchemy.com/dapps/uniswap) V2の1回のスワップよりも少ないガスでデプロイできます。これは、[Solady](https://github.com/vectorized/solady)のClone ERC1967プロキシをイミュータブルな引数とともに活用することで実現したブレークスルーです。

所有者のアドレスを高価なコントラクトストレージに保存する代わりに、プロキシのバイトコードに直接付加しています。これはいつでも変更または削除できるフォールバックバリデーションとして機能します。その結果、サポートされているどのチェーン上でも10万ガス未満で決定論的なデプロイが可能になり、即座に利用可能で、機能面での妥協は一切ありません。

#### 総コスト面での優位性

利用シナリオで業界の競合他社とベンチマークすると、私たちのウォレットは大幅な節約をもたらします。

- 競合他社と比べて**アカウント作成が約53%安い**
- アカウント作成において**Safeより66%安く**、**ZeroDev Kernelより46%安い**
- 全操作タイプ（ネイティブ転送、ERC-20転送、スワップ）において**トランザクションで約10%の節約**
- **スケール時の大幅な節約**: 100万アカウントをそれぞれ100トランザクションでデプロイした場合、代替手段と比較して\(L2上で\)約3万ドルを節約

計算はシンプルです。私たちの大幅に低いアカウント作成コストとトランザクションコストは、ユーザーベースが拡大するにつれて積み重なる実質的な節約を意味します。

デプロイにとどまらず、あらゆる操作に効率性を組み込んでいます。スマートコントラクトは、高度に最適化されたメモリ管理技術を用いて構築されており、実行中のガス消費を大幅に削減する再利用可能なインメモリバッファもその一つです。

デプロイから日々の運用まで、あらゆる段階でコストが重要だと分かっているからこそ、ガス効率を限界まで追求しました。これにより、アプリケーションがスケールしても、強力な機能と手頃なコストのどちらかを選ばなければならない、ということがなくなります。

完全なベンチマーク分析は[こちら](https://github.com/alchemyplatform/aa-benchmarks)をご覧ください。

<CardWithCta
  text="さらに削減したい場合は、スケール時の特別料金についてチームまでご連絡ください。"
  ctaLabel="営業に問い合わせる"
  ctaHref="/"
  theme="light"
/>

### 使いやすさ

使うことが不可能なら、最高のアカウントを持っていても意味がありません。私たちはすべての複雑さを抽象化し、邪魔にならない、整備されたドキュメント付きのクリーンなインターフェースを提供します。

クライアントをセットアップすれば、userOpの送信は次のようにシンプルです。

<CodeSnippet
  language="tsx"
  code={`    const result = await account.sendUserOperation({
      uo: {
        target: target,
        value: sendAmount,
        data: callData,
      },
    });`}
/>
私たちのSDKは、バリデーションをUserOpのノンスにエンコードすること、[ERC6492](https://eips.ethereum.org/EIPS/eip-6492)でメッセージに署名すること、その他スマートアカインを扱う際の一般的な考慮事項といった複雑さを抽象化します。

この使いやすさにより、あなたは最も重要なこと、つまりユーザーに可能な限り効率的に最高の体験を届けることに集中できます。

<CardWithCta
  text="アプリへのスマートウォレット実装は10分以内で完了します。"
  ctaLabel="はじめる"
  ctaHref="https://www.alchemy.com/docs/wallets/react/quickstart"
  theme="light"
/>

## 実装

これらのコア設計原則がどのように実装されているか、さらに詳しく見ていきましょう。

### 詳しく見る：コスト効率

コスト効率はあらゆる箇所に組み込まれています。アカウント作成、セッションキー作成、ユーザーオペレーションという主要な領域をいくつか見ていきましょう。

#### 最も低いアカウント作成コスト

_達成したこと:_

- 業界トップクラスの効率性: ファクトリーからのアカウント作成に必要なガスはわずか98k
- シンプルな実行を伴うユーザーオペレーションで25万ガス
- アカウント作成において、ZeroDevより最大46%、Safeより最大84%安い

通常のアカウント初期化の代わりに、`SemiModularAccountBytecode`はコントラクト・アズ・ストレージのパターンを使用し、業界最低のスマートアカウント作成コストを実現しています。

これは、ECDSAのネイティブサポートをアカウントに追加し、ストレージを使用する代わりに[Solady](https://www.alchemy.com/dapps/solady)の`LibClone.createDeterministicERC1967`を使って所有者アドレスをプロキシのバイトコードに付加することで達成されました。初期化呼び出しを省略することで、ゼロから非ゼロへのEVMストレージ操作を2回行う必要がなくなり、合計51kガスの削減となります。初期化ステップを削除することで、さらに[EIP-7702互換性](/overviews/eip-7702-ethereum-pectra-hardfork)も実現しています。

これらの最適化は、オンボーディングするユーザーが増えるごとに積み重なる、実質的なコスト削減につながります。

#### セッションキーのコスト最適化

<CalloutBlock>

**セッションキーとは何ですか？**
アプリがユーザーのメインキーを必要とせず、また各トランザクションごとに繰り返し承認を求めることなく、ユーザーのウォレットに代わって特定の操作を実行できるようにする、一時的かつ限定的なアクセス認証情報です。

</CalloutBlock>

セッションキーはスマートウォレットの人気機能です。私たちは**遅延アクション\(deferred actions\)**を通じて、その作成と使用のコストを大幅に引き下げました。これにより、作成と初回使用を1回の操作にまとめることが可能になり、40kガスのコスト削減が実現します。

あなたのアプリが、月額料金のプレミアムサービスにユーザーが登録できるようにする場合を想像してください。従来のEOAウォレットでは、ユーザー体験は苦痛を伴います。

1. ユーザーが登録し、最初の支払いを承認する
1. 翌月、別のトランザクションを手動で承認しなければならない
1. 忘れたり対応できなかったりすると、サブスクリプションが失効する
1. あなたは収益を失い、ユーザーはサービスへのアクセスを失う

これを解決するために、ユーザーが各支払いを承認する必要なく、あなたのアプリが月額の支払いを処理できるセッションキーを実装したいと考えるでしょう。しかし、他のスマートウォレットプロバイダーでは、この設定は煩わしいものです。

1. ユーザーがサブスクリプションセッションキーを作成するためにトランザクションに署名する必要がある
1. ブロックチェーンの確認を待つ（数分かかる場合がある）
1. 最初の支払いを設定するために別のトランザクションに署名する
1. 再び確認を待つ

このぎこちない体験が発生するのは、他のプロバイダーが単純なバッチ実行しかサポートしておらず、すべての操作に**単一**のバリデーションを使用することを要求しているためです。つまり、異なる種類の認証を必要とする操作を1つのトランザクションにまとめることができないのです。

**遅延アクション**を使えば、これがワンクリックの体験になります。ユーザーは支払いセッションキーを作成し、最初の支払いを1つのシームレスなトランザクションで処理します。これは、ユーザーオペレーションのノンス内で遅延アクションフラグが設定されている場合にのみ実行される、追加のバリデーション＋実行ステップがユーザーオペレーションのバリデーション内に実装されることで実現されます。

- セッションキーの作成と最初の支払いを1つの操作にまとめ、手順とコストを節約します
- 所有者バリデーション（キー作成用）とセッションキーバリデーション（支払い用）をまとめて処理します
- トランザクションデータ内のフラグによってトリガーされる特殊な処理を実装しました

さらに、遅延アクションはセキュリティを最優先に設計しました。遅延アクションを設計する際、複数層の保護を実装しました。

**リプレイ攻撃の防止**

トランザクションのノンス（一意の識別子）を遅延アクションのノンスとしても使用しています。これにより、誰かが遅延アクションをコピーして複数回リプレイすることを防ぎます。

**改ざん耐性**

遅延アクションはトランザクションの署名フィールドに保存されるため、トランザクション処理者（バンドラー／リレーヤー）による改変の潜在的な脆弱性が生じます。

私たちはこれを2つの重要な保護策によって解決しています。

1. バリデーションバインディング

- トランザクションのノンスには、どのバリデーション方式を使用するかの情報が含まれています
- これにより、遅延アクションは意図されたバリデーション関数によってのみ実行できることが保証されます
- **結果**: たとえ抽出されたとしても、遅延アクションを別のバリデーション方式で使用することはできません

1. 削除防止

- ノンス内に特定のデータが存在することで、遅延アクションが存在すべきであることを示します
- これにより、中間者がトランザクションから遅延アクションを削除することを防ぎます
- **結果**: 完全なトランザクションが常にユーザーの意図した通りに処理されます

これらの保護策が連携することで、遅延アクションは作成からブロックチェーン上での実行に至るトランザクションのライフサイクル全体を通じて安全に保たれます。

<ImageBlock
  src="https://media.alchemy.com/1746460390-img-5-deferred-actions.png"
  alt="遅延実行によりセッションキー作成のコストを削減"
  width={3840}
  height={2160}
  caption="遅延実行によりセッションキー作成のコストを削減"
/>

#### ユーザーオペレーションのコスト最適化

<CalloutBlock>

**ユーザーオペレーションとは何ですか？**

ユーザーオペレーションとは、スマートウォレットがユーザーに代わってトランザクションを実行できるようにするトランザクションオブジェクトであり、Ethereumのコアプロトコルを変更することなく、より柔軟なブロックチェーンとのやり取りを可能にします。

</CalloutBlock>

私たちは、コールバッファ機能を使用して、シンプルなユーザーオペレーションのガスコストをさらに3〜6kガス削減しています。より複雑なユーザーオペレーションでは、さらに大きな節約が見込まれます。

現在の[Solidity](https://www.alchemy.com/overviews/solidity)コンパイラの設計上の癖の一つは、メモリを割り当てるだけで、変数がもう使われなくなってもそれを解放しないバイトコードを生成することです。これにより不必要なメモリ拡張が発生します。メモリ操作はストレージやコール呼び出しのコストに比べれば取るに足らない場合が多いのですが、EVMではメモリ拡張のコストが二次関数的に増加するため、複雑なアプリケーションや呼び出しではこれが非常に重要になります。

ユーザーオペレーションと実行に実装できるフックについて、Solidityはフックまたはバリデーション呼び出しごとにメモリ拡張を生成してしまいます。私たちは代わりに、Solidity内でインラインアセンブリとして使用される低レベル言語Yulでコールバッファを実装し、実行されるすべてのフック呼び出し間で再利用されるメモリのセグメントを確保しています。

### セキュリティを詳しく見る：セッションキー

セッションキーはスマートウォレットの一般的な機能であり、ユーザーが外部アプリケーションやサービスに特定の権限を委譲できるようにします。この機能はより高い柔軟性と使いやすさを可能にする一方で、セキュリティを維持するには慎重な実装が求められます。ここでは、ERC-6900準拠の私たちのアカウントが、セッションキーの設定を通じてどのように包括的な保護をユーザーに提供しているかを説明します。

**1. コントラクトとセレクタのアローリスト化**

セッションキーを通じて無制限のコントラクト呼び出しを可能にすることは、特に[ERC20](https://www.alchemy.com/overviews/erc20-solidity)トークンに関して、アカウントを重大なリスクにさらす可能性があります。トークンの所有権と残高はコントラクトレベルで管理されているため、無制限のセッションキーは事実上すべてのERC20トークンへの無制限アクセスを与えてしまう可能性があります。私たちは、厳格なコントラクトおよびセレクタのアローリスト化を実装することでこれに対処しており、ユーザーはセッションキーがどのコントラクトとどの関数にアクセスできるかを正確に定義できます。

**2. 多層的な支出制御**

コントラクトレベルの制限に加え、包括的なセキュリティにはきめ細かな支出制御が不可欠です。私たちは以下の設定を可能にしています。

- ネイティブトークンの支出上限
- ERC-20トークンの支出上限
- ガス使用量の制限

ガス上限の実装は特に注目に値します。これはユーザーオペレーションのバリデーションフェーズ中に強制する唯一の*安全な*方法だからです。これが重要な理由は、ERC4337のEntrypointコントラクトが、バリデーションの成否を使ってバンドラーとアカウントの間の支払い責任を判断するためです。追加の事前バリデーションフックを通じてこれらのチェックを実装することで、Alchemy Prismは他の多くのスマートアカウントにはない保護を提供します。

**3. 高度な実行フック**

トークンスワップのような高度なユースケースでは、実行コンテキストの監視が不可欠です。Alchemy Prismアカウントは実行前と実行後の両方のフックをサポートしており、以下が可能です。

- 残高差分の計算
- カスタムオラクル価格の比較
- スリッページ許容範囲の強制

この機能により、ユーザーは自分に代わって実行されるスワップ操作に対する精密な制御を実装でき、Alchemy Prismを他の多くのスマートアカウント実装とは一線を画すトランザクション設定レベルを提供します。

これらのセキュリティ対策を通じて、私たちのアカウントは柔軟性と保護の両方を最大化する優れたセッションキー機能を提供し、スマートアカウントセキュリティの高い基準を確立しています。

### アップグレード可能性

私たちのアカウントはアップグレード可能であり、[ERC-1967プロキシパターン設計](https://eips.ethereum.org/EIPS/eip-1967)を使用しています。これは、デフォルトではユーザーのみが開始できるアカウントアップグレードをサポートしています。アカウントアップグレード操作は、ユーザーのアカウントに既存のセキュリティ設定や構成を上書きするために使われる可能性があるため、これがユーザーのみが実行できることが重要です。

## Alchemyのスマートウォレットでコストを節約しスケールする

[**スマートウォレット**](/smart-wallets)は、いつもの摩擦なく数百万人のユーザーをオンチェーンに導く鍵です。私たちは以下のことができるように構築しました。

- 代替手段の半分未満のコストでアカウントをデプロイできます\($0.38対業界平均$0.79\)
- 成長に合わせて適応する真にモジュラーなアーキテクチャにより、苦痛を伴う移行を気にする必要がなくなります
- 複数の監査と500人以上のセキュリティリサーチャーによってユーザーの資産が保護されていることを知り、安心できます

私たちはガスの最適化、セキュリティバリデーションの実装、そしてすべてを開発者フレンドリーにするという困難な作業をすでに済ませています。あとはあなたが素早く出荷し、スケールするだけです。

**どれくらい節約できるか見てみたいですか？** [料金計算ツール](https://wallet-calculator.alchemy.com/)で、スケールに応じたコストを見積もれます。

**構築を始める準備はできましたか？** [ドキュメントを読んで](https://www.alchemy.com/docs/wallets/react/quickstart)、5分以内に最初のスマートウォレットをデプロイしましょう。

**もっと質問がありますか？私たちがサポートします。** [スマートウォレット](/smart-wallets)について詳しく知るか、私たちのチームに[お問い合わせ](/contact-sales)ください。

## よくある質問

### スマートウォレットとは何ですか？

スマートウォレットとは、ブロックチェーン上のスマートコントラクトによって動くプログラマブルなアカウントであり、アカウントリカバリー、バッチトランザクション、ガススポンサーシップ、カスタム認可といった、従来のEOAウォレットでは提供できない機能を可能にします。

### 私たちのスマートウォレットをデプロイするのにどれくらいのコストがかかりますか？

私たちのスマートウォレットは、主要なL2全体でデプロイするのに約$0.26かかり、これは業界平均の$0.56より約53%安く、Safeのような代替手段より最大84%安くなります。

### ERC-4337とは何で、スマートウォレットとどう関係していますか？

ERC-4337は、Ethereumのコアプロトコルを変更することなく、バンドラーによって処理されるユーザーオペレーションを使ってプログラマブルな機能を可能にする、スマートウォレットが使用するアカウントアブストラクション標準です。

### 私たちのスマートウォレットはどのように保護されていますか？

私たちのスマートウォレットは、Quantstamp、Chainlight、そしてCantinaを通じた500人を超えるセキュリティリサーチャーによって監査されており、複数の実行経路すべてが、バリデーションシステムを通じて同じセキュリティ基準を維持しています。

### スマートウォレットにおけるバリデーションとは何ですか？

バリデーションとは、スマートアカウントにきめ細かなセキュリティとアクセス制御を提供する認証方法であり、オール・オア・ナッシングの方式ではなく、操作ごとに異なる権限レベルを設定できるようにします。

### セッションキーとは何で、どのようにコストを節約しますか？

セッションキーとは、繰り返し承認を求めることなく、アプリがユーザーに代わって特定の操作を実行できるようにする一時的な認証情報です。私たちの遅延アクション機能は、作成と初回使用を1回の操作にまとめることで、セッションキー作成のコストを40kガス削減します。

### 私たちのスマートウォレットの機能をカスタマイズできますか？

はい、私たちのスマートウォレットは、実行関数、バリデーション、フックという3つの主要コンポーネントによって完全にモジュール化されており、移行することなく機能を拡張し、特定のニーズに適応させることができます。

### 大規模に展開した場合、どれくらい節約できますか？

100万アカウントをそれぞれ100トランザクションでデプロイした場合、代替手段と比較してL2上で約3万ドルの節約となり、アカウント作成では約53%、すべてのトランザクションタイプでは5〜10%の節約となります。
