以太坊升級將提高gas上限,部分智慧合約或受影響

買賣虛擬貨幣

在8月23日的以太坊核心開發者會議上,開發者Martin Holst Swende談到了EIP 1884(以太坊改進方案)將會產生的影響,這個方案將會是以太坊第八次硬分叉的六大改進之一。

他說:“我們知道,理論上這將帶來一些破壞。”

在兩週前就EIP 1884進行討論之後,核心開發者在今天決定將測試網硬分叉定在10月2日左右,但是他們並未公佈相應的主網升級區塊高度,以防出現更多意外。

具體來說,EIP 1884將提高gas成本。這麼做的理由很簡單:隨著以太坊網路規模的擴大,DApps使用的某些智慧合約佔用了大量計算能力,但支付的gas成本相對較低。

根據Swende提交的這個EIP,這種現象引發了漏洞:“它可能被用於攻擊,透過低成本的操作填滿區塊,從而導致區塊處理時間延長。”

Swende還說明了這項改進的實用性:“定價過低的操作碼會導致區塊gas限制出錯,同樣的gas值可能導致區塊處理時間產生重大差異……如果操作實現平衡,我們可以將最大化區塊gas限制,並擁有更穩定的處理時間。”

因此,提高gas上限是有道理的。然而,問題在於,部分合約在編碼過程中就已經設定好,需要gas成本保持不變。Swende指出這樣的設定並非最佳選擇。畢竟,在2016年底的Tangerine Whistle硬分叉(即the DAO硬分叉)當中,開發者將其中一個操作碼的gas成本從50調整到了200。因此,智慧合約開發者應該料到gas值可能再次上升。

Swende還指出,在EIP 1884部署之後,default 函式(智慧合約用於轉移以太坊的一種方法)也可能失敗,使錢包失效,或者只允許低於一定限額的支付。

Parity Technologies的Wei Tang也參與了8月23日的會議。他很擔心。他在會上以及隨後的推文中都表示,開發者應該採取措施,避免在伊斯坦布林(Istanbul)分叉之前被意外凍結合約。首先,他提出了向後相容。

簡單來說,向後相容能夠或多或少地以當前的gas成本保留當前合約,同時讓新合約滿足分叉後的標準。這是完全可行的。

“向後相容性是以太坊以及虛擬機器上的一個可實現特性。我們在伊斯坦布林沒有這樣做的原因主要是由於時間限制。”

Tang說,治理問題已經花了很長時間,所以像EIP 1702這樣更復雜的改進(其可實現向後相容)已經被擱置。

組織核心開發者電話會議的Hudson Jameson隨後在推特上寫道:

“可以說,透過這個重大改變我們在某種程度上讓人們能更好地準備更重要的變化。”

但Tang擔心負面影響會更多。雖然他說伊斯坦布林的EIP“大多是簡單的”,但他擔心對智慧合約的影響。在會議上,他提到了2017年Parity多重簽名錢包遭駭客攻擊,Parity因此提出了透過硬分叉解鎖50萬ETH的想法,這50萬ETH因合約被凍結而被鎖在錢包裡。

儘管安全問題一直是拖延伊斯坦布林的部分原因,但Tang表示,不花時間實現向後相容也有其風險,這可能會導致網路攻擊。要做到這一點,可以開發不易受攻擊的智慧合約,然後提出修改gas上限的建議,使之失效。

“如果因此產生的影響並不明顯,或者核心開發者堅信向後不相容的更改是可以接受的。那麼惡意實體就可能破壞網路,或竊取使用者資金。”

在今天的會議上,EIP 1884的問題再次出現,開發者就這一方案達成了一定程度的共識。在Tang重申了他的觀點之後,Swende同意開發者應該準備好面對所有意想不到的結果。

“我絕對認為如果我們把東西弄壞了,我們應該事後修好。但我確實認為,在大多數情況下都只是嫌麻煩,'這太難了,我們需要升級到一個新的合約' ——我不認為我們需要理會這種情況。我認為他們需要承受這種痛苦,並堅持下去,因為他們需要改變合約的模式。”

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;