跳至內容
0%

Web3 驗證指南

發布於 2025年10月29日閱讀時間 3 分鐘

Web3 身分驗證指南封面圖,展示錢包登入

Web3 身份驗證透過使用者的公鑰來驗證身分,而非傳統的電子郵件或密碼。雖然這種加密方式消除了集中式密碼資料庫,讓使用者真正擁有自己的數位憑證,但助記詞、十六進位地址和金鑰管理的複雜性,也為大眾採用設下了重大障礙。近期在內嵌錢包(embedded wallets)、帳戶抽象(account abstraction)和智能合約帳戶方面的創新,正在解決這些問題。

本指南說明 web3 身份驗證的運作方式,探討讓它更易於使用的技術解決方案,並展示如何運用現代 Smart Wallets 基礎設施,實作可用於正式環境的身份驗證。

Web3 身份驗證如何運作?

傳統的網頁身份驗證依賴儲存在集中式伺服器上的憑證。使用者輸入帳號和密碼,伺服器檢查資料庫,若憑證相符則授予存取權限。這種模式要求使用者信任服務提供者能妥善保管其身份驗證資料。

Web3 身份驗證顛覆了這個模式。使用者透過將 web3 錢包連接到應用程式來進行身份驗證,通常是透過簽署一筆交易。以下是技術流程:

1. 錢包連接

當使用者點擊「Connect Wallet」時,應用程式會向使用者的錢包軟體(例如 MetaMask、Phantom 或 Rainbow)發起連接請求。此時的連接尚未授予任何權限,僅是建立一個通訊管道。

2. 產生挑戰訊息

應用程式會產生一則獨特的挑戰訊息,通常是一個隨機亂數,或是包含應用程式網域、時間戳記與驗證目的的格式化訊息,以防止重放攻擊。

3. 加密簽章

使用者的錢包使用私鑰對挑戰訊息進行簽署。私鑰須保密,用於證明擁有相對應的公鑰。此簽章可證明使用者控制與其錢包地址對應的私鑰,而不需揭露私鑰本身。

4. 簽章驗證

應用程式使用使用者的公鑰(錢包地址)來驗證簽章。若簽章有效,應用程式即確認使用者擁有該錢包地址並授予存取權限。這項驗證可以在用戶端或後端進行,視你的架構而定。

5. 工作階段管理

驗證完成後,應用程式通常會發出工作階段權杖(session token)供後續請求使用,類似傳統網頁的工作階段機制。這可避免使用者每次操作都要重新簽署訊息。

這種加密基礎讓此流程在多方面比密碼式身份驗證更安全。資料庫外洩時不存在可被竊取的密碼。釣魚攻擊必須誘騙使用者簽署惡意交易,這比竊取密碼更容易被察覺。使用者能掌控自己的身份驗證憑證,不需信任集中式的服務提供者。

Web3 身份驗證目前有哪些問題?

儘管具有加密上的優勢,web3 身份驗證仍存在明顯的使用者體驗問題,限制了大眾採用。了解這些問題,對於打造能適用於更廣泛使用者的解決方案至關重要。

助記詞如何影響使用者體驗?

Web3 要求使用者設定錢包、管理私鑰、儲存助記詞,且經常需要使用不便的瀏覽器擴充功能或行動應用程式。助記詞模式要求使用者寫下並妥善保管 12 到 24 個隨機單字,這與大眾使用者的期待根本不相容。

數據顯示,35% 的使用者從未備份錢包助記詞,使他們面臨遺失資金存取權的重大風險。這並非使用者的錯誤,而是設計上的問題。多年來,我們一直能透過電子郵件重設密碼。而加密貨幣錢包的運作方式不同:助記詞一旦遺失,就沒有重設的選項。這是開始使用前值得了解的一項關鍵差異。

為什麼錢包使用體驗令人困惑?

在加密貨幣中簽署交易,感覺就像在讀使用者授權合約,只不過不是法律術語,而是十六進位程式碼和原始函式呼叫。當使用者在錢包中點擊「Sign」時,他們通常會看到:

  • 十六進位格式的原始交易資料
  • 以 Gwei 為單位的 gas 費用估計
  • 不認識的合約地址
  • 像 approve\(address,uint256\) 這樣的函式呼叫
錢包 UX 痛點示意圖:原始十六進位資料、gas 費用,以及令人困惑的交易提示

使用者缺乏足夠的背景資訊來判斷這些交易是否合法或惡意,這種資訊不對稱造成了安全漏洞。使用者往往在不理解自己在授權什麼的情況下就點擊「Confirm」。

使用者面臨哪些技術障礙?

使用者在能夠登入之前,就要面對多條區塊鏈網路、十六進位地址和 gas 費用。想想這些認知負擔:

  • 選擇網路:該用 Ethereum mainnet、Polygon、Arbitrum、Base,還是 Optimism?
  • 地址管理:理解 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb 代表他們的帳戶
  • Gas 費用:光是要驗證身分就需要持有原生代幣(ETH、MATIC 等)
  • 瀏覽器擴充功能:需要安裝並管理獨立的錢包軟體

以上每一項都是使用者流失的關卡。

錢包分散如何影響使用者?

許多 Web3 使用者同時管理多個錢包,各有獨立的金鑰和救援詞組,每一組都需要妥善保護。一位使用者可能會有:

  • 一個用於 Ethereum 和 EVM 鏈的錢包
  • 另一個獨立的 Solana 錢包
  • 針對不同應用程式或使用情境的不同錢包
  • 用於高價值資產的硬體錢包

管理這種分散狀態,需要一般使用者往往不具備的技術知識和組織紀律。

目前的身份驗證方式帶來哪些安全風險?

智能合約和 DeFi 平台經常成為駭客攻擊的目標,釣魚攻擊會誘騙使用者洩露私鑰。身份驗證機制本身,在以下情況下就成了攻擊面:

  • 授權釣魚:使用者在不知情的情況下簽署了無上限的代幣授權
  • 網域偽冒:模仿正版應用程式的假網站
  • 社交工程:攻擊者冒充客服以取得助記詞
  • 惡意合約:使用者與能夠掏空其錢包的合約進行互動

私鑰的安全性在 Web3 中至關重要,因為一旦失去私鑰的存取權,就可能意味著失去數位身分和資產的存取權。這造就了一個高風險的環境,一個失誤就可能造成災難性後果。

Web3 身份驗證有哪些改善?

鏈上生態系正積極透過多項技術創新來解決這些問題,大幅改善身份驗證的使用體驗,同時不犧牲安全性或去中心化程度。

現代鏈上 UX 示意圖:內嵌錢包、社群登入與 passkey

什麼是內嵌錢包(embedded wallets)?

Embedded wallets 直接內建於 Web3 應用程式中,提供使用者熟悉的登入體驗,且不需要記住並保管助記詞。應用程式的功能不再需要使用者安裝瀏覽器擴充功能或另外的錢包應用程式,而是直接整合到你的應用程式當中。

透過 embedded wallets,使用者可以選擇用 Google、Apple ID 或 X 帳號登入,而系統會在背後為他們建立一個自我保管(self-custodial)的錢包。這種方式帶來幾項主要優點:

熟悉的身份驗證流程

使用者可用他們已經熟悉的方式進行身份驗證:電子郵件、OAuth 或生物辨識。錢包的建立與復原都採用使用者熟悉的驗證流程,讓使用者不需要直接理解或管理私鑰。

不需要瀏覽器擴充功能

錢包存在於你應用程式的環境中,使用者不需要安裝 MetaMask 或任何其他第三方軟體。這消除了新手上路過程中的一大障礙,並讓你完全掌控身份驗證的體驗。

流暢的使用體驗

由於錢包內嵌於你應用程式的介面中,你能完全掌控外觀、感受與流程,不需要彈出視窗或轉址畫面。身份驗證的過程與你既有的使用者體驗融為一體。

社群登入如何開啟 Web3 存取?

社群登入整合利用現有的身份驗證供應商,銜接了 Web2 與 Web3 之間的落差。以下是其技術架構的運作方式:

透過 MPC 拆分金鑰

TSS-MPC,全名為 Threshold Signature Scheme with Multi-Party Computation(多方計算門檻簽章方案),是一種加密方法,讓多方能共同產生單一數位簽章,藉由將簽署權力分散於各參與者之間、且不向任何單一一方揭露私鑰,來提升安全性。

當使用者用 Google 登入時:

  1. 你的應用程式透過 OAuth 驗證使用者身分
  2. 系統產生一組拆分於多方之間的私鑰
  3. 沒有任何單一一方(包括你的應用程式)能取得完整金鑰
  4. 交易簽署需要各方達成門檻協作
  5. 使用者無需直接管理金鑰,仍保有自我保管(self-custody)

Passkey 身份驗證

Passkeys 是一種無密碼的身份驗證方式,基於 WebAuthn 標準設計,目的是比傳統密碼更安全、更方便。Passkeys 使用公鑰加密技術,其中:

  • 私鑰儲存於使用者裝置的安全隔離區中(例如 Apple 的 Secure Enclave 或 Android 的 Trusted Execution Environment)
  • 公鑰儲存於你的身份驗證伺服器上
  • 傳統密碼會造成使用摩擦並帶來釣魚風險,相較之下,passkeys 運用使用者熟悉的模式,用生物辨識來安全地在裝置上建立並儲存憑證。

這在保有強大安全性(私鑰永不離開裝置)的同時,也提供了使用者熟悉的體驗(FaceID 或 TouchID)。

什麼是帳戶抽象(account abstraction),為什麼它很重要?

帳戶抽象(ERC-4337)代表鏈上帳戶運作方式的根本轉變。使用帳戶抽象的智能合約錢包,是由智能合約管理的錢包,而非由單一私鑰管理的錢包。

傳統的 Ethereum 帳戶(外部帳戶,即 Externally Owned Accounts,簡稱 EOA)由單一私鑰控制。智能合約帳戶則由程式碼控制,這帶來了明顯更豐富的功能性:

Gas 贊助

透過帳戶抽象,使用者的錢包或帳戶變得可程式化,讓開發者能代替使用者贊助 gas 費用。這意味著:

  • 使用者不需要持有 ETH 就能與你的應用程式互動
  • 你可以贊助新手上路的交易,降低使用摩擦
  • 使用者可以用穩定幣或其他 ERC-20 代幣支付 gas 費用
  • 你可以設定特定政策,決定要贊助哪些交易

批次交易

作為可程式化的智能帳戶,交易可以被批次處理,大幅簡化使用體驗並降低延遲。使用者可以:

  • 在單一筆交易中同時授權代幣並完成兌換
  • 原子性地鑄造 NFT 並上架出售
  • 執行多步驟的 DeFi 策略,不需要多次確認錢包

社交復原

智能合約帳戶可以實作不依賴助記詞的復原機制:

  • 指定可協助復原帳戶的信任聯絡人
  • 使用以電子郵件或電話為基礎的復原流程
  • 實作有時間鎖定機制的帳戶復原流程

可程式化的安全性

由於帳戶本身就是智能合約,你可以實作自訂邏輯:

  • 高額交易的多重簽署要求
  • 每日或每筆交易的花費上限
  • 自動核准的白名單地址
  • 特定操作的時間限制

Ethereum 共同創辦人 Vitalik 認為,從 EOA過渡到 Smart Wallets,是讓大眾使用者上鏈的必要條件。帳戶抽象不是錦上添花的功能,而是大眾採用的基礎建設。

Passkeys 如何提升身份驗證安全性?

Passkeys 內建多項安全優勢。具體來說,與密碼或密碼碼不同,使用者不需要記住任何資訊,而且該資訊也無法從使用者身上被釣魚取得。

其安全模型運作方式如下:

裝置綁定憑證

私鑰在裝置的安全硬體(Trusted Platform Module、Secure Enclave 等)中產生並儲存,永不離開裝置,消除了金鑰透過網路攻擊被竊取的風險。

抗釣魚性

由於 passkeys 綁定於建立它們的網域,因此無法在釣魚網站上使用。即使使用者被誘騙前往假網站,passkey 也不會生效,因為網域不相符。

沒有共享的秘密

密碼是使用者和伺服器之間共享的秘密,passkeys 則不同,它使用非對稱加密技術。伺服器僅儲存公鑰,即使資料庫外洩,該公鑰對攻擊者也毫無用處。

生物辨識驗證

此外,由於 passkeys 綁定於你的 iCloud 或 Google 帳號,因此受到 Apple 和 Google 的安全機制保護。這提供了:

  • 預設的多因素驗證(裝置持有 + 生物辨識)
  • 防範 SIM 卡調換攻擊
  • 跨裝置的備份與同步

有哪些開發者解決方案能簡化 Web3 身份驗證?

多家供應商提供簡化 web3 身份驗證實作的基礎設施。以下是你需要了解的現況。

有哪些第三方身份驗證供應商?

Web3Auth

一個簡單、非託管式的身份驗證基礎設施,讓 Web3 錢包和應用程式能為主流使用者和原生 Web3 使用者提供順暢的登入體驗。Web3Auth 支援社群登入、電子郵件驗證,並可與多家錢包供應商整合。

Magic

提供以電子郵件為基礎的錢包建立方式,並運用多方計算來進行金鑰管理。Magic 處理了金鑰拆分與復原的複雜性,同時為開發者提供簡單的 API。

Dynamic

提供非託管式的 embedded wallets,並支援社群登入與帳戶抽象整合。Dynamic 同時提供 embedded wallets 和外部錢包連接的支援。

Privy

為 EVM、Solana、Bitcoin 等網路上的任何使用者,提供具備硬體安全保護、符合 SOC 2 的錢包。Privy 專注於在具備企業級安全性的同時,提供支援 passkey 和硬體權杖的順暢登入體驗。

Alchemy 如何支援 Smart Wallets 基礎設施?

Alchemy 透過 RPC、Data APIs、Gas Manager 和 Bundler 來支援 Smart Wallets 的開發者。在錢包建立與身份驗證方面,Alchemy 與 Privy 合作。

用於零摩擦新手上路的 Embedded Wallets

Privy 的 embedded wallets 讓你能打造出感覺像 web2、但底層完全是 web3 的產品。以下是實際運作的方式:

使用者可以透過以下方式註冊:

  • 電子郵件驗證
  • 社群登入(Google、Apple、Twitter)
  • Passkeys(FaceID、TouchID)
  • 自訂身份驗證(自帶你自己的驗證方式)
  • 給原生加密使用者的傳統錢包連接方式

深入了解 Alchemy 與 Privy 的合作關係。

建立智能合約帳戶

完成身份驗證後,開發者可以透過 Alchemy 的 Bundler 和 Gas Manager 使用智能合約帳戶:

智能合約帳戶提供了帳戶抽象的所有優點——gas 贊助、批次交易,以及可程式化的安全性。

設定 Gas 贊助

透過可程式化的政策來贊助 gas,你能完全控制要贊助哪些交易。

透過我們的儀表板設定政策:

  • 每個錢包或全域的花費上限
  • 特定地址的允許清單/封鎖清單
  • 贊助特定的合約互動
  • 設定每日/每月的花費上限

多鏈支援

Alchemy 的帳戶抽象基礎設施支援多條鏈,包括 Ethereum、Polygon、Base、Optimism 和 Arbitrum。

可用於正式環境的基礎設施

建構於 Alchemy 業界頂尖、穩定可靠的基礎設施之上,讓智能合約錢包的基本功能始終可供使用者使用。我們提供:

  • 99.99% 的正常運行時間 SLA
  • 次秒級的回應時間
  • 自動擴充
  • 為企業客戶提供全天候支援

錢包供應商能將自己的身份驗證層,與 Alchemy 的 RPC、Data APIs、Gas Manager 和 Bundler 搭配使用。

該如何實作 Web3 身份驗證?

根據為數千個應用程式建構身份驗證的經驗,以下是在正式環境中行之有效的模式。

該從社群登入還是錢包連接開始?

針對鎖定大眾使用者的應用程式,建議從社群登入開始。針對鎖定原生加密使用者的應用程式,則建議兩者都支援。

  • 社群登入優先模式:這種做法能為尚未擁有加密貨幣錢包的新使用者最大化轉換率。你之後隨時可以為想要完全掌控錢包的使用者,加入「匯出至 MetaMask」的功能。
  • 錢包連接優先模式:這種做法適合 DeFi 應用程式、NFT 市場,或其他使用者很可能已經擁有錢包的應用程式。

該如何處理 gas 費用?

不要要求使用者先購買 ETH 才能使用你的應用程式。透過贊助 gas,讓使用者可以免費試用你的應用程式,不需要用到 ETH。根據你的商業模式來設定贊助政策:

免費增值模式:

  • 贊助每位使用者的前 N 筆交易
  • 免費額度用完後需付費或質押
  • 監控每個錢包的花費,防止濫用

訂閱模式:

  • 為付費訂閱者贊助所有 gas 費用
  • 對免費方案使用者限制贊助額度

按交易計費模式:

  • 對每筆交易收取費用
  • 將 gas 贊助納入交易成本的一部分

設定全域花費上限,在提供順暢使用體驗的同時控制成本。

該使用交易批次處理嗎?

應該使用,只要使用者需要多個操作才能完成一個流程即可。這些交易會依照陣列中出現的順序依序執行,讓你能夠:

提升使用體驗:

  • 一次確認取代多次錢包彈窗
  • 原子性執行(所有操作全部成功,或全部失敗)
  • 較低的總 gas 成本

常見模式:

  • 授權 + 兌換:讓使用者一鍵完成授權與兌換
  • 鑄造 + 上架:原子性地建立並上架 NFT
  • 多代幣操作:在單一筆交易中與多個合約互動

該如何處理行動裝置使用者?

Dynamic 花費心力優化行動裝置流程,運用 passkeys 來實現簡易的 FaceID 和 TouchID 登入與錢包建立。以行動裝置為優先的身份驗證至關重要,原因如下:

  • 多數使用者透過行動裝置使用應用程式
  • 生物辨識驗證在行動裝置上更容易使用
  • 行動端錢包應用程式(MetaMask Mobile、Rainbow)需要深層連結(deep linking)

行動裝置最佳實務:

  1. 優先採用 passkeys:FaceID 和 TouchID 能提供最佳的行動裝置使用體驗
  2. 支援 WalletConnect:適用於擁有行動端錢包應用程式的使用者
  3. 測試深層連結:確保能順利轉接到錢包應用程式
  4. 針對小螢幕設計:身份驗證介面應能在 320px 的檢視區正常運作
  5. 減少轉址:盡可能讓使用者留在你的應用程式環境中

漸進式揭露(progressive disclosure)呢?

不要一開始就用進階功能讓新使用者不知所措。先自行設計結帳流程,並在背景中簽署交易,之後再逐步開放更多控制權。

第一階段:隱形錢包

  • 僅提供社群登入
  • 所有交易自動簽署
  • 不顯示任何錢包相關術語
  • 完全贊助 gas 費用

第二階段:基本控制

  • 顯示交易確認畫面
  • 讓使用者能檢視自己的錢包地址
  • 顯示交易紀錄
  • 說明 gas 贊助機制

第三階段:進階功能

  • 允許匯出到外部錢包
  • 顯示進階的交易細節
  • 開放手動支付 gas 費用
  • 支援硬體錢包簽署

這種方式能在為進階使用者提供控制權的同時,最大化轉換率。

Web3 身份驗證的未來會是什麼樣子?

鏈上身份驗證的發展方向很明確:預設隱形,需要時才展現能力。

Smart Accounts 會取代 EOA 嗎?

Ethereum 共同創辦人 Vitalik 認為,從 EOA 過渡到 Smart Wallets,是讓大眾使用者上鏈的必要條件。這不是揣測,而是技術發展的藍圖。

Smart wallets 提供:

  • 透過可程式化權限帶來更好的安全性
  • 透過 gas 抽象化與批次處理帶來更優異的使用體驗
  • 不需助記詞的帳戶復原方式
  • 跨鏈互通性

生態系正朝向以 smart wallets 為預設方案發展。EOA 仍會持續獲得支援以維持向下相容,但新的應用程式應該建構在 smart wallet 基礎設施之上。

鏈抽象(chain abstraction)將如何影響身份驗證?

鏈抽象透過讓使用者一次註冊完成,不需要金鑰、救援詞組或多個錢包,解決了這些問題。使用者不應該需要知道自己正在使用哪一條鏈。

未來的身份驗證將會:

  • 在所有鏈上使用相同的帳戶地址
  • 抽象化各鏈特有的細節
  • 自動將交易路由至最適合的鏈
  • 透明地處理跨鏈操作

這需要錢包供應商、橋接服務和應用程式之間的協調配合,而其技術基礎目前正在建構當中。

生物辨識驗證會成為標準嗎?

使用者可以透過 Face ID 或 Touch ID 等生物辨識方式,產生一個自我保管的錢包。Passkeys 已受到 Apple、Google 和 Microsoft 支援,採用速度正在加快。

在未來 2 到 3 年內,可預期:

  • Passkeys 成為預設的身份驗證方式
  • 助記詞僅供主動要求的進階使用者使用
  • 所有裝置皆支援生物辨識驗證
  • 透過 iCloud/Google 帳號實現無縫同步

AI 將扮演什麼角色?

AI 代理能將混亂的 DeFi 亂象,轉變為順暢、對人類友善的金融體驗,讓加密貨幣不只是技術上可行,更是真正可用。AI 將透過以下方式影響身份驗證:

交易意圖解析:

  • 使用者以自然語言描述想要執行的操作
  • AI 產生對應的交易
  • 使用者只需簡單確認即可核准

詐欺偵測:

  • AI 分析交易模式以找出異常
  • 在使用者核准可疑交易前提出警示
  • 從過往攻擊中學習,以防範新型攻擊

個人化安全性:

  • 根據風險等級調整的自適應身份驗證
  • AI 推薦的安全設定
  • 自動化的安全監控

今天該如何開始建構?

Web3 的願景與其使用體驗之間的落差正在迅速縮小。現代的身份驗證基礎設施,讓不犧牲去中心化或安全性、就能吸引大眾使用者成為可能。

Alchemy 透過以下方式支援這整套技術堆疊:

  • RPC 和 Data APIs:用於區塊鏈存取
  • Gas Manager:用於可程式化的 gas 贊助
  • Bundler:用於提交使用者操作
  • 多鏈基礎設施:涵蓋所支援的各條網路

數千位開發者運用我們的基礎設施,讓數百萬使用者順利上鏈。身份驗證的未來,不在於教使用者如何理解區塊鏈的運作方式,而在於打造出直覺到讓使用者根本不需要思考底層技術的系統。

準備好實作現代 web3 身份驗證了嗎?註冊開發者帳號,透過文件開始上手,或聯絡我們取得更多資訊或整合協助。

常見問題

為我的應用程式加入基於錢包的身份驗證,基本步驟是什麼?

整合錢包連接流程,讓使用者簽署一則獨特的訊息,在你的後端驗證該簽章,然後建立一個工作階段權杖,讓使用者能保持登入狀態,不需要每次請求都重新簽署。

簽署訊息如何證明使用者擁有某個錢包?

應用程式會傳送一則只有該錢包私鑰持有者才能簽署的挑戰訊息;應用程式接著會用該錢包的公開地址驗證簽章,藉此確認使用者確實控制該地址。

Web3 身份驗證該用社群登入、錢包登入,還是兩者都用?

針對大眾使用者,建議從社群登入開始,並可選擇在背後建立錢包;而原生加密應用程式則通常優先採用直接錢包連接,並可能將社群登入作為備援方案。

使用者透過錢包完成身份驗證後,該如何管理工作階段?

驗證完簽署的訊息後,發出一個工作階段權杖或 cookie 供後續 API 請求使用,類似傳統網頁的工作階段機制,讓使用者不需要每次操作都重新簽署。

什麼是 embedded wallets?它們如何改善身份驗證?

Embedded wallets 直接內建於應用程式中,讓使用者能用 Google 或 Apple ID 等熟悉的方式進行驗證,同時在背後建立一個自我保管的錢包。這消除了對瀏覽器擴充功能或助記詞管理的需求。

Passkeys 如何讓 Web3 身份驗證更安全?

Passkeys 使用儲存於安全硬體中的裝置綁定憑證,永不離開裝置,能抵禦釣魚攻擊,並在不與伺服器共享秘密的情況下,提供生物辨識驗證。

什麼是帳戶抽象?它為什麼對身份驗證很重要?

帳戶抽象讓智能合約帳戶得以贊助 gas 費用、批次處理交易,並實作社交復原等可程式化的安全功能,消除了許多阻礙大眾採用的障礙。

我應該為使用者的身份驗證贊助 gas 費用嗎?

應該,贊助 gas 費用能消除新使用者的一大障礙——他們不需要擁有加密貨幣,就能在不需先購買 ETH 的情況下試用你的應用程式。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。