Ethereum

乙太坊的氣體限制似乎低得令人望而卻步。它會被提高嗎?如果是這樣,何時以及如何?

  • September 8, 2016

由於 gas 限制較低(314 萬 gas ~0.15 ETH),我無法發布契約和執行交易。氣體限制將如何以及何時上升?

區塊氣體限制由礦工決定。根據乙太坊協議,他們可以將其提高/降低前一個區塊的 1/1024。

目前(2015 年 11 月 20 日),geth 設置為如果前一個塊使用的氣體限制超過前一個塊氣體限制的 2/3,則自動增加氣體限制,如果低於門檻值則自動降低氣體限制。在實踐中,增加(可能)永遠不會發生,即使發生,大多數塊都遠低於 ⅔ 門檻值,因此限制會迅速回落到 pi 百萬。像這樣的氣體使用量非常大。見<http://stats.ethdev.com>

此外,為了讓礦工修改⅔邏輯,他們需要更改 geth 的程式碼並從原始碼建構,這不會大規模發生。

在https://gitter.im/ethereum/research上正在討論如何處理這個問題。Vitalik 提出了將限制設為目前限制的 4 倍並保留 ⅔ 邏輯的想法。我支持 4 倍增長,但我認為 ⅔ 邏輯需要重新考慮。

更新:我向 Vitalik 詢問了 DEVCON1 期間的低氣體限制。不急於提高 gas 限制的原因與區塊傳播時間有關。乙太坊網路中的每個節點都必須執行每筆交易。如果氣體限制大幅增加,可能會出現阻塞時間延遲,這將導致網路從 17(目前平均值)上升到 20 秒以北。這不是我們想要前進的方向。

我還要說,低 gas 價格的一個好處是它迫使合約作者創建有效的程式碼,這反過來又減少了區塊鏈的膨脹。

據我了解,設置氣體限制的原因是為了避免節點在繁忙時期承受處理事務的負載,從而減少可用於探勘的處理,從而延遲塊的創建和傳播。這將導致更長的出塊時間或激勵礦工創建零交易塊以獲得挖礦獎勵。

可以減輕這種影響的一種方法是設置移動平均氣體限制。例如:說最後五個區塊的總數是 pi 百萬的 5 倍。每個區塊保持相同的 pi 百萬平均值。

這將允許在不增加平均處理負載的情況下部署大型合約的零星高gas峰值。這將允許部署高 gas 合約,但比增加每個區塊的平均 gas 更可取。

引用自:https://bitcoin.stackexchange.com/questions/41503