注:原文作者是以太坊聯合創始人VitalikButerin。
賬戶抽象允許我們使用智能合約邏輯來指定交易的效果,以及費用支付和驗證邏輯。這帶來了許多重要的安全好處,例如多重簽名和智能恢復錢包,能夠在不更換錢包的情況下更換密鑰以及量子安全性。
許多帳戶抽象的方法已在不同程度上被提出并得到了實施,參見:EIP-86、EIP-2938?,以及兩年前的這篇文章?。今天,由于開發者們希望專注于合并與分片,這些EIP的開發陷入了僵局,而ERC-4337?這種不需要任何共識更改的替代方案已經取得了很大進展。
ERC-4337嘗試通過額外的協議手段實現和EIP-2938相同的事情。用戶需要發送稱為用戶操作的鏈外消息,這些消息由區塊提議者或為區塊提議者生成bundles的構建者批量收集并打包成單筆交易。提議者或構建者負責過濾操作以確保他們只接受支付費用的操作。用戶操作有一個單獨的mempool存儲池,連接到這個存儲池的節點會進行ERC-4337特定的驗證,以確保用戶操作在轉發之前能夠支付費用。
ERC-4337作為一個純自愿的ERC可以做很多事情。然而,在一些關鍵領域,它比真正的協議內解決方案更弱:
Skale Network發布Levitation Protocol:金色財經報道,Skale Network 發布了 Levitation Protocol,一個零知識 (ZK) Rollup,旨在為以太坊開發人員提供新的擴展解決方案。[2023/6/2 11:53:37]
現有用戶如果不將其所有資產和活動移動到新帳戶,則無法升級;
額外的gas開銷;
較少受益于協議內抗審查技術,它以交易為目標并會錯過用戶操作
而實現最佳效果的一條現實途徑,是在短期內開始大力支持ERC-4337,然后隨著時間的推移添加EIP來彌補其弱點。這并不一定需要大家專門承諾遵守ERC-4337。相反,可以將協議內支持設計為更通用,并支持ERC-4337及其替代方案和改進。
在這里,我將列出其中的一些EIP,并說明它們可以按什么順序實施。
將EOA錢包轉換為智能合約錢包
為了讓現有的EOA錢包升級到ERC-4337錢包,我們可以制作一個EIP,允許EOA執行設置其合約代碼的操作。一旦EOA做到了這一點,這種轉變就不可逆轉。從那時起,該帳戶將僅用作智能合約錢包。幸運的是,由于ERC-4337帳戶是DELEGATECALL代理,因此如果需要,以后可以將錢包轉換為與其他ERC兼容的智能合約。
地址vitalik.eth轉移200 ETH至Kraken:金色財經報道,數據顯示,地址vitalik.eth轉移200 ETH至Kraken。[2023/5/5 14:44:53]
關于如何實施此升級過程有一些提案:
1、“replacecode”交易類型
這還沒有作為正式的EIP引入,但方法很簡單:添加一個新的EIP-2718?交易類型,只需將帳戶碼替換為calldata。
2、AUTH_USURP(EIP-5003)
EIP-5003?是EIP-3074?的擴展提案,它引入了新的AUTHUSURP操作碼。如果使用EIP-3074機制,EOA地址A已授權另一個地址B代表它行事,則AUTHUSURP允許B設置A的代碼。
這種方法比“replacecode”路線更復雜,只有當我們打算采用EIP-3074時,這才有意義。
強制轉換
在更長遠的未來,我們可能希望進行強制轉換,以簡化協議,并使合約成為唯一的帳戶類型,從協議中取消ECDSA。一種可能的方法是添加一個覆蓋規則,從某個區塊開始,沒有code的賬戶被視為具有特定標準化“ERC-4337EOA錢包”code的賬戶。
Vitalik Buterin于5個小時前再次向土耳其捐款地址捐贈99枚ETH:金色財經報道,據Etherscan數據顯示,北京時間2月11日13:49:23,vitalik.eth(Vitalik Buterin的以太坊地址)向被標記為Ahbap Yard?m/Earthquake Support的地址捐贈99枚ETH(約15萬美元)。目前,該地址ETH余額約為393枚ETH(約60萬美元)。
此前2月10日報道,Vitalik Buterin將231,481枚USDC轉至Gemini,并向土耳其賑災捐款地址捐贈1枚ETH。[2023/2/11 12:01:14]
這可以通過“poking”過程來完成,其中任何源自EOA的交易都將其轉換,并且任何觸及具有非零nonce的EOA交易都會將其轉換。也可以一次性通過整個狀態來完成。
問題
合約內ECRECOVER驗證:一些智能合約依賴于這樣的假設,即如果你向特定賬戶提供ECRECOVER的簽名,你就擁有該賬戶。如果EOA轉換為合約,然后更改其驗證密鑰,則原始密鑰仍然能夠在這些特定上下文中“代表”帳戶。這可通過開始鼓勵所有此類項目更改為使用EIP-1271驗證,而不是在帳戶有code的情況下使用ECRECOVER。
以太坊創始人Vitalik購買價值50ETH的UBI并進行銷毀:10月20日消息,據鏈上數據,以太坊創始人Vitalik Buterin錢包購買了價值50ETH的UBI并進行銷毀。據悉,Proof of Humanity 是引入人性論證的 DAO,使用社交驗證的登記系統,公開參與、真正民主的一人一票治理系統,$UBI是Proof of Humanity的代幣。[2021/10/20 20:42:02]
尚未檢測到的賬戶:強制轉換面臨的一個挑戰是擁有資產但尚未發送或接收任何交易的賬戶,因此協議無法可靠檢測到這些賬戶。協議必須保留將此類賬戶永久轉換為默認錢包的功能,或者需要有一個截止期,在此之后尚未轉換的帳戶將被燒毀。
EOA只檢查不可轉讓性:一些應用程序實施合約內檢查以僅允許EOA與其交互。這通常是為了強制執行不可轉讓性。從根本上來說,這是一個壞主意,并且與轉向智能合約以提高安全性的目標不相容。因此,不應鼓勵這種做法,而應鼓勵應用依賴原所有者恢復程序來使轉移無法執行。
降低Gas成本
ERC-4337錢包面臨更高的gas成本,原因如下:
1、需要支付大量的單個存儲讀/寫成本,在EOA的情況下,這些成本會捆綁到一筆21000gas的付款中:
聲音 | Kevin Davitt:比特幣期貨波動率創歷史新低:據marketwatch消息,Cboe Global Markets期權研究所高級分析師Kevin Davitt表示,截至10月26日的一周是近一年前推出比特幣期貨以來波動最小的一周,10月份XBT期貨的平均每周波動率約為6.6%,遠低于自成立以來的平均水平15.65%。[2018/11/6]
編輯包含pubkey+nonce(~5000)的存儲slot;
用戶操作調用數據成本;
ECRECOVER(~3000);
首次訪問錢包本身(~2600)
首次訪問收款人賬戶(~2600)
將ETH轉入收款人賬戶(~9000)
編輯存儲以支付費用
訪問包含代理(~2100)的存儲slot,然后訪問代理本身(~2600);
2、除了上述存儲讀/寫成本之外,合約還需要執行“業務邏輯”
3、需要消耗gas來支付日志費用;
4、一次性合約創建成本
其中很多問題將在Verkle樹witnessgascostEIP?以及writegascostreformEIP?中自動解決,以更精簡的系統取代大量存儲成本。例如,pubkey和nonce可以存儲在slot0…63中,這將訪問它們的成本降低到1000以下。用戶在轉移ETH和支付費用時支付的費用會更少,因為目標賬戶和接收賬戶只需要被首次訪問一次。
還有更多的EIP可以幫助我們實現簡化。例如:
禁止智能合約邏輯使用slot0的自愿ERC,將允許它用于存儲代理,從而使其受益于更便宜的gas成本。
“codeaddress”字段可以使代理更輕松,消耗的gas更少。
“snappycompression”預編譯可以更輕松地使用ABI對象,而無需為所有零字節支付calldatagas成本。
這是一個需要更多研究的領域。
crLists
這是一個長期的問題,因為只有啟用了完全的協議提議者/構建者分離方案后,crLists才真正適用。挑戰在于,我們希望提議者能夠識別“值得”包含的用戶操作,以便協議可以迫使它們被包含在下一個有空間的區塊中。
這要求在協議中明確“驗證”和“執行”的概念。對于用戶操作,必須有一種已定義的方法來驗證該操作,以及有一種已定義的方法來執行該操作,這樣如果某個操作被驗證,則執行該操作的嘗試將是保證支付費用的,除非被讀取的狀態在驗證期間被修改。這些操作可以通過嵌入ABI方法來實現,如果實現了EOFEIP,也可以通過添加專用的EOF部分來實現。
幸運的是,這不需要我們把ERC-4337當作一個最終標準,而是納入ERC-4337所支持的一個較弱概念,其他在很大程度上不同的ERC也可以輕松支持它。
原因是,ERC-4337和EIP-2938的復雜性很大程度上與解決更強的DoS抗性問題有關:不可能使一個操作取消數百個其他操作,因為這將允許廉價地對mempool進行垃圾交易攻擊。這需要對帳戶驗證可訪問的內容施加限制。在這里,我們可以做一些更簡單的事情:只記錄在驗證過程中觸摸了哪些狀態對象,如果這些狀態對象中的任何一個被編輯,則不需要包含。
這使得個人賬戶可以在審查抵制和靈活性之間選擇自己的權衡。在極端情況下,如果賬戶愿意,可以通過Uniswap在驗證期間支付費用,但由于任何人都可以發送影響Uniswap狀態的交易,因此此類賬戶實際上沒有抗審查保證。
crList設計的大致輪廓如下:
提議可以包含一個crList,它指定要包含的操作列表,以及每個操作讀取的狀態對象(key,value)對的列表。接受crList的構建者必須檢查所有操作是否通過validate檢查。
執行crList中的每個操作都需要該區塊,除非該區塊沒有足夠的剩余gas,或者執行時的當前狀態已經編輯了該操作讀取的狀態對象之一。
ERC-4337的剩余復雜性將僅用于mempool安全。原則上,可以有多個相互競爭的ERC以不同的方式實現該目標,只要它們都遵循相同的驗證和執行標準。
這種方法的一個缺點是它與簽名聚合不完全兼容:因為協議不“理解”聚合方案,它不能強制聚合,惡意構建者可能納入未聚合的操作,并迫使發送者為其支付全部gas。但這種不便可以說是適度的。
可能的路線圖
短期
將ERC-4337全面投入生產。理想情況下,可以使用簽名聚合功能對其進行擴展,以實現rollup友好性。
應該有接入ERC-4337的易于使用的瀏覽器錢包。
考慮實現簽名聚合和壓縮,以使ERC-4337對L2更加友好;
在L2協議中引導ERC-4337生態,其中gas成本問題會較少;
中期
實施Verkle樹,添加EIP以降低gas成本;
添加可選的EOA-to-ERC-4337轉換;
在PBS推出的同時或不久之后添加crList邏輯;
長期
考慮強制轉換;
可能的替代方案
考慮編寫一個在協議層包含ERC-4337等效帳戶和交易的EIP,并推動其在L2中的采用;
使用一種通過axuliary區塊?工作的抗審查解決方案,消除用戶操作對以太坊協議的可讀的需要;
2022年6月19日,Solana生態借貸協議Solend發起的治理提案SLND1,以115萬贊成票及3萬反對票的結果通過.
1900/1/1 0:00:00鏈游被看作是最容易出圈的區塊鏈應用之一,被賦予厚重的期望,但近期市場的風險厭惡情緒愈發高漲,鏈游的未來撲朔迷離。本期CIGLabs邀請了幾位非常具有代表性的嘉賓,一起來聊聊鏈游該如何破局.
1900/1/1 0:00:00金色財經區塊鏈6月18日訊?雖然P2E游戲深受加密玩家歡迎,但在更廣泛的游戲領域里,似乎仍有不少“純玩家”對其嗤之以鼻,為什么會這樣呢?下面就讓我們一起來深入了解一下.
1900/1/1 0:00:00雖然幣價大幅下跌,但加密貨幣的基礎技術——區塊鏈,將在未來十年繼續變革技術領域。Web3世界的許多愿景過于宏大,而貼近消費者的應用往往才是行業爆發的突破口.
1900/1/1 0:00:00本文針Fenbushi和Balancer、1inch的TwitterSpace做了整理,節選了嘉賓們的精彩對話.
1900/1/1 0:00:00這一周的NFT市場是火熱的。被Coinbase稱為NFT屆的「超級碗」NFT.NYC盛會正在紐約如火如荼地進行著,吸引了來自世界各地的NFT玩家前來「朝圣」.
1900/1/1 0:00:00