AA產品三部曲:AA技術介紹

2023-10-07 11:26 AA 中文生態


AA技術介紹

Account Abstraction(AA) 抽象帳戶是基於ERC-4337的合約錢包新範式,它以一種應用層的方式來實現合約账戶的鏈上交互。AA 無需修改ETH節點共識,通過操作鏈上合約账戶,能做到比目前EOA外部账戶(如Metamask的账戶)更多可編程和合約可組合性。

AA 使用Bundler代付的方式來激活和操作合約錢包,可編程其安全驗證和恢復機制(比如MPC恢復,社交恢復,生物信息恢復等)。AA 可以實現無需記錄私鑰,無需預先購买以太坊進行合約交易,能讓新用戶或Web2用戶更無感進入Web3,使Web3大規模使用(Mass Adoption)變成可能,通過合約可編程安全特性可使錢包免去私鑰被盜的風險。

AA技術特性

AA 架構是多個模塊的互相組合:

UserOperation(UserOp)是ERC-4337統一的交易格式,它記錄了sender合約账戶地址,nonce交易唯一值,calldata交易數據等類似ETH交易的基礎內容。在合約账戶未初始化會添加initcode生成合約錢包字段,paymaster是可選值,可使用哪個paymaster合約gas代付。UserOp有好幾個計算gas費的字段,計算前置Gas,優先Gas和執行Gas等。還有最重要signature字段,對整個UserOp計算的hash進行籤名,錢包會判斷籤名合法性,一般指籤名是否屬於Owner,或者更多籤名方式如zk驗證和Session key的擴展。

EntryPoint(EP)是所有UserOp的交易入口,EP合約是通用的,一個網絡可以只使用一個EP合約,會根據UserOp的sender對交易進行轉發到特定账戶地址執行。Bundler通過handleOps方法可以發起批量交易,單個交易打包到EP會比EOA直接交易Gas費更多,但聚合交易能較好減少Gas費。EP也提供simulateValidation的一些方法給Bundler做模擬交易檢驗合法性。

Bundler是一個後端服務器,它就像ETH的geth客戶端或者更像Mev的proposer交易發起者,也是AA用作代付和聚合交易的核心模塊。Bundler幫你收集UserOp交易到mempool,特定時間打包交易(比如5s),然後批量打包發到EP。Bundler對收集的交易,會進行模擬,審查,限流或者排序,以便交易的合法和正常執行。通用Bundler會對一些OPCODE進行限制防止批量失敗(比如call外部合約),也會對交易負載均衡,模擬審查交易合法性等操作。Bundler一直是ERC4337研究的重點,如何節點去中心化,與ETH tx mempool平行的alt userop mempool,如何抗審查和防止Mev等。目前官方支持多種Bundler實現,比如官方和Pimlico的js-bundler,Stackup的go-bundler和Alchemy的Rundler等。

Paymaster是可選模塊,個人來看也是最有商業價值的模塊。通過UserOp裏設置的Paymaster,你可以使用ETH之外的任何支付手段支付Gas,比如使用一些常見Token(WETH,USDT),或使用自定義Token。Paymaster 通過預言機確定價格或者自定義價格代付Gas費,Paymaster可以自定義傭金或者通過dex直接swap成ETH。官方代碼提供了免Gas的VerifyingPaymaster,在UserOp的Paymaster字段裏加入驗證账戶d1籤名(爲什么免Gas需要加入籤名,因爲無成本會加劇薅羊毛),Biconomy等很多項目通過無Gas交易的API返回籤名給你代付,這樣使用线下法幣支付鏈上免Gas,其他人代付免Gas等更多可能組合性出現。

Account錢包账戶合約,個人覺得是最有可定制性化的模塊,合約天然具有可編程和鏈上可組合性。账戶合約一般擁有自己owner(一個外部隨機EOA,开始用於計算錢包地址,只需要籤名認證,錢包激活後恢復可以隨時轉移)EP收到交易後,會下發到各個账戶合約執行,账戶通過owner籤名認證後,就是直接透傳交易call其他合約。Owner的輪換是通過恢復機制來去做,账戶可編程定義郵件恢復,社交恢復,生物恢復等,恢復用戶體驗可做到更好。Account合約的模塊化實現後,只需要部署最基礎的账戶合約,可自定義認證,恢復,安全,執行層插件,還可以形成強大的錢包生態OS,可做到更多組合性。

爲了使應用更好接入,客戶端SDK,前端接口也尤爲重要,前端主要工作爲組裝發起UserOp到Bundler,作爲重要的基礎設施。目前开發者工具類項目仍然不多,錢包仍難接入大部分的Dapp。但大部分都是在做基礎設施在完善接入層和bundler/paymaster服務。除了官方的SDK簡單之外,做的比較早的有Unipass有一套多功能的接入機制,支持郵箱登錄,ZeroDev對官方的SDK上層進行的封裝,也有部署bundler等服務。Accountjs的愿景也是用开源公共層的方式,對這現有機制進行封裝和整合,統一接入格式和Account標准。

如今ERC-4337仍在Draft階段,很多模塊仍不夠穩定,很多錢包安全性也未經考驗,需要社區共創之。ERC-4337仍遵循個人主權和去中心化理念,沒有記錄私鑰中心化保管的危險步奏,沒有MPC單點故障的缺陷。雖然要經過Bundler代付,但所有Bundler,Paymaster,Account,甚至Recovery和Intent都可以做到去中心化,账戶Owner主權在自己手裏,可以自己選擇想要的服務商。而且現有账戶已經有多宗實現和模塊化,但都是自稱體系,仍缺少互通標准和廣泛接入。

AA產品屬性

ERC4337已經研究快一年,應用場景是我最开始就構思的話題。以上ERC4337特性我們聽過很多,還是回歸聚焦於AA能做的產品方面。目前基於ERC-4337構建的錢包和基礎設施都很多,佔據了先發優勢,前幾月帶來一波用戶Onboarding,但大部分是老用戶,還形成不了自己優勢和護城河,沒有生態繁榮和激勵手段,心理預期不穩定之下,很難放大資金進入合約錢包。技術只是手段,合約代付,批量交易,恢復機制能讓用戶很好地使用,技術很酷炫然後呢?

真正能形成產品護城河是切中真實需求,用戶能自發使用,並且能讓用戶長期駐留,一切的門檻只有用戶。

我爲什么看好AA,因爲AA具有很好的產品潛力,沒有特別晦澀的技術,也是產品最擅長的。AA已經成爲ETH路线圖一部分,雖然還在升級,在安全驗證的前提下,至少可以佔據目前ETH生態的幾分之一。(當然不考慮以後zk技術路线全變了,可能solidity已經落後情況出現,可能更有例如wasm新範式出現) 爲什么使用AA?能改變現有EOA主導的現狀,絕對不是EOA已有優勢的產品。Defi的組合性和有利可圖在ETH老用戶已經牢不可破,雖然學習使用成本仍然很高。

AA而應該另闢蹊徑,去做適合更大衆的產品,去吸引圈外新用戶。

在現有錢包操作晦澀難懂的入門門檻下,你先要記下私鑰/助記詞(不妥善保存還可能被盜風險)填入密碼,然後轉入ETH,然後才可以合約操作。Web3老用戶已經習慣了,但外行用戶卻難,就算新入門互聯網用戶也面對提示,战战兢兢保管私鑰,查看兩遍。

AA的優勢在於新用戶Onboarding,包括Web2用戶體驗,或者5歲到95老人都能懂的用戶產品。 

AA不用部署账戶就可以做到遊戲的遊客登錄,先進來玩體驗,體驗完付費或者走人,除了消費時間外沒有任何門檻。AA產品可以不設門檻,讓用戶先進來玩,直接代付gas費,可以很簡單獲客。AA產品可以像Web2郵箱,Oauth登錄,直接映射到合約錢包,和Web2體驗保持一致。在沉澱一定時間成本,錢包有了一定價值,可以引導用戶激活錢包,上傳個人恢復信息,然後用戶就可以執行Web3交易。AA目標用戶不僅僅是傳統Web3用戶,AA錢包的優勢是在吸引新的用戶,門檻更低效率更快。傳統Web3用戶更多是利益驅逐型,所以你會在各個公鏈,空投,收益看到同一批用戶,最終就導致行業內卷互割。

隨着區塊鏈更多L2層普及,交易更多,更多應用形態將會是趨勢。AA錢包的出現,會使Web3用戶體驗更多樣化,AA錢包將會是公鏈以上的入口層,直接嵌到產品和移動端,讓更多以前沒法實現的應用成爲可能。 

AA錢包應用,讓用戶在更溫和(而不是懸崖式)的門檻進入,使用更友好的應用和體驗,可以使Web3用戶更加擴大幾倍。DefiSummer燃起了新用戶,激活了老用戶,NFT名人效應帶來了新人,AA的用戶體驗可能也是下一輪牛市的發動機。

在Safe驗證大資金需要多籤合約安全特性,AA錢包的可編程安全性,讓大資金進入Web3或者RWA應用成爲可能。 

EOA的私鑰具有太大權利,私鑰有門檻和安全問題屢見不鮮。爲了用戶體驗,有的項目選擇使用托管和MPC錢包,雖然具有很好體驗,但都是具有中心化結構,會有些結構性風險。AA可以使用模塊化去中心方式,統一交易格式可去中心的節點接入,可兼顧個人主權錢包和避免單點故障,所以會是未來錢包的新形式。

在下一波敘事浪潮中,收益是Web3必要但不是必然屬性,NFT和StepN看到很多新用戶仍然是抱有對優質應用的信仰。優秀的應用和體驗是必然趨勢,AA錢包只不過是優質體驗上的一個橋梁。 

在Web3走向大衆之前,新用戶進來的第一個錢包是AA,就好像看到新生的雛鴨效應,會對產品更有粘性。現有項目一味通過高利潤追尋新用戶,也需要通過剛需,好玩等屬性留住用戶,持續性是行業的發展動力。

所以用戶才是產品的護城河,而面對用戶的只有是殺手應用,AA具有更低門檻更有優勢。 用戶憑興趣進來使用應用,錢包附加的數據和資產不斷累積,通過AA錢包進入Web3新世界,真正無感實現價值互聯。 AA錢包具備商業屬性嗎?首先AA對新Token支持很好(下面文章我可以詳細說說),同時復雜機制裏有詳細記錄分配規則,通過Bundler和Paymaster自定義的代付規則,也具有很好商業化場景。 對於應用和場景,仍然有很多可說的。現在EOA能做的,AA可以重新實現或者更好,在現有EOA不能做的,在AA也能很好實現,在下一篇再一一列舉出來。 寫AA產品文章在於拋轉引玉,打开思路,歡迎更多項目方交流,或者开發者加入同行,一起研究技術和體驗,在Web3新大陸建設新場景和創造新趨勢。

先睹爲快,我先舉一個最初設想的場景。

PlayOnboard

第一個是 Free2Play 的鏈遊新概念,但總是覺得Free表述不當,沒有任何東西是Free的,人的時間也是價值,注意力是有限的。所以改名爲 PlayOnboard 機制,遊戲化去使用AA產品。剛才說AA對Token機制天然是友好的,Token是項目的儲備價值,是實用性在價值的體現。

我這裏就舉Token直接使用在AA的場景,在Web2產品的一個量化:

Web2中,用戶流量就是其虛擬價值,流量或注意力可以變現或者引流推廣,其實就是以廣告或者付費形式。互聯網公司通常會使用觸達率,留存率,變現率,推廣分享,日活,月活,在线時長等很多指標數據,Web2很多是隱性價值,Web3是直接通過價格表現。其中很大評判標准用戶DAU(日活率),產品可通過日活量估算廣告價值,用戶價值和產品屬性,有些甚至爲了提高日活甚至有刷量賺錢,類似抖音快速版。

AA把用戶入門門檻變低,用戶無成本進入可使用流量這種新的玩法,就是免去記錄私鑰步奏,先提供核心場景,促活用戶。 這可以很好跟遊戲化產品結合。

設想是Step2Earn的Stepn場景,之前還需要先創建錢包並收取原生代幣,本身就是挺大門檻。使用AA之後,用戶進來直接就可以开始跑了,跑步就能生息。有人爲了好玩進來零成本,有人會爲了激活並使用AA新錢包,提前激活錢包並購买道具商品,前提是提供遊戲的平衡性。你甚至可以使用任何代幣甚至項目方代幣支付,就算用戶量活躍度很高,批量交易也能爲你節省gas費用。

這樣,項目上线時代幣直接可以就有使用場景了。用戶進來,可以氪金立刻激活账戶,也可以無成本進來,當錢包有資產(比如跑步15天以上)可以引導激活錢包並上傳資料進行恢復,可用時間流量換取價值。新用戶會擁有第一個Web3錢包,也能通過錢包去操作更多Web3應用,而項目則收獲第一批用戶,用戶群可以是任何人。

還有原神,遊客模式下錢包就能提前固定,提前就能收取遊戲資產了,如果需要提前激活錢包或者購买資產和加速,從鏈上swap也能提供很好的流動性。用戶最終會爲鏈上的真實價值付費,還有類似流量廣告的玩法使用AA錢包也是可行的。

使用AA的合約錢包,能讓用戶進入Web3門檻大大降低,高頻和無感應用變得可能。账戶合約可編程並可記錄信息,會有更多想象空間,比如鏈上身份,資產互通,Token也有更多場景進行使用,這個會在下篇文章具體再列舉場景使用。

PlayOnboard只是其中一種流量轉換成價值的場景,在AA的機制裏面還有更多相應模塊,可以hack和生成新的產品形式,第二篇會列舉更多場景出現。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:AA產品三部曲:AA技術介紹

地址:https://www.sgitmedia.com/article/12350.html

相關閱讀: