比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads

區塊鏈:科普 | OpenEthereum客戶端 “柏林” 升級后出錯始末_ETHE

Author:

Time:1900/1/1 0:00:00

AlexStokes@ralexstokes:

你可能已經聽說了,@OpenEthereum客戶端的一個錯誤導致了一些支撐以太坊網絡的重要服務宕機。

我們來琢磨一下那筆造成事故的交易。

首先,我想感謝所有快速反應到事故并解決了問題的工程師:https://twitter.com/OpenEthereumOrg/status/1382719444833726470?s=20…

另外,我沒有自己跟蹤所有的細節,下文中的重要事實都由用戶eb在EthR&Ddiscord服務器里提出。

先從那筆觸發了錯誤的交易開始:https://etherscan.io/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247

民盟中央建議加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《關于“元宇宙”技術發展的提案》,并將提交全國政協十三屆五次會議。在提案中,民盟中央建議,在科普層面需加速知識傳播,法律層面則需加快立法步伐。民盟中央擬提交的提案指出,目前,在新興網絡層面,相關政策法規相對缺失。“元宇宙”在未來將會帶動形成全新的網絡形態,當遇到突發輿情,全虛擬的環境、場景將更難進行源頭追蹤、問題疏導。因此建議應盡早加快立法研究,盡快形成與技術、市場發展相適應的治理模式和法律基礎,全面提升我國社會治理的水平。建議組織相關部門,針對“元宇宙”相關需求、風險進行立法研究,并盡快發布。此前消息,民進中央擬向全國政協十三屆五次會議提交《關于積極穩妥推進元宇宙技術和產業發展的提案》。建議推進元宇宙技術產業發展,建立相關監管治理體系。(華夏時報)[2022/3/4 13:37:12]

這是一筆合約調用交易,從KuCoin交易所發出,向許多地址分發ETH。該筆交易的calldata的ABI編碼錯誤,最終導致了鏈分裂。你可以在Etherscan上看看這筆交易的“InputData”。

國務院:推進科普與區塊鏈技術深度融合:為貫徹落實黨中央、國務院關于科普和科學素質建設的重要部署,依據《中華人民共和國科學技術進步法》、《中華人民共和國科學技術普及法》制定《全民科學素質行動規劃綱要(2021-2035年)》,其中要求實施智慧科普建設工程。推進科普與區塊鏈等技術深度融合,強化需求感知、用戶分層、情景應用理念,推動傳播方式、組織動員、運營服務等創新升級,加強“科普中國”建設,強化科普信息落地應用,與智慧教育、智慧城市、智慧社區等深度融合。(新華社)[2021/7/10 0:40:52]

1/在合約中調用sendEths時,需要提供兩個參數:一個是關于目標地址的不定長數組;一個是關于轉賬數額的不定長數組;兩者相搭配才知道要轉移多少錢給哪個地址。

火幣推出《一分鐘讀懂DeFi》系列科普視頻:據官方消息,8月24日,火幣推出《一分鐘讀懂DeFi》系列科普視頻,并與微博財經合作冠名播出,布道DeFi認知,助力行業發展《一分鐘讀懂DeFi》是由火幣成長學院打造的業內首個系統全面講解DeFi的系列科普動畫,繼推出《區塊鏈100問》后的再續佳作。《一分鐘讀懂DeFi》系列動畫對DeFi的發展進行系統梳理,適合想要由淺入深、全面系統了解區塊鏈DeFi的人們輕松了解DeFi。目前視頻已由火幣網官方微博發布。[2020/8/24]

2/我們可以解析calldata來看看到底哪里出了錯:第一行表示地址列表從字節64開始。第二行表示轉移數額的列表從字節416開始。

3/因此,大體上,我們是希望成對成對地、從上往下、向某個地址發送一定數量的ETH——看起來很直接嘛。

現場 | 火幣中國推出數字經濟及區塊鏈產業科普新書:金色財經現場報道,12月6日,由海南省工業和信息化廳主辦,南南合作金融中心協辦,海南生態軟件園、火幣中國承辦的“海南自貿港數字經濟和區塊鏈國際合作論壇”在海口舉行,這是全球首次區塊鏈部長級論壇。

在本次論壇上,火幣中國舉行了“數字經濟及區塊鏈產業科普系列新書發布”儀式,希望通過教材、專業教育、培訓等多種方式,幫助從業者、高校、研究機構深入了解區塊鏈,從而建立起區塊鏈全局性知識模型,真正推動區塊鏈應用落地。火幣中國CEO袁煜明介紹,將聯合機械工業出版社面向普通高等教育推出《區塊鏈導論》、《區塊鏈系統設計與應用》和《區塊鏈新商業模式分析》系列教材,這是國內最早推動的區塊鏈教材之一;火幣中國還積極參與數字經濟的研究,由中信出版社出版的新書《讀懂Libra》已經上市;由火幣中國負責編寫的區塊鏈技術科普讀物《區塊鏈技術進階指南》將于12月面世;首本行業內最全的區塊鏈應用案例集《區塊鏈產業應用100例》在本次論壇進行了首次刊印。[2019/12/6]

4/然而,當我們開始遍歷這個列表,我們先跳轉到calldata的正確字節,而SolidityABI聲明了數據的第一個字是整個不定長數組的長度。

聲音 | 上海股交所總經理:區塊鏈想要大規模發展要做好社會科普工作:金色財經報道,上海股交所總經理張云峰表示,區塊鏈當前還處于一個“概念”的階段,距離成熟應用,影響到百姓的日常生活還有很長的路要走。對于“區塊鏈”和其會帶來的社會和經濟效果,沈陽應當持審慎的態度。區塊鏈想要大規模發展,一方面要做好這項復雜技術的社會科普工作,加快社會大眾對區塊鏈的了解。另一方面,要充分發揮市場的作用,讓企業用實實在在的技術創新,賦能實體經濟的發展。[2019/11/17]

5/這就是最終bug的根源:因為calldada中的值是“0x10”,但是calldata只給出了10個地址-數值對。對這個calldata的正確ABI編碼應該是“0xA”——不是“0x10”!

6/你可能已經猜到了那時候會發生什么事,我們可以通過執行情況跟蹤器來看看:https://etherscan.io/vmtrace?txhash=0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247&type=parity

7/合約成功地遍歷了前10個地址。本來合約應該在此時停止執行,但根據calldata的聲明,還有很多個地址!那就繼續執行吧。

但是,根據calldata的結構,“第11個地址”是用于編碼列表長度的0x10,所以合約就嘗試發送0ETH到地址0x10。

8/此外,似乎,當合約嘗試讀取并不存在的calldata時,會返回0ETH——你可以想象成合約在這里跑出了一個錯誤,但它卻繼續發送0ETH到它從calldata中讀取的另外6個“地址”。

此時,你可能會注意到,0x10有可能是我們所謂的“特殊地址”之一,它完全在EVM預編譯合約的范圍內。

而我們也并不期望預編譯合約0x10能夠返回ETH。如此,它就成了一個ETH黑洞。但是,這也并不必然造成任何問題。到底是什么導致了整個客戶端崩潰?

原因在于,0x10實際上是一個由EIP-2537斷言的預編譯合約,是為BLS配對密碼學程序而設的,但這個EIP還未部署到主網上。所以雖然你能夠跟這個地址互動,但主網上的這個地址里沒有任何合約,不會有任何進一步的動作。

此外,我們還需要一個事實來解釋這次分裂,你可能也猜到了,就是“柏林”硬分叉:它改變了EVM中Gas消耗量的計量方法。

在EIP-2929實施后,如果你在一筆交易中對同一個存儲槽多次執行狀態存儲操作,第一次執行會消耗更多Gas,后續執行的消耗會更少。這種重定價理論上能更準確地反映當前的客戶端訪問存儲項的成本……

而且,要知道,在所有客戶端的執行中,這些數據通常都換存在更便宜的硬件層中。

現在我們終于找到了OpenEthereum在區塊#12244294處發生的Bug:該客戶端包含了所有已實現的預編譯,作為EIP-2929訪問清單的一部分。

因為EIP-2537在大部分客戶端中都已經實現就緒了,OpenEthereum對所有訪問了0x10的交易都給了gas折扣。

但網絡的絕大部分活躍客戶端都不是這樣實現EIP-2929的,它們只會給訪問了已激活預編譯合約的交易提供gas折扣——而EIP-2537屬于還未激活的預編譯合約!所以,OpenEthereum客戶端對該交易消耗了多少Gas的計算與網絡中其他客戶端發生了分歧。

所幸,@mhswende很快找出了該bug,而@sorpaas出力修復了該bug:https://github.com/openethereum/openethereum/pull/364

還有很多東西可說,我也預期會有比我更能觀察到全貌人來撰寫更好的時候報告。

我能說的只是,這個bug彰顯了硬分叉的內在風險,以及持續致力于建設更有彈性的基礎設施的重要性。

依賴于OpenEthereum客戶端的單客戶端系統在今天停機了一段時間,因為客戶端無法在問題區塊出現后與網絡保持同步。Etherscan自身也因此停機。

慶幸的是,這個bug沒有嚴重到導致重大的鏈分叉,但這樣的可能性并不是不存在。我們可以利用多客戶端實現來提升抗性——多客戶端本身就是我們以太坊生態的一大長處——并推動您的基礎設施提供商也這樣做。

我們已經看到,2021年的普及速度已經前所未有地快,而且前景非常光明。我們要從這個事故中吸取教訓,一起打造更好的以太坊。

原文鏈接:https://twitter.com/ralexstokes/status/1382750001026146304作者:AlexStokes翻譯:阿劍

Tags:區塊鏈ETHETHERETHE區塊鏈簡介ETHWYEARN ETHEREUM YIELDSaveTheWorld

fil幣價格今日行情
DIA:覓新|DIA:波卡生態的Oracle_APE

《覓新》是金色財經推出的一檔區塊鏈項目觀察類項目,覆蓋行業各領域項目發展情況,具體設計到項目概況、技術進展、募資情況等,力圖為您呈現熱門新潮的項目合輯.

1900/1/1 0:00:00
DOT:萬字解讀|一文解析波卡生態現狀及未來趨勢_POLK

一直以來,我們都試圖去理解波卡在區塊鏈世界的意義和地位,從各種各樣的文字材料到市場信息得出的結論就是波卡目前是跨鏈解決方案中最優的一個,但是我們始終認為,跨鏈也只是一種解決方案,而不是目標.

1900/1/1 0:00:00
區塊鏈:應用:區塊鏈如何保護著作權?_Stellar Classic

2018年杭州互聯網法院首次對區塊鏈證據效力確認,象征著區塊鏈技術正式走進著作權確權與著作權訴訟領域中.

1900/1/1 0:00:00
FIL:全球算力大會丨圓桌論壇:分布式存儲如何賦能web3.0時代?_OIN

4月17-18日,“超算·融合,2021全球區塊鏈算力大會”將在四川成都召開。本屆大會由巴比特、鏈節點、幣印聯合主辦,吳說區塊鏈協辦。Web3.0因占據風口受到市場關注.

1900/1/1 0:00:00
區塊鏈:IBM欲將其專利轉化為NFT,瞄準萬億美元專利市場_NFT

本文來自?Decrypt?&CNBC,原文作者:ScottChipolina?&EricRosenbaum譯者:Odaily?星球日報念銀思唐 摘要: -IBM?正在與區塊鏈專利.

1900/1/1 0:00:00
以太坊:以太坊柏林硬分叉節點問題后,Coinbase、Ledger等平臺出現服務故障_COI

美東時間周四上午,以太坊「柏林硬分叉」后節點出現問題,區塊高度12244294出現共識錯誤,該塊之后不同步.

1900/1/1 0:00:00
ads