什麼是網路升級/硬分叉?
網路升級就是對以太坊協議的更改,為已有的以太坊協議加入新的規則來加強整個系統。這些新規則是預先用以太坊升級提案(EIP)的形式公佈出來的。而在提案中,提議者會用技術術語定義出需要在網路升級中實現的變更和功能。
網路升級既有計劃之內的,也有計劃之外的。升級也叫做分叉,一般來說是加入用戶和協議開發支持的新功能。有時候人們也會為了修復漏洞或製止攻擊而使用分叉,這就是計劃之外的分叉了。迄今為止,以太坊網路上已經實現了7次硬分叉。硬分叉的含義是,該次網路升級所包含的內容是不完全後向兼容的,並且有可能導致一些舊交易失效,以及/或者改變已部署合約的功能。
公有鏈的去中心化特性使得網路升級較之普通的軟件升級更難,因為這需要整個社區與多個以太坊客戶端開發者的協作和溝通,惟其如此,升級才能順利進行。
為了升級能在主網上無縫激活,升級內容會先在以太坊測試網路比如Rinkeby、Ropsten、Goerli 和Kovan 上激活運行。
日前,伊斯坦堡分叉的激活高度已經確定,為9, 069, 000 號區塊,預計將於12 月7 日到來。具體時間則要看網路的出塊時間變化而定。
Istanbul 是什麼?
伊斯坦堡(Istanbul)是以太坊的第8次網路升級。此前的網路升級還曾有過諸如「拜占庭」這樣的代號。最近一次(也是上一次)網路升級叫做「 君士坦丁堡 」。
網路升級的過程是什麼樣的?
當整個社區對升級應當包含哪些變更達成共識之後,這些規則變更會被編入多個以太坊客戶端,比如geth、Parity、Besu 以及Nethermind。這些協議變更會在特定某個區塊開始激活,激活之後,升級所引入的新功能就可以使用了。沒有升級到新規則的節點也會自然組成一個使用舊規則的網路,但這個網路與使用新規則的網路之間是不能互通的。
本次升級中包含了哪些?
以太坊伊斯坦堡升級的內容是用以太坊升級提案(EIP)的形式表述出來的。EIP 的作用就是描述以太坊平台的標準,包括核心協議技術說明、客戶端API 以及合約標準。
因為以太坊社區在過去一年中的成長,本次升級是歷次升級中規模最大的(從提案數量上來看),超過30 個EIP 被提議加入這次分叉中。經過詳細的討論, 6 個EIP 最終被認為適合併已準備好加入這次升級。
EIP 1679:伊斯坦堡計劃
該EIP 包含了將加入伊斯坦堡分叉的協議變更列表。該EIP 也列出了一開始被提議的所有EIP。
包含在伊斯坦堡升級中的EIP 具有如下特點:
- 根據計算開銷以及提升拒絕服務攻擊抗性的需要重新分配一些操作碼的 Gas 耗用量;
- 使基於SNARKs 和STARKs 的Layer-2 方案性能更佳;
- 使以太坊和Zcash 能夠互操作。
- 讓合約能夠引入更有創造性的功能。
EIP-152:增加BLAKE2壓縮函數F
預編譯功能
增加在以太坊合約內驗證Equihash PoW的功能。這就開啟了 Zcash 和以太坊之間中繼交易以及原子化互換交易的可能。
EIP-1108:降低alt_bn128 曲線的預編譯Gas 消耗量
讓 zk-SNARKs 運算變得更便宜,讓更便宜的擴展和隱私應用能開發出來。例如Matter labs、Aztec Protocol、Rollup以及Zether。
EIP-1344:ChainID 操作碼
為合約增加一種跟蹤自己所在以太坊鏈的方式,好讓合約(尤其是Layer-2方案如狀態通道和Plasma所用的合約)跟蹤正確 Layer-1 鏈,尤其是在硬分叉期間。
EIP-1884:給與默克爾樹大小相關的操作碼重新定價
改變了一些EVM 操作碼的 Gas 耗用量,以防止濫發交易攻擊並更好地平衡每個區塊的計算開銷。在以太坊網路上,一個操作所需耗用的Gas 數量往往跟這個操作所需付出的計算開銷相匹配。該 EIP 提高了一些計算密集但當前的 Gas 耗用量較少的操作碼的耗用量,即SLOAD、BALANCE 以及EXTCODEHASH。
EIP-2028:降低交易數據Gas 消耗量
通過降低在交易內調用數據的Gas消耗量來讓zk-SNARKs和zk-STARKs的應用更便宜。這樣做還可以幫助Layer-2解決方案提高吞吐量。Starkware就是一個例子。
EIP-2200:改變SSTORE 操作的Gas 淨耗用量計量方式
改變EVM 數據存儲操作的Gas 耗用量計量方式,讓合約能夠引入一些新的函數,比如重入鎖(re-entry lock)以及same-contract multi-send。
?相關報導?
以太坊難度炸彈「滴答,滴答」準備引爆… 出塊時間已開始指數增長
以太坊 Vitalik 回顧:區塊鏈 5 年前的 16 個問題都解決了嗎?
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!