注:原文作者是以太坊聯合創始人VitalikButerin。
賬戶抽象允許我們使用智能合約邏輯來指定交易的效果,以及費用支付和驗證邏輯。這帶來了許多重要的安全好處,例如多重簽名和智能恢復錢包,能夠在不更換錢包的情況下更換密鑰以及量子安全性。
許多帳戶抽象的方法已在不同程度上被提出并得到了實施,參見:EIP-86、EIP-2938?,以及兩年前的這篇文章?。今天,由于開發者們希望專注于合并與分片,這些EIP的開發陷入了僵局,而ERC-4337?這種不需要任何共識更改的替代方案已經取得了很大進展。
ERC-4337嘗試通過額外的協議手段實現和EIP-2938相同的事情。用戶需要發送稱為用戶操作的鏈外消息,這些消息由區塊提議者或為區塊提議者生成bundles的構建者批量收集并打包成單筆交易。提議者或構建者負責過濾操作以確保他們只接受支付費用的操作。用戶操作有一個單獨的mempool存儲池,連接到這個存儲池的節點會進行ERC-4337特定的驗證,以確保用戶操作在轉發之前能夠支付費用。
ERC-4337作為一個純自愿的ERC可以做很多事情。然而,在一些關鍵領域,它比真正的協議內解決方案更弱:
Vitalik Buterin:在以太坊上重新質押時需謹慎:金色財經報道,以太坊聯合創始人Vitalik Buterin表達了對以太坊共識機制超出其原始設計的過度復雜化的擔憂,特別是在重簽方面,重簽是Eigen Layer等公司正在開發的一種機制,它擴大了以太坊驗證者的責任,包括確保外部鏈的安全。他擔心,重新鎖定可能會引入影響網絡安全的風險。Vitalik Buterin表示,在以太坊上重新質押時需謹慎。[2023/5/22 15:18:50]
現有用戶如果不將其所有資產和活動移動到新帳戶,則無法升級;
額外的gas開銷;
較少受益于協議內抗審查技術,它以交易為目標并會錯過用戶操作
而實現最佳效果的一條現實途徑,是在短期內開始大力支持ERC-4337,然后隨著時間的推移添加EIP來彌補其弱點。這并不一定需要大家專門承諾遵守ERC-4337。相反,可以將協議內支持設計為更通用,并支持ERC-4337及其替代方案和改進。
在這里,我將列出其中的一些EIP,并說明它們可以按什么順序實施。
將EOA錢包轉換為智能合約錢包
為了讓現有的EOA錢包升級到ERC-4337錢包,我們可以制作一個EIP,允許EOA執行設置其合約代碼的操作。一旦EOA做到了這一點,這種轉變就不可逆轉。從那時起,該帳戶將僅用作智能合約錢包。幸運的是,由于ERC-4337帳戶是DELEGATECALL代理,因此如果需要,以后可以將錢包轉換為與其他ERC兼容的智能合約。
Vitalik:有研究證明 EIP 1559 大大減少了平均交易等待時間:1月18日消息,Vitalik今日在推特上轉發了北京大學和杜克大學共同研究關于 EIP 1559的論文《EIP-1559的實證分析:交易費用、等待時間和共識安全》,并表示,此篇論文特別提到 EIP 1559 大大減少了交易的平均等待時間的確認。
據了解,這篇論文研究證明,EIP-1559通過簡化費用估算、緩解區塊內已付gas價格差異以及減少用戶等待時間,大大改善了用戶體驗。然而,EIP-1559對gas費波動和普遍安全性的影響很小。此外,研究還發現,當以太坊的價格波動較大時,等待時間明顯較長,研究還驗證了較大規模的區塊會增加兄弟區塊的存在。[2022/1/18 8:56:09]
關于如何實施此升級過程有一些提案:
1、“replacecode”交易類型
這還沒有作為正式的EIP引入,但方法很簡單:添加一個新的EIP-2718?交易類型,只需將帳戶碼替換為calldata。
2、AUTH_USURP(EIP-5003)
EIP-5003?是EIP-3074?的擴展提案,它引入了新的AUTHUSURP操作碼。如果使用EIP-3074機制,EOA地址A已授權另一個地址B代表它行事,則AUTHUSURP允許B設置A的代碼。
動態 | RippleNet與秘魯Interbank銀行和英國Vitesse銀行合作:RippleNet新增加了兩個合作伙伴,分別為秘魯Interbank銀行和英國Vitesse銀行。這兩家機構可能會開始使用Ripple的xCurrent系統來進行國際支付。(U.Today)[2019/9/20]
這種方法比“replacecode”路線更復雜,只有當我們打算采用EIP-3074時,這才有意義。
強制轉換
在更長遠的未來,我們可能希望進行強制轉換,以簡化協議,并使合約成為唯一的帳戶類型,從協議中取消ECDSA。一種可能的方法是添加一個覆蓋規則,從某個區塊開始,沒有code的賬戶被視為具有特定標準化“ERC-4337EOA錢包”code的賬戶。
這可以通過“poking”過程來完成,其中任何源自EOA的交易都將其轉換,并且任何觸及具有非零nonce的EOA交易都會將其轉換。也可以一次性通過整個狀態來完成。
問題
合約內ECRECOVER驗證:一些智能合約依賴于這樣的假設,即如果你向特定賬戶提供ECRECOVER的簽名,你就擁有該賬戶。如果EOA轉換為合約,然后更改其驗證密鑰,則原始密鑰仍然能夠在這些特定上下文中“代表”帳戶。這可通過開始鼓勵所有此類項目更改為使用EIP-1271驗證,而不是在帳戶有code的情況下使用ECRECOVER。
聲音 | Vitalik:以太坊2.0信標鏈正式上線時間或略有推遲:金色財經現場報道,6月29日,在北京舉行的2019以太坊技術及應用大會上,以太坊聯合創始人Vitalik Buterin以及以太坊核心研究員Hsiao-Wei Wang在接受采訪時表示,按照正常的開發進度,以太坊2.0計劃在2020年初正式上線,Vitalik表示以太坊2.0信標鏈的上線時間或將略微推遲,更多要看社區進度,以太坊2.0測試網將于今年晚些時候上線。[2019/6/29]
尚未檢測到的賬戶:強制轉換面臨的一個挑戰是擁有資產但尚未發送或接收任何交易的賬戶,因此協議無法可靠檢測到這些賬戶。協議必須保留將此類賬戶永久轉換為默認錢包的功能,或者需要有一個截止期,在此之后尚未轉換的帳戶將被燒毀。
EOA只檢查不可轉讓性:一些應用程序實施合約內檢查以僅允許EOA與其交互。這通常是為了強制執行不可轉讓性。從根本上來說,這是一個壞主意,并且與轉向智能合約以提高安全性的目標不相容。因此,不應鼓勵這種做法,而應鼓勵應用依賴原所有者恢復程序來使轉移無法執行。
降低Gas成本
ERC-4337錢包面臨更高的gas成本,原因如下:
1、需要支付大量的單個存儲讀/寫成本,在EOA的情況下,這些成本會捆綁到一筆21000gas的付款中:
明星在其官網添加VIT支付:據Coindesk消息,美國明星Stormy Daniels在其官網中添加VIT支付,意在獎勵觀看視頻的網站訪問者,獲得VIT的用戶可以購買網站上的優質內容,或購買、訂閱支持該令牌的其他網站的服務。Stormy Daniels稱2006年與特朗普有過一段交往經歷,并因此出名。[2018/5/25]
編輯包含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區塊?工作的抗審查解決方案,消除用戶操作對以太坊協議的可讀的需要;
這是一個VUCA世界,我們只是生活在其中。VUCA是斯坦利-麥克里斯特爾將軍的《團隊的力量》一書中所提到的概念.
1900/1/1 0:00:00Twitter的創始人JackDorsey公開稱:“Web3的VC們可以洗洗睡了”。“有的投資人炒幣都財富自由了。”李瓊告訴融資中國。在幣圈,有大批投資人信徒.
1900/1/1 0:00:00一周前,EF的TimBeiko在EF博客發布了一篇文章,文章內容表示,以太坊網絡將在15,050,000區塊進行預定的網絡升級,預計將于2022年6月29日進行.
1900/1/1 0:00:00Web3正在整個非洲大陸蔓延。新一波初創公司、企業家和開發人員正在推動非洲Web3創新的下一階段。在全球范圍內,新的web3經濟正在帶來無數機遇,對非洲大陸產生巨大影響.
1900/1/1 0:00:00Web1.0的時代伴隨著移動通訊技術的不斷發展,已經成為了過去,而Web2.0的時代也在一眾互聯網巨頭的瓜分下,流量和市場正在逐漸枯竭.
1900/1/1 0:00:00原文標題:《一文了解如何免受MetaMask瀏覽器錢包安全漏洞的影響》注:北京時間6月16日凌晨,ConsenSys開發者DanFinlay?披露了MetaMask瀏覽器擴展錢包存在的安全漏洞.
1900/1/1 0:00:00