原文:《 Account abstraction, the new shiny object in crypto 》
作者: Dana J. Wright
Account Abstraction(賬戶抽象),簡稱AA,現在是加密領域最熱門的話題之一。
人們對AA的希望已經從簡單地提高區塊鏈的可用性,轉變到解鎖一個全新的功能世界,並希望它最終能夠帶來大規模採用。
人們對此感到興奮,但是當我們查看AA的一些實例之後其實就可以發現這種炒作看起來有些誇張。
因為,現在為了解決助記詞的問題,項目團隊在隱私方面做出了妥協,他們要求用戶信任不透明或不可知的第三方,並且構建了與現有錢包標準不兼容的密鑰管理模式。
這樣做看起來是為時過早的。
已經構建的AA類型都有什麼?
首先,我們需要先了解一下外部擁有賬戶的概念。
在設置典型的非託管錢包時,我們會得到一對密鑰:公鑰和私鑰。
我們通過共享自己的公鑰來接收資金,並只能通過驗證(或簽名)個人擁有的私鑰來發起發送。
上面這種最高級別的錢包所有權也被稱為外部擁有賬戶(EOA)。
第一種類型:iCloud
一種常見的AA形式是讓用戶將自己的私鑰保存在雲中,並使用用戶名和密碼進行身份驗證。
有些人質疑這是否符合AA的條件,可以說在某種意義上確實符合,因為這種方法取消了寫下和保護助記詞的需要,並為用戶提供了一種熟悉的模式來驗證和恢復自己的私鑰。
第二種類型:SSS
現在變得越來越常見的一種更複雜的方法是利用被稱為Shamir Secret Sharing (SSS)的技術。
使用這種方法,會使私鑰被分解成多個“密鑰共享”,用戶必須對其中的某個閾值(通常是三個中的兩個)進行身份驗證以重構整個私鑰。
具體項目例子
舉例的這些錢包代表了一些不同的常見錢包類型。
Argent是主要用於加密資產保存和長期存儲的移動應用程序錢包。
BSC錢包是一個瀏覽器擴展,可用於訪問幣安智能鍊和該生態系統中的dApp。
Sequence是一款支持多鏈的專為遊戲而設計的網絡錢包。
下面看看這些錢包現在是如何管理密鑰的。
Argent
Argent提供兩種私鑰管理選擇:
選擇一:我們可以將私鑰保存到自己的iCloud 密鑰鏈,並使用生物識別或PIN進行身份驗證。
這個方式確實非常方便,但鑑於iCloud已變成黑客的一大目標,所以將私鑰存儲於其中會容易受到安全漏洞的攻擊。同時隱私也將受到損害,因為iCloud賬戶與私鑰相關聯,也就相當於自己所有個人身份信息和DNA樣本已經附加到了自己的私鑰上。
選擇二:使用SSS將自己的私鑰分成3個或更多個來進行密鑰共享,並將它們保存在幾個監護人之中。
監護人可以是以下的實體:
- 硬件錢包或其他設備,如手機;
- 朋友或家人的設備(自己真正信任的人);
- 在Argent 服務器上存儲密鑰共享的Argent 監護人。
用戶可以按照需求設置任意數量的監護人,並定義自己的閾值,這確實增加了用戶設置的靈活空間。
這種方式也減少了進行設置時投入的精力,我們也可以用私密且無需信任的方式進行配置。
但它也有缺點,就是我們創建的錢包與使用普通錢包標準的任何其他非託管錢包不兼容。我們要時刻祈禱該項目不要倒閉,並且自己的監護人都安然無恙。
Argent還允許用戶從設置中導出助記詞,這樣助記詞就將與其他BIP-39標準錢包兼容,那...使用SSS設置的監護人就會如同虛設。
BSC
BSC也為用戶提供將私鑰保存到谷歌云或通過SSS保護私鑰的選擇,與Argent相似。
在BSC中監護人被稱為“身份驗證因素”,工作方式與Argent相同,只是用戶無法選擇密鑰共享的存儲位置:
- Share 1保存到Torus Network,使用Google oAuth認證;
- Share 2保存到BSC chrome擴展客戶端;
- Share 3存儲在Binance,並使用用戶名和密碼進行身份驗證。
BSC也使用用戶名和密碼模式將私鑰保存到Google,或者將密鑰共享保存到幣安。
BSC的主要局限性在於,當與穀歌進行連接以後,提供商將可以訪問與該谷歌賬戶相關聯的個人身份信息。再者,BSC對SSS的實現是BSC錢包獨有的,所以以這種方式創建的錢包與其他錢包不兼容。最後,密鑰共享是必須保存在幣安服務器上的,所以對幣安的依賴性會很大。
Sequence
Sequence的方法是完全隱藏私鑰的存在。
閱讀其條款,我們才能知道該項目使用的是SSS:
"將會有3個與您有關的私鑰,想要在給定的時間內訪問錢包是需要其中2個私鑰的。一個私鑰存儲在您的本地設備上。另一個私鑰是需要使用您提供的登錄憑據來生成的。第三個私鑰由Horizon維護。當您使用登錄憑證來登錄帳戶/錢包時,您可以使用存儲在設備上的私鑰和與登錄憑證相關的私鑰訪問帳戶。"
但我們不知道用戶的第2個私鑰共享存儲在哪裡,我們也就無從得知這個第三方是誰。
雖然使用自己的facebook或者谷歌來登錄是很簡單方便的,但一旦我們的設備不幸丟失,弄丟的還有我們的一個密鑰共享。對於那些一般不讀條款的用戶,他們將對這種情況一無所知。
賬戶抽象的第三種類型
加密人士討論的AA,顯然不是前面兩種,他們討論的是第三種理論的未來承諾。
在解釋第三種之前,我們應該先了解一下EOA的層次結構的下一層,那就是合約賬戶(CA),也可以被稱為智能合約層。
我們可以把CA看作是存在於以太坊網絡上的應用程序。 CA是可編程的,可以在它上面做很多事情,但它不能發起交易。反正現在是不能。
Vitalik曾經描述過賬戶抽象的未來願景是合併EOA和CA,可以使CA發起交易。
這種能力的實現,將開啟一個全新的功能世界,包括但不限於:
- 更好的社會恢復系統——不依賴第三方,並向後兼容其他錢包;
- 多重簽名合約賬戶——需要多方簽署交易以獲得額外的CA 安全層;
- Gas 費用抽象——智能合約執行必要的操作以實物支付tx 費用,甚至讓用戶決定費用是由發送方還是接收方支付;
- 可委託賬戶——它將允許使用智能合約進行自動/經常性支付。
第三種類型的發展現狀
Layer2 領域目前在這方面處於領先地位,zkSync最近部署了一組工具來促進實現有限的AA 功能集。
以太坊方面,集成AA(EIP-4337)的以太坊改進提案也得到了開發人員和以太坊社區的關注。
但單從用戶體驗來看,第2層還是比較麻煩的,因為在默認情況下,大多數加密資產都不在第2層上。用戶基本上是要從以太坊主網上獲得這些資產,進行橋接之後才能享受第2層的服務。
而EIP-4337或廣受讚譽的EIP-4844都沒有採取任何措施來解決這個問題。
結論
第一種類型和第二種類型基本上相當於是準中心化託管,沒有備份,它們雖然是解決助記詞的勇敢嘗試,但涉及到長期儲存時,就感覺是在賭運氣。
至於第三種類型,現在取得的進步確實令人印象深刻,AA技術的下一步發展絕對值得我們密切關注,但現在貌似還為時過早。