---
title: "Web3認証ガイド"
description: "web3認証の基本と、メールやソーシャルログインを使ったオンチェーンのモダンなフローの構築方法を学びます。"
---

# Web3認証ガイド

<ImageBlock
  src="https://media.alchemy.com/1761749240-a-guide-to-web3-authentication_1.png"
  alt="ウォレットベースのログインを示すWeb3認証ガイドのカバーグラフィック"
  width={1920}
  height={900}
  priority
/>

Web3認証は、従来のメールアドレスやパスワードではなく、公開鍵を通じてユーザーを検証します。この暗号技術的なアプローチは、中央集権的なパスワードデータベースを不要にし、ユーザーに自身のデジタル認証情報の真の所有権を与えます。しかし、シードフレーズ、16進数のアドレス、鍵管理の複雑さが、一般層への普及の大きな障壁となってきました。埋め込みウォレット、アカウントアブストラクション、スマートコントラクトアカウントにおける最近の技術革新が、これらの課題を解決しています。

このガイドでは、Web3認証の仕組みを説明し、より利用しやすくするための技術的なソリューションを解説した上で、最新のスマートウォレットインフラを使って実運用レベルの認証を実装する方法を示します。

## Web3認証はどのように機能するのか

従来のWeb認証は、中央集権的なサーバーに保存された認証情報に依存します。ユーザーがユーザー名とパスワードを入力すると、サーバーがそのデータベースを確認し、一致した場合にアクセスを許可します。このモデルでは、ユーザーは認証データをサービス提供者に委ねる必要があります。

Web3認証はこのモデルを反転させます。ユーザーは、通常は[トランザクションに署名する](https://thirdweb.com/learn/guides/web3-authentication-explained)ことで、web3ウォレットをアプリケーションに接続して認証を行います。技術的な流れは以下の通りです。

**1. ウォレット接続**

ユーザーが「Connect Wallet」をクリックすると、アプリはユーザーのウォレットソフトウェア（[MetaMask](https://www.alchemy.com/dapps/metamask)、Phantom、[Rainbow](https://www.alchemy.com/dapps/rainbow-wallet)など）への接続リクエストを開始します。この接続自体はまだ何の権限も付与しません。単に通信チャネルを確立するだけです。

**2. チャレンジの生成**

アプリは一意のチャレンジメッセージを生成します。これは通常、ランダムなノンス、またはアプリのドメイン、タイムスタンプ、認証リクエストの目的を含むフォーマット化されたメッセージです。これによりリプレイ攻撃を防止します。

**3. 暗号署名**

ユーザーのウォレットは秘密鍵を使ってこのチャレンジメッセージに署名します。秘密鍵は秘密に保たれ、対応する公開鍵の所有を証明するために使用されます。この署名によって、鍵自体を明かすことなく、ユーザーがウォレットアドレスに紐づく秘密鍵を管理していることが証明されます。

**4. 署名の検証**

アプリはユーザーの公開鍵（ウォレットアドレス）を使って署名を検証します。署名が有効であれば、アプリはユーザーがそのウォレットアドレスを所有していることを確認し、アクセスを許可します。この検証は、アーキテクチャによってクライアント側またはバックエンド側で行われます。

**5. セッション管理**

認証後、アプリは通常、従来のWebセッションと同様に、以降のリクエスト用のセッショントークンを発行します。これにより、ユーザーがすべての操作についてメッセージに署名する必要がなくなります。

この暗号技術的な基盤により、このプロセスはいくつかの点でパスワードベースの認証よりも安全になります。データベース侵害から盗まれるパスワードが存在しません。フィッシング攻撃は、ユーザーを騙して悪意のあるトランザクションに署名させる必要があり、パスワードを盗むよりも発見しやすくなります。ユーザーは、中央集権的な提供者を信頼するのではなく、自身の認証情報を自分で管理できます。

## Web3認証には現在どのような問題があるのか

暗号技術的な利点があるにもかかわらず、Web3認証には一般層への普及を妨げる大きなユーザー体験上の課題があります。より広いユーザーに対応するソリューションを構築するには、これらの問題を理解しておくことが重要です。

### シードフレーズはユーザー体験にどう影響するのか

Web3では、ユーザーはウォレットの設定、秘密鍵の管理、シードフレーズの保管を行う必要があり、また多くの場合、扱いにくいブラウザ拡張機能やモバイルアプリを使う必要があります。ユーザーが12〜24個のランダムな単語を書き留めて安全に保管しなければならないシードフレーズのモデルは、一般的なユーザーの期待とは根本的に相性が悪いものです。

データによると、[35%のユーザー](https://metamask.io/news/metamask-embedded-wallets-frictionless-web3-onboarding-built-in)がウォレットのシードフレーズをバックアップしておらず、資金へのアクセスを失う深刻なリスクにさらされています。これはユーザーの誤操作ではなく、設計上の問題です。これまで長年、メールによる復旧でパスワードをリセットすることができていました。暗号資産ウォレットのシードフレーズはこれとは異なります。失った場合、リセットの手段はありません。これは、始める前に理解しておく価値のある重要な違いです。

### ウォレットのUXはなぜ分かりにくいのか

暗号資産でのサインインは、利用規約を読むような感覚に近いものですが、法律用語の代わりに16進コードと生の関数呼び出しが表示されます。ユーザーがウォレットで「Sign」をクリックすると、次のようなものが表示されることがよくあります。

- 16進数形式の生のトランザクションデータ
- Gwei単位のガス代の見積もり
- 見覚えのないコントラクトアドレス
- `approve\(address,uint256\)`のような関数呼び出し

<ImageBlock
  src="https://media.alchemy.com/1761748417-group-2085662998.png"
  alt="ウォレットUXの課題点を示すイラスト：生の16進データ、ガス代、分かりにくいトランザクションのプロンプト"
  width={2160}
  height={910}
/>

ユーザーには、こうしたトランザクションが正当なものか悪意あるものかを判断するための文脈情報がありません。この情報の非対称性がセキュリティ上の脆弱性を生みます。ユーザーは、自分が何を承認しているのか理解せずに「Confirm」をクリックしてしまいます。

### ユーザーはどのような技術的な障壁に直面するのか

ユーザーは、ログインを試みる前から、複数のブロックチェーンネットワーク、16進数のアドレス、ガス代に直面します。認知負荷を考えてみましょう。

- **ネットワークの選択**：[Ethereumメインネット](https://www.alchemy.com/rpc/ethereum)、Polygon、Arbitrum、Base、Optimismのどれを使うべきか
- **アドレス管理**：`0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb`が自分のアカウントを表していると理解する必要がある
- **ガス代**：認証するだけのためにネイティブトークン（ETH、MATICなど）を保有する必要がある
- **ブラウザ拡張機能**：別途ウォレットソフトウェアをインストールし管理する必要がある

これらはそれぞれ、ユーザーが離脱するポイントとなります。

### ウォレットの分散はユーザーにどう影響するのか

多くのWeb3ユーザーは、それぞれ保護が必要な、個別の鍵とリカバリーフレーズを持つ複数のウォレットを管理しています。ユーザーは次のようなものを持っている場合があります。

- EthereumおよびEVMチェーン用のウォレット
- 別の[Solanaウォレット](https://www.alchemy.com/overviews/solana-wallets)
- アプリやユースケースごとに異なるウォレット
- 高額資産用のハードウェアウォレット

この分散を管理するには、大半のユーザーが持っていない技術的な知識と組織的な規律が必要になります。

### 現在の認証方式にはどのようなセキュリティリスクがあるのか

スマートコントラクトやDeFiプラットフォームは[しばしばハッカーの標的](https://www.alchemy.com/overviews/top-5-security-strategies-for-defi-wallets-in-2025)となり、ユーザーを騙して秘密鍵を明かさせるフィッシング攻撃が行われています。次のような場合、認証メカニズム自体が攻撃対象になります。

- **承認フィッシング**：ユーザーが知らないうちに無制限のトークン承認に署名してしまう
- **ドメインなりすまし**：正規のアプリを模倣した偽サイト
- **ソーシャルエンジニアリング**：攻撃者がサポートを装い、シードフレーズを入手する
- **悪意のあるコントラクト**：ユーザーがウォレットを枯渇させるコントラクトと相互作用してしまう

秘密鍵へのアクセスを失うことは、自分のデジタルアイデンティティと資産へのアクセスを失うことを意味しうるため、Web3では秘密鍵のセキュリティが最も重要です。これは、一つのミスが致命的な結果につながりうる、リスクの高い環境を生み出しています。

## Web3認証はどのように改善されているのか

オンチェーンのエコシステムは、セキュリティや分散性を犠牲にすることなく認証UXを大幅に改善する、いくつかの技術的な革新によって、こうした課題に積極的に取り組んでいます。

<ImageBlock
  src="https://media.alchemy.com/1761748800-frame-1597879441-2.png"
  alt="埋め込みウォレット、ソーシャルログイン、パスキーを備えた最新のオンチェーンUXを示すイラスト"
  width={2160}
  height={910}
/>

### 埋め込みウォレットとは何か

埋め込みウォレットはWeb3アプリケーションに直接組み込まれており、馴染みのあるログイン体験を提供し、シードフレーズを記憶し保管する必要がありません。ブラウザ拡張機能や別のウォレットアプリをインストールさせる代わりに、ウォレット機能がアプリケーションに直接統合されます。

埋め込みウォレットを使えば、ユーザーはGoogle、Apple ID、Xアカウントでログインすることを選べ、その裏側では、自己管理型のウォレットがユーザーに代わって作成されます。このアプローチには、いくつかの重要な利点があります。

**馴染みのある認証フロー**

ユーザーは、メール、OAuth、生体認証といった、すでに理解している方法で認証を行います。ウォレットの作成とリカバリーは、馴染みのある認証フローを使って処理されるため、ユーザーが秘密鍵を直接理解したり管理したりする必要がなくなります。

**ブラウザ拡張機能不要**

ウォレットはアプリのコンテキスト内に存在します。ユーザーはMetaMaskやその他のサードパーティ製ソフトウェアをインストールする必要がありません。これにより、主要なオンボーディング障壁が取り除かれ、認証体験を完全に自分でコントロールできるようになります。

**シームレスなUX**

ウォレットがアプリのUIに埋め込まれているため、ポップアップやリダイレクト画面なしに、見た目、感触、フローを完全にコントロールできます。認証は、既存のユーザー体験の中でインラインに行われます。

### ソーシャルログインはどのようにWeb3アクセスを実現するのか

ソーシャルログインの統合は、既存の認証プロバイダーを活用することで、Web2とWeb3の間のギャップを埋めます。技術的なアーキテクチャの仕組みは次の通りです。

**MPCによる鍵分割**

TSS-MPC（Threshold Signature Scheme with Multi-Party Computation）は、複数の関係者が共同で一つのデジタル署名を生成できるようにする暗号技術で、署名権限を参加者間で分散させることで、いずれの単一の関係者にも秘密鍵を明かすことなくセキュリティを強化します。

ユーザーがGoogleでサインインする場合、次のようになります。

1. アプリがOAuthを介してユーザーを認証する
1. システムが、複数の関係者に分割された秘密鍵を生成する
1. （あなたのアプリケーションを含む）単一の関係者は完全な鍵にアクセスできない
1. トランザクション署名には関係者間の閾値による協調が必要となる
1. ユーザーは鍵を直接管理することなく自己管理を維持する

**パスキー認証**

[パスキー](https://www.alchemy.com/docs/wallets/react/login-methods/passkey-login)は、WebAuthn標準に基づいた、従来のパスワードよりも安全かつ便利になるよう設計されたパスワードレス認証の一種です。パスキーは公開鍵暗号を使用し、次のような仕組みになっています。

- 秘密鍵は、ユーザーのデバイスのセキュアエンクレーブ（AppleのSecure EnclaveやAndroidのTrusted Execution Environmentなど）に保存される
- 公開鍵は認証サーバーに保存される
- 摩擦を生み、フィッシングリスクをもたらす従来のパスワードとは異なり、パスキーは生体認証を用いてユーザーのデバイスに認証情報を安全に作成・保存するという馴染みのあるパターンを活用する

これにより、強固なセキュリティ（秘密鍵がデバイスから外に出ない）と、馴染みのあるUX（FaceIDやTouchID）が両立します。

### アカウントアブストラクションとは何か、なぜ重要なのか

アカウントアブストラクション（ERC-4337）は、オンチェーンアカウントの仕組みにおける根本的な変化を表しています。Account Abstractionを使用するスマートコントラクトウォレットは、単一の秘密鍵によって管理されるウォレットではなく、スマートコントラクトによって管理されるウォレットを作り出します。

従来のEthereumアカウント（Externally Owned Account、EOA）は単一の秘密鍵によって管理されます。[スマートコントラクトアカウント](https://www.alchemy.com/docs/wallets/smart-contracts/choosing-a-smart-account)はコードによって管理され、これによって大幅に多くの機能が可能になります。

**ガススポンサーシップ**

アカウントアブストラクションにより、ユーザーのウォレットやアカウントはプログラム可能になり、開発者がユーザーに代わってガス代をスポンサーすることが可能になります。これは次のことを意味します。

- ユーザーはアプリを利用するためにETHを保有する必要がない
- オンボーディング用のトランザクションをスポンサーして摩擦を減らせる
- ユーザーは[ステーブルコイン](https://www.alchemy.com/dapps/top/stablecoins)や他のERC-20トークンでガス代を支払える
- どのトランザクションをスポンサーするかについて特定のポリシーを設定できる

**バッチ処理されたトランザクション**

プログラム可能なスマートアカウントとして、トランザクションをバッチ処理できるため、UXが大幅に簡素化され、レイテンシーも削減されます。ユーザーは次のことができます。

- トークンの承認とスワップを1回のトランザクションで実行する
- NFTのミントと販売用の出品をアトミックに行う
- 複数回のウォレット確認なしに複数ステップのDeFi戦略を実行する

**ソーシャルリカバリー**

スマートコントラクトアカウントは、シードフレーズに依存しないリカバリーメカニズムを実装できます。

- アカウントの復旧を助けてくれる信頼できる連絡先を指定する
- メールや電話番号ベースのリカバリーフローを使用する
- タイムロック付きのアカウント復旧プロセスを実装する

**プログラム可能なセキュリティ**

アカウントがスマートコントラクトであるため、独自のロジックを実装できます。

- 高額なトランザクションに対するマルチシグ要件
- 1日あるいは1回のトランザクションあたりの支出上限
- 自動承認のためのホワイトリスト化されたアドレス
- 特定の操作に対する時間ベースの制限

Ethereumの共同創業者であるVitalikは、一般ユーザーをオンチェーンに乗せるためには、EOAからスマートウォレットへの[移行](https://vitalik.eth.limo/general/2023/06/09/three_transitions.html)が必要だと考えています。アカウントアブストラクションはあれば良い機能ではなく、一般層への普及にとって基盤となるインフラです。

### パスキーは認証のセキュリティをどのように向上させるのか

[パスキー](https://www.alchemy.com/docs/wallets/react/login-methods/passkey-login)には、複数の組み込みセキュリティ上の利点があります。具体的には、パスワードやパスコードとは異なり、パスキーではユーザーが情報を記憶する必要がなく、その情報がユーザーからフィッシングされることもありません。

セキュリティモデルは次のように機能します。

**デバイスに紐づく認証情報**

秘密鍵は、デバイスのセキュアなハードウェア（Trusted Platform Module、Secure Enclaveなど）内で生成・保存されます。デバイスから外に出ることはないため、ネットワーク攻撃による鍵の盗難リスクがなくなります。

**フィッシング耐性**

パスキーは、それを作成したドメインに紐づいているため、フィッシングサイトでは使用できません。ユーザーが偽サイトに誘導されてしまった場合でも、ドメインが一致しないためパスキーは機能しません。

**共有秘密の不使用**

ユーザーとサーバー間で共有される秘密であるパスワードとは異なり、パスキーは非対称暗号を使用します。サーバーは公開鍵のみを保存するため、データベースが侵害されたとしても攻撃者にとって無意味です。

**生体認証**

さらに、パスキーはiCloudやGoogleのアカウントに紐づいているため、AppleやGoogleのセキュリティによって保護されます。これにより次のことが実現します。

- デフォルトでの多要素認証（デバイスの所持＋生体認証）
- SIMスワップ攻撃への対策
- デバイス間でのバックアップと同期

## 開発者向けにWeb3認証を容易にするソリューションとは

いくつかのプロバイダーが、Web3認証の実装を簡素化するインフラを提供しています。この領域について知っておくべきことをまとめます。

### 利用可能なサードパーティ認証プロバイダーには何があるのか

**Web3Auth**

Web3ウォレットとアプリケーションが、一般ユーザーとネイティブなWeb3ユーザーの両方に対してシームレスなユーザーログインを提供できるようにする、シンプルなノンカストディアル認証インフラです。[Web3Auth](https://web3auth.io/)はソーシャルログイン、メール認証をサポートし、複数のウォレットプロバイダーと統合できます。

**Magic**

鍵管理のためのマルチパーティ計算を用いたメールベースのウォレット作成を提供します。Magicは鍵の分割やリカバリーの複雑さを処理し、開発者にはシンプルなAPIを提供します。

**Dynamic**

ソーシャルログインとアカウントアブストラクション統合に対応した、ノンカストディアルな埋め込みウォレットを提供します。[Dynamic](https://www.dynamic.xyz/)は埋め込みウォレットと外部ウォレット接続のサポートの両方を提供します。

**Privy**

EVM、Solana、Bitcoinなど、あらゆるユーザーに対応するハードウェアで保護された、SOC 2準拠のウォレットを提供します。[Privy](https://www.privy.io/)は、パスキーとハードウェアトークンをサポートした企業レベルのセキュリティと、シームレスなログインに重点を置いています。

### Alchemyのスマートウォレットインフラはどのように機能するのか

私たちは、垂直統合されたウォレットおよびトランザクションインフラを提供するためにSmart Walletsを構築しました。複数のサービスを組み合わせる代わりに、実運用レベルの認証を実装するために必要なものすべてを、単一のSDKで得られます。

**摩擦のないオンボーディングのための埋め込みウォレット**

Smart Walletsを使えば、見た目はweb2でありながら、内部は完全にweb3のプロダクトを構築できます。実際には次のようなことを意味します。

ユーザーは次の方法でサインアップできます。

- メール認証
- ソーシャルログイン（Google、Apple、Twitter）
- パスキー（FaceID、TouchID）
- カスタム認証（独自の認証方式を持ち込む）
- 暗号資産に慣れたユーザー向けの従来のウォレット接続

実装はシンプルです。開始にあたっては[こちらのガイド](https://www.alchemy.com/docs/wallets/authentication/login-methods/email-otp)を参考にしてください。

**スマートコントラクトアカウントの作成**

認証後、ユーザー用の[スマートコントラクトアカウント](https://www.alchemy.com/docs/wallets/smart-contracts/choosing-a-smart-account)を作成します。当社のスマートコントラクトアカウントはすべて[Quantstamp](https://www.alchemy.com/dapps/quantstamp)による監査を受けており、3億8000万件以上のトランザクションで実運用での実績があります。

このスマートコントラクトアカウントは、ガススポンサーシップ、バッチ処理されたトランザクション、プログラム可能なセキュリティといった、アカウントアブストラクションのすべての利点を提供します。

**ガススポンサーシップの設定**

プログラム可能なポリシーを通じて[ガスをスポンサー](https://www.alchemy.com/docs/wallets/transactions/sponsor-gas)できます。どのトランザクションをスポンサーするかを正確にコントロールし、任意のERC-20で実行できます。

ダッシュボードからポリシーを設定できます。

- ウォレット単位、または全体での支出上限
- 特定アドレスの許可リスト／拒否リスト
- 特定のコントラクトとのやり取りをスポンサー
- 日次／月次の支出上限を設定

**マルチチェーン対応**

Smart WalletsはEthereum、Polygon、Base、Optimism、Arbitrumなどを含む30以上のチェーンで利用できます。認証ロジックを一度書けば、複数のチェーンにデプロイできます。

**実運用対応のインフラ**

Alchemyの最高水準の信頼できるインフラの上に構築されているため、スマートコントラクトウォレットのプリミティブは常にユーザーが利用可能な状態にあります。私たちは以下を提供します。

- 99.99%のアップタイムSLA
- サブセカンドの応答速度
- 自動スケーリング
- エンタープライズ顧客向けの24時間365日サポート

Alchemyのスマートウォレットは、これまでに3800億件以上のトランザクションを処理しており、最も利用されているスマートウォレットとして、小規模なスタートアップから大企業まで幅広いアプリケーションを支えています。

## Web3認証はどのように実装すべきか

これまで数千のアプリの認証を構築してきた経験から、実運用でうまく機能するパターンを紹介します。

### ソーシャルログインとウォレット接続、どちらから始めるべきか

一般ユーザーを対象とするアプリでは、ソーシャルログインから始めましょう。暗号資産に慣れたユーザーを対象とするアプリでは、両方をサポートしましょう。

- **ソーシャルログイン優先パターン**：このアプローチは、[暗号資産ウォレット](https://www.alchemy.com/dapps/top/wallets)を持たない新規ユーザーのコンバージョンを最大化します。完全なウォレットコントロールを望むユーザーのために、後から「MetaMaskへのエクスポート」機能を追加することもできます。
- **ウォレット接続優先パターン**：DeFiアプリ、NFTマーケットプレイス、あるいはユーザーがすでにウォレットを持っている可能性が高いその他のアプリでうまく機能します。

### ガス代はどのように扱うべきか

アプリを使う前にユーザーにETHを購入させないようにしましょう。ガスをスポンサーすることで、ETHを必要とせずにユーザーが無料でアプリを試せるようにします。ビジネスモデルに応じてスポンサーシップのポリシーを設定してください。

**フリーミアムモデル：**

- ユーザーごとに最初のN件のトランザクションをスポンサーする
- 無料枠を超えたら支払いまたはステーキングを要求する
- 不正利用防止のためウォレットごとの支出を監視する

**サブスクリプションモデル：**

- 有料サブスクリプション利用者にはすべてのガスをスポンサーする
- 無料プランのユーザーにはスポンサーを制限する

**トランザクションベースのモデル：**

- 各トランザクションから手数料を取る
- トランザクションコストの一部としてガスをスポンサーする

コストをコントロールしつつスムーズなUXを提供するために、全体の支出上限を設定してください。

### トランザクションのバッチ処理は使うべきか

はい、ユーザーが一連の操作を完了させるために複数のオペレーションを必要とする場合は常に使うべきです。トランザクションは配列内に現れる順序で順次実行されるため、次のことが可能になります。

**UXの改善：**

- 複数のウォレットポップアップの代わりに1回の確認で済む
- アトミックな実行（すべての操作が成功するか、すべてが失敗するか）
- 総ガスコストの削減

**よくあるパターン：**

- 承認＋スワップ：ユーザーが承認とスワップの実行を1クリックで行えるようにする
- ミント＋出品：NFTの作成と出品をアトミックに行う
- マルチトークン操作：複数のコントラクトとのやり取りを1回のトランザクションで行う

### モバイルユーザーはどのように扱うべきか

Dynamicは、モバイルフローの最適化に時間をかけ、FaceIDやTouchIDによる簡単なログインとウォレット作成のためにパスキーを活用しています。モバイルファーストの認証が重要なのは、次のような理由からです。

- 多くのユーザーがモバイルデバイスからアプリにアクセスする
- モバイルでは生体認証がより利用しやすい
- モバイルウォレットアプリ（MetaMask Mobile、Rainbow）にはディープリンクが必要

**モバイルにおけるベストプラクティス：**

1. **パスキーを優先する**：FaceIDやTouchIDは最良のモバイルUXを提供する
1. **[WalletConnect](https://www.alchemy.com/dapps/walletconnect)をサポートする**：モバイルウォレットアプリを使うユーザー向け
1. **ディープリンクをテストする**：ウォレットアプリへのスムーズな受け渡しを確保する
1. **小さい画面向けに設計する**：認証UIは320pxのビューポートでも機能すること
1. **リダイレクトを最小限に抑える**：可能な限り、アプリのコンテキスト内にユーザーを留める

### 段階的な機能開示についてはどうか

新規ユーザーを高度な機能で圧倒しないようにしましょう。まずは独自のチェックアウトフローを設計し、バックグラウンドでトランザクションに署名するようにして、その後徐々に多くのコントロールを開示していきます。

**フェーズ1：見えないウォレット**

- ソーシャルログインのみ
- すべてのトランザクションを自動署名
- ウォレット用語を表示しない
- ガスを完全にスポンサーする

**フェーズ2：基本的なコントロール**

- トランザクション確認を表示する
- ユーザーが自分のウォレットアドレスを確認できるようにする
- トランザクション履歴を表示する
- ガススポンサーシップについて説明する

**フェーズ3：高度な機能**

- 外部ウォレットへのエクスポートを許可する
- 高度なトランザクション詳細を表示する
- 手動でのガス支払いを有効にする
- ハードウェアウォレットによる署名をサポートする

このアプローチにより、コンバージョンを最大化しつつ、パワーユーザーにはコントロールを提供できます。

## Web3認証の未来はどのような姿になるのか

オンチェーン認証が向かう方向性は明確です。デフォルトでは目に見えず、必要なときには強力である、という姿です。

### スマートアカウントはEOAに取って代わるのか

Ethereumの共同創業者であるVitalikは、一般ユーザーをオンチェーンに乗せるためには、EOAからスマートウォレットへの移行が必要だと考えています。これは推測ではなく、技術的なロードマップです。

スマートウォレットは次を提供します。

- プログラム可能な権限による優れたセキュリティ
- ガスアブストラクションとバッチ処理による優れたUX
- シードフレーズ不要のアカウントリカバリー
- クロスチェーンの相互運用性

エコシステムはスマートウォレットをデフォルトとする方向に進んでいます。EOAは後方互換性のため引き続きサポートされますが、新しいアプリはスマートウォレットインフラの上に構築すべきです。

### チェーンアブストラクションは認証にどのような影響を与えるのか

チェーンアブストラクションは、鍵、リカバリーフレーズ、複数のウォレットを必要とせず、ユーザーが一度でサインアップできるようにすることで問題を解決します。ユーザーは、自分がどのチェーンを使っているかを知る必要がなくなるべきです。

将来の認証は次のようになります。

- すべてのチェーンで同じアカウントアドレスを使用する
- チェーン固有の詳細を抽象化する
- トランザクションを自動的に最適なチェーンへルーティングする
- クロスチェーンのオペレーションを透過的に処理する

これにはウォレットプロバイダー、ブリッジ、アプリケーション間の連携が必要ですが、その技術的な基盤は現在構築されつつあります。

### 生体認証は標準になるのか

ユーザーはFace IDやTouch IDによる生体認証を通じて自己管理型のウォレットを生成できます。パスキーはすでにApple、Google、Microsoftによってサポートされており、その採用は加速しています。

2〜3年以内には、次のようなことが期待できます。

- パスキーがデフォルトの認証方式になる
- シードフレーズは、それを望む高度なユーザーのためだけのものになる
- すべてのデバイスで生体認証が利用できる
- iCloud／Googleアカウントを通じたシームレスな同期

### AIはどのような役割を果たすのか

[AIエージェント](https://www.alchemy.com/dapps/best/ai-agents)は、混沌としたDeFiのスパゲッティを、シームレスで人間にとって分かりやすい金融に変えることができ、暗号資産を単に技術的に可能なだけでなく実際に使えるものにできます。AIは次のような形で認証に影響を与えます。

**トランザクション意図の解析：**

- ユーザーが自然言語で行いたいことを説明する
- AIが適切なトランザクションを生成する
- ユーザーはシンプルな確認だけで承認する

**不正検知：**

- AIがトランザクションのパターンを分析し異常を検出する
- 疑わしいトランザクションを承認する前にユーザーに警告する
- 過去の攻撃から学習し、新たな攻撃を防ぐ

**個別最適化されたセキュリティ：**

- リスクレベルに基づく適応的な認証
- AIによるセキュリティ設定の推奨
- 自動化されたセキュリティ監視

## 今日から構築を始めるには

Web3が約束するものと、実際のユーザー体験との間のギャップは急速に縮まっています。最新の認証インフラによって、分散性やセキュリティを犠牲にすることなく一般ユーザーをオンボーディングすることが可能になっています。

私たちは、あらゆる開発者がこれを利用できるようにするためにSmart Walletsを構築しました。次のものが得られます。

- ソーシャルログインとパスキーを備えた**埋め込みウォレット**
- ガススポンサーシップとバッチ処理を備えた**スマートアカウント**
- 99.99%のアップタイムを持つ**エンタープライズグレードのインフラ**
- EVMとSolanaにわたる**マルチチェーンサポート**

数千の開発者が、当社のインフラを使って数百万人のユーザーをオンボーディングしています。認証の未来とは、ユーザーにブロックチェーンの仕組みを教えることではありません。ユーザーが基盤となる技術について考える必要がないほど直感的なシステムを構築することです。

最新のWeb3認証を実装する準備はできましたか。[サインアップ](https://dashboard.alchemy.com/)して開発者アカウントを作成し、[ドキュメント](https://www.alchemy.com/docs/wallets/react/quickstart)から始め、詳しい情報や統合のサポートが必要な場合はお問い合わせください。

## よくある質問

### アプリにウォレットベースの認証を追加する基本的な手順は何ですか

ウォレット接続フローを統合し、ユーザーに一意のメッセージへの署名を求め、そのバックエンド側でその署名を検証した上で、セッショントークンを作成します。これにより、ユーザーはリクエストごとに再署名することなくログイン状態を維持できます。

### メッセージへの署名は、どのようにしてユーザーがウォレットを所有していることを証明するのですか

アプリは、そのウォレットの秘密鍵の保持者だけが署名できるチャレンジメッセージを送信します。その後、アプリはウォレットの公開アドレスを使ってその署名を検証し、ユーザーがそのアドレスを管理していることを確認します。

### Web3認証には、ソーシャルログイン、ウォレットログイン、あるいは両方のどちらを使うべきですか

一般層のユーザーを対象とする場合は、ソーシャルログインから始め、必要に応じて裏側でウォレットを作成するのがよいでしょう。一方、暗号資産に慣れたユーザーを対象とするアプリでは、直接のウォレット接続を優先し、ソーシャルログインをフォールバックとして追加することが多くなります。

### ユーザーがウォレットで認証した後、セッションはどのように管理すればよいですか

署名されたメッセージを検証した後、従来のWebセッションと同様に、以降のAPIリクエスト用のセッショントークンやクッキーを発行します。これにより、ユーザーはすべての操作について署名する必要がなくなります。

### 埋め込みウォレットとは何であり、認証をどのように改善するのですか

埋め込みウォレットはアプリケーションに直接組み込まれており、ユーザーはGoogleやApple IDといった馴染みのある方法で認証を行うことができ、その裏側で自己管理型のウォレットが作成されます。これにより、ブラウザ拡張機能やシードフレーズの管理が不要になります。

### パスキーはWeb3認証をどのようにより安全にするのですか

パスキーは、デバイスから外に出ることのないセキュアなハードウェアに保存されたデバイス紐づけの認証情報を使用し、フィッシング攻撃に対して耐性があり、サーバーに秘密を共有することなく生体認証を提供します。

### アカウントアブストラクションとは何であり、なぜ認証にとって重要なのですか

アカウントアブストラクションは、ガス代のスポンサーシップ、トランザクションのバッチ処理、ソーシャルリカバリーのようなプログラム可能なセキュリティ機能を実装できるスマートコントラクトアカウントを可能にし、一般層への普及を妨げる多くの障壁を取り除きます。

### ユーザー認証のためにガス代をスポンサーすべきですか

はい。ガス代をスポンサーすることで、暗号資産を持たない新規ユーザーにとっての大きな障壁が取り除かれ、ETHを先に購入する必要なくアプリを試すことができるようになります。
