原文:Native Account Abstraction: Opening Blockchain to New Possibilities
翻譯及校對:「Starknet 中文社區」
精選速覽
區塊鏈通往主流市場的旅程有一大障礙:安全性和用戶體驗的局限性阻礙了更廣泛的Web 2 用戶加入區塊鏈。
有什麼解決方案嗎?那就是帳戶抽象(Account Abstraction)。這是顛覆區塊鍊格局的軟件層,使帳戶擁有靈活的設計和可調整的確定性行為。
帳戶抽像在以太坊和Starknet 上均可用,但實現方式有所不同。 Starknet 擁有原生帳戶抽象,即所有的帳戶都是智能帳戶。而以太坊則是在不忽略EOA 傳統功能的情況下,通過ERC-4337 添加帳戶抽象。然而,EOA 持續繁榮的環境將大大削弱帳戶抽象的優勢,因為應用程序將不得不繼續迎合EOA。
EOA 的壁壘
外部帳戶(EOA)是以太坊為創建鏈上用戶代表而設立的簡單解決方案。該方案讓用戶可以通過將EOA 與帳戶資產鏈接,從而與區塊鏈進行交互並擁有資產。
儘管這是一種更簡單的方式,但EOA 的行為是由其部署的協議預先決定的,因此它們缺乏靈活性,無法根據用戶的不同需求進行調整。這通常會導致用戶體驗不佳,並阻礙了大規模應用。協議已經預先定位了最大的問題,即EOA 由一對私鑰和公鑰控制。必須使用一對密鑰來啟動交易會導致以下三個主要問題:
糟糕的用戶體驗— 要求用戶將私鑰存放在一個安全、隱蔽的地方,這對於那些習慣使用更智能、更現代的方法(如六位數字密碼或面容ID)的人來說並不直觀,從而使得發起交易變得更具挑戰性。
只認准私鑰— 了解私鑰的詳細信息不僅是發起交易的唯一方法,而且也是協議識別帳戶所有者的唯一方式。這樣就會產生安全隱患— —如果你的私鑰被盜,帳戶就無法區分你本人和盜取你私鑰的人了。
協議主宰一切— 從上述例子可以清楚地看出,在EOA 領域,決定交易有效性的是以太坊協議而非開發者。
將帳戶行為確定為鏈協議的一部分所帶來的複雜問題,在大多數鏈中都存在。
打破壁壘:引入帳戶抽象
大多數鏈都存在這樣的問題,即由協議決定帳戶行為,而非用戶。早在2015 年,以太坊聯合創始人Vitalik Buterin 就討論過這些挑戰。他將帳戶抽象描述為一種更簡單的處理帳戶的方法,即減少,甚至終結對私鑰的依賴。更重要的是,帳戶抽象創造了一系列其他的好處,使Web3 的用戶體驗可以與Web2 一樣流暢,從而便於Web3 的大規模應用。
多年來,出現了兩種重要的帳戶抽象方式,它們都有著相同的目標,那就是使開發者能夠設計他們的應用程序,並創建一種更簡單的帳戶處理方式。
ERC-4337
如前所述,EOA 是以太坊不可或缺的一部分,它們的行為由以太坊協議定義。除了EOA 之外,以太坊還擁有合約,其中包含用戶定義的代碼。 2023 年,以太坊推出了一項協議升級— ERC-4337,目的是在不引入重大協議變更的情況下,彌合EOA 和合約之間的結構差距。 ERC-4337 的主要理念是引入一個新角色:Bundler。 Bundler 的作用是收集用戶操作(將它們視為在專門的內存池中收集的元交易),並通過他們自己的EOA(由Bundler 控制)將這些用戶操作發送到以太坊。通過這種方式,Bundler 允許開發者和用戶部署並交互帳戶合約,從而獲取帳戶抽象的優勢。
通過ERC-4337 將帳戶抽象引入以太坊,使開發者能夠為合約創建更靈活的行為。然而,以太坊仍然會繼續維護EOA。對於開發者來說,這樣做的後果是必須同時服務EOA 和ERC-4337。在EOA 成本更低的生態系統中,可以預見EOA 將繼續佔據主導地位,應用程序將無法在整個用戶群體中收穫帳戶抽象的實際價值。
模擬或追隨以太坊的EVM 鏈(包括zkEVM)也將經歷類似的演變:EOA 將持續作為主導的帳戶類型,這將削弱這些EVM 鏈的本可享受的帳戶抽象優勢,並且使它們失去原本無需解決EOA 遺留問題的優勢。
Starknet 的原生帳戶抽象
相比之下,Starknet 將帳戶抽像作為其核心,即所有的帳戶都是智能帳戶。 Starknet 沒有EOA,而是直接躍入每個帳戶都是智能帳戶的世界。所有的基礎設施,包括錢包和區塊瀏覽器,都是為帳戶抽象而設計並構建的。這在所有L1 和L2 鏈中都是獨一無二的,這使Starknet 成為第一個智能生態系統:建設者們可以在知道帳戶抽象適用於所有帳戶的情況下構建自己的應用程序和工具,而無需為非帳戶抽象的帳戶工作並提供服務。建設者們可以設計他們的應用程序,從帳戶抽象所提供的各種機會中受益,因為他們知道智能帳戶是用戶與應用程序交互的唯一方式。
Starknet 上的原生帳戶抽象消除了因引入Bundler(如ERC-4337 所做的那樣)所帶來的額外複雜性。無需調整基礎設施和工具來與Bundler 進行交互,而是通過指定排序器來履行Bundler 的角色,從而簡化這個流程。
帳戶抽象的三大支柱
帳戶抽象主要包括三個組成部分,分別是簽名抽象、費用抽象和Nonce 抽象。每個部分都有其獨特的作用,來提升整體用戶體驗。
簽名抽象
簽名抽象設計交易流程,讓定義有效交易的權力掌握在架構師,即帳戶設計者手中,無論這個人是開發者還是用戶。這樣做的主要好處在於可以自定義帳戶權限,並使得使用智能手機控制帳戶成為可能。
費用抽象
費用抽象允許使用不同的代幣來支付交易費用,而不局限於網絡原生代幣。例如,用戶可以直接使用USDC 支付交易費,而無需先將USDC 兌換成本地代幣,從而節省了兌換費用和時間。
Nonce 抽象
Nonce 抽象確保了用戶的舒適性和便利性。傳統的順序nonce 解決方案存在一些用戶體驗缺陷。例如,由於需要強制執行完整排序,就會限制用戶同時發送多個獨立交易。 Nonce 抽象通過允許自定義帳戶的重放保護機制來提供所需的靈活性。
諸如Starknet 這樣的Rollup,可以被視為區塊鏈操作系統。當設計一個新的操作系統時,如果無需接手之前操作系統遺留的問題挑戰,事情通常會進行得非常順利。這就好比,建造一棟新房子往往比翻新一棟舊房子更簡單。在設計新房子時,應該在藍圖階段就考慮將重要的基礎設施,如電線、管道和供暖系統等融入其中。在建造新房時,僅僅對已知的未來所需的標准進行調整和變通是沒有意義的。同樣的原則也適用於帳戶抽象。 Starknet 的設計是著眼於未來,我們相信它將成為構建應用程序的標準方式。 Starknet 以帳戶抽像作為默認選項,事實上也是唯一的選項,從而提供了我們期望在未來擁有的流暢的、高效的且用戶友好的體驗。
從實施帳戶抽象帶來的功能來看,有兩個顯而易見的好處:一是用戶可以享受更好的用戶體驗,二是開發者不需要被EOA 的遺留問題所困擾。
Starknet 建設中的帳戶抽象
正如軟件的發明徹底改變了現金經濟,Starknet 的智能生態系統同樣已經為未來發展提供了肥沃的土壤。最初,軟件實現了數字化記錄並簡化了流程,現在它已經發展成為成了一套更廣泛的系統,用於管理交易、跟踪財務以及自動化財務流程。同樣,Starknet 的智能生態系統賦予了開發者與各種應用以及提供商進行流暢交互的能力。這不僅增強了用戶體驗,使其更豐富、更有活力,還促進了協作和創新環境,為開發提供了持續增長的沃土。
以下幾個應用取得的進步充分證明了在Starknet 原生智能帳戶上使用簽名抽象的優勢:
Braavos
Braavos 團隊使用Starknet 原生智能帳戶創建了一款智能錢包,這種錢包能夠提供類似Web 2 的體驗,讓您可以使用手機的生物識別功能來訪問你的錢包。這是一件令人興奮的事情!大多數區塊鏈所使用的加密技術與移動設備使用的加密技術存在差異,這通常會導致極高的簽名驗證成本。而未來,在保持高級別的安全性前提下,使用手機簽署交易也許會成為可能。
Argent
通過使用簽名抽象,ArgentX 的監護服務Argent-Shield 帶來了另一項創新。這項服務通過讓Argent 充當監護人,讓用戶為自己的帳戶增加了一層保護。只有通過郵件確認的交易才會被Argent 批准。這是我們熟悉的另一種雙因素身份驗證機制,通常應用於許多非區塊鏈應用程序中。
Visa
STARK 證明的發明是為了解決以太坊的可擴展性挑戰,旨在達到與Visa 相同的每秒交易量( TPS)處理能力。因此,Visa 決定在Starknet 上探索其備受關注的「自託管錢包的自動支付」項目,這是一個重要的里程碑。這證明了Visa 對我們先進技術和創新智能生態系統的認可。
結論
Starknet 的生態系統正日益壯大,越來越多的開發者利用Starknet 的原生帳戶抽像以最靈活的方式設計他們的應用程序。與其他供應商進行集成的可能性、為用戶提供更加精細化和個性化體驗的能力,這些都展現了數字經濟的無盡潛力。
開發者無需再應付陳舊的技術,相反,可以在面向未來需求而設計的環境中,從頭開始構建應用程序。