Unipass創始人:為什麼AA錢包在Web3錢包中是更新的範式
BlockBeats 律動財經 2022-11-02 09:30
一、Original Sin 原罪:回顧 MetaMask Devcon 主旨演講
MetaMask 雖然產品受到了廣泛的關注,但是一直飽受產品更新迭代慢、用戶體驗差的詬病,不過開發者團隊對產品迭代的理解深度比普通用戶是要強很多的,基於龐大的用戶量 MetaMask 產品形態其實對現在的 web3 應用生態有一定的塑造作用,因此這就回到了「原罪」的主題,我們(MetaMask)做錢包的方向到底是不是對的?我們未來需要作出哪些改變?
MetaMask 開發團隊認為當前錢包賽道仍有較大的可提升空間,一方面較高的使用、安裝門檻阻攔了 web2 嘗鮮加密的新用戶,另一方面就是安全問題,即使是插件錢包也不能完全阻礙駭客鑽空子的可能性。
另外,Web2 用戶很難理解 web3 的產品,例如私鑰的安全保管是個老生常談的話題,不過用戶對此敏感度依舊不是那麼高,只有在私鑰真正遺失後才追悔莫及,私鑰意味著 web3 的入口,代表着 web3 世界所有權的證明。
因此,Web3 產品新的範式應該是怎麼樣的?Web2 用戶不理解產品的情況下,也能順利進入 web3,如果用戶真正理解產品後才開始使用,這會極大增加用戶的學習成本,MetaMask 給出了他們自己的思考,當前的 web3 產品很少能做到這幾點。
能證明這就是我的
它不能被駭客入侵或盜竊
我可以完全控制、撤銷、恢復帳戶
產品在我完全知情的情況下做交互
我可以自由選擇和外界交互的方式
並且做錢包賽道最重要的一定是誠實,方案的優缺點一定能夠讓用戶明晰,掩耳盜鈴是對產品和用戶的不負責,因此也就引入了今天的正題,帳戶抽象和智能錢包。
MetaMask 提出了三個非常重要的帳戶抽象提案:ERC-4337,「為錢包的設計打開創意之門」, 比如「多簽和社交恢復」; EIP-3074,可以把 EOA 的權限委託給一個合約,允許用戶在一次交易中批准轉賬、執行操作和撤銷批准,相當於從 EOA 地址變成智能合約地址;EIP-5003,相當於 3074 的群體版本。
二、什麼是智能錢包
1. 概念
智能錢包本質上就是採用智能合約做錢包,智能合約錢包 (Smart Contract Wallet) 是當前以太坊支持的兩種錢包形態之一,而另一種是大眾所常用的 EOA(外部擁有地址)錢包,EOA 錢包是由私鑰控制的區塊鏈上的地址,即通過私鑰,用戶可以從所述地址簽發交易,但是用戶不能授權另一個密鑰來為給定地址簽名,也不能在其上編寫自定義邏輯;相對的,智能錢包通過對代碼的編寫,可以實現任意邏輯。之前我畫過一個加密貨幣錢包的分層圖,最底層是密鑰層,中間層是 provider,最上層是 wallet,密鑰最主要的作用就是管理公鑰私鑰,密鑰的導入和導出以及簽名的生成,這些本質上都和鏈沒有關係,說到底是數學的運算;中間層 provider 就跟是在哪條主鏈有關係,根據主鏈的格式生成地址;最上層主要對應資產的瀏覽、代幣的收集和分發,所以說一個錢包基本上都可以拆成三層。
Ca 錢包一開始翻譯過來就叫做內部錢包,更多的是為了和 EOA 外部錢包做對應,EOA 地址是沒有辦法承載任何資產的,凸現的是記賬功能,資產實際上都是在 Ca 帳戶裡面的,CA 中文叫做合約帳戶,我們常見的 ERC-20 代幣合約、DeFi 業務合約等都有一個跟 EOA 長得很像的地址,這就是 CA。
2. 用合約做錢包有什麼好處呢?
Ca 可以用作智能錢包資產的管理,例如 gnosis safe 多簽錢包其實也是智能錢包,但多簽不是它的本質,而是用智能錢包的邏輯做多簽。合約做錢包也是有很多優勢的,其內部的邏輯是可以自定義、特別靈活,能實現傳統錢包不能實現的功能。
例如我們一講到合約錢包,大家第一反應是它的私鑰是在哪兒的?其實這是 EOA 錢包的邏輯,私鑰和公鑰一一對應,這樣的描述在 EOA 錢包裡面是沒有問題的,但是就像 gnosis safe 多簽錢包,它實際上是通過一種「邏輯」實現的,比如 3/5 的多簽錢包,權限的控製取決於五個地址中能不能得到三個以上的授權,因此合約錢包資產管理不是由私鑰控制的,最主要的是邏輯執行,CA 也可以不設定任何密鑰,而是由其他 CA 的邏輯決定是否可以解鎖,比如 DeFi 的借貸合約,只要還了錢就能取回質押的資產。當然並不是說僅依靠邏輯就不需要公鑰,只是說這樣多了一層安全保障和操作邏輯。
三、什麼是帳戶抽象(AA-Account Abstract)?
1. 概念
帳戶抽象概念就是,改變目前大多數人都在使用 EOA 的現狀,希望用戶轉向 SCW(Ca 作為地址的錢包解決方案,智能錢包),並且把生態對 EOA 的依賴完全去除。
當前很多鏈其實內置就有比較完善的帳戶抽象功能的,公鑰集合、權限控制、合約邏輯等,其實從 eos 開始各種公鏈就有一定的帳戶抽象能力了,eos 的地址其實是一個字符串,它已經不是一個公鑰了,有明顯的內部結構,兩個公鑰,一個有高級權限屬於 owner,另一個用於執行。而以太坊實際上是沒有帳戶抽象這個概念的,最早可以追溯到 2015 年的一些討論,當時 Vitalik 認為至少要讓以太坊用來驗證交易的密碼學算法做到可替換,以及後面的第三方支付 gas、簽名等等,但是以太坊基於歷史原因很難進行「現代化改造」,很多東西都寫死、固定住了,因此如果以太坊生態想要拓展帳戶抽象只能藉助智能錢包、在應用層做彌補。
帳戶抽象在做的事情就是把帳戶層和密鑰層抽象出來,用戶可以自定義裡面的邏輯,例如現實中機械鎖(只能物理鑰匙解鎖)和電子鎖(集成指紋、密碼、面部特徵等),抽象之後能帶來多維的可拓展性。而智能錢包是當前實現以太坊帳戶抽象最有前途的方法,不需要從共識層、底層改進,ERC-4337 可以讓應用層做帳戶抽象這個事情。
2. 智能錢包能帶來什麼樣的改變?
智能錢包和智慧型手機有很多的類比之處,智慧型手機因為集成了更多先進的能力,例如電容屏、陀螺儀、多點觸控、gps 等等,這些能力的升級為上層應用的搭建帶來了很大的想象空間,極大增強了用戶體驗,同時也會降低用戶的進入門檻,讓老年人、年輕人、兒童都能上手智慧型手機,因為智慧型手機的誕生讓更多的用戶進入了行動網路;同時智慧型手機有很大的可拓展性,不侷限於通信設備,更多的場景是聽歌、影音、導航、遊戲等等,可拓展性帶來了範式轉移,用戶也習慣了這種認知轉移,「默認」我們會拿智慧型手機做這些理所應當的場景。
智能錢包和 EOA 錢包的對比,通過智慧型手機總結下來的四點優勢依舊適用,第一個就是更強的功能性,比如簽名的內部邏輯、gas 費用的代付、批量交易等都可以通過智能錢包實現,這些其實是配合現有的場景方便大家理解,EOA 錢包是不支持批量交易的,同一筆交易只能幹一件事情,但是智能錢包它可以做批量交易,它可以 approve and swap 一筆完成,所以每次你需要花多少錢你就 approve 多少錢,同時也保證了安全性。
第二點就是更好用,讓用戶的門檻降得很低,備份密鑰這件事情可以使用社交恢復給替代,這都是能夠帶來的新的變革,包括 gas 支付也是如此,不用自己去專門去買各個鏈的,而是使用第三方的服務,這樣就能讓沒有能力理解錢包、沒有能力管理私鑰、甚至是不想入金的一些人,能夠通過智能錢包進入 web3。
第三就是更大的可擴展性,可以安裝類似於裝插件的操作,讓功能變多,例如 nft 的交易需要授權 approve,如果不經過 approve 雙方實際上是沒有辦法交易的,中間存在信任博弈的難題,但是可以通過第三方合約的方式,將 nft 打入合約帳戶並設定取出的邏輯,例如受到付款等等,然後就能完成交易,不需要第三方信任,智能錢包本質上就是個合約,因此本身是可擴展的。第四點就是範式轉移,如同智慧型手機用戶,以前默認狀態是「斷網」,當前默認的狀態是「聯網」,有了智能錢包之後,EOA 之前的很多傳統觀念會被覆蓋,例如私鑰公鑰對應,需要付 gas,或者是需要不斷 approve,這些場景都可以被打破,大家會慢慢習慣一些新的情況並默認。
這裡舉幾個例子來展示一下智能合約錢包的擴展潛力:
Gnosis safe 利用智能合約錢包架構實現多簽邏輯;
用戶可以在一筆上鏈交易中同時給多個地址發送不同的 token,也可以在用 uniswap 時讓 approve 和 swap 在一筆交易里完成,從而做到需要多少授權多少,避免因為過度授權造成安全隱患。
用戶可以給不同資產設定不同的操作權限,比如給 PFP 設定比普通 ERC--20 token 更高的操作門檻(例如需要一把由硬體錢包管理的 admin key 才能轉移),這樣即便日常使用的環境發生密鑰泄露,駭客也無法將高價值資產轉走,在安全和便利中間取得平衡。
用戶可以簽署一個離線授權「誰能給我 100 ETH,就可以轉走我的某個 BAYC」,這樣不需要授權給第三方合約,用戶就可以跟其他人 P2P 地完成原子交易。
四、Uni-pass:無痕、無 gas、非託管、支持社交恢復的智能錢包
1. 基於電子郵件的社交恢復
我們發郵件的時候,類似於中世紀送信需要用蠟質封印,需要證明資訊的真實性,電子郵件為例,發件服務器會進行簽名,比如 G-mail 是 google 會在它的域名裡面公布 D K M 公鑰,用這個公鑰的私鑰給每一份郵件都簽名,收件方接着驗證 google 的 D K M 簽名和哈希,都能通過收信。Uni-pass 的社交恢複流程一樣的,只是在合約裡面驗一封郵件 D K M 的簽名、哈希能否通過,這樣能證明郵件的真實性,也能在合約裡面換 key,加權重或則額外的邏輯也是可以的。
這也是為什麼賬號的社交恢復可以在 uni-pass 裡面去做。我們是通過發郵件的方式驗證用戶是主動授權的,單單接受驗證碼意義不大,本質上是一個中心化的服務器發送的,發郵件和收郵件意味著用戶授予服務器不同的權限,能更大限度保證安全性。
2. 同 MetaMask 合作,降低用戶門檻
我們當前對接的客戶非常廣泛,包括 nft 平台、遊戲公司、社交平台或者是想要通過 FT 做一定激勵的組織,都可以通過我們的智能錢包提升用戶體驗提高轉化率,同時降低成本。
說回 MetaMask,他們當前並沒有躺平,而是將自己向着生態畫的目標去努力,類似於小程序一個集大成的插件,對於用戶來說不需要安裝那麼多的錢包和插件就能集成想要的功能,而這些 snap 不能依賴與官方開發,只能通過生態開發者一同搭建,MetaMask 提供流量、開發者提供技術,共贏的狀態。
其實 uni-pass 也是這個思路,帳戶抽象的概念他們不會自己做,我們已經和 MetaMask 開展合作,當前已經交付了第二版的 Demo。其實這也不衝突,我們做合約層,他們做 EOA 層,合約錢包和 EOA 錢包不是競爭更傾向於合作、共存的關係,比如我們可以嵌在 EOA 錢包裡面,如果新進來的用戶註冊錢包到私鑰這一步的時候感覺麻煩不想做了,這時候就可以通過我們提供的電子郵件方式挽留用戶,另外現存的用戶也可以使用智能錢包的功能,用現在的地址一鍵控制智能錢包,能讓流程更加順暢。
# 觀眾 Q&A:
Q:基於以太坊當前的邏輯,Ca 錢包一定會對應 EOA 地址完成邏輯觸發嗎?智能錢包 Gas 費用是不是需要 Layer2 呢?
A:實際上這種說法沒錯,但是還是有些窄的,最重要的還是看怎麼控制錢包,我們既可以用驗證簽名的方式,也可以用其他的邏輯,比如 DeFi 中借貸合約執行的邏輯,是有一個前提的,即用戶是不是完成了資金的使用和還款,之後才會依據合約完成資金的轉移。可以看到這個過程是沒有驗證簽名的,合約層也是沒有驗證簽名的,而是依據用戶的行為、邏輯驗證,但是共識層會發生簽名的驗證。
共識層和合約層的交易處理都是會產生 Gas 費用的,當前我們接的客戶也都是對接的大部分不是 eth 主鏈,而是 layer2 或者其他高性能公鏈上的項目,智能錢包實際上能很大的降低成本,尤其是批量處理無論是理論還是實踐中都能減少費用,同時固定費用也大大降低。
Q:當前很多的 dapp 是不支持 Ca 錢包的,那麼從場景拓展的角度來說智能錢包應該如何打破僵局呢?
A:不兼容的情況主要是 DeFi 機槍池和土狗幣,防止被薅羊毛項目方採取一刀切的方式,第二個不兼容的情況是需要驗證簽名的場景,如果使用智能錢包需要實現 EIP-721,雖然有門檻但還是能夠實現,opensea 就能夠兼容該方面並實現掛單交易。
其實我們面向的客戶,無論是做遊戲還是做消費,都沒有這方面的限制,也沒有理由去限制使用智能錢包,和他們的目標是不衝突的,中期來講兼容的問題就可以解決,因為智能錢包本身就是解決兼容的痛點。
Q:NFT 的合成、SBT 的發放智能錢包能夠實現嗎?
A:這個場景不需要錢包支持也可以實現,只要有簽名授權就可以,這個邏輯也可以放在智能錢包中,類似於放一個小 app 插入到錢包中,這樣就不需要傳統錢包複雜的交互了,整個過程更便捷、高效。
Q:從 To B 的角度來說,客戶需求主要集中在哪些方向,定製化的程度是否很高?
A:主要還是根據項目情況,如果是了解加密發展的歷史,部分項目是非常重視客戶安全層面的需求;對於體量比較大、資金雄厚的客戶,從開始就開始做託管方案也是 make sense 的,也能給用戶不錯的體驗,如果可以接受非託管的方案,並且想要大幅度降低使用門檻,找我們是完全可以做的。
定製化其實是從客戶中搜集普遍需求,如果我們判斷大部分的客戶都需要這個層面的方案,我們就會去做,比如說一開始接的項目 SDK 大家沒有 native 的需求,但是後來需求變得很普遍,大家都希望將 SDK 嵌入到自己的 app 裡面,那麼後來我們就開始做這個方案,做 SDK 就引入 stss,後來我們想了一下客戶很多遊戲都是用 unity 來做,我們直接用引擎級別的 SDK 可能會更合適,也就是我們會不斷調整定製化的服務,另外我們 SDK 提供的靈活度也是足夠的,能夠滿足定製化的需求。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 加入鉅亨買幣LINE官方帳號索取免費課程
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇