前世
為什么需要坎昆升級?
以太坊的愿景為:在去中心化的前提下變得更具有可擴展性且更安全。當前以太坊的升級也致力于解決這個三難問題,但是一直面臨著很大的挑戰。
以太坊的問題:
目前出現了TPS和性能較低,gas費高且擁堵嚴重的情況,同時,運行一個以太坊客戶端所需的磁盤空間也在快速增長,在底層,確保以太坊安全和去中心化的工作量共識算法對整個環境的影響也愈發顯著。
所以,在去中心化的前提下,如何傳輸更多的數據并降低gas,來增強可拓展性,如何優化共識算法,來保障安全性,都是以太坊目前正在做的努力。
以太坊路線圖怎么規劃的?
最近幾次重要的升級及其目標
完成了經濟模型和POS相關的升級,接下來幾次升級解決了以太坊的性能、TPS和開發者體驗的問題;
主要有2個方案,鏈上和鏈下:
鏈下方案:指Layer2,包括rollup等,
鏈上方案:指直接在L1中進行更改,也就是熱門的分片方案,分片簡單理解就是將所有節點劃分成不同片區,完成每個片區的任務,這將有效提升速度;
分片方案解析:
分片(Sharding)方案的困境:曾經的Sharding包括狀態分片,交易分片等,但是出現不同分片之間的同步是個難題,目前想要完成大范圍的網絡節點數據同步,技術難度大,不僅無法解決MEV的情況,且可能需要大量補丁來彌補可能出現的各類問題,短期無法實現。
內容:proto-danksharding的主要特性是引入新的blob交易類型,Blob具有容量大且便宜的特點,給以太坊外接此類數據包,能讓rollup的數據全部存入blob,大大緩解主鏈的存儲壓力,同時也能降低rollup的費用。
Fully-Rollup
介紹:rollup全面擴容,重點在于數據可用性的利用。
DAS的P2P設計:涉及數據分片網絡連接問題的一些工作以及研究;
數據可用性采樣客戶端:開發輕量級客戶端,可以通過對幾千字節的隨機采樣快速判斷數據是否可用;
有效的DA自我恢復:能夠在最惡劣的網絡條件下有效地重建所有數據(比如,惡意驗證者攻擊、或者大塊節點的長時間停機)。
以太坊核心開發者會議
以太坊的每一次升級都依賴于核心開發者會議,通過核心貢獻者的共同討論,根據開發者們的一系列提案,決定未來的發展方向
定義:核心開發者會議是以太坊開發社區每周舉行的一次電話會議,來自不同組織的核心貢獻者共同討論技術問題并協調以太坊的未來工作。它們決定了以太坊協議的未來技術走向,同時也是真正進行以太坊升級決策的權力機構,負責決議,EIP是否被納入升級,是否需要進行路線圖變更等重要事項。
核心流程:以EIP為中心的升級流程大致如下,首先在核心開發者會議(簡稱ACD)上初步接納一個EIP,然后客戶端團隊無論該EIP被納入升級與否,都對其進行測試,并在最終測試完后進行再一次回顧,再根據探討決定最終是否納入實際升級中。
會議分2類,分別是共識層會議和執行層會議,兩者隔周交替舉行:
以太坊核心維護者有3類,主要是一些討論提案的官方組織或者志愿者論壇:
AllCoreDevs:代碼維護者,負責ETH1網絡客戶端,升級,維護以太坊代碼和核心架構;
“項目管理”部分:支持以太坊開發人員、協調硬分叉、監控EIP等,以及直接幫助AllCoreDevs負責通信和運營;
坎昆升級相關會議的時間線
按照討論內容劃分,本次坎昆升級可粗略分為5個階段。
第一個階段——引入升級主題
引出新任務proto-danksharding、EOF和“selfdestruct”操作碼,粗淺討論上海升級內容
以太坊在22年9月15日完成合并后,開發者會議暫停4周,為開發者留取一個月的時間查看后續升級所討論的EIP;
第二個階段——確定時間范圍和KZG儀式的準備
22年11月,在以太坊所有核心開發者電話會議#149中,已經提及EOF或proto-danksharding,此時開發者們仍考慮將其放置在上海升級中;
23年1月5日的核心開發者會議中,開發者們就從上海升級中移除與EOF實現有關的代碼修改達成共識,Beiko此時建議在兩周之后再決定是否應將EOF包括在坎昆升級中;
第三個階段——初步討論提案的范圍
23年1月20日的核心開發者會議中,EOF被移入坎昆升級;
第四個階段——確定明確的提案升級方向,刪除無關提案
23年4月12日,以太坊上海升級已完成;
第五個階段——最后的提案確定和細節完善
23年5月18日的開發者共識會議中簡要討論了4844的進展,如允許EL上的智能合約應用程序驗證CL狀態的證明;
泰國暹羅商業銀行正開發數字泰銖應用程序:金色財經報道,暹羅商業銀行(SCB)宣布一直在與Ayudhya銀行(Krungsri)和2C2P泰國合作,為該國的數字泰銖開發央行數字貨幣應用程序。該舉措是泰國央行零售CBDC試點的一部分,該試點與國內支付服務提供商在監管沙盒中運營,并將在整個夏季運行。
該應用程序結合了數字支付服務、KYC驗證和充值程序。目前,它僅限于約10,000人的精選參與者群體,其中包括所有支付提供商的用戶和商戶,以及來自SCB集團的約3,000名員工。然而,泰國央行沒有立即推出數字貨幣的計劃。[2023/8/3 16:16:22]
今生
重點EIP的分析
簡介:
Blob簡介:
可能會對網絡穩定性產生一定影響,但是以太坊開發團隊仍決定先行測試,避免后續需要硬分叉來拓展blob塊。
Blob作用——提高以太坊的TPS,同時降低成本
目前整個以太坊總數據量大小只有1TB左右,而Blob可以給以太坊每年帶來2.5~5TB的額外數據量,直接遠超賬本本身好幾倍;
對于節點來說,一個區塊多下載1MB~2MB左右的Blob數據并不會造成帶寬負擔,在存儲空間上也僅僅是增加了固定的200~400GB左右一個月的Blob數據量,這些并不會影響到整個以太坊節點的去中心化,但圍繞著Rollup實現的擴容是極大的提高;
且節點本身其實是不需要去存儲全部的Blob數據的,因為Blob其實是個臨時的數據包,那么其實對于節點來說只需要下載固定三周的數據量即可。
EIP-4844的作用——開啟Danksharding敘事的前章
高擴容:目前EIP-4844可以初步擴容L2,完整版Danksharding可以將EIP-4844中的Blob數據量從1MB~2MB擴展至了16MB~32MB,在確保了去中心化和安全性的同時實現了更高的擴容;
低費用:bernstein分析師表明,Proto-dank-sharding可以將第2層網絡的費用降低到當前水平的10-100倍;
實際數據:
Opside測試網部署了4844,目前觀察可以降低rollup的50%成本;
EigenLayer的DA技術方案沒有披露太多,無法評估其數據;
Celestia嚴格意義上來說和以太坊關系不大,其DA花費現在也無法評估,取決于其具體技術方案;
Ethstorage的方案是上傳其Layer2存儲證明,其DA成本可能會降低至原先的5%;
Topia預期降低100~1000倍成本,因為主網Danksharding還要兼顧安全性和兼容Layer1層面的P2P網絡廣播。
DA解決方案:Danksharding(以太坊擴容的分片解決方案)目前若繼續擴容可能會節點負擔過大(16mb以上)和數據可用性不足(30天有效期)的問題。解決方式:
將Blob中的數據切割成數據碎片,并且讓節點由下載Blob數據轉變為隨機抽查Blob數據碎片,讓Blob的數據碎片分散在以太坊的每個節點中,但是完整的Blob數據卻保存在整個以太坊賬本中,前提是節點需要足夠多且去中心化;
提議者-打包者分離(PBS)——解決了節點的工作分工問題,讓性能配置高的節點負責下載全部數據進行編碼分發,讓性能配置低的節點來負責抽查驗證。
性能配置高的節點可以成為打包者(Builder),打包者只需要負責下載Blob數據進行編碼并創建區塊(Block),然后廣播給其他的節點來進行抽查,對于打包者(Builder)來說,因為同步數據量和帶寬要求較高,所以會相對中心化;
抗審查清單(crList)——解決了對于打包者而言因其審查權力過大,就可以故意忽略掉某些交易并且隨意排序并插入自己想插入的交易去獲取MEV的問題。
在打包者(Builder)打包區塊交易之前,提議者(Proposer)會先公布一個抗審查清單(crList),這個crList中包含著mempool中的所有交易;
節點同步數據時會從提議者(Proposer)那獲取區塊頭,然后從打包者(Builder)那獲取區塊Body,確保區塊Body是最終選擇的版本。
雙槽PBS——解決了中心化的打包者通過獲取MEV越來越中心化的問題
用競標的模式來決定出塊:
打包者(Builder)拿到crList后創建交易列表的區塊頭并出價;
提議者(Proposer)選擇最終競標成功的區塊頭和打包者(Builder),提議者無條件獲得中標費(不管是否生成有效區塊);
驗證委員會(Committees)確認中標的區塊頭;
打包者(Builder)披露中標的區塊Body;
驗證委員會(Committees)確認中標的區塊Body并進行驗證投票(通過則出塊,如果打包者故意不給區塊Body則視為區塊不存在)。
CoinList提高社區銷售標準,賬戶須在開售前持有最低購買金額:金色財經報道,CoinList宣布引入了一項新規則,要求用戶的CoinList 帳戶必須持有足夠的購買金額才能在社區銷售中完成交易。用戶可以像往常一樣自由注冊,但參與銷售的資格現在取決于銷售時CoinList錢包中是否有最低購買金額。
該團隊表示,這一修改意味著售后將不會有“寬限期”來為錢包充值,為錢包存入想要購買的金額的時間是在銷售開始之前。[2023/7/29 16:05:26]
意義:
首先,打包者(Builder)擁有更大權力打包交易,但是上文提到的crList首先就限制了其臨時插入交易的可能,其次,若打包者(Builder)想通過更改交易順序獲利,則其需要在一開始就付出很大的競標成本來保證自己可以獲得區塊頭資格,那么其獲得的MEV利潤就進一步被縮小,整體下來對于其獲得MEV的手段和實際價值都有所影響;
但是,初期可能會導致僅有少部分人成為打包者(考慮到節點性能問題),而大部分人僅成為提議者,這有可能導致進一步中心化,同時,在打包者數量本身就很少的情況下,某些具有MEV能力的經驗豐富的礦工將更有可能競標成功,這將更加影響實際的MEV解決效果;
對于某些采用MEV拍賣方式的MEV解決方案來說有一定影響。
proto-danksharding是用來實現完整Danksharding規范的“支架”(即交易格式和驗證規則)提案:不過目前還沒實現任何分片,所有驗證者和用戶仍需要直接對完整數據的可用性進行直接驗證;
雖然實現完整分片(有數據可用性采樣等)是一項很復雜的任務,而且實現proto-danksharding后還有很復雜的工作,但這些復雜性都會控制在共識層上。一旦proto-danksharding部署了,執行層客戶端團隊、rollup開發者和用戶在過渡到完整分片時都不需要做任何額外的工作了。
要實現完整分片,需要完成PBS、委托證明和數據可用性采樣的實際實現,不過此類修改都將集中于CL層,無需開發者進行再調整:目前4844實現了一種新的交易類型,與完整分片里需要的交易格式、共識交叉驗證邏輯和執行層邏輯等完全相同,也衍生出了用于blob的、自我調整的獨立gas定價,未來要實現完整分片,需要完成PBS、委托證明和數據可用性采樣的實際實現,不過這些修改僅在CL層,不需要EL層或rollup開發者進行修改,便利開發者。
背景:
在21年3月,Vitalik就提出SELFDESTRUCT對以太坊生態弊大于利,主要原因在于它是唯一一個能在單個區塊中變更無限個狀態對象、導致合約代碼變動、能未經賬戶同意就能修改賬戶余額的操作碼,對于以太坊安全中有很大隱患;
在鏈上唯一移除一個合約的辦法就是SELFDESTRUCT。如果在合約里面調用:selfdestruct函數即可自毀合約。存在合約中的以太坊將會發送到設計好的地址里。剩下的代碼和存儲變量將會在狀態機中被移除。其實合約銷毀這個動作理論上聽上去是個好主義,但實際上是很危險的。selfdestruct函數雖然能在緊急情況下幫助開發人員刪除智能合約并將合約內的余額轉移到指定的地址,但這一特性也被不法分子利用,使它成為了攻擊手段。
簡介:selfdestruct是智能合約的緊急按鈕,銷毀合約并將剩余ETH轉移到指定賬戶。
原因:原先操作SELFDESTRUCT碼需要對帳戶狀態進行大量更改,如刪除所有代碼和存儲。這在未來對使用Verkle樹帶來了困難:每個帳戶將存儲在許多不同的帳戶密鑰中,這些密鑰不會明確連接到root帳戶。
更改:此EIP實現了更改,刪除SELFDESTRUCT,以下兩種情況除外
僅用于SELFDESTRUCT取回資金的應用程序仍然可以使用;
在合約里的同一交易中使用的SELFDESTRUCT也無需更改。
意義:提高安全性
之前主網上存在有合約存在用SELFDESTRUCT限制誰可以通過合約發起交易的情況;
防止用戶在SELFDESTRUCT一個金庫后繼續往其中存入款項并交易,那么這個金庫在反復利用中可能導致任何人都可以竊取金庫中的代幣。
下方三個提案為后續刪除的有關SELFDESTRUCT的提案,在23年4月28的核心開發者會議中正式選擇6780,其余三個提案被棄用,原因為以太坊開發團隊最終想完全刪除SELFDESTRUCT操作碼,而下列三個提案更多是采用替換的方式進行修正。
EIP-4758(棄用):通過將SELFDESTRUCT更改為SENDALL來停用SELFDESTRUCT,這可以向調用者恢復所有資金(將帳戶中的所有以太幣發送給調用者),但不會刪除任何代碼或存儲。
原因:同上,原先操作SELFDESTRUCT碼需要對帳戶狀態進行大量更改,如刪除所有代碼和存儲。這在未來對使用Verkle樹帶來了困難:每個帳戶將存儲在許多不同的帳戶密鑰中,這些密鑰不會明確連接到root帳戶。
BAYC #1734 以600 ETH價格在X2Y2成交:7月14日消息,開頭為“0xe3f7”的地址于今晚在X2Y2購入了1734號BAYC,成交價格600 ETH,約合120萬美元。[2023/7/14 10:54:15]
操作碼SELFDESTRUCT重命名為SENDALL,現在只將賬戶中的所有ETH移動到調用者方,該方案不再破壞代碼和存儲,或改變隨機數;
相關的所有退款SELFDESTRUCT均已刪除
相較于EIP-6780保存了原先的功能,因為有的應用程序仍在/需要使用SELFDESTRUCT碼。
EIP-6046(棄用):將SELFDESTRUCT替換為DEACTIVATE。將SELFDESTRUCT更改為不刪除存儲密鑰,并在帳戶隨機數中使用特殊值來表示停用
原因:同上,使用Verkle樹,帳戶將以不同方式組織:帳戶屬性(包括存儲)將具有單獨的密鑰,但是不可能遍歷并找到所有使用過的密鑰。而原先操作SELFDESTRUCT碼需要對帳戶狀態進行大量更改,這使得SELFDESTRUCT在Verkle樹中繼續使用非常困難。
改變EIP-2681引入的規則,使常規的nonce增加受到2^64-2而不是2^64-1的約束;
SELFDESTRUCT被更改為:
不刪除任何存儲密鑰并將帳戶保留在原處;
將賬戶余額轉移到target,設置賬戶余額為0.
將帳戶隨機數設置為2^64-1。
自EIP-3529以來不予退款;
EIP-2929的相關規則SELFDESTRUCT保持不變。
該提案相比于其他的直接刪除SELFDESTRUCT的行為擁有了更多靈活性。
EIP-6190(棄用):改變SELFDESTRUCT,與Verkle兼容,使其只引起有限數量的狀態變化
更改:不是在交易結束時銷毀合約,而是在調用它的交易結束時發生以下情況:
合約代碼設置為0x1,隨機數設置為2^64-1。
如果調用被一個或多個別名合約轉發后合約自毀,則將別名合約的第0th個存儲槽設置為步驟2中計算的地址;
合約的余額將全部轉移到堆棧頂部的地址;
堆棧的頂部被彈出。
旨在讓SELFDESTRUCT可以后續形成Verkle樹,同時進行最少的更改;
應用了EIP-2929的gas成本增加。
簡介:瞬態存儲操作碼,添加用于操作與存儲行為相同但在每次交易后丟棄的狀態的操作碼。
在以太坊中運行交易可以生成多個嵌套的執行框架,每個框架由CALL(或類似的)指令創建。可以在同一筆交易中重新輸入合約,在這種情況下,不止一個框架屬于一個合約。
目前,這些框架可以通過兩種方式進行通信:通過CALL指令傳遞的輸入/輸出,以及通過存儲更新。如果存在屬于另一個不受信任的合約的中間框架,則通過輸入/輸出進行的通信是不安全的。
改變:EVM中添加了兩個新的操作碼,TLOAD(0xb3)和TSTORE(0xb4)。
瞬時存儲對于擁有它的合約來說是私有的,就像持久存儲一樣,只有擁有合同框架才能訪問其臨時存儲。當訪問存儲時,所有幀都會訪問同一個臨時存儲,其方式與持久存儲相同,但與內存不同。
潛在用例:
鏈上可計算CREATE2地址:構造函數參數從工廠合約中讀取,而不是作為初始化代碼哈希的一部分傳遞;
轉賬費用合約:向代幣合約支付費用以在交易期間解鎖轉賬;
“Till”模式:允許用戶執行所有操作作為回調的一部分,并在最后檢查“till”是否平衡;
代理調用元數據:在不使用調用數據的情況下將額外的元數據傳遞給實現合約,例如不可變代理構造函數參數的值。
節省gas,擁有更簡單的gas計費規則;
解決幀間通信問題;
不改變現有操作的語義;
使用后無需清除存儲槽;
未來的存儲設計(例如Verkle樹)不需要考慮瞬時存儲的退款問題。
接著是4788,能減少對質押池的信任假設
簡介:EVM中的信標塊根。
更新:在23年6月15日的開發者會議中,開發者提出進行代碼更改以改善質押者體驗,該EIP將公開信標鏈區塊的根,其中包含EVM內部鏈狀態信息,供DApp開發者的信任最小化訪問。
改變:在相應的執行負載頭中提交每個信標鏈塊的哈希根,同時將這些根存儲在一個處于執行狀態的合約中,并添加一個讀取該合約的新操作碼。
意義:這是一項代碼修改提案,提議修改以太坊虛擬機(EVM)以使其能夠公開合約層(CL)狀態根在執行層(EL)的數據,可以使以太坊網絡中不同協議和應用程序之間的通信更加高效和安全。允許質押池、橋接和restaking協議有更多無需信任的設計。
路透社:SBF欺詐指控回避了關于美國法律如何看待加密貨幣的爭論:1月9日消息,Sam Bankman-Fried可能會發現很難辯訴應該撤銷針對他的欺詐指控,因為美國法律如何對待加密貨幣存在不確定性,就像涉及數字資產的刑事案件中其他被告一樣完成了。法律專家表示,這是因為曼哈頓聯邦檢察官對現已破產的加密貨幣交易所 FTX 創始人的指控在很大程度上回避了正在進行的關于加密貨幣是否應作為證券或商品進行監管的辯論。但據專家稱,這種不確定性與針對SBF的大部分指控無關。雖然他面臨一項串謀證券欺詐的指控,但該指控稱他誤導了FTX的股票投資者,并未涉及交易所交易資產的性質。[2023/1/9 11:02:36]
最后是5656,提供了一種高效的新的內存復制操作碼,但是考慮到其測試帶寬,目前處于暫時被包括進升級的狀態
更新:23年6月9日,開發團隊表示最初對MCOPY存在分歧,因為雖然其解決了安全問題,但仍擔心將它添加到升級所需的實施+測試帶寬,但是最后仍同意包含該EIP,但是如果開發者在測試或客戶端遇到容量問題,就會考慮將其刪除。因此,MCOPY處于暫時被包括進坎昆升級中的狀態。
更改:提供了一種高效的EVM指令來復制內存區域。
意義:內存復制是一個基本操作,但在EVM上實現它需要成本。
隨著MCOPY指令的可用性實現,可以更精確地復制代碼詞句,將提高約10.5%的內存副本性能,對于各種計算量大的操作非常有用;
對編譯器生成更有效和更小的字節碼也將會很有用;
可以節省一定的身份預編譯的gas費用,但是并不能起到實際推進此部分實現的作用。
候選名單EIP
簡介:防止被罰沒的驗證者被選為區塊提議者。
意義:加大了違規節點的懲罰,將利好DVT。
簡介:確保簽名的驗證器退出永久有效。
意義:可以一定程度上改善質押者體驗。
意義:加強網絡安全性。
刪除EIP的分析
在23年4月29日的第160次以太坊ACDE會議中,EVMMAX和EOF被確認移出本次升級,與EOF相關的改動可能會在后續的日常升級中引入
簡介:EVMMAX旨在為以太坊上的算術運算和簽名方案帶來更大的靈活性。目前,有兩種EVMMAX提案,一種帶有EOF,另一種不帶EOF。
6601引入了一個新的EOF部分類型,存儲模數、預計算的Montgomery參數、將被使用的值的數量(仍然支持運行時可配置的模數);
6601為EVMMAX值使用一個單獨的內存空間,用新的加載/存儲操作碼在EVM<->EVMMAX內存之間移動值;
6601支持對高達4096位的模數的操作(EIP中提到的暫定限制)。
意義:EIP-5843為以太坊虛擬機引入高效模塊化加法、減法和乘法,EIP-6601在此基礎上進一步升級,通過引入設置部分、單獨的內存空間和新的操作碼,為模塊化算術運算提供更好的組織和靈活性,同時支持更大的模數,提高EVM的性能。
作為EVM合約,在各種曲線(包括BLS12-381)上啟用橢圓曲線算術運算;
MULMOD與現有操作碼相比,將對高達256位的值進行操作的gas成本降低90-95%ADDMOD;
允許將modexp預編譯實現為EVM合約;
顯著降低代數哈希函數(例如MiMC/Poseidon)和EVM中的ZKP驗證的成本。
改變:EIP-6990是從EIP-6601改編而來的提案,旨在不依賴EOF向EVM引入優化的模塊化算術運算。雖然EIP-6601需要EIP-4750和EIP-3670作為依賴項,但EIP-6990提供了一個更獨立的解決方案。它通過消除對EOF的依賴提供了一種更簡化的方法。
意義:它保留了EIP-6601的核心功能,可以對高達4096位的奇數模數進行優化的模塊化算術運算,這種簡化允許更有效的實施和采用,同時仍然提供與EIP-6601相關的好處。
簡介:無限制的SWAP和DUP指令
意義:通過引入了兩個新指令:SWAPN和DUPN,它們與SWAP和DUP的區別在于堆棧深度從16個元素增加到256個元素
從前鏈上部署的EVM字節碼都是沒有一種預先定義的同一結構的,代碼只有在客戶端中被運行前才會被驗證,這既是一種間接成本,也會阻礙開發者引入新功能或棄用老功能。
版本控制有利于以后實現引入或棄用新功能(例如引入賬號抽象);
合約代碼和數據的分離對于L2的驗證(op)有益,減少L2驗證器的gas成本,同時合約代碼和數據的分離也更加方便鏈上數據分析工具的工作。
意義:在由3540引入的container基礎上,EIP-3670確保EOF合約中的代碼是有效的,或者防止它被部署。這意味著未定義的操作碼不能被部署在EOF合約中,這有一個額外的好處,即減少所需增加的EOF版本數量。
以太坊PoW時代最終區塊由F2Pool挖出,高度為15537393:9月15日消息,據歐科云鏈數據顯示,以太坊于 14:43 達到 58,750,000,000T 終端總難度(TTD),以太坊 PoW 時代最終區塊由 F2Pool 挖出,高度為 15537393[2022/9/15 6:58:01]
意義:優化網絡和降低成本。
意義:優化代碼,方式是通過將代碼劃分為幾個部分來實現的。
背景:背景仍然是以太坊的合約現在在部署的時候是不檢查的,只有在運行的時候才會進行一系列的檢查,棧有沒有溢出(上限1024),gas夠不夠之類的。
意義:一大改進就是讓這些執行的時候才發生的檢查盡可能的少,更多的檢查都在合約部署的時候就發生。
簡介:SSZ交易簽名方案。該EIP為簡單序列化(SSZ)編碼交易定義了簽名方案,將解決節點應如何處理在CL上以SSZ格式進行格式化但在EL上編碼不同的blob交易類型。這個EIP是更新以太坊序列化格式以實現跨層一致性內容的一部分;
簡介:支付操作碼。引入新的操作碼PAY用于以太坊傳輸,無需調用其任何函數即可將以太幣發送到地址。
原因:目前,向一個地址發送以太需要用戶調用該地址的一個函數,這有幾個問題:
首先,它打開了一個重入攻擊的載體,因為接收者可以回調到發送者那里;
其次,它打開了一個DoS向量,所以父函數必須認識到接收者可能會耗盡gas或回調;
最后,CALL操作碼對于簡單的以太傳輸來說是不必要的昂貴,因為它需要擴展內存和堆棧,加載接收者的全部數據,包括代碼和內存,最后需要執行一個調用,可能會做其他無意的操作。
引入了一個新的操作碼:(PAY)PAY_OPCODE,其中:
從堆棧中彈出兩個值:addrthenval。
將wei從執行地址轉移val到地址addr。如果addr是零地址,valwei則從執行地址燒錄。
潛在隱患:現有合約被使用時將不依賴于他們錢包的實際余額,因為已經可以在不調用它的情況下將以太幣發送到一個地址。
意義:節省gas。
更新:23年6月9日,由于擔心轉移ETH的方式可能存在的潛在副作用,以及通過提案需要進行的推理、測試和安全工作,PAY從升級中移除。
簡介:修改后的CALL指令
更改:引入三個新的調用指令,CALL2、DELEGATECALL2和STATICCALL2,具有簡化語義的作用。旨在從新指令中刪除gas可觀察性,并為不受重定價影響的新類別合約打開大門。
63/64th規則:限制call深度且確保調用者在被調用者返回后有剩余的gas來進行狀態改變;
在引入第63/64條規則之前,需要稍微準確地計算呼叫方的可用gas。Solidity有一個復雜的規則,它試圖估計調用者一方執行調用本身的成本,以便設置一個合理的gas值。
目前引入63/64th規則:
刪除了call深度檢查;
確保在執行被調用行為之前,至少保留5000個gas;
確保至少有2300個gas可供被調用行為使用。
意義:為未來引入EOF鋪路,同時更加便捷大型合約的運行。
以前在提高存儲成本時(如EIP-1884增加某些操作碼的gas)一些只向他們的調用發送有限數量的gas的合約被新的成本核算機制所打破。之前一些合約有一個gas上限,永久地限制了他們可以花費的氣體數量,哪怕他們將其發送到他們的子調用中也無法解決,無論多少額外的gas都不能解決,因為call會限制發送的數量。
為引入EOF鋪路:一旦引入EVM對象格式(EOF),就可以在EOF合約中拒絕舊的調用指令,確保它們基本上不受gas價格變化的影響。由于這些操作是消除氣體可觀察性所必需的,因此EOF將需要它們來代替現有指令;
更加便利的狀態返回碼:引入了返回更詳細狀態代碼的便利功能:成功(0)、還原(1)、失敗(2),且在未來可擴展。
簡介:BLS12-381曲線操作的預編譯。
改變:將BLS12-381曲線上的操作作為預編譯添加到有效執行BLS簽名驗證和執行SNARKs驗證等操作所必需的集合中。
意義:以太坊可以創建更安全的密碼證明,并允許與信標鏈更好的互操作性。
簡介:該提案將防止被懲罰的驗證者在退出隊列時提出區塊。如果有超過50%的驗證者因惡意行為而被懲罰,在被強制從網絡中驅逐的同時,這些驗證者仍然能夠提出區塊。開發者表示,更改此邏輯是一個相對較小的CL層更改,可以提供對“高故障模式”的保護。
未來
基于以上信息,我們得到了以下結論:
1.坎昆升級的主要目標按照優先級排序為,擴容,安全,省gas和互操作性:
擴容毫無疑問,是第一優先級(4844);
安全和省gas為第二要義(6780、1153、5656和7045),同時兼顧一定的開發者體驗;
第三為互操作性,如優化dapp之間的聯結、通信和互操作性(4788、7044和6988);
其次,Danksharding降低了DA成本,但實際落地時間和數據可用性問題也需要解決。
實際落地時間長,且能夠提升的TPS和降低的gas仍有限,所以利好DA層項目在后續的持續發展:
即使落地,其能夠提高的TPS和降低的gas量級仍有限:
技術問題,如數據存儲和數據可用性問題也需要解決:
DA主要的成本有兩個,一個是網絡帶寬的成本,另一個是存儲成本,而4844本身并不解決存儲問題和區塊上鏈的帶寬問題
blob會在以太坊共識層上存儲約3周后被刪除,若想達成存儲完整歷史記錄和全部數據可用,目前的解決方案有:dapp自身存儲與自己相關的數據、以太坊門戶網絡(目前正在開發中)或區塊瀏覽器等第三方協議進行存儲、在BitTorrent中存儲歷史數據或個人用戶的自發存儲。
因此,Proto-Danksharding將利好存儲協議、模塊化協議和L1存儲擴展網絡:
對于歷史數據的調用需求使去中心化存儲協議或第三方索引協議等將會多一條新的發展渠道;
后續模塊化協議可以通過高速的Rollup執行交易,安全的結算層負責結算,低費用大容量的數據可用性層用負責保障;
L2賽道分析:
二線Layer2與主流Layer2在運營成本上的差距會被縮小,將給予一些小型項目更多的發展機會,如Aztec、Metis、Boba、ZKspace、layer2.finance等;
雖然模塊化區塊鏈項目的真實需求仍然有待驗證,但多樣化的編程語言仍然成為可能,比如Starkware的Cario、Move系語言、Wasm支持的C、c++、C#和Go系列語言,這樣可以引入更多的web2開發者。
Raas賽道分析:
Raas本身優勢在于高度定制化,定制化需求>單純成本和效率,所以費用降低是定制化Rollup的一個較大利好。
但是RAAS賽道的問題是可能被OverHype了,甚至有對RAAS賽道本身的質疑。面對5個頭部layer2的競爭,各種新的DA的出現,新項目能否構成一個賽道我們是要打一個問號的。
但是目前OP和ZK系的RAAS技術壁壘不強,且短期內仍處于測試網階段,無實際產品交互,考慮到RAAS的實際進展、技術形式和未來layer3的生態優勢,RAAS的實際需求存疑。
對于常規defi應用,NFT市場,轉型rollup并非是一個硬性需求,僅對效率要求高的支付應用或游戲才對rollup有更強的需求。未來可能defi類項目會在l2,social類可能日常行為在l3或者鏈下,最后核心數據和關系放在l2上,gaming類的項目有需求去l3或rollup,但考慮到目前鏈游大多實質為資金盤,且代幣無法對外流通帶來了發展瓶頸,加上全鏈上游戲的萌發,l3本身的生態吸引力要遠遠大于rollup。
4.坎昆升級改善了開發者和用戶體驗
5.與zkml和賬戶抽象的關系
對zkml影響不大
隱私保護:輸入數據的保密,如使用大量個人信息作為數據喂給機器進行訓練時,個人信息的保密就是一大需求;或模型參數作為項目的核心競爭力,也需要進行加密來維持競爭壁壘。諸如此類的信任問題存在時,ML模型要想獲得更大規模的數據和應用就會存在阻礙。
可驗證性:零知識證明技術應用范圍廣泛,ZKP可以讓用戶無需驗證即可得知信息正確性。且由于機器學習模型需要大量計算,而ML模型可以通過ZK-SNARK生成證明,減少證明大小,緩解ML的算力需求問題。
ZK-SNARKs是ZKML中ZK的主要形式,能適配ML的鏈上算力需求,隨著密碼學的發展,尤其是遞歸的SNARK證明會利好ZKML在鏈上的落地:
ZK-SNARKs具有高度緊湊性的特點,使用ZK-SNARKs能讓證明者生成一個短證明,而驗證者無需交互,只需進行少量的計算即可驗證其有效性,這種僅需一次有證明者向驗證者交互的性質,使ZK-SNARKs在實際應用中具有高效性和實用性,更加適配ML的鏈上算力需求。
目前不可能進行鏈上訓練,鏈上僅能存儲鏈外計算的結果:
當前ML的問題更多在于算力需求無法滿足和算法限制(無法并行計算)導致的低性能,大模型ZK證明需要更高算力,鏈上無法支持,當下流行的ZK-SNARKs也僅支持小規模、較小計算量的ML零知識證明,即算力局限是影響ZKML區塊鏈應用發展的關鍵因素,鏈上僅能做到存儲鏈外計算的結果。
利好賬戶抽象
當前zkSync的交易費取決于3方面:
驗證者生成SNARK證明和進行驗證所消耗的固定資源成本,該部分成本較高;
驗證者將SNARK證明提交到以太坊主網時的gas費,這部分費用會因主網擁堵而相應增加;
用戶支付給驗證者的服務費用,包括交易確認、消息廣播等。
所以,若引入4844,主網擁堵導致的gas費增加問題將得到緩解,能一定程度減少ZKP證明的費用,雖然相較于生成證明的費用不多,但是考慮到目前ZK仍處于出初期,未來ZK系發展趨勢仍不容小覷。
其次,賬戶抽象將傳統的tx交易轉變為useroperation,再將useroperations用ECDSA打包成塊,對鏈上存儲占用相比于之前更多,所以對于存儲的要求更高;
最后,考慮到AI技術的崛起,能幫助增強鏈上合約的安全性和優化鏈上交易或活動步驟:
AI與安全性:AI技術可以用于增強鏈上交易的安全性和隱私保護。例如Web3安全平臺SeQure就利用AI檢測和防止惡意攻擊、欺詐行為和數據泄露,并提供實時監控和警報機制,確保鏈上交易的安全性和穩定性;
AI與鏈上活動優化:區塊鏈上的活動包括交易、合約執行和數據存儲等。通過AI的智能分析和預測能力,可以更好地優化鏈上活動,提高整體效率和性能。AI可以通過數據分析和模型訓練,幫助識別交易模式、檢測異常活動,并提供實時建議以優化區塊鏈網絡的資源分配。
6.回看以太坊路線圖,接下來是什么
目前來看,Layer2還沒有類似于Solana的性能(在延遲和吞吐量方面),也沒有像Near這樣的分片性能,也沒有像Sui和Aptos這樣的并行執行性能,坎昆升級提升了以太坊作為領導者的領先地位;
坎昆升級之后,預估幾個重大的開發時間Fully-Danksharding(2~5年),MEV和PBS落地(1~3年),賬戶抽象(1~2年),ZK一切(3~6年),EOF和開發者體驗(看延期幾次?)。
目標:重點是解決MEV問題。
方案:通過「提議者構建者分離(PBS)」來達成應用層的MEV最小化,此時可能會對blob做出優化,并引入預確認服務或搶跑保護等。
PBS即出塊者和排序者分離。排序者只負責排序不管上鏈,出塊者不管交易,直接選排序者打好的包上鏈。這個流程會讓整個過程更加流程正義,緩解MEV問題,是MEV外部化的思路。
目標:利用 Verkel樹取代 Merkle,引入信任最小化的解決方案,使輕節點獲得與全節點一樣的安全保障,讓區塊驗證盡可能簡單和輕便。
同時,L1的ZK化明確地加入Verge路線圖之中ZK將是未來擴容和提速的大勢所趨;
Verkle樹是一種專門針對狀態的Merkle樹的更有效的替代方法,它不需要提供每個姐妹節點(共享同一個父節點的節點)到所選節點的路徑,而只是提供路徑本身作為證明的一部分,Verkle證明的效率比Merkle證明高3倍。
參考資料:
以太坊核心開發者會議更新:https://www.galaxy.com/authors/christine-kim/
Tim關于最新的以太坊坎昆升級推文(23年6月9日):https://twitter.com/TimBeiko/status/1666908046994608128
以太坊升級相關內容:
自毀代碼的簡介:https://www.wtf.academy/solidity-advanced/DeleteContract/
探索EVMMAX提案和BLS12-381https://etherworld.co/2023/03/27/exploring-evmmax-proposals-bls12-381/
除了EIP-4844坎昆升級還會包含哪些內容?速覽以太坊最新共識電話會議https://www.fx168news.com/article/193393
以太坊上海升級,又增加了哪些新內容?https://foresightnews.pro/article/detail/21520
推文:https://twitter.com/xiangganzi/status/1588367511577194496
除了備受矚目的EIP-4844,坎昆升級還會包含哪些提案?https://www.panewslab.com/zh/articledetails/4qlg59ty.html
V神:值得考慮刪除的EVM功能https://www.jinse.com/blockchain/1020439.html
V神推薦丨深入了解以太坊的分片路線圖,看這一份報告就足夠https://www.8btc.com/article/6755560
一文讀懂以太坊新升級方案Dankshardinghttps://mirror.xyz/mtyl.eth/TbLbRI1VcDZYxkHJOBhB319oaYxnV5_DmqXl6xLfcWM
解讀Ethereum最新路線圖中的有趣事實和隱含密碼https://web3caff.com/zh/archives/40114
Vitalik:為什么說SELFDESTRUCT對以太坊的生態弊大于利https://www.8btc.com/article/6610829
以太坊愿景:https://ethereum.org/zh/roadmap/vision/
第111次以太坊ACDC會議:討論Deneb升級最終范圍以及EIP-7044等三項提案https://www.theblockbeats.info/flash/150732
2023值得重新思考的3大熱門賽道https://finance.sina.cn/blockchain/2023-04-12/detail-imyqawtq3942364.d.html
AI與Web3結合可能性的無限遐想https://www.techflowpost.com/article/detail_12169.html
AI+Web3:探索人工智能和區塊鏈的融合之路https://www.techflowpost.com/article/detail_12141.html
“卷上加卷”:Rollup時代的賬戶抽象解決方案https://www.panewslab.com/zh/articledetails/pbx0zoiw.html
深度解讀ZKML:技術原理、應用場景、優勢和挑戰https://www.odaily.news/post/5188011
ZKML:將AI和區塊鏈融合,實現隱私保護的模型部署技術https://www.techflowpost.com/article/detail_12011.html
一文讀懂最新版以太坊發展路線圖https://foresightnews.pro/article/detail/20815
提案原文:
金色財經 善歐巴
元宇宙Lab
比推 Bitpush News
作者:DARREN KLEINE,Blockworks;編譯:松雪,金色財經Lido 及其流動性質押代幣 stETH 主導著以太坊質押服務市場 —— Ethena Labs 創始人 Guy Yo.
1900/1/1 0:00:00作者:Andrew Thurman,blockworks 編譯:善歐巴,金色財經更智能的借貸市場和快速響應的白帽團隊.
1900/1/1 0:00:00作者:律動 BlockBeatsPolygon 似乎和當時的 Solana 一樣,只欠 Okay Bears 這樣的「東風」談及 NFT,大家的目光毫無疑問都首先聚焦在 ETH 上.
1900/1/1 0:00:00作者:比推BitpushNews Mary LiuDune數據顯示,在 MakerDAO 將 DAI 儲蓄率 (DSR) 從 3.3% 提高到 8% 后.
1900/1/1 0:00:00作者:Dan Boneh(斯坦福大學教授、a16z crypto 高級研究顧問),專注研究密碼學、計算機安全和機器學習;Ali Yahya(a16z crypto 普通合伙人).
1900/1/1 0:00:00作者:RT Watson,THE BLOCK;編譯:松雪,金色財經根據最近披露的財務信息,美國前總統唐納德·特朗普擁有價值高達 500 萬美元的以太坊.
1900/1/1 0:00:00