作者:nich,1kx;翻譯:金色財(cái)經(jīng)xiaozou
錢包基礎(chǔ)設(shè)施在解鎖下一代dapp web3體驗(yàn)方面發(fā)揮著至關(guān)重要的作用。
到目前為止,想要進(jìn)行首次web3交互,用戶還必須安裝額外的軟件,找到并購買加密代幣,甚至還要面對(duì)不熟悉的屏幕確認(rèn)操作。盡管改進(jìn)了體驗(yàn),并且開始依賴助記詞,但這些障礙仍然是促使去中心化應(yīng)用程序客戶流失的關(guān)鍵因素。
創(chuàng)新環(huán)境已經(jīng)成熟,可以抽象技術(shù)復(fù)雜性,在不損害自我托管和去中心化的原始精神的情況下,自然融入新的金融、社交和游戲體驗(yàn)。
2023年是錢包生態(tài)的關(guān)鍵一年,全層面的賬戶抽象和開發(fā)活動(dòng)改變著市場結(jié)構(gòu),并改變著我們對(duì)用戶、dapp和錢包之間關(guān)系的認(rèn)知。
本文主要內(nèi)容如下:
·?賬戶抽象及其好處
·?錢包基礎(chǔ)設(shè)施和AA堆棧概述
·?新興dapp/錢包開發(fā)模式及其影響
·?持續(xù)的挑戰(zhàn)及解決方案的進(jìn)一步探索
我們可以將帳戶抽象視為帳戶管理與密鑰管理的解耦。賬戶是區(qū)塊鏈上的一個(gè)實(shí)體,可以持有資產(chǎn)并具有交易歷史。Signer簽名者(密鑰)是有權(quán)代表帳戶執(zhí)行操作的實(shí)體。
對(duì)于傳統(tǒng)帳戶(EOA)來說,私鑰保留對(duì)其關(guān)聯(lián)帳戶的唯一和全部控制權(quán)。私鑰與帳戶之間嚴(yán)格的1對(duì)1映射關(guān)系意味著:
·?用戶在與區(qū)塊鏈交互時(shí)僅限使用專用密鑰管理解決方案(例如Metamask、Ledger)。
·?丟失私鑰后無法追索,而且控制帳戶的密鑰不能被替換。
·?無論是免費(fèi)NFT的鑄造還是數(shù)百萬美元的轉(zhuǎn)賬,由該私鑰發(fā)起的所有操作都被視為是平等的。
帳戶抽象使帳戶成為一個(gè)智能合約,它的動(dòng)態(tài)邏輯表明哪些密鑰可以代表其執(zhí)行操作以及范圍權(quán)限,并根據(jù)用例進(jìn)行更進(jìn)一步的制衡。

我們可以通過查看被抽象的內(nèi)容進(jìn)一步了解其中的好處。
AA賬戶抽象:抽象了什么?

由于以太坊協(xié)議只識(shí)別源自EOA的交易,因此賬戶抽象需要鏈下基礎(chǔ)設(shè)施將源自智能合約的交易轉(zhuǎn)發(fā)到鏈上。
ERC-4337于2021年推出,是一種在不更改核心協(xié)議的情況下實(shí)現(xiàn)這一目標(biāo)的標(biāo)準(zhǔn)化方法。然而,一些項(xiàng)目早在AA標(biāo)準(zhǔn)完全成熟之前就已經(jīng)實(shí)現(xiàn)了AA的優(yōu)勢。
·?Safe多簽錢包于2017年推出,目前已發(fā)展至為DAO、企業(yè)和個(gè)人價(jià)值500多億美元的資產(chǎn)保駕護(hù)航。
·?Argent移動(dòng)錢包自2018年以來一直由智能合約賬戶提供支持。
·?Sequnce錢包于2021年推出,使Skyweaver能夠通過電子郵件創(chuàng)建并登錄他們的智能賬戶,并能使用非原生代幣支付費(fèi)用。
這需要各項(xiàng)目構(gòu)建并維護(hù)自定義中繼基礎(chǔ)設(shè)施。
來看ERC-4337。該標(biāo)準(zhǔn)為中繼層提供了一種去中心化和抗審查的替代方案,定義了一個(gè)面向賬戶、paymaster和簽名聚合器的接口,通過一個(gè)共享的賬戶抽象交易(“User Operations”)備用內(nèi)存池與第三方relayer中繼器進(jìn)行交互。
Relayer中繼器(“bundler”)將多個(gè)UserOps捆綁打包成一個(gè)交易,發(fā)送給獨(dú)立的EntryPoint合約,該合約隨后驗(yàn)證費(fèi)用將得到支付(由賬戶支付或通過paymaster支付),并在智能賬戶所對(duì)應(yīng)的UserOps上執(zhí)行。

我們可以將其與提供原生帳戶抽象的鏈上的驗(yàn)證和執(zhí)行方式進(jìn)行比較(不需要額外的中繼操作,例如zkSync和Starknet),還有最近發(fā)布的針對(duì)以太坊及其rollup的原生AA的RIP-7560提案。

2023年3月,4337 EntryPoint合約部署至主網(wǎng)。其社區(qū)在讓開發(fā)人員參與該帳戶抽象運(yùn)動(dòng)方面取得了巨大的成功。
這為該錢包生態(tài)帶來了一波新的基礎(chǔ)設(shè)施和服務(wù)提供商,并推動(dòng)現(xiàn)有項(xiàng)目確保其業(yè)務(wù)戰(zhàn)略和產(chǎn)品能夠持續(xù)滿足應(yīng)用開發(fā)人員的需求,這些應(yīng)用開發(fā)人員旨在利用AA為用戶提供無縫順暢的web3體驗(yàn)。

(1)簽名者和密鑰管理
簽名者(Signers)和密鑰管理基礎(chǔ)設(shè)施負(fù)責(zé)生成和保護(hù)用于簽署消息、交易和UserOps的公鑰對(duì)。這里最直接的例子就是傳統(tǒng)的EOA錢包,但錢包即服務(wù)(wallet-as-a-service)提供商已經(jīng)出現(xiàn),可以通過社交和電子郵件等替代認(rèn)證方法實(shí)現(xiàn)無助記詞登錄和錢包管理。
在底層,這些服務(wù)要么將關(guān)鍵數(shù)據(jù)內(nèi)容存儲(chǔ)在HSM(如AWS KMS)中,只有用戶才能通過身份驗(yàn)證憑據(jù)(Magic、Turnkey)訪問,要么采用某些SSS/MPC方案(Privy、Web3Auth、Portal、Capsule)以保護(hù)這些內(nèi)容的安全。
Lit通過去中心化密鑰改進(jìn)了這種服務(wù)器端密鑰存儲(chǔ)設(shè)計(jì)。網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)存儲(chǔ)通過DKG算法生成的ECDSA私鑰的一部分,所有操作都在加密的虛擬環(huán)境中進(jìn)行??梢詫⑷我馍矸蒡?yàn)證規(guī)則分配給密鑰對(duì),使應(yīng)用程序或用戶可以完全控制所允許的交互操作,并施加支出限制。該網(wǎng)絡(luò)可以進(jìn)一步被2/n的MPC錢包用作備份和恢復(fù)選項(xiàng)。
今年,在利用硬件Signers和Passkeys作為賬戶簽名者,為用戶提供現(xiàn)代移動(dòng)或桌面設(shè)備開箱即用的密鑰管理方面,已經(jīng)有了快速的試驗(yàn)進(jìn)展。這些簽名者使用生物識(shí)別身份驗(yàn)證(例如FaceID、TouchID),為熟悉的用戶體驗(yàn)提供額外的安全性。
·?硬件Signers利用單獨(dú)的子系統(tǒng),如iPhone Secure Enclave和Android Titan HSM來生成密鑰和簽名消息,保證硬件級(jí)別的安全性。由于密鑰無法從設(shè)備中提取,因此與其他恢復(fù)方法一起使用或作為2FA系統(tǒng)的一部分是非常強(qiáng)大的。
·?Passkeys是建立在WebAuthn之上的無密碼認(rèn)證標(biāo)準(zhǔn)。其中,密鑰對(duì)是在設(shè)備的操作系統(tǒng)中生成的,可以通過iCloud等服務(wù)在設(shè)備之間同步,所以如果用戶選擇的話,是有可能恢復(fù)的。
這里的一個(gè)限制是,密碼和硬件Signer生成的簽名不能被比特幣和以太坊等鏈原生識(shí)別。它們使用secp256r1 (R1)橢圓曲線,而比特幣和以太坊則使用K1曲線。雖然目前正在進(jìn)行無需信任和有效的R1驗(yàn)證工作,但一些支持Passkey的產(chǎn)品正在使用Lit和Turnkey等服務(wù),一旦用戶使用他們的密鑰進(jìn)行身份驗(yàn)證,就會(huì)產(chǎn)生K1簽名。
這里需要注意的一個(gè)標(biāo)準(zhǔn)是EIP-7212,它建議將R1曲線直接添加到EVM中作為預(yù)編譯合約,這樣每個(gè)現(xiàn)代設(shè)備都可以在沒有第三方服務(wù)或中間人的情況下原生簽署交易。
隨著賬戶抽象交易量的增長,使用BLS簽名的簽名聚合可能會(huì)導(dǎo)致智能賬戶費(fèi)用比L2上的EOA更便宜。4337標(biāo)準(zhǔn)為聚合器助手合約定義了一個(gè)接口,該接口驗(yàn)證單個(gè)聚合簽名,批準(zhǔn)多個(gè)UserOps,而不是單獨(dú)驗(yàn)證每個(gè)UserOps。
(2)Relayer中繼器
Relayer(例如4337 Bundler)將交易或UserOps轉(zhuǎn)發(fā)到內(nèi)存池。在具有原生AA的鏈上,網(wǎng)絡(luò)運(yùn)營商和排序器(sequencers)扮演Relayer這一角色,從而消除了對(duì)外部專用中繼器的需求。
就像以太坊有多個(gè)客戶端部署(例如geth、erigon、reth)一樣,?4337生態(tài)也有不同語言的多個(gè)bundler部署,使網(wǎng)絡(luò)更加穩(wěn)健,可以抵御單一部署的漏洞風(fēng)險(xiǎn)。4337規(guī)范包括一套測試套件,以確保整個(gè)網(wǎng)絡(luò)中的bundler兼容性。部署方有Stackup (Golang)、Pimlico、Bionomy、Etherspot (Typescript)、Candide (Python)、OKX (Java)和Alchemy (Rust)。
Bundler的激勵(lì)模式與區(qū)塊建設(shè)者類似,從捆綁的用戶操作(而非交易)中收取費(fèi)用。在實(shí)踐中,bundler需要在區(qū)塊構(gòu)建器中加入一個(gè)API來查看當(dāng)前區(qū)塊,并創(chuàng)建一個(gè)對(duì)該區(qū)塊有效的包,因此應(yīng)將其視為區(qū)塊構(gòu)建器的一部分。
隨著4337的增長,我們有望看到建設(shè)者也成為bundler,因?yàn)檫@種混合模式比起只做建設(shè)者將更加有利可圖,他們可以從交易池和UserOps池兩個(gè)池中進(jìn)行選擇。
(3)Paymasters
通過允許dapps為用戶支付gas費(fèi),允許用戶使用非原生代幣支付費(fèi)用,或通過傳統(tǒng)支付軌道進(jìn)行鏈下結(jié)算,Paymasters實(shí)現(xiàn)了費(fèi)用抽象。Paymaster服務(wù)有兩個(gè)主要組成部分:
·?Gas策略管理器,用于讓開發(fā)人員定義贊助gas費(fèi)的條件。這可以限定在整個(gè)項(xiàng)目范圍內(nèi),也可以基于各合約或錢包地址來界定。開發(fā)人員還可以定義他們所希望的限制gas贊助的方式,例如對(duì)gas價(jià)格、請(qǐng)求、或每月贊助金額進(jìn)行限制。gas贊助費(fèi)通常會(huì)計(jì)入服務(wù)提供商的開發(fā)商每月發(fā)票中,并根據(jù)贊助金額收取約5%的附加費(fèi)。
·?Paymaster智能合約根據(jù)鏈上狀態(tài)(如賬戶余額)或鏈下gas管理策略,驗(yàn)證給定交易是否有資格被支付。Paymaster合約持有用于支付gas費(fèi)的原生代幣余額,并且可能包含定期檢查付款代幣(例如USDC)和原生代幣(例如ETH)之間匯率的價(jià)格oracle邏輯。
Paymaster可以分為鏈上、鏈下兩種:
·?鏈上Paymaster(例如ERC20Paymaster、StablecoinPaymaster)僅依賴于鏈上狀態(tài)來驗(yàn)證交易是否能夠被paymaster支付。這意味著某些paymaster,比如那些接受使用ERC-20支付gas費(fèi)的paymaster,可以是無需許可的,但需要注意的是,paymaster必須得到賬戶的批準(zhǔn)才能進(jìn)行支付代幣轉(zhuǎn)賬。Paymaster合約管理員可以提取代幣并兌換回原生代幣以回填(refill)合約,在ERC20價(jià)格之上設(shè)置標(biāo)記,為Paymaster更新下一個(gè)UserOp的ERC20價(jià)格設(shè)置價(jià)格差異閾值,或者手動(dòng)更新價(jià)格。
·?鏈下Paymaster(例如VerifyingPaymaster)涉及與服務(wù)提供商的paymaster API交互,以贊助UserOp。鏈下服務(wù)查驗(yàn)資格并使用paymaster密鑰簽署交易。雖然這種解決方案是無需許可的,但鏈下paymaster可以通過最小化鏈上檢查來節(jié)省gas費(fèi)。Gas策略可以更加細(xì)化,并將Discord活動(dòng)等鏈下活動(dòng)納入考量。
(4)賬戶廠商和框架
賬戶廠商和框架提供“headless”(無頭)智能賬戶部署和SDK,dapp和錢包客戶端可以在此基礎(chǔ)上進(jìn)行建設(shè),代表用戶創(chuàng)建自我托管的嵌入式賬戶。賬戶本身是智能合約錢包,具有自己的簽名驗(yàn)證、執(zhí)行和重放保護(hù)(nonce管理)邏輯。所有者使用密鑰授權(quán)來自智能帳戶的用戶操作。
從高層來看,智能賬戶供應(yīng)商提供了3個(gè)核心內(nèi)容:
·?智能合約錢包的核心部署,使用自己的一套邏輯來驗(yàn)證、執(zhí)行交易,以及在交易執(zhí)行前后執(zhí)行其他額外操作。它還包含如何通過原生模塊及第三方模塊向錢包添加附加功能的邏輯。
·?廠商合約,部署錢包實(shí)現(xiàn)的新實(shí)例,由帳戶的初始簽名者發(fā)起。在ERC-4337下,dapp可以通過指定他們所選供應(yīng)商的廠商合約地址為他們的用戶創(chuàng)建智能賬戶。
·?一個(gè)SDK,為開發(fā)人員正在創(chuàng)建的智能帳戶提供即插即用的定制能力。這可以是不同的簽名選項(xiàng)、出/入金方式和中繼技術(shù)。
在ERC-4337下,UserOp的“sender”字段是指正在進(jìn)行交易的智能帳戶。如果帳戶尚未部署,EntryPoint將從“initCode”中指定的廠商合約中部署帳戶。用戶的密鑰可以用來申領(lǐng)智能賬戶,以進(jìn)行后續(xù)的dapp交互。
Safe、Zerodev和Bionomy等賬戶提供商與密鑰管理器和身份驗(yàn)證基礎(chǔ)設(shè)施集成,為dapp提供了希望用戶如何管理智能賬戶的選擇。例如,Safe的Web3Auth集成讓用戶能夠通過社交或電子郵件使用他們的帳戶,Zerodev與Turnkey的集成提供了使用Passkeys管理帳戶的選擇。
Safe以其久經(jīng)考驗(yàn)的智能錢包產(chǎn)品而聞名,被個(gè)人用戶、團(tuán)隊(duì)和DAO廣泛使用。迄今為止,在至少12個(gè)區(qū)塊鏈上部署了500多萬個(gè)Safe賬戶執(zhí)行2200多萬筆交易。在v1.4.1(2023年7月發(fā)布)之前,開發(fā)人員已經(jīng)能夠使用Gelato relay來進(jìn)行g(shù)as抽象交易。這種集成目前支持Gnosis Pay和BasedApp等加密借記卡產(chǎn)品,用戶可以使用其Safe賬戶中的資金從任何接受Visa支付的供應(yīng)商處進(jìn)行購買操作。v1.4.1通過模塊支持ERC-4337,為中繼器供應(yīng)商提供了更多選擇。

ZeroDev是今年早些時(shí)候推出的智能賬戶提供商,最初就是為ERC-4337構(gòu)建的。Zerodev聚合了多個(gè)bundler提供商來抽象UserOp中繼服務(wù),并公開了一個(gè)gas管理器儀表板,開發(fā)人員可以在其中定義范圍和限制邏輯,從而為用戶提供費(fèi)用贊助。Zerodev和Bionomy(也運(yùn)行自己的bundler網(wǎng)絡(luò))目前在4337賬戶市場占據(jù)主導(dǎo)地位。
Alchemy的AccountKit具有4337兼容的智能賬戶部署“LightAccount”,它基于EF部署,并添加了EIP-1271支持(驗(yàn)證來自智能合約的簽名)以及所有權(quán)轉(zhuǎn)移、密鑰輪換和命名空間(namespace)存儲(chǔ)。
(5)賬戶模塊
賬戶模塊是充當(dāng)智能賬戶的可安裝組件的智能合約。雖然模塊基礎(chǔ)設(shè)施仍處于非常早期的階段,但我們認(rèn)為模塊將通過以下方式被發(fā)現(xiàn)和安裝:
·?開發(fā)人員:嵌入式智能賬戶可以配備由dapp開發(fā)人員選擇的“預(yù)裝”模塊,構(gòu)建具有針對(duì)具體用例定制功能的入門錢包。
·?最終用戶:錢包接口可以展示一個(gè)“模塊存儲(chǔ)”界面,用戶可以在其中發(fā)現(xiàn)新特性并將其添加到錢包中。
通過AA將UserOp驗(yàn)證和執(zhí)行正式分離,模塊可以包含僅驗(yàn)證或僅執(zhí)行的邏輯。
·?Validators(驗(yàn)證者)。在UserOperation的驗(yàn)證階段調(diào)用。他們的主要功能是驗(yàn)證UserOperation的簽名,并確定其有效性及是否應(yīng)該執(zhí)行。示例包括multisig、ECDSA、passkeys、多鏈驗(yàn)證和會(huì)話密鑰等。會(huì)話密鑰使dapp能夠代表用戶進(jìn)行簽名以簡化用戶體驗(yàn),就像具有自定義權(quán)限和期限的臨時(shí)私鑰一樣。
·?Executors(執(zhí)行者)。在UserOperation的執(zhí)行階段調(diào)用。他們擴(kuò)展了帳戶的執(zhí)行邏輯,并支持更多樣化的可本地執(zhí)行的操作,比如在常規(guī)ERC-4337執(zhí)行流程之外觸發(fā)的自動(dòng)操作,例如當(dāng)價(jià)格達(dá)到某個(gè)閾值時(shí)自動(dòng)進(jìn)行代幣兌換。
·?Hooks。在執(zhí)行前/后運(yùn)行,并對(duì)帳戶實(shí)施控制。例如,Hook可以在執(zhí)行后運(yùn)行,并恢復(fù)任何符合特定標(biāo)準(zhǔn)的交易,從而加強(qiáng)用戶的安全性。
雖然像Candide這樣的一些錢包已經(jīng)開發(fā)了用戶可以直接安裝的模塊,但我們預(yù)計(jì)會(huì)出現(xiàn)一個(gè)豐富的第三方模塊生態(tài),可以在錢包的應(yīng)用商店界面中找到,或者由dapp開發(fā)人員集成到一個(gè)嵌入式“入門”錢包中。
智能賬戶框架已經(jīng)在設(shè)計(jì)時(shí)進(jìn)行了模塊考量。Safe的核心合約處理模塊管理邏輯,用于從賬戶中添加和刪除模塊,但將真正的模塊相關(guān)邏輯和存儲(chǔ)完全限定在一個(gè)單獨(dú)的合約中。這種分離降低了第三方模塊覆蓋同一狀態(tài)的風(fēng)險(xiǎn),損害了帳戶的安全性和預(yù)期行為。

Safe{Core}協(xié)議引入了一個(gè)帶有模塊、hooks、管理器和注冊(cè)表的開放框架,旨在培育一個(gè)受Safe錢包產(chǎn)品啟發(fā)的可組合智能賬戶生態(tài)。
ZeroDev明確地將他們的模塊(“插件”)劃分為驗(yàn)證或執(zhí)行兩類。Executor模塊被設(shè)計(jì)為與Validator模塊配對(duì),允許自定義函數(shù)通過不同的validator“路由”。例如,“NFT轉(zhuǎn)移”功能只允許通過2FA轉(zhuǎn)移NFT。

構(gòu)建強(qiáng)大的模塊化智能賬戶生態(tài)有一些考慮因素:
互操作性。由于多個(gè)智能帳戶供應(yīng)商都對(duì)于如何讓第三方向帳戶添加新功能都有自己的一套方法,模塊開發(fā)人員正朝著供應(yīng)商鎖定的方向前進(jìn),或者不得不應(yīng)對(duì)開發(fā)相同功能以兼容多個(gè)帳戶部署的技術(shù)開銷。有一些解決方案可以緩解這種情況:
·?面向模塊化智能合約賬戶和插件的ERC-6900定義了模塊化智能合約賬戶(MSCA)的接口,模塊(“插件”)允許任何符合標(biāo)準(zhǔn)的賬戶部署和插件進(jìn)行互操作。
·?Rhinestone的* ModuleKit用于構(gòu)建和測試智能賬戶模塊,提供了針對(duì)不同賬戶部署測試模塊的模板和框架、集成庫(例如DeFi協(xié)議)、預(yù)構(gòu)建的執(zhí)行條件,以及解析模塊代碼和標(biāo)記安全漏洞的安全自動(dòng)化。
安全。賦予用戶在錢包中安裝第三方軟件的能力存在一個(gè)重要問題,那就是接口應(yīng)該如何管理并展示模塊的相關(guān)信息。
EIP-7484提供了一種驗(yàn)證獨(dú)立構(gòu)建的智能賬戶模塊合法性和安全性的手段。在這里,注冊(cè)表允許審計(jì)人員對(duì)這些模塊的安全性進(jìn)行認(rèn)證。前端和智能賬戶可以查詢注冊(cè)表以獲取認(rèn)證數(shù)據(jù),驗(yàn)證模塊是否可以安全使用。
更廣泛地說,EIP-7512旨在為審計(jì)報(bào)告的鏈上表達(dá)創(chuàng)建一個(gè)標(biāo)準(zhǔn),該標(biāo)準(zhǔn)可通過智能合約解析,以提取有關(guān)審計(jì)以執(zhí)行者及已驗(yàn)證標(biāo)準(zhǔn)的相關(guān)信息。

可發(fā)現(xiàn)性。注冊(cè)表可以通過智能帳戶平臺(tái)和錢包接口展示和查詢,并由開發(fā)人員或最終用戶安裝。
擴(kuò)展錢包功能的能力使賬戶成為web3產(chǎn)品和服務(wù)的開發(fā)者平臺(tái)和新的分發(fā)渠道。我們已經(jīng)在Metamask Snaps上看到了這一點(diǎn),Metamask Snaps允許用戶通過安全警報(bào)(WalletGuard)、隱私功能(Nocturne)以及與非EVM鏈(如Starknet和比特幣)的互操作性來定制他們的瀏覽器擴(kuò)展錢包。
當(dāng)Chrome為開發(fā)者提供了一個(gè)通過擴(kuò)展程序擴(kuò)展瀏覽器功能的生態(tài)時(shí),就推動(dòng)了他們的市場主導(dǎo)地位,盡管他們晚出現(xiàn)十年。雖然我們大多數(shù)人都很難想象,當(dāng)模塊化賬戶成為主流時(shí),錢包體驗(yàn)會(huì)是什么樣子,但無需許可的創(chuàng)新已經(jīng)開始走上正軌。
不斷發(fā)展的錢包堆棧意味著:
·?開發(fā)者可以在他們的應(yīng)用中為用戶創(chuàng)建非托管賬戶,并將尋求SDK連接器等工具,提供端到端登錄的構(gòu)建選擇。
·?嵌入式錢包是一種新的錢包類別,每個(gè)供應(yīng)商在帳戶可移植性、可定制性和信任假設(shè)方面都有各自的功能和權(quán)衡。

如果你在2018年操作過以太坊dapp,你可能還記得在加載網(wǎng)站時(shí)會(huì)有一個(gè)Metamask彈窗。這是由于在連接錢包和dapp方面缺乏良好的用戶體驗(yàn)實(shí)踐,開發(fā)人員經(jīng)常采用硬編碼檢查來查看用戶是否使用瀏覽器的“windou.ethereum”對(duì)象安裝了擴(kuò)展錢包。如果用戶安裝了多個(gè)擴(kuò)展錢包,將導(dǎo)致不可預(yù)測的行為,用戶將不得不選擇一個(gè)錢包從而創(chuàng)建一個(gè)競爭較小的錢包市場。
WalletConnect通信協(xié)議的出現(xiàn)讓用戶可以將任何錢包連接到任何dapp,當(dāng)時(shí)一起出現(xiàn)的還有Web3Modal,Web3Modal是一個(gè)包含按鈕和模塊組件的庫,讓用戶選擇他們想要與dapp一起使用的錢包。
如今,Web3Modal是多個(gè)錢包連接器庫(如RainbowKit、Web3Onboard和ConnectKit)中的一個(gè),為dapp開發(fā)人員簡化了錢包檢測和基于錢包的身份驗(yàn)證過程。這些庫提供了開箱即用的主題選項(xiàng)、錢包搜索功能以及可以引導(dǎo)用戶安裝錢包的屏幕(如果用戶還沒有安裝錢包的話)。
最近,EIP-6963最終被確定為替代“window.ethereum”的另一種錢包發(fā)現(xiàn)機(jī)制,允許dapp和擴(kuò)展程序提供的注入腳本以可預(yù)測的方式進(jìn)行通信。得益于該標(biāo)準(zhǔn),用戶現(xiàn)在在選擇連接到dapp的擴(kuò)展錢包時(shí)有了更多的選擇余地,并為錢包打開了一個(gè)更具競爭力的市場。
雖然連接器庫已經(jīng)顯著改善了開發(fā)者體驗(yàn)和用戶體驗(yàn),但期望用戶已經(jīng)安裝或?qū)?huì)安裝額外的軟件來與dapp交互仍然是一個(gè)很大的采用障礙。
我們已經(jīng)看到了dapp登錄用戶體驗(yàn)的未來,下一代錢包庫(我們將在這里稱之為完全成熟的“Onboarding SDK”)正獲得更多關(guān)注。除了基于錢包的身份驗(yàn)證之外,這些SDK還提供了其他注冊(cè)和登錄選項(xiàng),如電子郵件、社交、短信,并為用戶創(chuàng)建了嵌入式錢包,而無需用戶安裝額外的軟件或退出dapp。
開發(fā)人員可以直接集成由密鑰提供商提供的連接器(例如Magic、Privy、Web3Auth),或者使用那些打包多個(gè)服務(wù)的連接器(例如Dynamic、Thirdweb、0xPass),為他們想要公開的身份驗(yàn)證選項(xiàng)和他們想要?jiǎng)?chuàng)建的錢包類型提供即插即用的選項(xiàng),從而實(shí)現(xiàn)完全自定義的登錄流程。Onboarding SDK還可以與智能賬戶提供商集成,以創(chuàng)建嵌入式智能錢包,提供進(jìn)一步的用戶體驗(yàn)增強(qiáng)功能,如無gas交易和出入金方式。
隨著越來越多的人采用“headless”錢包,以及錢包領(lǐng)域向嵌入式錢包的傾斜,錢包和dapp之間曾經(jīng)清晰的界限開始變得模糊。
(1)獨(dú)立錢包、嵌入式錢包及特定應(yīng)用錢包

今天的Web3用戶習(xí)慣于通過獨(dú)立錢包(如Metamask或WalletConnect提供的錢包)與dapp交互,將他們的資產(chǎn)和鏈上足跡積累到一個(gè)或幾個(gè)賬戶上。
隨著越來越多的dapp通過嵌入式錢包和多家供應(yīng)商來吸引用戶,對(duì)于dapp開發(fā)者和最終用戶來說,賬戶管理很快變得復(fù)雜起來。Dapp開發(fā)人員將不得不評(píng)估和管理多個(gè)供應(yīng)商,同時(shí)盡力避免鎖定單一供應(yīng)商。對(duì)于最終用戶來說,為每個(gè)dapp創(chuàng)建一個(gè)新的錢包將導(dǎo)致資產(chǎn)和身份管理體驗(yàn)不連貫。
雖然特定應(yīng)用錢包對(duì)于某些用例(如游戲)來說是可取的,但在許多情況下,用戶可能會(huì)登錄他們的第一個(gè)dapp,使用他們的web2 signers或Passkey創(chuàng)建一個(gè)嵌入式錢包,并希望通過使用相同的signer登錄另一個(gè)dapp,使用他們?cè)趲糁蟹e累的資產(chǎn)。
·?Capsule是一個(gè)基于MPC的嵌入式錢包提供商,其主打功能是跨使用其服務(wù)的dapp的錢包可移植性,使用戶可以使用相同的電子郵件登錄訪問現(xiàn)有錢包。我們可以預(yù)期,這將很快成為跨WaaS提供商的必備產(chǎn)品。
·?Moonchute在此期間幫助用戶管理多個(gè)智能賬戶。他們的統(tǒng)一賬戶管理器是一個(gè)app和API,用于發(fā)現(xiàn)由給定簽名者創(chuàng)建的智能錢包,允許用戶在一個(gè)地方管理多個(gè)賬戶的資產(chǎn)。
·?ERC-7555提議了一個(gè)受SSO啟發(fā)的標(biāo)準(zhǔn)化接口和請(qǐng)求/響應(yīng)模式,用于應(yīng)用程序發(fā)現(xiàn)使用其他簽名方案創(chuàng)建的用戶帳戶。在這里,應(yīng)用程序?qū)⒂脩糁囟ㄏ虻浇o定供應(yīng)商的URI(可以是自托管域),并解析簽名者和關(guān)聯(lián)的智能帳戶地址的響應(yīng)。
(2)遷離EOA
AA的另一個(gè)突出挑戰(zhàn)是為現(xiàn)有用戶提供向智能賬戶遷移的無縫體驗(yàn),這些用戶已經(jīng)在多個(gè)EOA上積累了一定資產(chǎn)和鏈上歷史。
EIP-7377提議了一種協(xié)議內(nèi)機(jī)制,允許EOA發(fā)送一次性交易,該交易在其賬戶上部署代碼,有效地將EOA“升級(jí)”為智能錢包。
Aarc旨在解決dapp和最終用戶的資產(chǎn)遷移問題。他們的UI和SDK索引了特定源地址的資產(chǎn)和權(quán)限,并允許用戶選擇他們想要移動(dòng)到目標(biāo)地址的資產(chǎn),目標(biāo)地址可能是一個(gè)智能賬戶、其他EOA,或者是使用社交登錄創(chuàng)建的嵌入式MPC錢包。對(duì)于現(xiàn)有用戶已經(jīng)習(xí)慣了獨(dú)立錢包流程的dapp,當(dāng)他們希望在其產(chǎn)品中添加嵌入式錢包或AA功能時(shí),Aarc提供了一個(gè)簡化遷移過程的解決方案。
(3)AA對(duì)多鏈賬戶管理的影響
考慮到AA和L2活動(dòng)的勢頭,我們可以預(yù)見未來智能賬戶將成為EOA的主流,用戶將擁有跨多個(gè)鏈的資產(chǎn)。
EOA的一個(gè)用戶體驗(yàn)優(yōu)勢是,用戶可以使用相同的私鑰自動(dòng)訪問不同EVM鏈上的相同地址。缺點(diǎn)是無法更改控制給定地址的密鑰,并且如果用戶弄丟私鑰的話,全部資金都可能丟失。
由于帳戶抽象將密鑰存儲(chǔ)與資產(chǎn)存儲(chǔ)相分離,因此可以為給定帳戶輪換密鑰,而不必在保持相同地址的情況下遷移資金。智能帳戶能夠使用CREATE2跨鏈維護(hù)相同的地址,即使合約尚未部署在給定鏈上,用戶也可以使用相同的初始驗(yàn)證密鑰和帳戶部署訪問帳戶。
然而,從長遠(yuǎn)來看,跨鏈維護(hù)相同的地址可能是一種反模式。
·?CREATE2只能在具有EVM字節(jié)碼等效的鏈上使用。在zk-Rollup(例如zkSync)的多鏈?zhǔn)澜缰校@種方法是不夠的。
·?我們可以預(yù)期,訪問各種帳戶所需的密鑰將隨著時(shí)間的推移而變化,錢包展示了更多的簽名和密鑰輪換功能。在當(dāng)前設(shè)置下,這可能很快導(dǎo)致跨鏈的帳戶權(quán)限狀態(tài)的漂移,因?yàn)橐粋€(gè)鏈上帳戶的簽名者的更改不會(huì)自動(dòng)將新權(quán)限傳遞給其他鏈上的簽名者。
針對(duì)多鏈AA提出的長期解決方案有:
·?一個(gè)專用密鑰存儲(chǔ)合約,跨鏈用戶帳戶在檢查權(quán)限時(shí)讀取該合約。
·?使用ENS多鏈解析器(resolver)作為不同地址的抽象層。
跨鏈賬戶和簽名者管理仍然是一個(gè)活躍的研究領(lǐng)域。研究的最終目標(biāo)是,用戶可以在不進(jìn)行大量交易的情況下更改訪問不同鏈上多個(gè)帳戶的密鑰。


·?賬戶抽象是一種將簽名者與賬戶相分離的活動(dòng),通過將基于合約的賬戶(而非EOA)作為區(qū)塊鏈上的一級(jí)實(shí)體,為用戶提供密鑰管理和賬戶權(quán)限的靈活性。
·?ERC-4337作為中繼智能賬戶發(fā)起交易的標(biāo)準(zhǔn),促進(jìn)了適應(yīng)AA的錢包基礎(chǔ)設(shè)施的發(fā)展,從而產(chǎn)生了新的市場結(jié)構(gòu)、錢包類別、dapp開發(fā)和用戶登錄模式。
·?錢包堆棧被分為signers(簽名者)、relayers(中繼者)、帳戶提供者和帳戶模塊,為開發(fā)人員提供了定制最終用戶體驗(yàn)的選擇。這帶來了額外的開銷,以評(píng)估每個(gè)提供商在gas開銷、抗審查性、供應(yīng)商鎖定和互操作性方面的權(quán)衡。
·?從EOA的遷移路徑和多鏈背景下的帳戶抽象仍然是正在進(jìn)行中的研究領(lǐng)域。我們期望在明年看到首批解決方案提議的實(shí)施。
我們認(rèn)為,這些發(fā)展對(duì)整個(gè)生態(tài)都有重大影響:
·?對(duì)于新用戶來說,錢包不再是進(jìn)入web3的唯一入口。應(yīng)用程序?qū)⑼ㄟ^嵌入式錢包、無gas交易和錢包內(nèi)入金方式顯著改進(jìn)登錄體驗(yàn)。
·?對(duì)于當(dāng)前用戶來說,隨著應(yīng)用程序利用會(huì)話密鑰等功能,鏈上體驗(yàn)將變得更加順暢。高級(jí)用戶可以通過模塊對(duì)帳戶權(quán)限和其他錢包功能進(jìn)行更細(xì)粒度的控制。
·?對(duì)于開發(fā)人員來說,模塊化的賬戶基礎(chǔ)設(shè)施將錢包變成了操作系統(tǒng)。模塊市場是web3產(chǎn)品和服務(wù)的一種新的無需許可的分發(fā)渠道。