以太坊上的0交易塊背後有什麼秘密?

近日,一則Alex Svanvik所著的關於ETH空塊率顯著增加的報道引起了大毛的注意:

這篇文章提到近幾個月以太坊網路的空塊率顯著提升,在進一步分析佔全網算力排名靠前的礦工所挖到空塊比例時發現,大礦池中F2Pool(魚池)挖掘到的空塊比例異常高。昨日甚至國內各家XX財經均在發此快訊:

非法礦場所使用的技術被稱為「間諜採礦」,即礦工在不實際處理區塊內任何交易的情況下因採礦而得到獎勵。在這種情況下,形成「空塊」。這對以太坊造成了前所未有的威脅,數據顯示,空塊的傳播速度快了15%,這意味著間諜礦工的總收入也增加了15%。

看到這個「間諜採礦」、「間諜礦工總收入增加15%」這些用詞,大毛也挺無語。有種沒事找事唯恐天下不亂的感覺。今天還是來科普下這件事。

1、魚池冤枉嗎?

在區塊鏈的世界中你無法隱藏任何事情。更何況是以太坊,還擁有一個無比強大的Etherscan工具網站。

魚池作為以太坊第三大礦池,他的錢包地址直接被標明「F2Pool」。在他的挖礦記錄中,大毛翻了幾頁(每頁包含100條記錄),每頁均有數量佔比不低的空塊記錄。

目測空塊率在7-10%之間,而這個空塊比例之高顯然超過了正常範圍,下面繼續分析。

2、正常情況下出空塊的機會有多大?

我們都知道,在去年10月中期以太坊的重大升級做了幾大改變:推遲難度炸彈代碼部署的時間;將區塊獎勵從5ETH降低至3ETH;順便拆除當時已激活的難度炸彈代碼,降低挖礦難度,使得區塊間隔時間從升級前的30S降低到15S左右,並維持至今。

而這將近一年的時間裡,ETH的使用人數和網路承載的轉賬數量一直居高不下,根據Etherscan的數據,近一個月仍保持在日均50萬筆以上的轉賬數量——哪怕現在是真正意義上的熊市。

這就意味著,以太坊網路現今平均每秒交易量也就是TPS數據是6左右。理論上15秒出塊時間內應有90筆交易。哪怕某些時候礦工幸運值爆棚,在很短的間隔時間內(最短也需要1-2秒)連續出塊,那麼這個時間內交易數量為0的幾率也很低。

經過數據分析比對,確實也說明了正常情況下空塊並不多,而魚池的空塊率異常的高。看這個表格(表格來自Alex Svanevik 原文)也許更直觀:

該表格統計時長為近3個月。圖中每個藍點均表示一個礦工。橫坐標表示該礦工挖到的區塊數。縱坐標表示挖到區塊中的空塊數量。

雖然該表未直接標明每個藍點的具體身份,但很顯然挖到區塊數越多就表示其算力越大。因此,本圖中藍、綠、紅分別表示目前以太坊前三大礦池:Ethermine、Sparkpool(星火)、F2pool(魚池)。

然而,這3大礦池在空塊率上的差異卻是驚人的:

Ethermine、Sparkpool、F2pool三家在挖到區塊總數上相差不大,數量最少的魚池大約是最多的Ethermine的50%左右,然而魚池挖到的空塊數卻接近Ethermine的10倍!

3、礦池如何做到挖空塊?為何要這樣做?

其實魚池在昨日已經第一時間對此做出了解釋,這段話摘自魚池公眾號:

F2Pool是一個對礦工負責的礦池,F2Pool在ETH挖掘中產生的空塊多數是為保證礦工利益的挖礦機制產生的。礦池在區塊高度發生變化的時候,由於網路通信延遲等原因,如果先選擇計算交易再進行任務的下發,礦機會有1-2秒的算力浪費。因此為了保證礦工的利益不受損失,礦池會在第一時間下發一個不帶交易的任務,然後在1-2秒鐘後再補發一個帶交易的任務。如果在不帶交易的任務下發後1-2秒內,有礦機算出了符合難度的share,那麼這個塊就是空塊。

魚池的這段話已經將挖空塊的原理解釋的比較清楚了。大毛再補充一下:

要正確算出一個區塊的哈希值,礦工只需知道上一區塊末的相關信息即可,並不需要計算這段時間內需要從交易池中挑選哪些交易打包進區塊。雖然打包交易能獲得交易的手續費做獎勵,但由於目前交易手續費佔比非常低(近期區塊的交易手續費往往不超過0.1ETH,而爆塊獎勵有3ETH,遠超手續費),花在計算「選擇交易打包」這件事就顯得性價比不高,還不如省下這1秒直接全力計算下一個區塊。畢竟每個區塊時間的間隔也才15秒。

因此,礦池在分配挖礦任務時先分配不帶交易信息的任務再分配帶交易信息的任務,如果有礦工就在接收到不帶交易信息的任務這1-2秒時間內正確算出了下一個區塊的哈希,這個塊就成為了空塊,而那些交易只能擠壓著等待下一個區塊再進行打包。理論上這樣做確實能實現利益的最大化。同時,「挖空塊」這件事也並非魚池首創,前幾年國內最大的比特幣礦池蟻池就干過同樣的事。

4、實際效果並不明顯,對以太坊網路毫無益處

雖然用了這樣的「黑科技」,但在ETH礦池的實際收益上魚池並未實現領先。這也很容易理解,從礦池分配任務到礦工接受任務,再到提交計算結果給礦池,再到礦池將結果進行廣播,整個過程非常複雜,每一步都有優化空間。

大毛寫文的同時順便去國內兩大礦池星火與魚池首頁看了下收益情況,結果分別是:星火礦池每100M算力每日可獲0.00769ETH;而魚池每100M算力每日可獲0.007581ETH,魚池甚至還低一些。雖然差距很小,也許僅僅是礦池手續費上的差異(星火1%,魚池2.5%)。

但對於整個以太坊網路來說,這種形式的「礦工利益最大化」毫無益處。往小了說,增加以太坊通脹速度;往大了說,增加以太坊網路人為擁堵。大毛看了下算力佔比較大的一些礦池地址,發現「挖空塊」這件事不止魚池在做,還有不少未被Etherscan標記的礦池也在做,比如這位:

大毛由於自己也擁有礦池,作為吉池(jeepool.com的創始人,還是能夠理解這樣的行為,都是為了在熊市能多獲得一點收益,能夠活下去。畢竟以太坊減產的計劃已經在路上了,礦工後面的日子也許會更難過...

→點擊下方文字,即可查看對應文章

延伸閱讀

1.a href="mp.weixin.qq.com/s?">【百科】系統性學習區塊鏈知識,新人必看 Hot

2.a href="mp.weixin.qq.com/s?">【DCR】了解並加入百科DCR愛好者社群

3.a href="mp.weixin.qq.com/s?">【XDAG】了解並加入百科XDAG愛好者社群 Hot

4.a href="mp.weixin.qq.com/s?">【Ulord】參與Uord項目新POW幣種挖礦 Hot

深度解讀

1.a href="mp.weixin.qq.com/s?">【投資】幣圈不存在價值投資?

2.a href="mp.weixin.qq.com/s?">【礦機】嘉楠耘智新款7nm礦機發布,我有話想說 Hot

3.a href="mp.weixin.qq.com/s?">【挖礦】大毛的挖礦筆記(一):是什麼阻擋了你挖礦 Hot

4.a href="mp.weixin.qq.com/s?">【項目】如何獲取EOS Coin並拿到高達814%年化收益?!

5.a href="mp.weixin.qq.com/s?">【挖礦】大毛的挖礦筆記(二):礦工羅生門——悲喜交加的致富之路 Hot

END

歡迎留言討論,歡迎轉發,如需轉載請與大毛聯繫

推薦閱讀:

TAG:交易 | 區塊鏈(Blockchain) | 以太坊 |