什麼是AA錢包?

271

首先直下結論,AA(Account Abstraction Wallet)錢包aka抽象帳戶的目的是要讓使用者能夠省略背後繁雜的交易機制,把錢包本身弄的跟現今web2的交易模式一樣便利,日常的信用卡、簽帳卡消費、line pay、街口支付、Apple pay等等都是一鍵刷/按一按交易就成立了,消費者們完全不需要知道背後怎麼執行的,而我們都知道在加密貨幣的世界裡你必須要自己持有錢包,必須要保管私鑰(Private key)以及Seed Phrase,如下圖就是在Metamask小狐狸創建錢包時會要求你手寫或用任何方式紀錄你的Seed Phrase,要是你忘記了自己的帳號密碼,同時也弄丟了自己的Seed Phrase,那很遺憾,你錢包裡的資產就通通拿不回來了,而Private key用於簽署所有交易,假如你的Private key被盜走,駭客就可以使用你的Private key來盜取你錢包的token,Private key代表著你錢包token的擁有權,你輸入的密碼只是Metamask提供的一層保護而已。

加密市場之所以讓常人怯步,很大的原因在於它的操作門檻很高,你想想,現代人凡事都講求便利,我光是建立一個錢包手續就那麼複雜,操作介面也不是很直觀,想要用錢包交易必須要知道彼此的錢包hash地址,這也是比較工程思維的設計,而AA錢包就是旨在將繁雜的工程運算藏在後台,對使用者來說,你不要告訴我什麼Gas fee,Gwei等單位,也不要告訴我因為我在哪條鏈所以必須用他們的token支付手續費,我只有USDT/USDC,你就自己去換算該怎麼付吧,使用者只要單純地進行交易,你告訴他手續費是多少,然後成交,簡單又便利!

AA錢包

Web 2 的銀行支付體系

花錢為什麼那麼容易?那當然是因為背後複雜的邏輯都已經有人幫你處理好了,我們來看一下你在商店裡刷卡消費之後大致上背後發生了什麼

  1. 消費者特約商店中刷卡消費
  2. 特約商店的POS機將交易傳給收單機構,也就是發給商家們POS機的機構/銀行
  3. 收單機構再將請求傳送到清算中心,再傳給發信用卡給你的發卡銀行(也就是你在哪家銀行辦理信用卡的)來確認這筆交易是否能過
  4. 發卡銀行確認後會授權收單機構,再回覆給特約商店,交易成功!

注意所有交易的清算跟處理都是透過清算中心來完成,常見的Visa、Mastercard、JCB等都是提供這類的服務,他們要確保資產安全的轉移,你持有的信用卡之所以可以在多國使用,都是因為特約商店和消費者雙方都使用共同的交易網路,試想如果不使用相同的交易網路,那當地銀行跟外國銀行之間的交易成本就會非常巨大。

PHOTO CREDIT: MYPAY

Web 3裡的AA錢包

AA錢包的概念始於ERC-4337乙太坊的標準

ERC是啥

(Ethereum Improvement Proposals, EIP)是以太坊開發中的標準提案,而ERC(Ethereum Request for Comment)則是成為標準後的名稱,只有當以太坊治理團隊授權同意後才會成為ERC。比如ERC-20定義了ETH和其他token的合規性,ERC-721定義NFT,而ERC-4337定義了抽象錢包的概念Account Abstraction,並於2023年3月部署到以太坊網路上。

而抽象帳戶主要整合了兩種功能的帳戶,

  1. 外部帳戶 EOF (Externally owned account) – EOF即是我們自行創建的錢包,由使用者自行控制,比如Metamask、Phantom等
  2. 智能合約帳戶 Smart Contract wallet – 部署在區塊鏈網路上,智能合約表示當滿足條件被觸發時會自動進行的一系列程式碼,智能合約帳戶可以提供轉帳、接收甚至發行代幣等功能,一般團隊在發行自己的治理代幣時,他們都是透過智能合約帳戶來完成的,當特定條件被滿足則可以空投獎勵等。

AA錢包有哪些好處

  1. 可擴展性
    AA錢包基於智能合約自動化完成,既然是基於智能合約,那表示你可以根據所需的去制定功能,不過這個就讓開發者操心吧,但可以想見,只要未來對錢包有更多需求,基本上都可以透過智能合約來建置完成,比如你可以讓你的錢包限制單日最大轉帳金額,假設使用者不小心忘記密碼,也可以用現今web 2的方式(比如手機認證、郵箱認證等)來恢復錢包權限。
  2. 便利性
    – 你可以直接透過既有的加密錢包或是第三方帳戶如Gmail或手機號碼來註冊並登入,把法幣充值到AA錢包後也可以直接轉成想要的加密貨幣,相當方便。
    – 過往使用EOF錢包每筆交易都需要sign-offs,過程非常冗長,透過虛擬帳戶,他可以一次把所有請求”Bundle”,並只需要簽一次名就可!
    – 你可以使用任何現有的ERC-20 token來支付,不用特地去swap特定的token就可以進行交易。

AA錢包的劣勢是什麼

  1. 較高的手續費 – 理所當然,過程中雖然省去了許多操作時間,但由於需要負擔部署智能合約的手續費以及運行智能合約時的運算成本,因此手續費會較自己全程操作來得昂貴,但用稍高的手續費換取便利的服務沒毛病。
  2. 中心化 – 加密貨幣最初始的發明重點之一就是『去中心化』,但去中心化也帶來了使用者體驗差的問題,由於加密貨幣仍屬於新興產業,詐騙和駭客仍然非常盛行,這也導致了稍一不慎某某團隊就可能被駭,要是你把錢存在人家開發的AA錢包裡,但如果突然一系之間他們破產的話,你的錢可能也拿不回來了,這也是為什麼幣圈流行一句話叫做『Not your key,Not your coin』,以現階段仍在早期來說,還是會建議大家操作完之後就把它轉到冷錢包,這是最安全的。

講完了AA錢包的功用,來稍微解析一下背後的交易邏輯到底是什麼🤣


Account Abstraction運作原理

source: Jarrod Watts

  1. 首先Users向智能合約請求,並將請求送至UserOperation Mempool,類似於開發中的緩存或臨時內存數據庫,是暫時的,所有的Transaction在此時都還未確認
  2. 也許使用者需求只有一個,但在開發中,一個API可能會包含許多商業邏輯,也有可能有多個請求,所以ERC-4337的提案中會由多個Mempool來存儲暫時的數據,而所有的Mempool統一由Bundler管理,此時會有個Alternative mempool來暫存一堆被綑綁後的請求,可以把它想成類似於Transactions的等待室🤣
  3. 等著等著接下來就是準備接見啦,由誰接見?當然是由智能合約!但在跟智能合約互動前,還額外多設置了一層接口(EntryPoint Contract),這個接口會去驗證所有的請求還有辨認使用者的帳戶資訊以及錢包地址,確定都沒問題之後,最後一步也必須確認所有Transaction都已經完成結束了。

Note: 要注意的地方是,Bundler在把Transactions打包成Bundle Transactions的過程中會要求支付gas fee,要馬從錢包裡面直接扣除,要馬可以透過Paymaster支付
例子像是

a. 你要mint NFT並拿去市場上販賣

b. 你要結帳存在於鏈上的房地產證券並把它轉到你的錢包裡

Paymaster是ERC-4337的概念,代表的是任何第三方都可以幫其他人的交易支付手續費,使得在使用加密錢包上多了一層彈性

比如說你想要提供利好來吸引使用者使用你的dAPP,因此你提出了免手續費的30天活動,但事實上鏈上交易仍需要付出gas fee,那這時候你就可以透過Paymaster的功能來幫忙支付!也可稱之為Sponsored transaction

總結

Web3和Web2有個很大的不同是透明性Transparency和即時性,現今Web2的運作方式,身為消費者的我們很難去知道金流到底流向哪裡,我們只知道成不成功,由於中間涉及了發行銀行、驗證機構、收單銀行等多方參與,所以假設資金有個萬一,如果我們想要去追查資料,必須到銀行櫃台去申請,動輒可能就三四天過去,來來回回之間其實耗費了很多時間和人力成本,而在Web3每筆交易完成後,所有數據都是在鏈上公開透明,所有人都能夠去查看交易的流向,效率跟透明性是透過區塊鏈技術交易的一大優勢之一,但也因此會發生假設你操作失誤,你是求助無門的,所以我仍認為,要想要區塊鏈普及,『中心化』和『去中心化』的共同存在是無可幣免的,畢竟便利才是科技進步一直在追求的效果!

好啦~延伸的有點多,但以上就是有關AA錢包的介紹啦😁

參考連結

ERC-4337: A Complete Guide To Account Abstraction

LEAVE A REPLY

Please enter your comment!
Please enter your name here