以太七日談 ? 二十二
Eth1
柏林升級故障回顧
在柏林升級中,客戶端 OpenEthereum 引起以太坊網絡一些重要服務故障,以下為以太坊研究員 Alex Stokes @ralexstokes 對此次事件詳析的編譯:
首先想對@OpenEthereumOrg 的快速反應和漏洞修復表示感謝。
事件起源于這一筆交易:
https://etherscan.io/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247
這筆交易是一次合約調用,從 KuCoin 交易所給一系列地址支付 ETH。問題的根源在于交易調用數據的 ABI (二進制接口) 編碼存在漏洞,這導致出現共識問題。大家可以看看 Etherscan 上的“輸入數據”:
1. 我們在合約上調用 sendEths 有兩個參數,一個是大小動態變化的目標地址數組,另一個是大小動態變化的數值數組 (以 wei 為單位),以此來指定把多少 ETH 發送給誰。
以太坊核心開發者共識會議:將為 Deneb 升級納入與測試 EIP-4788、EIP-6987:5月7日消息,Galaxy 研究副總裁 Christine Kim 發文總結第 108 次以太坊核心開發者共識會議。其中,開發者同意考慮將 EIP-4788、EIP-6987 納入 Deneb 進行測試。EIP-4788 將啟用執行層上的共識層狀態證明,以通過智能合約進行無信任驗證。此前 PR #3175 正處在格式化為 EIP 的過程中,將改為 EIP-6987,即出于安全考慮,防止罰沒(slashed)驗證節點被選為區塊提議者。開發者討論了在 Deneb 規范中引入一個額外的變量與常量,以允許執行層具有更大的彈性,以獨立于共識層調整每個區塊的最大 blob 交易數。以太坊核心開發者 Tim Beiko 提醒共識層客戶端團隊,通過 EIP-4844 引入的新 SSZ 類型應在多大程度上與即將到來的 SSZ 升級兼容或針對當前 RLP 標準進行優化,仍然不確定。Ryan 表示,目前在 EIP-4844 中使用「flat hash」的 SSZ 類型是兩頭吃虧的,因為它沒有為 RLP 格式化,但也沒有利用完整的 SSZ 序列化的優勢。開發者將在下周的 ACDE 電話會議上繼續討論這一問題。此外,信標鏈證明子網(attnet)的改造已于 5 月 4 日推出。開發者還在信標鏈 API Github 存儲庫上討論了 PR #317。
考慮到最近的 MEV-Boost 漏洞攻擊,中繼現在在通過 gossip 上廣播前會驗證區塊內容。該功能需要 Lighthouse 與 Prysm 客戶端的自定義分叉。Lighthouse 客戶端開發者 Michael Sproul 提出了一個標準查詢參數,用于在所有共識層客戶端中啟用相同的功能。Prysm 客戶端開發者 Terence Tsao 表示,在某些方面引入次功能會增加對 MEV-Boost 的依賴性,MEV-Boost 是一種用于在以太坊上賺取 MEV 的臨時軟件,應該棄用它以支持 PBS。[2023/5/7 14:48:23]
2. 我們可以對調用數據進行解析,看看是哪里出問題:第一行 (Etherscan 上的第一行,標記為) 顯示地址列表以 64 byte 開始 (那一行)。第二行表明列表的數值從 416 byte 開始(那一行)。
排名前1000的以太坊鯨魚持有價值超過1.5億美元的SHIB:金色財經消息,WhaleStats數據顯示,排名前1000的以太坊鯨魚的投資組合中有價值超過1.5億美元的SHIB代幣,占總投資組合規模的4%。
此外,穩定幣在這些以太坊鯨魚用戶投資組合中的占比為40%,這可以比較清楚地看到這群投資者對當前加密市場形勢的態度。(U.Today)[2022/8/13 12:22:13]
3. 也就是說,我們可以推測這個列表的數據是成對循環的,依次向每個地址發送 ETH。到這里似乎道理挺簡單的。
4. 如果我們開始迭代這個列表,我們首先進行的是調用數據的正確位組,Solidity 的 ABI 規定大小動態變化數組的長度構成數據的第一部分。
5. 這就是故障的根源,因為調用數據的值是0x10——十六進制。但是調用數據只給了 10 個地址/數值對。調用數據的正確 ABI 編碼應該是 和 的數值為0xA,而不是 0x10!
6. 你可能已經猜到在這里出現了什么問題,我們可以回到這筆交易的執行記錄看看發生了什么:https://etherscan.io/vmtrace?txhash=0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247&type=parity
7. 合約成功迭代前10對數據,它應該在這里就停下來,但根據調用數據,有多于10個地址,也就是說前10對數據后它繼續迭代。但根據調用數據的結構,第11個地址是列表長度編碼0x10。也就是說合約嘗試給地址 0x10 發送 0 個 ETH。
OpenLeverage 已部署代幣至以太坊:金色財經消息,借貸與保證金交易協議OpenLeverage現已將代幣OLE部署到以太坊區塊鏈上,隨后會開放代幣轉賬。
OLE初始總供應量為10億枚,其中45%轉至DAO國庫,用于社區激勵,包括但不限于追溯獎勵、交易、借貸、xOLE持有者獎勵、活動等;9.6%分配至生態系統發展金庫;28.4%分配給OpenLeverage基金會之前的投資者;17%分配給給創始人、員工和顧問。關于追溯獎勵,OpenLeverage已于今日完成快照,7.35%的OLE(7350萬枚代幣)已分配給歷史出借人、交易用戶和NFT持有者。(Medium)[2022/7/1 1:43:00]
8. 另外:如果合約嘗試讀取不存在的調用數據,它似乎會返回 0 個 ETH——你可以想象該合約在這里出錯,但它卻繼續再給 6 個從調用數據“讀取”的地址發送 0 個 ETH。
此時,你可能會注意到,0x10 是一個有點“特殊的地址”,因為它正好在 EVM 預編譯的范圍內 (像大多數在 EVM 匯編之外有優化實現的特殊合約一樣)。我們不必預期預編譯 0x10 能夠返回 ETH,盡管它發送的 ETH 可能會石沉大海,但這不一定會造成比漏洞合約更嚴重的問題。那為什么它會導致整個客戶端出問題呢?
原因在于 0x10 實際上是 EIP-2537 對 BLS 成對加密例程的預編譯,但這個 EIP 還未在主網部署。因此盡管你可以與該地址交互,在主網上也沒有合約代碼進一步執行。
以太坊交易量美元價值首次超過比特幣:金色財經報道,CoinMetrics數據顯示,以太坊最近的美元交易量首次超過比特幣。9月6日,通過網絡發送的ETH交易的美元價值達到31.5億美元,而比特幣的轉移量為29.4億美元。ERC-20版本的Tether(USDT)也以29.2億美元的交易量緊隨其后。[2020/9/8]
我們還需要另一件事來解釋這個問題,你可能猜到與柏林因分叉有關:柏林部署了 EIP-2929,這份 EIP 會改變 EVM 里 gas 的計算。
在 EIP-2929 下,在你第一次執行一些存儲操作碼時需要支付更多,但當你往后在同一筆交易里訪問相同的實體時,則支付更少的 gas。這個重新定價機制現在應該能更準確地反映改變客戶端存儲的成本,并承認在任何客戶端執行過程中,這些數據通常被緩存在更便宜的硬件層中。
要解釋預編譯的特殊性,EIP-2929 詳細說明 EVM 會對被訪問過合約的調用進行分辨,以反映預編譯一般不需要動用昂貴的存儲資源。
現在我們終于可以回到 OpenEthereum 在 #12244294 區塊的漏洞——客戶端把所有執行了的預編譯加入到 EIP-2929 的訪問列表里。因為 EIP-2537 已經在大多數客戶端里實現了 (曾經說要納入柏林硬分叉!) ,所以 OpenEthereum 對任何像上面這樣訪問 ?0x10 的交易給了 gas 費折扣。
看來,客戶端對 EIP-2929 的實現各不相同,并只給活躍的預編譯 gas 費折扣,而 EIP-2537 的預編譯實際上還未啟動!因此 OpenEthereum 得出的 gas 數與其他客戶端不一樣。
聲音 | 以太坊信息網站ETHHub創始人:難度炸彈不會影響君士坦丁堡硬分叉升級:以太坊信息網站 ETHHub 創始人 Eric Conner 認為難度炸彈不會影響君士坦丁堡硬分叉升級,理由是君士坦丁堡會在區塊高度 7,280,000 升級分叉,而預計下一次難度炸彈引發的挖礦難度上升可能會發生在區塊高度 7,300,000。[2019/2/15]
來源:
https://twitter.com/ralexstokes/status/1382750001026146304?s=20
事件發生后,核心開發者在 4.17 的 AllCoreDev 作出事后檢討,會上討論內容包括 hive test suite 可以使用更多接近主網的配置文檔、需要更好的 debug 工具、對把不良區塊導入客戶端并進行分析的支持對這種事情很有幫助等。還有一個原因是 OpenEthereum 現在由一個比較新的團隊在運維,需要處理非常復雜的代碼庫和遺留問題。
https://twitter.com/TimBeiko/status/1383054611506864133?s=20
另外,Ethereum Cat Herder 創始人 Pooja Ranjan 在Github 發表了整個柏林升級的回顧,包括準備、啟動、糾錯的過程。
文章詳情:
https://github.com/ethereum/eth1.0-specs/blob/master/network-upgrades/retrospectives/berlin.md
倫敦升級進度
4.17 的AllCoreDev 對 Aleut (只涵蓋 EIP-1559 和 3198)以后的測試網還需要添加哪些內容進行討論,這部分內容又涉及是否倫敦升級后就進行“合并”,討論的重點包括:
1. 如果倫敦后就集中在“合并”上,那么很大機會倫敦一年后才會有一個“功能分叉 (feature fork)";
2. 1559 本身的內容就很多,在社區呼聲很高,且由于難度炸彈的原因必須在這個夏天實現;
3. 各個客戶端團隊無法做到同步推進工作,因此在添加內容到升級時需要注意這一點,基于此,大家同意倫敦至少需要包括1559、3198、以及難度炸彈推遲;
4. 關于其他 EIP (EIP-3403、EIP-3074、EIP-2537、EIP-2677),我們應該看它們會給客戶端帶來多少工作,以及它們能提供多少價值。感覺 EIP-3403 和 EIP-3074 是大家最想要的。
由于倫敦升級近在眼前,還有很多事情需要做決定,會議決定 4 月 23 日安排一次額外會議,議程如下:
Eth2
北京時間 2021 年 4 月19 日 17:20:23 迎來了信標鏈第 1,000,000 個 slot!
Layer2
Matter Labs 團隊介紹新解決方案 zkPorter
以太坊二層解決方案團隊 Matter Labs 表示,在 zkSync 2.0 中, L2 狀態將會分成兩個部分:數據可用性在鏈上的 zkRollup 和數據可用性在鏈下的 zkPorter,用戶可以自行選擇將自己的資金存儲于鏈上還是鏈下。關于 zkPorter 的詳細介紹,請閱讀《zkPorter: L2 擴容的突破》。
隨后,Vitalik 在 reddit 中提出對于本篇文章的質疑,認為 “zkPorter 有著比 Optimistic rollups 更強的安全保障” 這一說法并不恰當,zkSync 方回復了 Vitalik 的質疑。詳細請看文章。
https://medium.com/matter-labs/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf
生態
Chainlink 2.0 白皮書發布
4 月 15 日,chainlink 發布 2.0 版本白皮書:去中心化預言機網絡發展的下一步。除了 Chainlink 目前所提供的外部數據之外,該版新白皮書概述了 Chainlink 將如何發展去中心化預言機網絡,如何繼續創建一個去中心化元層,通過提供高度的可擴展性、機密性以及安全的鏈下計算方式,來提高智能合約。
Chainlink 2.0 白皮書介紹了一種用于構建混合智能合約的新架構,其中去中心化預言機網絡提供了區塊鏈無法提供的關鍵功能。它作為一個安全的鏈下計算層,部分依賴于區塊鏈以實現安全性,但在運作時同時利用鏈下系統的可連接性、功能豐富性和可擴展性。這個新的抽象層將使得 Chainlink 為大量安全的、功能豐富的智能合約應用程序提供支持,并且為更廣泛的用戶和應用案例提供支持。
圖:去中心化預言機網絡允許智能合約應用程序訪問任何鏈下數據源或計算
https://research.chain.link/whitepaper-v2.pdf?_ga=2.76399382.2026745185.1618821757-725326390.1609159043
https://blog.chain.link/chainlink-2-0-lays-foundation-for-adoption-of-hybrid-smart-contracts/
斯諾登肖像 NFT 以 2224 ETH 價格成功拍賣
基于前美國中央情報局職員、“棱鏡計劃”披露者愛德華 · 斯諾登的肖像的 NFT 作品 ”Stay Free“,以 2224 ETH 的價格在 NFT 制作和交易平臺 Foundation 成功拍賣,拍賣者為新聞自由基金會 ”Freedom of the Press Foundation“,競得者為去中心化組織 PleasrDAO。
該 NFT 使用開源軟件制作,背景畫面為當年對美國國家安全局的大規模監控計劃的標志性法庭裁決書,中間的肖像為斯諾登,攝影師為 Platon。其拍賣收益將全部捐獻給新聞自由基金會,旨在資助和支持言論自由和新聞自由,主席為斯諾登。
cr: foundation.app,“Stay Free”
來源:
https://foundation.app/Snowden/stay-free-edward-snowden-2021-24437
以太坊生態活動預告
4 月 23 日 至 5 月 30 日
imToken 將聯合 ETHPlanet、EthFans、ECN、上海前沿技術研討會和 HiBlock 等以太坊社區和項目,舉辦六場以擴容為主題的活動,形式有:Meetup + Workshop + AMA + Hackathon。
本次系列活動網站:https://rollup.world
第一場活動 (4月23日) 即將開始:Rollup - 以太坊 L2 擴容新范式杭州線下 Meetup。
報名方式:點進文章《線下 Meetup 活動|Rollup - 以太坊 L2 擴容新范式》,點擊文末「閱讀原文」掃碼報名 Meetup 活動。
4 月 22 日,以太坊企業會議2021展望
以太坊各個領域的企業將聚首 ”Ethereum in the Enterprise 2021“ 共同探討以太坊主網、Layer2、Eth2.0、隱私、安全等主題。
會議鏈接:
https://www.conference2021.entethalliance.org/
Tags:ETH以太坊THEHERetha幣最新消息以太坊幣今日價格行情查詢KILLTHEZEROEthereumPoW
撰文:一棵楊樹 自 2020 年「DeFi 盛夏」以來,涵蓋去中心化交易、借貸、衍生品、固定收益、算法穩定幣、資產合成、聚合器等各賽道的 DeFi 發展層次越發多元化.
1900/1/1 0:00:00Sandbox是一個基于區塊鏈的游戲平臺,以打造玩家自己的虛擬世界為特點,玩家可以在其中建立、擁有和盈利他們構建的游戲世界.
1900/1/1 0:00:00根據 DappRadar 數據顯示,在過去30天內,排名前12位的 NFT 市場已產生超過4.8億美元的交易量,醞釀許久的 NFT 熱潮在新年伊始被點燃.
1900/1/1 0:00:00DEX的全鏈式解決方案——Sifchain?目前不少項目都在致力于解決DEX的性能和費用問題,例如Layer 2、選擇某條高性能公鏈.
1900/1/1 0:00:00自 3 年前創辦 Argent 以來,我們一直在朝著一個偉大的目標努力,就是將 Layer 2 引入 Argent,并且讓我們的 Layer 1 錢包變得更加安全、強大.
1900/1/1 0:00:00MIST ?國內社區談這個項目的人不多,這個項目太神秘了,沒有介紹文檔,對他也只是一個模糊的認識.
1900/1/1 0:00:00