比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

以太坊難度炸彈的爆發和拆除_ALI

Author:

Time:1900/1/1 0:00:00

編者按:本文來自以太坊愛好者,作者:ThomasJayRush,翻譯&校對:曾汨&阿劍,Odaily星球日報經授權轉載。每當以太坊的定時炸彈爆炸時,總會有兩個問題出現在我們面前。第一個問題是:“什么時候出塊會變慢,那簡直不能忍。”第二個問題是,“這一次,我們應該將炸彈推遲多久?”在這篇短文中,我為第二個問題提出了一個簡單得微不足道的解答。難度炸彈應該被推遲多久呢?我的建議是:“給定需要在區塊高度N處執行硬分叉,則將難度炸彈推遲N個區塊。”我并不打算在這篇文章中解釋難度應該如何計算。下面這張圖片在我的上一篇文章中已經出現過了,其中列出了難度的計算公式。

。在這種情況下,出塊太快會導致難度增加,從而降低出塊速度。如果10<=s<20,因子max(x)將變成0,從而確保當s接近目標時間14秒時,難度不再調整。而如果s>=20,因子max(x)的值將變成逐步減至-99,這會導致難度下降,從而提高出塊速度。等式中的第二部分基于上一個區塊的區塊號。通過在指數中對100,000進行整除,創建出了一個以100,000個區塊為周期的階躍函數。第二部分也就是我們常說的難度炸彈。如果沒有第二部分的話,難度炸彈便無從談起。)仔細觀察這個公式,注意它由兩部分組成。公式的第一部分,我稱之為“調整”。這一部分通過調整當前區塊的難度來矯正上一個區塊出塊時間的偏差。這一調整要么降低難度,要么增加難度,這取決于生成上一個區塊所花的時間。上圖中第一個括號突出顯示了這一部分。請花點時間搞清楚它的原理。A部分的實際效果與設計目標完全一致,它的作用是平抑哈希率的波動對網絡運行的影響。從下文的圖表中你可以清晰地看出計算公式中的A部分的作用完全符合預期。正因為A部分按照設計正常運作排除了哈希率帶來的影響,所以我認為,在思考如何推遲定時炸彈時沒必要考慮算力的實際規模。換言之,算力太低不會使難度炸彈爆炸時出塊時間更長、算力太高也不能緩解難度炸彈的效果。鑒于以上分析,我的結論是,公式中的A部分與出塊時間的減慢無關。而公式中的第二部分則是導致所有麻煩的罪魁禍首。我接下來的分析會讓你相信,完全可以將這兩部分分開處理。這些分析使我們更容易看出A部分不會對出塊產生影響,而B部分——炸彈——才會導致出塊時間延長。除此以外,你還會知道拆除炸彈是多么地輕而易舉,只需要在每一次分叉時簡單地將時期重置為0即可。生成數據并格式化

數據:合并后以太坊期貨總持倉量從80億美元下降到68億美元:金色財經報道,據區塊鏈分析公司Glassnode分析數據顯示,合并后以太坊期貨總持倉量從80億美元下降到68億美元,下降了15%,這影響到以以太坊計價的期貨頭寸規模的美元價值。基于以太坊計價的未平倉合約,期貨未平倉合約實際上處于歷史最高水平,自5月初以來增加了近80%。在過去的一周里,期貨杠桿似乎實際上有所增加,而不是減少,這表明許多風險對沖頭寸還沒有被關閉。此外,合并后以太坊看漲期權未平倉合約下降了6億美元(下降10%),仍有總額為52億美元的未結認購期權頭寸價值,遠高于2021年的標準。以太坊看跌期權市場經歷了更明顯的相對下降,為19%,但仍然是一個規模小得多的2.94億美元的凈頭寸價值。[2022/9/23 7:17:00]

處理數據的第一步是獲取數據。我們使用自己的軟件庫TrueBlocks編寫了如下代碼:

運行上面這段代碼,可以生成以下這種非常簡單的.csv格式的數據文件......

上面的數據再加上從EtherScan獲取的每日哈希率列表,對于我們理解以太坊的難度計算來說已經綽綽有余了。我們使用了RStudio和一種名為“R”的數據編程語言來構建下文中的圖表。如果你對“R”語言不太熟悉的話,強烈建議你去了解一下,這是一種非常出色的編程語言。我們先來看一看以太坊的哈希率。日均哈希率

第一張圖表展示了以太坊主網的日均哈希率,其中的數據來源于EtherScan。因為我不知道數據是怎么收集、創建出來的,因此無法保證這些數據的真實性,但我假定它是對的。可以點擊這個鏈接查看相關數據。

數據:Polygon日活用戶數量已達以太坊的64%:12月2日,據分析師Raphael援引數據顯示,Polygon日活用戶連續4周超過30萬人,目前日活用戶數量已達以太坊的64%。同時,最近一周內Polygon鏈上凈流入資金超過2億美元,環比增長超120%。目前,Polygon鏈上每筆交易對應成本僅為0.02美元,OpenSea(Polygon)在11月交易量接近6000萬美元,NFT銷售數量達125萬枚,已接近OpenSea(ETH)的1.5倍。[2021/12/2 12:46:13]

討論:從上圖中可以明顯地看出,以太坊的哈希率隨著以太幣價格起伏而變化。這張圖讓我回想起了以太坊的價格走勢。2017年夏,哈希率一路飆升,并在2018年第一季度達到頂峰。而2016年10月哈希率的起伏則是由于當時臭名昭著的DDos攻擊,上圖中兩條灰色垂線代表的是兩次硬分叉——即拜占庭硬分叉和君士坦丁堡硬分叉。這張圖暫時就分析到這里,不過我們在接下來討論區塊鏈的難度數據時依然會提起它。原始難度數據

第一張基于難度數據的圖表展現了通過Parity的RPC調用get_Block返回的數據。首先,下面列出了一些標準的統計信息:

我們的第一張圖表非常直觀:

討論:上圖的數據是在第8,920,000個區塊時生成的。盡管處理這么多數據記錄對于“R”語言來說易如反掌,但考慮到數據挖掘的迭代性質,我們從每100條數據中抽取了1條記錄作為樣本,最終得到大約9,000條記錄,并展現在上圖中。與前文一致,上圖中的灰色垂線也代表硬分叉。紅線的高度代表給定區塊時的難度值。你可以很容易地看出在每一次分叉時拆除難度炸彈的效果。請回看前文中關于哈希率的圖表,在2016年秋天的DDos攻擊中,你可以看到難度與哈希率之間的關系。假如難度炸彈沒有拆除——實際上從難度激活的那個高度開始把紅線繼續向上延伸——對于兩次硬分叉都采取同樣的操作,你會發現這與哈希率變化的圖表驚人的一致。換句話說,哈希率和難度是緊密聯系在一起的,這非常合理。因為這正是難度計算公式中的A部分設計的目的所在。它的存在就是為了直接根據不同的哈希率來調整難度值。礦工的行為可能并不會因為難度炸彈的拆除而發生變化。他們的挖礦設備在難度炸彈拆除前后都同樣地持續運行。唯一的改變是出塊的平均時間變短了。在我們進入下一張圖表的分析之前,還有一些地方需要注意。請仔細看看拜占庭硬分叉前面的部分。你會發現難度水平上出現了4、5次單向的垂直躍升。事實上,每一次難度水平的跳躍幅度都是上一次的兩倍。這些跳躍就是我們所說的難度炸彈。讓我們一起把目光聚焦到圖表的其它部分。

以太坊開發者提議在倫敦硬分叉升級后優先考慮ETH2.0合并:以太坊2.0客戶端Teku的Mikhail Kalinin提議,在倫敦硬分叉(預計在7月份)升級后,優先考慮ETH2.0合并。Kalinin表示,由于最近Vitalik的快速合并提議,有可能更快地實現合并。該方案的主要優點是,它引入了較少的所需更改,以便在以太坊主網上進行一致升級,即用PoS替換PoW。這一提議確實意味著合并成為繼倫敦和Altair之后以太坊核心者的主要關注點(信標鏈升級預計很快就會發生)。據悉,Altair是信標鏈協議第一次升級的名字,由社區投票選出。

此前消息,以太坊核心開發者正在制定ETH2.0合并最低技術規范。以太坊基金會研究員及開發者Danny Ryan和以太坊2.0客戶端Teku的Mikhail Kalinin,正在探索創建一個可交付產品,以保存一些功能供以后使用。Mikhail Kalinin提議推出一個“可執行的信標鏈”(2020年11月底提出),其將簡化最初設計的復雜性。Kalinin已在GitHub上發布請求,以讓開發者參與實現該提議。與此同時,V神希望能加快Eth1和Eth2的合并進程。[2021/3/19 19:01:08]

討論:我們以100,000個區塊為一組,用垂線將上圖分隔開來。睜大你的眼睛,仔細看,代表難度跳躍的曲線跟我們作的垂線完全重合。在這些分隔線之間,難度持續上升,但上升速度遠不及分隔線上的躍升幅度。難度的爆炸性增長與2017年時哈希率一路飆升的事實相一致。也許你也注意到了每一次連續的“爆炸”——每次炸彈爆炸時的難度值的增量都是上一次的兩倍。事實證明,這些跳躍的周期性對于理解當下正在發生的事情尤為重要。在本文余下的圖表中,我們的目標是將難度計算公式中的第一部分和第二部分分開。從而幫助我們更好地理解如何應對未來的難度炸彈。每個區塊的難度變化

數據:以太坊鏈上比特幣錨定幣發行量達85630枚:DeBank數據顯示,以太坊鏈上的比特幣錨定幣發行量持續上漲,目前達85630枚。納入統計的包括WBTC、renBTC、sBTC、imBTC、HBTC、BTC++、pBTC以及tBTC。其中WBTC所占份額最高,當前發行量為 56848枚,占比66.39%,其次為renBTC ,發行量為20145枚 ,占比23.53% 。[2020/9/14]

在下一張圖表中,我們來看看每個連續的區塊之間的難度變化。其計算公式為y(x)=區塊x的難度值—區塊x-1的難度值

討論:正如我們在上文提到的,A部分的計算使得難度在一個水平附近“徘徊”,以確保出塊時間維持在14秒。上圖通過使用紅藍色表示數據來揭示這種“徘徊”現象。圖中的“增長”部分代表難度的正向變化。而圖中的“收縮”部分代表難度的負向變化。難度始終圍繞著0值“調整”。換句話說,這部分計算是為了維持出塊時間的穩定,A部分的計算使得出塊時間維持在一個穩定的值——14秒。對你來說,這張圖可能是你第一次看到難度炸彈的直觀展現。很明顯,每次爆炸時的難度都是上一次的兩倍。但在我看來,這張圖表達的依舊不夠清晰。舉個例子,為何同樣的圖案在君士坦丁堡期間沒有清晰地重現?其實是因為哈希率大大提高了。這部分計算可以使出塊時間維持在14秒,但是系統的來回波動更加劇烈。這也解釋了為什么我們無法在臨近君士坦丁堡分叉時識別出難度炸彈,因為它被更加劇烈的波動掩蓋了。那么,是否存在一些其它的措施,可以讓我們看的更清楚呢?當然!這種辦法確實存在,我們將在下一張圖表中為你揭曉。難度的相對變化

動態 | 以太坊可能于明年6月啟動Ethereum 1x升級:據coindesk消息,本月早些時候在以太坊會議上的一次私密會議中,提到了一項名為“Ethereum 1x”的升級,可能將于2019年6月啟動。雖然之前沒有透露,但一位不愿透露姓名的與會者說,開發者認為這些提議還處于早期階段,不能公開討論。[2018/11/24]

本文這部分的最后一張圖表,展示了相對于區塊總難度而言的難度變化百分比。計算公式為

而上一張圖表展示的是難度的原始變化。這張圖表展示了標準化的難度變化,從而消除了算力增長帶來的影響,我們從而可以更加清晰地看到難度計算公式中的兩個不同部分——A部分與B部分。下面是每個區塊的難度相對變化圖表:

討論:現在,你應該明白為什么我在前面中說在討論難度炸彈時擔心算力會適得其反得了吧。從這張圖表中,你可以很清晰地看見,區塊生產不受算力增加的影響,直到定時炸彈“抬頭”。公式中的A部分使得出塊的速度及產量維持在一個穩定的狀態。在定時炸彈爆炸之前,難度幾乎不受什么大的影響。這里還有兩件有趣的事情值得你注意:從上圖中,你還可以看見炸彈在圖表的最右側開始“抬頭”,盡管抬頭的距離比起拜占庭和君士坦丁堡之間的距離要短得多——下文中我會解釋這一現象;圖表底部的條紋是因為計算公式里A部分中的對10整除的那部分而形成;更高的哈希率看上去好像會延遲“抬頭”,正如LaneRettig在君士坦丁堡分叉之前提到的那樣,我們在上面提到的文章中也寫過。關于這張圖,我還有許多能繼續分享的,也許哪天我會回過頭來繼續寫。但接下來,我更想為在未來拆除炸彈提供更好的方法。拆除炸彈的更佳方式

首先,我要再次強調,在擔心定時炸彈的同時還擔心算力波動會適得其反。計算公式中的A部分已經將算力增加的影響排除在外了。這也正是A部分存在的意義。平坦得近乎完美的難度增量證明了A部分的工作幾近完美。很顯然,哈希率對出塊時間沒有影響——但這一點我們已經知道了——這也是難度調整設計的目的所在。炸彈由上述公式末尾的一個額外附加值所定義:

(譯者注:floor(x)為向下取整函數,即取不大于x的最大整數,例如floor(3.14)=3)上面的式子就是一個以2為底的冪函數。令p=floor,我們可以將上面的式子改寫為2p。最終,我們得到了一個以時段p為步長的階躍函數。

不過,請記住,核心開發人員已經將炸彈重置了兩次——沒說錯,就是“重置”的字面意思,他們重設了炸彈計算的周期起點。這是通過使用Go語言代碼創建一個在計算中使用的偽塊來實現的。目前來看,偽塊在過去似乎起到了重置炸彈的效果。下圖這張校正后的圖表顯示了這段時期的真實情況。

上圖用紅色來表示真實的區塊號,其取值范圍是0到8,920,000。而偽塊號起初與紅色的真實區塊號重合,直到發生了拜占庭分叉,偽塊號被重置到過去的3,000,000個區塊。然后,偽塊號與真塊號平行增長,直到君士坦丁堡分叉,偽塊號再次被重置。下面這張表格中列出了重置后的一些信息,你發現什么奇怪的地方了么?

拜占庭分叉后的偽塊號為1,370,000,將該值整除100,000可得時期為13。也就是說,在哈希率調整之后,每個區塊的難度都額外增加了213。而到君士坦丁堡硬分叉時,偽塊號被重置為了2,280,000,也就是說時期變為了22,這意味著每個區塊的難度額外增加了222。我想,這就是為什么定時炸彈爆炸得比我們預期中更早的原因。因為我們上次重置它時沒有回退得足夠遠。這次重置定時炸彈的建議值為回退69,000個區塊,從而使得時期變為0。這才是需要重置的正確數量。如何更好地重置定時的難度炸彈

每當我們必須重置定時炸彈時,有一種非常簡單易行的方法將其重置為正確的值。通過這種方法,絕大部分和難度炸彈相關的問題將不復存在。只需要簡單地將重置難度炸彈時回退的區塊數設置成和分叉的FORK_BLOCK_NUMBER相同即可。通過這種方式,偽塊號將被設置成接近0,時期也會變成0。由于區塊生產速度的減緩主要是因為定時炸彈的存在,因此通過上述方式,“抬頭”效應將變得完全可預測。B部分的計算完全依賴于偽塊號。如果我們在君士坦丁堡分叉時這么做,那么定時炸彈就不會爆炸得那么快了。

結論

非常感謝你能讀到這里。我希望這篇文章可以引起那些對難度炸彈感興趣的人的注意。我看到許多人都對難度計算問題感到困惑。在我看來,人們想的太復雜了。以下是幾個關于本文的簡單總結:B部分的指數性質使得只有它與區塊生產速度有關;計算公式中的A部分不會對出塊造成有害影響,相反,它實際上起到了積極的作用;將時期或偽塊重置為0有兩個好處:允許最大限度地推遲定時炸彈,使得炸彈的重現變得非常可預測。如果你對這篇文章有任何看法,請告訴我。希望我已經幫助大家理解了這些我爛熟于心的內容。

Tags:以太坊BTCETHALIpeople幣對標以太坊btc交易平臺哪個好VETH2Noah Decentralized State Coin

幣安下載
公測在即,Filecoin團隊為什么要修改挖礦模式?_OIN

11月27日,Filecoin開發團隊宣布的一個消息讓IPFS社區炸開了鍋。Filecoin官方社群管理員Why在社交媒體上表示“下一個開發網絡中,Filecoin挖礦基本已經確定需要用到顯卡.

1900/1/1 0:00:00
新政滿月,官媒區塊鏈報道已從“科普宣傳”轉向打假監管_區塊鏈

編者按:本文來自互鏈脈搏,作者:互鏈脈搏·黑珍珠號,Odaily星球日報經授權轉載。“1025新政”滿月,一個月間,官媒對區塊鏈的態度風向已轉.

1900/1/1 0:00:00
“區塊鏈第一股”嘉楠科技上市,26個問題回應一切_比特幣

作者:湯霞玲、王佳健剛剛,11月21日,嘉楠科技在納斯達克敲鐘上市,“區塊鏈第一股”誕生。交易代碼:CAN,發行價9美元,募資9000萬美元.

1900/1/1 0:00:00
區塊鏈能做什么?532件專利、506項備案、414家企業指出方向_ACH

編者按:本文來自01區塊鏈,作者:任俊東,Odaily星球日報經授權轉載。今年1月,國家互聯網信息辦發布了《區塊鏈信息服務管理規定》,《規定》要求,區塊鏈信息服務提供者應當在國家互聯網信息辦公室.

1900/1/1 0:00:00
比特幣價格下跌,礦工即將逃離?_BTC

隨著比特幣價格的持續下跌,有傳言稱許多比特幣礦工將不得不開始關閉他們的礦機。世界上最昂貴的加密貨幣最近變得越來越便宜,11月8日跌破9,000美元,一些分析師預估,在2020年5月采礦收益減半之.

1900/1/1 0:00:00
Jack 做了一個夢:從電子貨幣到社交網絡_ITT

編者按:本文來自橙皮書,作者:orangefans,星球日報經授權發布。如果比特幣早于Twitter出現,社交網絡的歷史會被改寫嗎?2007年的某個晚上,JackDorsey做了一個夢.

1900/1/1 0:00:00
ads