注:原文作者是以太坊聯合創始人VitalikButerin。
賬戶抽象允許我們使用智能合約邏輯來指定交易的效果,以及費用支付和驗證邏輯。這帶來了許多重要的安全好處,例如多重簽名和智能恢復錢包,能夠在不更換錢包的情況下更換密鑰以及量子安全性。
許多帳戶抽象的方法已在不同程度上被提出并得到了實施,參見:EIP-86、EIP-2938?,以及兩年前的這篇文章?。今天,由于開發者們希望專注于合并與分片,這些EIP的開發陷入了僵局,而ERC-4337?這種不需要任何共識更改的替代方案已經取得了很大進展。
ERC-4337嘗試通過額外的協議手段實現和EIP-2938相同的事情。用戶需要發送稱為用戶操作的鏈外消息,這些消息由區塊提議者或為區塊提議者生成bundles的構建者批量收集并打包成單筆交易。提議者或構建者負責過濾操作以確保他們只接受支付費用的操作。用戶操作有一個單獨的mempool存儲池,連接到這個存儲池的節點會進行ERC-4337特定的驗證,以確保用戶操作在轉發之前能夠支付費用。
ERC-4337作為一個純自愿的ERC可以做很多事情。然而,在一些關鍵領域,它比真正的協議內解決方案更弱:
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]
現有用戶如果不將其所有資產和活動移動到新帳戶,則無法升級;
額外的gas開銷;
較少受益于協議內抗審查技術,它以交易為目標并會錯過用戶操作
而實現最佳效果的一條現實途徑,是在短期內開始大力支持ERC-4337,然后隨著時間的推移添加EIP來彌補其弱點。這并不一定需要大家專門承諾遵守ERC-4337。相反,可以將協議內支持設計為更通用,并支持ERC-4337及其替代方案和改進。
在這里,我將列出其中的一些EIP,并說明它們可以按什么順序實施。
將EOA錢包轉換為智能合約錢包
Vitalik:從多個來源確認烏克蘭加密貨幣捐贈地址是合法的:2月27日消息,針對此前烏克蘭官方推特宣布接受加密貨幣捐贈,以太坊創始人Vitalik表示從幾個來源得到一些確認它是合法的,并暫時刪除我的警告。[2022/2/27 10:18:31]
為了讓現有的EOA錢包升級到ERC-4337錢包,我們可以制作一個EIP,允許EOA執行設置其合約代碼的操作。一旦EOA做到了這一點,這種轉變就不可逆轉。從那時起,該帳戶將僅用作智能合約錢包。幸運的是,由于ERC-4337帳戶是DELEGATECALL代理,因此如果需要,以后可以將錢包轉換為與其他ERC兼容的智能合約。
關于如何實施此升級過程有一些提案:
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時,這才有意義。
Vitalik:提高首次讀取存儲和賬戶訪問的gas可以極大降低處理攻擊的時間:以太坊創始人Vitalik發推表示:EIP-2929提案提到:提高首次讀取存儲和賬戶訪問的gas。這可以將出現DoS攻擊時的最壞情況處理時間減少到之前的1/3,從而更加安全地維持高gas的限制。[2020/9/2]
強制轉換
在更長遠的未來,我們可能希望進行強制轉換,以簡化協議,并使合約成為唯一的帳戶類型,從協議中取消ECDSA。一種可能的方法是添加一個覆蓋規則,從某個區塊開始,沒有code的賬戶被視為具有特定標準化“ERC-4337EOA錢包”code的賬戶。
這可以通過“poking”過程來完成,其中任何源自EOA的交易都將其轉換,并且任何觸及具有非零nonce的EOA交易都會將其轉換。也可以一次性通過整個狀態來完成。
問題
合約內ECRECOVER驗證:一些智能合約依賴于這樣的假設,即如果你向特定賬戶提供ECRECOVER的簽名,你就擁有該賬戶。如果EOA轉換為合約,然后更改其驗證密鑰,則原始密鑰仍然能夠在這些特定上下文中“代表”帳戶。這可通過開始鼓勵所有此類項目更改為使用EIP-1271驗證,而不是在帳戶有code的情況下使用ECRECOVER。
動態 | Kavita Gupta離職后 ConsenSys宣布重組其各項業務:據Cointelegraph消息,5月6日,風險投資公司ConsenSys在一份新聞稿中證實,其正在重組其各項業務,以鞏固其市場地位。據悉,其ConsenSys將整合ConsenSys實驗室、加速器Tachyon、風險投資運營公司以及ConsenSys Ventures合并為一個傘型投資部門。此前報道, ConsenSys Ventures負責人Kavita Gupta表示即將辭職,將擔任顧問并在斯坦福大學任教。[2019/5/7]
尚未檢測到的賬戶:強制轉換面臨的一個挑戰是擁有資產但尚未發送或接收任何交易的賬戶,因此協議無法可靠檢測到這些賬戶。協議必須保留將此類賬戶永久轉換為默認錢包的功能,或者需要有一個截止期,在此之后尚未轉換的帳戶將被燒毀。
EOA只檢查不可轉讓性:一些應用程序實施合約內檢查以僅允許EOA與其交互。這通常是為了強制執行不可轉讓性。從根本上來說,這是一個壞主意,并且與轉向智能合約以提高安全性的目標不相容。因此,不應鼓勵這種做法,而應鼓勵應用依賴原所有者恢復程序來使轉移無法執行。
降低Gas成本
ERC-4337錢包面臨更高的gas成本,原因如下:
金色財經獨家分析 以太坊創始人Vitalik反對通過分叉方式抵制ASICs:在周五舉行的開發者大會上,針對用分叉解決ASIC礦機的討論,以太坊創始人Vitalik表示,“在這一點上,我個人傾向于不采取任何行動。”金色財經獨家分析,據比特大陸官方消息,Antminer E3礦機將于7月開放銷售。該款礦機將改變以太坊的挖礦算法。以太坊的開采歷史上一直被GPUs所主導,這一改變將導致以太坊的挖掘中心化。另一方面,ASICs提高了進入的門檻,可能會排擠較小型的礦主。之前以太坊主要開發人員討論是否要對區塊鏈進行硬分叉,以抵制比特大陸ASIC礦機對算法的改變。在3月29日,以太坊開發者Piper Merriam提出了以太坊改進提案(EIP) #958,該方案尋求社區對區塊鏈是否應該分叉以及它如何“抵抗ASIC”的建議。此次在開發者大會上,Vitalik反對通過分叉方式抵制ASICs,這似乎預示著以太坊不會針對ASIC礦機進行硬分叉。[2018/4/9]
1、需要支付大量的單個存儲讀/寫成本,在EOA的情況下,這些成本會捆綁到一筆21000gas的付款中:
編輯包含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區塊?工作的抗審查解決方案,消除用戶操作對以太坊協議的可讀的需要;
區塊鏈在元宇宙和web3世界中是操作系統一樣的基礎設施,其性能決定了未來數字經濟的發展歷程。現階段,區塊鏈普遍存在著交易數據處理能力較弱的問題.
1900/1/1 0:00:00本文針Fenbushi和Balancer、1inch的TwitterSpace做了整理,節選了嘉賓們的精彩對話.
1900/1/1 0:00:00市場下行有助于從中淘汰不合格的市場參與者,減少市場投機,讓加密用戶專注更于項目的長期價值。根據最新的DappRadar和BGAGames報告,4月份區塊鏈游戲活動創下歷史新高.
1900/1/1 0:00:00薩爾瓦多累計投資比特幣約1.03億美元,如今虧損已經高達5741萬美元。薩爾瓦多一直是貨幣實驗的舞臺。2001年,美元成為該國唯一的法定貨幣.
1900/1/1 0:00:00Alex從大約2015年開始浸區塊鏈領域,也經歷了市場的大小起伏,對于新興的NFT賽道,他秉持著開放且謹慎的態度.
1900/1/1 0:00:00Bigverse是集數字藝術創新、元宇宙空間打造以及內容生態社區創建于一體的元宇宙品牌,支持數字藏品二次交易,是國內目前用戶數量較大且發展較快的一個數字藝術電商平臺.
1900/1/1 0:00:00