DAOrayaki:帳戶抽象如何確保以太坊大規模採用
作者:Fifty Finney
原文標題:《Account Abstraction --- A pivotal step in ensuring Ethereum's adoption.》
帳戶抽象是今年被反覆關注的話題,但很少有市場參與者了解它是什麼以及它如何改變遊戲規則。根據 Vitalik 的說法,帳戶抽象是"我們一直想要的東西",並且它一直是"以太坊社區的長期夢想"。
本篇文章,我們將討論,帳戶抽象在擴展以太坊區塊鏈和確保大規模採用中的作用。
首先,要全面了解帳戶抽象,我們首先需要了解計算機科學中的抽象是什麼:
抽象的藝術:
抽象是指去除系統的物理、空間或時間細節,並專注於更重要的屬性。
軟件工程中一種流行的抽象形式是數據抽象,它只是指隱藏信息並允許用戶在高層次上使用計算機,而無需徹底了解其背後發生的邏輯或過程。
資料來源:TIBC
例如,當開發人員要編寫軟件時,他們會編寫 Python、Java 等高級編程語言。程序員不需要了解如何編寫構成機器碼的 0 和 1。
以太坊帳戶抽象
帳戶抽象是數據抽象的一種形式。要了解從以太坊帳戶中抽象出什麼,我們必須首先了解帳戶在以太坊上是如何工作的。以太坊上有兩種類型的帳戶,即:
外部擁有的帳戶 (EOA)、合約帳戶 (CA)
外部擁有的帳戶 (EOA)
這些本質上是用戶控制的帳戶,由一對加密密鑰、一個公鑰和一個私鑰組成。它們由持有私鑰的任何人生成和控制。創建這種帳戶不需要任何費用,帳戶用戶可以發起交易。
合約帳戶 (CA)
合約帳戶是由以太坊網絡上的代碼控制的智能合約。合約沒有私鑰,而是由以太坊網絡上的智能合約代碼的邏輯控制。由於您正在使用網絡存儲,因此開立合約帳戶需要支付一定的費用。這種帳戶只能發送交易作為對接收交易的響應。
以太坊帳戶有四個字段,即:
Nonce - 這充當一個計數器,指示從帳戶發送的交易數量。 nonce 是一個重要的特性,因為它確保事務只在 EOA 上發生一次。在 CA 上,nonce 代表一個帳戶創建的合約數量。
餘額 - 這表示以 wei 衡量的地址擁有的 eth 數量。
Codehash - 這是指以太坊虛擬機(EVM)上的帳戶代碼。不同的代碼片段具有不同的獨特功能,一旦調用代碼的哈希值就會發揮作用。對於 EOA,這由空字符串的散列表示。
Storageroot - 這也稱為 storage has 並簡單地映射帳戶的存儲內容。
資料來源:以太坊文檔
現在我們知道了以太坊上的兩種帳戶,我們可以定義帳戶抽象。帳戶抽象是將以太坊的兩種帳戶(外部擁有帳戶和合約帳戶)簡化為單一類型------合約帳戶的過程。由此產生的合約帳戶將能夠發起交易、支付交易費用,並且可以根據用戶的獨特需求進行定制。合約帳戶將具有傳統 CA 和 EOA 的功能。
實施技術
以太坊的創始人 Vitalik Buterin 描述了幾種在網絡上實現帳戶抽象的方法。這些方法包括:
- Lazy Full Abstraction:這是經常討論的抽象形式。它是將以太坊帳戶從 EOA 和 CA 減少到只有 CA。用戶將資金存儲在合約帳戶中,合約代碼解釋並執行編碼在 nonce、餘額、代碼哈希、簽名、gas 價格和存儲哈希中的數據。
優點:
這使得協議非常簡單
缺點:
需要將非常複雜的代碼硬連接到每個帳戶中,以驗證 nonce 簽名並支付 gas。
在礦工為發件人創建新帳戶之前,需要額外的邏輯。
由於帳戶是以非標準方式創建的,因此可以多次包含具有相同哈希的交易。
- 去除隨機數抽象:在這種實現技術中,通過使交易隨機數等於帳戶隨機數來抽象隨機數。
優點:
nonce 抽象消除了事務在多個地方發生的可能性
缺點:
它使基礎協議更加複雜。
- 標準化簽名方案:這種抽象方法為交易添加了字節數組字段簽名。
優點:
這使簽名驗證更簡單
缺點:
它增加了基礎層的複雜性。
Vitalik 概述的其他一些帳戶抽象技術包括添加斷點操作代碼、添加付費Gas操作代碼、插入Gas價格 + 恐慌操作代碼、結合恐慌和付費Gas操作代碼、在交易中組合鹽(salt) + 代碼、新創建的帳戶支付。
帳戶抽象的好處
至此,您可能想知道這對您有何影響,以及這將如何使以太坊區塊鏈變得更好。讓我們來看看帳戶抽象的一些好處:
1、多呼叫功能的實現:目前,在與以太坊區塊鏈交互時,您必須為每個操作進行新的交易。有了抽象,所有交易都可以一鍵完成,節省了用戶的Gas、時間。
2、會話密鑰:會話密鑰允許用戶在與去中心化應用程序(Dapp)交互時指定規則。這些規則將保證更高的安全性,因為用戶僅限於預先批准的規則,確保惡意行為者無法修改帳戶並竊取您的資金。可以使用會話密鑰指定的一些參數包括帳戶可以與 Dapp 保持連接的最長時間、可以使用的最大Gas以及可以交易的代幣數量的安全閾值。一些實現此功能的團隊包括戰利品領域、briq、matchboxDAO 和分類帳。
3、社會恢復。帳戶抽象化允許結束metamask流行使用的種子短語。社會恢復允許用戶通過一個值得信賴的聯絡人或可靠的第三方服務指定恢復方法。如果用戶在試圖恢復帳戶時改變主意,他們也可以在恢復前設置延遲計時器。Argent正在實施這一措施,並允許用戶在google drive上備份其加密的種子短語。
4、多因素認證:一些傳統金融機構正在推動規範雙因素認證。這種安全模型可以通過帳戶抽象來實現,允許用戶指定和創建多重簽名錢包。
5、插件:帳戶抽象允許第三方開發人員在創建帳戶時插入新功能。
6、多代幣費用支付:帳戶抽象將使用戶能夠以以太坊以外的任何代幣支付Gas費。
7、費用委託:帳戶抽象將允許用戶代表他人支付費用。項目和協議可以代表用戶支付 gas 費用,使入職過程更加無縫。
8、多樣化的簽名方案:帳戶抽象將允許與當前 ECDSA 方案不同的簽名方案。只有抽象才會允許這種變化。這將:
引入量子阻力,確保以太坊不能被偽造或被量子計算機攻擊。
創造更有效的簽名算法,這將可能導致更低的Gas費用。
允許合約帳戶可升級。
我們相信,帳戶抽象化可以使以太坊鏈對網絡更加可用,以使下一波用戶進入DeFi。