閱讀時間 7 分鐘
概覽
隨著加密貨幣持續演進與發展,開發者正尋求各種方法,以持續引導大眾進入 Web3。其中一種旨在解決當前許多使用者體驗(UX)與錢包限制的解決方案,便是「帳戶抽象化」(Account Abstraction)。 帳戶抽象化旨在降低使用者與 Web3 互動時的摩擦。在本指南中,您將進一步了解帳戶抽象化、其旨在解決的問題,以及它在 Flow 上的運作方式,內容涵蓋 Flow 帳戶模型、帳戶連結等概念,並將其與以太坊上的運作方式進行比較。
我們開始吧!
您需要準備的物品
您將學到什麼
- 了解「帳戶抽象化」
- 「帳戶抽象化」在 Flow 上的運作方式
- 流量帳戶模型
- 帳戶綁定與 AuthAccount
- 帳戶抽象化在以太坊(ERC-4337)上的運作方式
何謂「帳戶抽象化」?
顧名思義,「帳戶抽象化」(Account Abstraction)旨在「抽象化」錢包(亦稱帳戶)的許多複雜性與管理流程,以簡化使用者的使用者體驗。通常,當今在 Web3 中希望進行自主託管的使用者,必須記住並妥善保管自己的私鑰。若不慎遺失私鑰或種子短語,將可能面臨風險。 此外,現今的自託管錢包在許多流程上仍有改善空間,例如批次處理交易以及代他人支付交易手續費。帳戶抽象化旨在提升用戶的使用體驗,從而更有可能吸引下一波大眾加入 Web3 行列。
Flow 上的帳戶摘要
流量帳戶模型
Flow 的帳戶模型旨在優先保障用戶對資產的所有權與存取權,同時確保強大的安全性。有別於其他區塊鏈系統,Flow 透過汲取不同架構(例如以太坊帳戶與智慧合約)的寶貴洞見,徹底革新了傳統的帳戶管理方式。此模型仍以智慧合約為核心,但進行了顯著的改進。 舉例來說,Flow 憑藉其存取管理功能脫穎而出。與以太坊及其他基於 EVM 的平台僅限每個帳戶使用單一金鑰不同,Flow 允許每個帳戶擁有多個金鑰。這項多金鑰功能不僅能在面臨風險時透過金鑰輪替提升安全性,更讓使用者得以從多台裝置管理帳戶,同時無須擔心金鑰外洩的風險。

圖片來源:Flow 帳戶抽象化
上圖展示了 Flow 的帳戶模型,以及您如何在任何裝置上存取您的帳戶;每台裝置都擁有其專屬的金鑰。
此外,Flow 整合了「金鑰權重」的概念。這意味著不同的金鑰對帳戶可擁有不同程度的影響力或權限,從而實現某些操作在執行前可能需要多重簽名的情境。此功能在基於 EVM 的平台上並不存在,導致使用者不得不仰賴可能成本高昂且風險較高的智慧合約錢包。 Flow 在相容多種加密簽名演算法方面也頗具特色,讓使用者能在廣泛採用的設定與加密貨幣專屬設定之間進行選擇,從而確保在硬體與安全性方面擁有更大的靈活性。

圖片來源:Flow 帳戶權重
上圖展示了關鍵權重,以及如何設計系統,使其需要N 個權重才能發送一筆交易。若要進一步了解 Flow 上的帳戶,請參閱這份文件。
社會復原
無法存取數位錢包可能會令人感到焦慮,但使用 Flow 時,您無需在安全性或所有權上做出妥協。Flow 支援「社交復原」功能,讓您能透過朋友或相關服務來恢復您的 Flow 帳戶。
贊助交易手續費
無論是新用戶還是現有用戶,只要有其他人代為支付,就無需擔心支付手續費的問題。透過交易中的「付款方角色」,無論是應用程式、錢包還是用戶,皆可支付交易費用。在當前的 Flow 生態系統中,大多數應用程式都會代表其用戶支付交易費用。
多簽名交易
無論您是與他人共同管理一個錢包,並希望在發送交易前確保安全性,還是代表某個協議執行治理提案,「授權者」角色皆允許由多個金鑰(無論來自同一帳戶或不同帳戶)共同簽署交易。
並行交易
您不再需要等待一筆交易確認完成後,才能發送下一筆交易。透過交易中的「提議者」(Proposer)角色,應用程式或使用者可以並行執行交易,或控制交易的執行順序。若您希望在應用程式上同時提交多筆購買交易,或是與其他應用程式互動時,同時與另一個協定進行互動,此概念同樣十分實用。
無錢包註冊流程
為了解決當今 Web3 中我們經常遇到的諸多痛點,例如儲存助記詞、管理錢包連線,以及頻繁批准鏈上交易等,Flow 提供了一項名為「無錢包註冊」(Walletless Onboarding)的解決方案。
「無錢包註冊」功能讓開發者能夠透過電子郵件或社群帳號登入,代表使用者在應用程式內建立 Flow 帳戶。此外,「無錢包註冊」還允許使用者使用傳統支付方式(例如:借記卡、信用卡)進行付款,並透過代表使用者簽署交易,提供更流暢的應用程式體驗。
已實施此類註冊流程的專案包括Blocto,使用者只需透過電子郵件即可輕鬆建立帳戶。然而,此流程也存在一些缺點,例如會喪失可組合性,這將剝奪 Web3 為使用者帶來的許多好處。此外,「無錢包註冊」會讓使用者更難將數位資產轉出應用程式,且若應用程式發生問題,資產可能會遺失。
帳戶綁定
從本質上來說,「」這個概念 帳戶綁定 Flow 中的「共享」功能核心在於帳戶控制權的共享。不妨將其視為兩種帳戶之間建立特殊連結的方式,其中一方可對另一方擁有特定權限。此共享機制圍繞 Flow 框架內的兩種主要帳戶存取類型展開。第一種是 PublicAccount. 不妨將它視為一個展示窗——它讓你能查看帳戶地址或餘額等關鍵資訊,但你無法對其中的內容進行任何變更。
另一方面,該 AuthAccount 擁有完整存取權限。您不僅可以查看所有與 PublicAccount,但你也可以進行變更,這就像是擁有某間房間的特殊鑰匙,並有權重新布置那間房間一樣。
現在,這股力量的 AuthAccount 不僅僅是瀏覽和編輯。此類帳戶可以建立並使用 功能. 試著將「權能」想像成一種特殊通行證,讓某個帳戶能將特定動作或存取權限委派給另一個帳戶。因此,當我們談論「帳戶連結」時,正是這項「權能」功能在發揮作用。 一個帳戶(父帳戶)可以建立這張「特殊通行證」,並將其授予另一個帳戶(子帳戶)。這兩個帳戶之間的連結主要透過兩個步驟建立:首先,子帳戶建立這張通行證並提供給父帳戶;接著,父帳戶接受並領取這張通行證,從而將兩個帳戶連結起來。

圖片來源:Flow 帳戶綁定
但為何要大費周章地進行帳戶綁定呢?試想一位想在 Flow 上使用新應用程式的用戶。通常,他們必須經歷設定錢包的繁瑣流程,這可能會讓他們卻步。透過帳戶綁定,他們無需設定錢包,即可直接投入使用體驗。這種綁定不僅限於單一應用程式;用戶可以在一個主帳戶下綁定多個應用程式帳戶,從而簡化整體使用體驗。 而最棒的是什麼?他們能夠真正擁有並掌控橫跨不同應用程式的數位資產,同時確保一切安全無虞且流暢無縫。然而,如同任何強大的工具,帳戶連結必須明智地使用,才能確保安全與信任。
以太坊與 Flow 上的帳戶抽象化比較
在以太坊區塊鏈生態系統的語境下,「帳戶抽象化」旨在消除「外部擁有帳戶」(EOA)與「智慧合約帳戶」之間的區別。通常,以太坊區塊鏈使用者必須管理私鑰和公鑰,才能存取並控制其帳戶。透過「帳戶抽象化」,利用智慧合約來驗證帳戶的身分與功能,從而減少了對私鑰和公鑰的依賴。
外部擁有帳戶(EOA)可以發起交易,但無法包含程式碼;而智慧合約帳戶則包含程式碼,但無法自行發起交易。相較於 Flow,每個帳戶都可以包含多個智慧合約,且每個帳戶都有自己的儲存空間,交易和腳本可直接對其進行讀寫。 Flow 使用「資源(resources)」,這些資源能確保所有權,並可儲存於帳戶的儲存空間中,或在帳戶之間傳輸。這使得抽象化設計更以使用者為中心,著重於使用者與各類去中心化應用程式(dapps)互動的能力。Flow 的帳戶模型將管理獨立合約與使用者帳戶的大部分複雜性抽象化,使開發者更容易建構應用程式,也讓使用者更輕鬆地進行互動。
若想更深入了解以太坊的「帳戶抽象化」設計,請參閱以下指南:
運用 Quicknode 擴展 Flow 的功能
Quicknode 自豪地支援 Flow 區塊鏈,並讓您能夠建立 Flow 端點並迅速開始開發。請在此建立帳戶,並參閱我們的文件,以獲取有關如何與您的端點互動的逐步指南。
建立 Flow 端點後,您只需複製 HTTP 提供者網址,並將其嵌入您的 dApp 或腳本中即可。

其他資源
如欲進一步了解,請參閱以下資源清單:
- 如何使用 Cadence 在 Flow 上建立 NFT 系列 dApp
- Quicknode Flow API 文件
- Quicknode 與帳戶抽象化
- Flow:邁向 10 億用戶的競逐
- 流程:混合式監護權 — 論壇首篇發文
總結
正如您所了解的,帳戶抽象化旨在彌合傳統網路使用者體驗(Web2)與去中心化網路(Web3)之間的鴻溝,使其對更廣泛的受眾而言更為友善且易於接觸。
就是這樣!現在您已經對 Flow 上的「帳戶抽象化」有了更深入的了解,也明白它如何致力於解決我們當今在使用者錢包時所面臨的許多挑戰。
如有任何疑問,歡迎透過Discord上的專用頻道與我們聯繫,或使用下方的表單提供回饋。請追蹤我們的Twitter帳號及Telegram 公告頻道,以掌握最新動態。
我們 ❤️ 您的回饋!
如果您有任何意見回饋或對新主題的建議,請告訴我們。我們非常樂意聽取您的意見。
