pos機出現(xiàn)99代碼,以太坊升級的拖油瓶

 新聞資訊  |   2023-04-18 09:50  |  投稿人:pos機之家

網(wǎng)上有很多關(guān)于pos機出現(xiàn)99代碼,以太坊升級的拖油瓶的知識,也有很多人為大家解答關(guān)于pos機出現(xiàn)99代碼的問題,今天pos機之家(m.afbey.com)為大家整理了關(guān)于這方面的知識,讓我們一起來看下吧!

本文目錄一覽:

1、pos機出現(xiàn)99代碼

pos機出現(xiàn)99代碼

原本,再過 10 多小時,就到了以太坊原定的君士坦丁堡大升級的時間。

但是,24 小時前的一條 bug 改變了一切:

北京時間昨晚 7:09,ChainSecurity 通過以太坊基金會的 bug 懸賞計劃披露了本次升級中 EIP 1283 所存在的一個漏洞。

今天凌晨 0:09,以太坊基金會請求 ChainSecurity 公開該漏洞相關(guān)的具體信息。2 分鐘后,ChainSecurity 關(guān)于漏洞報告的文章公開發(fā)布。

凌晨 0:52,以太坊基金會安全主管 Martin Holst Swende 在 Gitter 的 ethsecurity 和 AllCoreDevs 頻道向相關(guān)相關(guān)開發(fā)者通報漏洞情況:

“請大家都看看這篇文章:https://medium.com/chainsecurity/constantinople-enables-new-reentrancy-attack-ace4088297d9。并 @所有人 我們需要迅速確定其潛在后果并定下來如何推進。我們離分叉只剩下 37 小時時間了”

凌晨 0:52 — 2:15,以太坊基金會通過多種渠道討論了相關(guān)的潛在風(fēng)險、鏈上分析以及需要采取的應(yīng)對措施。

凌晨 2:15 — 4:40,關(guān)鍵的利益相關(guān)者也通過 Zoom 音頻通話進行了討論,同時 Gitter 和其它渠道上的討論還在繼續(xù)進行。

北京時間今天凌晨 4:08,以太坊基金會決定推遲君士坦丁堡升級。

凌晨 5:30,以太坊基金會通過多種渠道和社交媒體公布了這一決定。

鏈接:https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/

一只蟲子瞬間毀了一鍋湯:

那么,這究竟是一只怎樣的蟲子呢?

廢話不說,在 ChainSecurity 的文章里面,存在漏洞的代碼是這樣的:

翻譯成普通話就是,在智能合約中使用這里的代碼,可以讓雙方兩方共同接收資金,共同決定如何分割資金,然后啟動這些資金的支付。

看上去很美好,但如果攻擊者使用下圖中的代碼進行攻擊,就可以多次“重新進入”同一個函數(shù),卻又無需更新用戶的事務(wù)狀態(tài),從而可以“重復(fù)撤回資金”。

這就是重入式攻擊(re-entrancy attack),特別是那些在 transfer() 或 send() 函數(shù)后附加改變狀態(tài)操作的合約,更容易受到攻擊。

發(fā)生這種情況時,通過 1 ETH 的成本投入,攻擊者輕易就能換回成千上萬以太幣的收益。

這不得不讓人回想起 2016 年 The DAO 事件中的漏洞:當年的 6 月 17 日,黑客利用 The DAO 代碼內(nèi)的一個遞歸調(diào)用漏洞,不停地從 The DAO 資金池里面分離資產(chǎn);而后又利用 The DAO 另外一個漏洞來避免分離后的資產(chǎn)被銷毀,數(shù)小時內(nèi)執(zhí)行攻擊 200 多次,所盜取的以太幣共計超過 360 萬,當時價值 7000 多萬美元,按今天的價格則高達 4.4 億美元。The DAO 項目隨之分崩離析,并引來美國證券交易委員會的嚴格調(diào)查。而以太坊基金會為了避免損失,不得不實行硬分叉,一時間爭議極大,以太幣價格徑直暴跌 30%。

而對于這一次的漏洞,ChainSecurity 的總結(jié)非常簡短:

EIP-1283 為 SSTORE 操作帶來了更便宜的 Gas 成本;一些(已經(jīng)在鏈上的)智能合約的代碼模式,可能使它們在君士坦丁堡升級發(fā)生后容易受到重入式攻擊(re-entrancy attack);在君士坦丁堡升級之前,這些智能合約不會受到影響。具體代碼研究的 GitHub 項目在這里:https://github.com/ChainSecurity/constantinople-reentrancy

可能是 The DAO 事件的教訓(xùn)太過深刻,對于這次 EIP 1283 所曝出來的漏洞,以太坊社區(qū)的行動極其迅速,從漏洞披露到應(yīng)對決策,短短 9 個小時,利益相關(guān)的各方便能就漏洞的解決方案達成一致。

對此,以太坊基金會的 Hudson Jameson 給出了極高的評價,在它看來,幾經(jīng)風(fēng)雨的以太坊社區(qū)確實成熟了許多:

反差之下,筆者瞬間記起了 EOS 主網(wǎng)上線前的緩沖區(qū)越界寫入漏洞,去年 5 月底那場發(fā)生在 BM 與 360 之間長達數(shù)天的撕逼……

說點正事,這個漏洞會影響到我嗎?

一般用戶:吃瓜就好,無需任何操作。

礦工或節(jié)點運行者:請更新你的以太坊客戶端——Geth 和 Parity

Geth

升級到1.8.21

https://github.com/ethereum/go-ethereum/releases/tag/v1.8.21

或降級至 Geth 1.8.19

https://github.com/ethereum/go-ethereum/releases/tag/v1.8.19

保持在1.8.20,使用開關(guān) \'-override.constantinople = 9999999\' 無限期推遲君士坦丁堡分叉。

Parity

升級到 Parity Ethereum 2.2.7-stable (推薦)

https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.7

升級到 Parity Ethereum 2.3.0-beta

https://github.com/paritytech/parity-ethereum/releases/tag/v2.3.0

降級至 Parity Ethereum 2.2.4-beta(不推薦)

https://github.com/paritytech/parity-ethereum/releases/tag/v2.2.4

究竟君士坦丁堡何時能上線?

不過,以太坊的君士坦丁堡推遲后,大家更關(guān)心的可能還是它真正上線的時候問題。

根據(jù)緊盯以太坊動態(tài)的 Evan Van Ness 的說法,新的升級時間需要等到本周五以太坊核心開發(fā)者的電話會議。

Evan Van Ness 是每周以太坊動態(tài) “Week in Ethereum News” 的作者。

補充一下,何謂君士坦丁堡?

君士坦丁堡是以太坊網(wǎng)絡(luò)更新的代號。此次更新是無爭議的,并且預(yù)計每個人都同意在這條新路徑上采用以太坊區(qū)塊鏈。就像 2016 年的“家園”和 2017 年的“拜占庭”,此次硬分叉將導(dǎo)致兩個鏈條,但舊鏈幾乎立刻會死亡。

這次以太坊更新包括以下 5 個新的以太坊改進提案(EIP):

EIP145:出自以太坊開發(fā)人員 Alex Beregszaszi 和 Pawel Bylica;主要引進了一種叫做「按位移動」(bitwise shifting)的運算符。以太坊虛擬機(EVM)之前缺少這種運算符,只支持其他邏輯和算數(shù)運算符,「按位移動」運算符只能通過邏輯和算數(shù)運算符實現(xiàn),現(xiàn)在通過原生支持「按位移動」運算符,能大大優(yōu)化 DApp 開發(fā)者智能合約的 Gas 消耗。

EIP1014:由以 V 神親自提出,增了一個合約創(chuàng)建函數(shù) CREATE2,提供了一種可以提前預(yù)測合約地址的合約創(chuàng)建方法,該升級能更好的支持基于狀態(tài)通道或者鏈下交易的擴容解決方案,即現(xiàn)在主流的 Layer 2 方案。

EIP1052:出自以太坊核心開發(fā)人員 Nick Johnson 和 Pawel Bylica;引入了一個新的操作碼,允許直接返回合約字節(jié)碼的 keccak256 哈希值,該升級能有效減少以太坊網(wǎng)絡(luò)對于大型智能合約的運算量,尤其是只需要智能合約的哈希值的時候。

EIP1234:該升級主要是將現(xiàn)有的區(qū)塊獎勵由 3 ETH 減少到 2 ETH,減產(chǎn) 33%,同時將難度炸彈(difficulty bomb)推遲 12 個月。

EIP1283:該升級通過更改 SSTORE 操作碼優(yōu)化智能合約網(wǎng)絡(luò)存儲的定價(Gas),減少和智能合約運行量不匹配的 Gas 消耗。

早前報道普遍猜測,本次升級中以太坊的共識算法將會進入 PoW/PoS 的混合模式,即每 100 區(qū)塊中,前 99 個區(qū)塊使用 PoW 共識,而最后一塊使用 PoS 共識。基于此,以太坊將可以在公網(wǎng)環(huán)境以一個安全系數(shù)較低的方式檢驗基于 PoS 的 Casper 算法,而且可以依賴最后一塊的 PoS 共識來有效抵御 51% 攻擊。

而事實上,在君士坦丁堡版本中,共識模塊只包含主網(wǎng)使用的 PoW 算法 Ethash,以及測試網(wǎng) Ropsten 采用的 PoA 算法 Clique,并沒有 PoW/PoS 混合共識的支持。而且,本次硬分叉也不會分叉處新的資產(chǎn)。

2019,為以太坊 2.0 鋪路

盡管難產(chǎn),君士坦丁堡卻是以太坊 2019 年最重要的一個起點:

以太坊接下來的升級,還將引入 Casper、Beacon chain、Sharding、eWASM、Plasma 等以太坊 2.0 的理念,為最終的 “寧靜” 階段鋪路。

其中,Casper 協(xié)議,將以太坊從 PoW(工作量證明)過渡到 PoS(權(quán)益證明)。雖然 PoS 不會立即取代 PoW,但是我們將看到一個同時運行的混合系統(tǒng)。由于“難度炸彈”協(xié)議的延遲,礦工將有充分的時間從 PoW 轉(zhuǎn)到 PoS。一旦被激活,以太坊中的 PoW 挖礦將變得更加困難,以便將激勵轉(zhuǎn)向 PoS。

以太坊開發(fā)人員隨后將轉(zhuǎn)向使用 “Beacon chain” 概念驗證。Beacon Chain 將是一個融合現(xiàn)有主網(wǎng)絡(luò)和網(wǎng)絡(luò)新功能的協(xié)調(diào)層,但是目前還沒有開始構(gòu)建。它將把 PoS 區(qū)塊鏈作為新的共識協(xié)議帶入到以太坊網(wǎng)絡(luò)中。Beacon chain 的一個主要功能是管理以太坊擴展的新特性,即:“分片”(sharding)。

分片將把網(wǎng)絡(luò)切分為獨立的節(jié)點組——shards。這將分割網(wǎng)絡(luò)負載,使主網(wǎng)絡(luò)不必承擔所有交易的負載。相反,分片將重新分配以太坊網(wǎng)絡(luò)的計算負載,以便其實現(xiàn)擴展。然而,這樣做的缺點是對網(wǎng)絡(luò)安全的影響,因為這可能導(dǎo)致每個分片受到攻擊。這就是為什么實現(xiàn)非常重要的原因,因為必須在安全,去中心化和可擴展性之間的維持平衡。保持分片協(xié)調(diào)也很重要,以便保持區(qū)塊鏈的一致性狀態(tài),這也正是 Beacon chain 的功能。

此外,EIP 145 和 1052 還詳細規(guī)定了優(yōu)化 EVM(以太坊智能合約虛擬機)的代碼。該優(yōu)化引入了按位移動(bitwise shifting),提高了網(wǎng)絡(luò)效率。逐位移動就像字節(jié)碼中的快捷方式,不依賴于復(fù)雜的算術(shù)運算,這使得網(wǎng)絡(luò)可以更快地處理去中心化應(yīng)用。正如我們過去所看到的,當以太坊網(wǎng)絡(luò)的在線用戶過多時,網(wǎng)絡(luò)速度很容易變得慢的不像話。代碼的優(yōu)化將使網(wǎng)絡(luò)能更有效地使用計算資源。反過來,開發(fā)人員和用戶在以太坊網(wǎng)絡(luò)上的計算成本也得到了節(jié)省。

用 eWASM(Ethereum Flavored WebAssembly)替換 EVM 也是該計劃的一部分。這樣做的優(yōu)點之一是:智能合約的代碼執(zhí)行速度更快。EVM 使用 256 字節(jié)的字大小,這在實際應(yīng)用程序中效率并不高。WASM 也被用于其他加密貨幣項目,如 EOS 和 Cardano。

gas 收費結(jié)構(gòu)的調(diào)整很受開發(fā)者歡迎。EIP 1283 將為智能合同帶來更好的成本優(yōu)化。具體方法是分解寫在以太坊內(nèi)存存儲中的合約更改。由于這樣做不會影響區(qū)塊鏈上的任何狀態(tài)更改,不會消耗 gas,從而降低了開發(fā)人員的成本。

此次計劃還有一些擴展以太坊網(wǎng)絡(luò)的建議,名為:第 2 層(Layer 2)或“鏈下”解決方案。Plasma,是一個基于在子鏈上實現(xiàn)的智能合約的第二層解決方案。Raiden,相當于以太坊的閃電網(wǎng)絡(luò)。這些解決方案與以太坊框架完全適配。如果事實證明這些解決方案可行,那么對投資者來說也將是件好事。

工作量證明為區(qū)塊鏈提供了安全保障。有了“鏈下”解決方案,用戶將承擔更多的責(zé)任,因為他們不再擁有主網(wǎng)絡(luò)提供的共識機制。由于是由工作量證明向權(quán)益證明轉(zhuǎn)換,這將要求區(qū)塊驗證者維持良好的信譽,他們必須質(zhì)押一定數(shù)量的 ETH(他們的權(quán)益)。如果區(qū)塊驗證者有不良企圖,他們質(zhì)押的 ETH 將會被沒收,這就像是在一個去信任系統(tǒng)中將他們的信譽作為保證金。

在其他相關(guān)新聞中,也有關(guān)于以太坊期貨合約的討論。機構(gòu)投資者致力于推動以太坊生態(tài)系統(tǒng)的構(gòu)建,但監(jiān)管機構(gòu)在評估 ETH 等數(shù)字資產(chǎn)與比特幣的不同之處。問題是這些資產(chǎn)是一種證券還是一種商品。一旦確定了這一點,答案就很明了了。

如果以太坊項目成功實現(xiàn)了這些升級特性,那么接下來就是 “寧靜(Serenity)” 階段。寧靜是以太坊下一個版本的名稱,它將在純粹的 PoS 共識協(xié)議上運行。這將使以太坊成為一個更快的去中心化計算平臺。實現(xiàn)這一點是重要的一步。

從以太坊社區(qū)的表現(xiàn)上看,本次漏洞應(yīng)該不會發(fā)展成“君士坦丁堡的淪陷”。不過,即便君士坦丁堡成功升級,以太坊發(fā)展到寧靜階段仍然需要一條相當漫長的路。

參考鏈接:https://eips.ethereum.org/EIPS/eip-1283 https://github.com/ChainSecurity/constantinople-reentrancy https://blog.ethereum.org/2019/01/15/security-alert-ethereum-constantinople-postponement/https://medium.com/chainsecurity/constantinople-enables-new-reentrancy-attack-ace4088297d9https://hackernoon.com/ethereum-2-0-the-road-to-constantinople-and-beyond-44f8876ef748https://blog.ethereum.org/2019/01/11/ethereum-constantinople-upgrade-announcement/https://medium.com/futuresin/ethereums-constantinople-is-here-f3d5353cfce3https://media.consensys.net/the-constantinople-hard-fork-what-you-need-to-know-d438a91dec3fhttps://pages.consensys.net/constantinople

以上就是關(guān)于pos機出現(xiàn)99代碼,以太坊升級的拖油瓶的知識,后面我們會繼續(xù)為大家整理關(guān)于pos機出現(xiàn)99代碼的知識,希望能夠幫助到大家!

轉(zhuǎn)發(fā)請帶上網(wǎng)址:http://m.afbey.com/news/20083.html

你可能會喜歡:

版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 babsan@163.com 舉報,一經(jīng)查實,本站將立刻刪除。