本文是為預測EIP4345的影響而作的練習。這個EIP提議在2021年12月推遲難度炸彈。我們的目標是看看我們是否能幫助確定應該何時推遲、應該推遲多少,好讓難度炸彈預計在2022年5月份再次爆炸。
預備知識
有關這個主題,我之前已經寫過很多篇文章了:
有關難度計算的方法:It’sNottheDifficult
有關如何推遲難度炸彈:AMethodtoDiffusetheDifficultyBomb
一些更老的文章見此處和此處
難度炸彈的計算兩部分組成:A部分,用于調整難度、平抑出塊時間的波動;B部分,即難度炸彈本體。
A部分的調整時逐塊發生的,保證出塊時間圍繞13.5秒波動。這部分的調整效果非常好,如果沒有難度炸彈的話,將使出塊時間幾乎保持恒定。我們感興趣的是B部分。
B部分的炸彈是一個階躍函數,每隔10萬個區塊,數值就變作兩倍。在“爆炸”之前,大家都不會注意到它,然而一旦它開始爆炸,數值上升的速度會非常快(跟2^n一樣。
以太坊將進行硬分叉升級,以將難度炸彈推遲大約2-3個月:6月15日,官方消息,以太坊主網將在區塊高度15050000(約6月底)進行Gray Glacier硬分叉升級,以將難度炸彈推遲大約2-3個月,因此所有用戶必須在區塊激活之前進行升級。以太坊客戶端Geth對此發布v1.10.19版本,引入Gray Glacier硬分叉,強制進行升級。
此前消息,以太坊開發者Tim Beiko表示,以太坊預計在8月下旬至11月之間進行合并,只有災難性事件或失敗才能阻止今年的合并。由于涉及的技術問題,幾乎不可能給出合并發生的確切日期。此外,也有跡象表明,開發人員正在推遲以太坊的難度炸彈,因為他們目前正在修復他們在Ropsten合并期間發現的錯誤。[2022/6/15 4:29:51]
炸彈的數值依賴于fake_period。fake_period的值則完全依賴于fake_block的數值;這個數值又是由當前區塊的區塊號以及offset決定的。
注意
我只有自己一個人。我帶著日漸疲憊的心、使用公開可得的數據寫下這篇文章。我在這里所說的一切都是可以討論的,但我已不準備為此負任何責任。本文中的一切,請自己帶著懷疑和謹慎加以看待和使用。
以太坊首席開發人員:以太坊難度炸彈或將再次被推遲:以太坊核心開發者在8月20日進行了電話會議,以太坊首席開發人員Tim Beiko更新會議內容表示,基本上所有團隊都同意,除了Eth1和Eth2合并的共識更改之外,他們還有其他重要的事情需要在接下來的幾個月內完成。鑒于此,與會人員同意不在12月進行“功能分叉”。這意味著可能會推遲難度炸彈,并可能添加其他“一行”更改,但不會在合并之前包含新的EIP。據悉,以太坊倫敦升級納入了EIP-3554,將難度炸彈延遲到12月。[2021/8/22 22:28:57]
實際數據vs.理論數據
我是一個工程師,不是一個數學家,所以我對實際數據的興趣,要比對數學預測的大。在下文中,我會預測數據將如何改變。我的預測基于上面的公式,但都只用到了簡單、直接的Excel表格。
我的討論基于三個簡單的觀察:
A部分工作得非常好,使得出塊時間穩定在平均13.3的水平。
B部分也工作得非常好,它是獨立于A部分的,并且只會提高區塊時間。
如果我們忽略炸彈部分,我們的預測會是保守的。
換句話來說,如果我們的預測忽略了炸彈的效果,我們預測的時間將會比實際時間“提早”一些。這樣的話,即使我們預測錯了,也會有額外的緩沖時間。
動態 | 以太坊難度炸彈已啟動,供應下降出塊時間延長一秒:以太坊區塊鏈“難度炸彈”已經啟動,礦工的整體獎勵從每天約13500枚ETH降至12500枚ETH,隨著哈希率的增加,區塊獎勵也隨著區塊時間的增加而下降。出塊時間方面并沒有增加太多(大約一秒鐘),難度炸彈現已啟動。(trustnodes)[2019/11/21]
第一個表格使用當前的區塊號,并按每塊13.3秒的時間推算出14000000區塊高度的時間:
看仔細一些,我們發現,自區塊號12000000以來,平均出塊時間一直在提高。當然,隨著炸彈的爆炸,平均出塊時間會增加得越來越快。
再次強調,為了保守一些,我們選擇13.3秒的出塊時間來預測未來區塊挖出的具體時間,并且,我們暫時忽略難度炸彈的效果。當難度炸彈爆炸時,平均出塊時間增加;所以,忽略難度炸彈的結果是我們預測的時間將早于實際挖出的時間。
何時分叉
我們考慮的第一個問題是,“何時應該分叉?”
動態 | 由于難度炸彈的影響,ETH日產量或將在下個月下降超30%:據CoinSummer數據顯示,由于難度炸彈的影響,ETH的日產量將在2019年2月9日的時候驟降至13787個,和之前相對穩定的日產量20300個相比,下降幅度達到32.08%,按照今日coinbase的ETH報價104.75美金計算,每日減少賣出壓力68.22萬美元,占coinbase過去24小時成交量的4.33%。現預計推遲到2019年2月27日的constantinople硬分叉之后,日產量將繼續下降至13130個,和20300個相比,下降幅度達到35.32%[2019/1/29]
在我看來,答案完全取決于fake_period的數值。可以這么問:“我們應該在哪個區塊號分叉?13700050,13800050還是139000050?”——為什么這很重要,則留給讀者當作練習——公式的計算應該使用大于號呢,還是使用大于等于號呢?)
下面的表格展示了fake_block計算。
分析 | 以太坊“難度炸彈”并未爆炸 目前對出塊時間影響甚微:針對媒體中提到的以太坊“難度炸彈” (Difficulty Bomb) 已經爆炸的消息,PeckShield研究人員表示,近期挖礦平均時間的延長(14秒—15.5秒)與難度炸彈無關,且該“難度炸彈”代碼在2017年10月份的拜占庭硬分叉時已經存在,并非是此次君士坦丁堡新加。具體而言:以太坊的出塊難度值等于上一塊的出塊難度和時間等要素值加上“難度炸彈”算法產生的難度值。目前“難度炸彈”產生的難度值只占總難度的不到萬分之一,對出塊時間影響很小,但是,其難度值每過10萬塊就會倍增,如果不做調整,大概還需近一年時間它就會是以太坊出塊時間的決定因素 (屆時出塊時間將大幅延長), 而后造成出塊時間指數性增長。即將在二月底發生的君士坦丁堡硬分叉會將其難度值降低2的20次方 (降到現值的約百萬分之一),使“難度炸彈”發作時間向后再推遲一年。[2019/1/21]
在這里我們并置了對每個區塊將挖出的具體時間的預測,以及偽區塊號的計算。
偽周期號正是我們感興趣的內容,因為難度炸彈的值完全取決于偽周期號的值。從我之前的工作來看,我們認為難度炸彈的效果會在偽周期號達到41~42之間的時候開始顯現,在此之前則不明顯。換言之,當偽周期號變成41時,B部分的效果將壓過A部分的效果。
我在這里不想解釋為什么難度炸彈的效果不會在偽周期號達到41之前顯現。我想說的只是,炸彈只會提高出塊的時間,而如果沒有炸彈的話,A部分就會讓區塊時間保持在13.3秒左右。換句話來說,平均出塊之間會高于13.3秒,如果太低了,A部分就會調整難度,把出塊時間拉回來——再直白一點——A部分就是這么工作的。
給定上述分析,我建議在晚于13800000區塊的任意時間分叉。大概是12月中旬。我會建議以具體的區塊號為目標,比如區塊號13850000。“痛點”會在大約1月中旬到來。所以這個目標也是有容錯空間的。
我們應該推遲多少偽塊?
我們需要考慮的另一個問題是,“我們需要偏移多少偽區塊?”
如上所述,偏移量決定了偽區塊號,進而決定了偽周期號,進而決定了炸彈的值。所以,在下文中,我們會專注于偏移量,看看我們能學到什么。
EIP4354所提議的數值
首先,我們來看看這個EIP提議的偏移量。我們在此根據13.3秒的平均出塊時間生成一個簡單的圖表。同樣地,我們忽略炸彈的影響,因為我們知道炸彈只會提高區塊時間,因此讓相應區塊號的實際發生時間晚于我們的預測。我們將安排“ArrowGlacier”發生在13800050號區塊,并使用這個EIP提議的偏移量10500000。
本圖似乎表明,如果我們設置10500000的偏移量,則難度炸彈最早將在4月中旬開始爆炸。到5月中旬,區塊將開始顯著變慢。
我們之前遇過的最大的偽周期號就是43,是在“拜占庭”分叉之前。出塊時間的增加顯著可見——達到了數秒的級別。
提早或推遲分叉的時間
為了消遣,我準備看看如果我們提早或推遲分叉的時間,會有什么影響。
下面的這張表顯示了估計的結果——讓我有點意外——分叉的時間對最終結果沒有影響。但是,我回想了一些,覺得這是有道理的。因為,唯一一個決定偽周期號的量就是偏移量。除了讓當次分叉之前出塊變得更慢,推遲分叉的時間對下一次難度炸彈爆炸的時間沒有任何影響。
你可以從上面這張圖看出,無論我們早點還是晚點實施“ArrowGlacier”硬分叉,只要我們使用10500000的偏移量,那就對下一次難度炸彈爆炸的時機沒有任何影響。
那我們該偏移多少呢?
這個問題取決于你想在5月的時候給以太坊核心開發者多大的壓力。如果你想給他們很大的壓力——讓5月的時候整個世界都會抱怨以太坊出塊速度變慢——那就把偏移量設得小一點。如果你只想輕輕地推他們一下——類似于“我們最好現在采取行動,不過也不是特別著急”——那就支持大一點的偏移量。
如果你使用了10500000的偏移量,你可能是在給他們很大的壓力。你可以預期,四月底就會看到出塊顯著變慢。但是,難度炸彈的麻煩之處在于,一旦開始爆炸,就不會給人喘息之機。
從“明顯”到“非常顯著”,到“令人煩躁”,再到“搞什么鬼”再到“以太坊去死吧”,只需要4到6周時間。我不是瞎扯,因為每一個10萬區塊的周期都會越來越長,而且只要開始爆炸,就會爆炸得越來越快。詳見我上面關于“拜占庭”分叉前爆炸情況的文章。難度炸彈是來得很慢,但爆炸之后可就是另一番景象了。
在最后一個表格中,我建議使用10700000的偏移量。我同樣建議在13800050號區塊后分叉。這會讓我們現在有休息的時間,并讓預計下一次爆炸的時間推到5月中旬。這是保守估計,但也是現實的考量。
結論:需要設置大于10500000的偏移量。
總結
決定你想給核心開發者多大的壓力。如果你想狠狠推他們一把,就把偏移量設為10500000;如果你想放過自己,就請設置為10700000。搖擺不定的,可以在這兩者間取一個值。
“何時”激活分叉的決定對下次爆炸的時間沒有影響。這個決定唯一影響的是“ArrowGlacier”硬分叉之前出塊時間會拉長到多久。這是因為,只有偏移量會影響偽周期號,也只有偽周期號會影響難度炸彈的數值。
支持我們的工作
TrueBlocks是完全用我們的個人資金支持的項目,少量獎金來自以太坊基金、Consensys公司、MolochDAO以及近期的Filecoin/IPFS。
如果你喜歡本文,或者希望支持我們的工作,請看我們的GitCoin主頁:https://gitcoin.co/grants/184/trueblocks。請給下一輪匹配捐款。我們會從更大的匹配獎勵中獲得額外的利益。即使很小的數額也會產生很大的效果。
Tags:以太坊ETHOINCOI如何購買以太坊幣guaranteed-ethurance-token-extraGeertCoingoocoin
Glassnode數據顯示,截至11月7日,兩大美元穩定幣USDT、USDC的供應量創下歷史新高,USDT的循環應用量超721.86億美元,USDC的循環供應量超342.91億美元.
1900/1/1 0:00:00金色財經報道,10月20日,吉林省人力資源和社會保障廳印發了《吉林省新職業職稱評審實施意見》,其中包括新業態區塊鏈專業技術資格評價基本標準條件.
1900/1/1 0:00:00聯盟鏈的國家隊里是不能缺少星火鏈網的,星火鏈網是國家級區塊鏈網基礎設施。本文將帶你一文讀懂星火鏈網.
1900/1/1 0:00:0010月28日消息,彭博社刊文指出,Facebook元宇宙項目或比其社交媒體更有利可圖,同時可暫時緩解Facebook的監管煩惱.
1900/1/1 0:00:00ProShares比特幣策略ETF于10月19日正式上市交易,首日交易金額即超過了10億美元,這是有史以來發行日交易金額第二高的ETF.
1900/1/1 0:00:00ViaBTCCapital依托ViaBTC的全鏈條生態,旨在整合多方資源優勢提供許多傳統投資機構不具備的一站式投融資服務,從而成為加密世界基礎設施領域不可或缺又并非人人可做的「造雨人」.
1900/1/1 0:00:00