每晚八點,

我們在社區分享知識。

樂樂:sensus113

美果大冰:xj73226

備註入羣,謝謝!

ASIC 引起巨大的爭議

自比特幣誕生初期開始,社區就一直在討論是否要與日益強大的挖礦硬件作鬥爭。

剛開始的時候,用 CPU (大多數計算機採用的標準處理單元)來參與比特幣挖礦還能賺到錢。在這種情況下,幾乎每個人都有機會參與到比特幣挖礦中,因爲不需要使用定製的計算機硬件。

久而久之,一些礦工爲了在挖礦競賽中獲得優勢,開始使用越來越強大的硬件。後來,礦工開始使用 GPU ,即,更加強大的 “圖形處理單元”。GPU 通常用於遊戲和 3D 渲染,不過也可用於很多一般用途。雖然 GPU 在價格上比 CPU 貴得多,但是也在普通人的經濟能力範圍內。

之後又出現了 ASIC 。ASIC 是 “application-specific integrated circuit (專用集成電路)” 的首字母縮寫。它是一種專用型挖礦硬件,經過優化以適應特定的挖礦哈希算法。這些挖礦用的 ASIC 是爲數字貨幣挖礦專門設計的,只能用來挖數字貨幣。在純哈希算力方面,它比 GPU 強大得多。

ASIC 改變了挖礦的經濟形態。簡言之,那些生產新型 ASIC 礦機的公司在整個挖礦行業佔據了很大優勢,因爲這些公司在算力上佔據優勢(至少在被其他 ASIC 生產商超越之前是如此),而且控制着市場上新發布的 ASIC 礦機的供應。由於生產一款新的 ASIC 硬件需要在前期投入鉅額資本,只有少部分人能夠加入這行。大礦工可以享受規模經濟帶來的額外效益,普通礦工很難與之競爭。

因此,已經有很多項目在嘗試與 ASIC 對抗了。尤其是在 2018 年年初,比特大陸等礦機生產商宣佈正在開發一款專挖門羅幣的 ASIC 之時,項目方實行硬分叉來抵禦 ASIC ,儘可能確保挖礦活動的去中心化。自此以後,項目方又進行了幾次硬分叉,努力走在 ASIC 前面,以此阻礙 ASIC 的進一步開發。

以太坊自誕生以來,也在不斷與 ASIC 作鬥爭(自 1.0 版本發佈以來,以太坊的哈希算法 Ethash 已經被設計成抗 ASIC 型的了),然而 ASIC 生產商現在正在努力追趕中。結果,以太坊社區內有很多人都在支持 ProgPow 實現 。ProgPow 是對 Ethash 算法的修改版,可以幫助以太坊抵禦 ASIC 。

儘管這些項目在堅持不懈地抵禦 ASIC ,但是很難保證不被 ASIC 追上。在利益的驅使下,大礦工都在積極開發 ASIC ,因爲在抗 ASIC 的區塊鏈上,專用型挖礦硬件會帶給他們比小礦工更大的優勢。這就意味着,ASIC 礦工和區塊鏈開發者之間永遠在玩貓捉老鼠的遊戲。

走近 Nonce

令人激動的是,檢查區塊 nonce 分佈可以瞭解在特定區塊鏈上 ASIC 挖礦的興起情況,以及後續的抵禦措施所產生的影響。

PoW 挖礦就是反覆對一個區塊的區塊頭進行哈希計算,直到算出的哈希值小於協議定義的目標值爲止。具體來說,就是將區塊頭作爲一個輸入值,然後代入某個密碼學哈希算法進行計算,例如,比特幣採用的是安全哈希算法 256 (Secure Hash Algorithm 256,SHA-256),而且是連續執行兩次。

爲確保每一次進行哈希計算時都會得到一個不同的哈希值,同時又不需要重新創建一個區塊頭,區塊頭爲礦工提供了一個特殊的字段:nonce 。nonce 是一個可由礦工任意修改的數值,以便不斷更改區塊頭來進行哈希計算,直至找到一個低於目標值的哈希值爲止。nonce 是一個數字,其範圍可以從 0 到由各協議設置的上限。

從理論上來說,根據任何 nonce 算出有效哈希值的概率都是一樣大的,因此可以認爲 nonce 是經隨機選擇,並均勻分佈的。然而,對許多區塊鏈的數據分析表明,真正符合這一預期的區塊鏈非常少。對此的解釋有很多種,但是,因爲 nonce 分佈上的變化往往可以跟新礦機聯繫在一起,這表明不同的挖礦硬件往往會有不同的 nonce 挑選策略。

關於比特幣區塊鏈的 nonce 分佈模式,似乎最早是推特用戶 @100TrillionUSD 在 2019 年 1 月初發現不對的。進一步的分析表明,門羅、以太坊和萊特幣等區塊鏈的 nonce 分佈模式也存在一些奇怪之處。

比特幣

比特幣的 nonce 分佈模式是最著名的。在早期發展階段,比特幣採用了一種常見的模式:很多 nonce 都接近於 0 。這種分佈對應的策略很簡單,就是來通過不斷增加 nonce 來計算哈希值。因爲在早期的時候,比特幣區塊鏈上的算力很低,挖礦都是用的 CPU ,通常在遍歷所有可能的 nonce 值之前就能算出一個有效的哈希值。Sergio Lerner 據此事實對確定中本聰的比特幣歸屬作了最爲嚴肅的嘗試 。

在引入了 GPU 之後,nonce 字段看似是隨機的。但是在大約 400000 的區塊高度上,莫名出現了一種新的模式,形成了幾條很細的 nonce 值分佈帶,這些都是礦工選擇頻率較低的 nonce 值。

BitMEX 研究撰文詳細描述了該模式,但是沒有找到清晰的解釋。

來看一下(整個歷史交易過程中)比特幣區塊 nonce 的直方圖,明顯可以看出在新的模式下,nonce 值出現了幾個低谷。

-紅線代表了均勻分佈的 nonce 值情況-

想要更細粒度的分析可以仔細看看 bit 的分佈情況。比特幣中的 nonce 字段是由 4 個字節或者說 32 個 bit 組成的。對每個長度爲 32 比特的 nonce 的平均值進行分析之後,會發現一些很有趣的現象:

-顏色越深的地方代表 nonce 中的數位被設置成 1 而非 0 的頻率越高,X 軸表示區塊高度-

在比特幣剛誕生的時候,較高的數位通常被設置成 0 ,因爲礦工的 nonce 選擇策略就是簡單地增加 nonce 值。較低的數位(上圖底部的最後 8 個數位)似乎一直遵循某種模式,但是直到最近才發現較低數位的模式發生了變化。

門羅

適合進行 nonce 分析的最有趣的資產之一就是門羅。它也是被分析得最多的一種資產,有很多文章和工具都對其進行了分析。

門羅每 6 個月就會進行一次硬分叉升級,在過去的幾次升級中還對 PoW 算法進行了一些調整,從而抵禦專用型挖礦硬件。第一次硬分叉引發了爭議,因爲它分叉出了好幾個項目 / 資產。

因此,我們可以研究這些變化對 nonce 分佈的影響。

乍一看,我們可以注意到幾個有趣的現象。不過當我們在上圖的基礎上疊加網絡難度值和硬分叉時間表的時候,就會發現更有趣的東西。

-紅線代表了硬分叉的時間,而黑線代表了網絡難度值-

我們可以看到,所有三次 PoW 升級都造成了難度值降低,其中還有兩次改變了原先的 nonce 分佈模式。有趣的是,通常都是在網絡難度值驟增的情況下,才引入了 新的 nonce 模式。

在網絡難度值發生了改變,並且通過硬分叉對 PoW 機制進行調整之後,我們可以從 nonce 分佈模式的變化中觀察到,第一次分叉有效地抵禦了第一代礦機。此外,我們還可以看到,一些礦工在第二次分叉之後迅速帶着第二代礦機捲土重來,卻在第三次分叉中折戟沉沙。

以太坊

乍一看,以太坊的 nonce 分佈幾乎沒有顯示出任何奇怪之處。

再看得仔細一點,我們可以看到在區塊高度 7,000,000 之後,nonce 分佈圖的底部有一些深色的水平線。如果你放大看的話,你就會看到從區塊高度 2,000,000 開始到 4,000,000 之間,nonce 分佈圖的底部有一些斜線。這些線很有可能是由簡單的 nonce 選擇策略導致的:在反覆進行哈希運算的過程中, nonce 是從 0 開始向上遞增的。

根據區塊 nonce 分佈直方圖所示,較低的 nonce 值在一段時間內佔據了優勢:

但是,仔細觀察一下 nonce 中每個數位的平均值隨時間變化的情況,會注意到一個很有趣的情況(請注意,以太坊的 nonce 是由 64 個數位組成的,不像比特幣是由 32 個數位組成的。)

-顏色越深的地方代表 nonce 中的數位被設置成 1 而非 0 的頻率越高,X 軸代表了區塊高度-

大概從第 1380000 個區塊開始,nonce 的中間數位被設置成 0 的頻率遠高於其他數位。久而久之,其他數位的隨機性也下降了。有趣的是,粗略看一下整體的 nonce 分佈情況或直方圖,並不能發現這種模式,因爲調整中間數位對 nonce 直方圖的影響並不明顯。

有趣的是,ETC (以太坊經典)的 nonce 數位分佈也顯示出了相同的模式。

-顏色越深的地方代表 nonce 中的數位被設置成 1 而非 0 的頻率越高,X 軸代表了區塊高度-

從位於上圖頂部的白色垂直條畫帶可以看出,一些礦工慣於從 0 開始增加 nonce。

比特大陸於 2018 年 4 月宣佈公開發布了第一款 Ethash ASIC 礦機,並表示將於 2018 年 7 月中旬交付第一批產品。將這兩個日期在上圖中標註出來後,我們會發現很有意思的東西:

-紅色虛線:__E3 礦機官宣時間;__紅色實線:__首批 E3 礦機交付時間-

乍看之下,在螞蟻礦機 E3 官宣之時,以太坊和以太坊經典區塊 nonce 中第 41 位的平均值都下降了。只關注這個數位的話,nonce 分佈模式就會更加明顯:

-紅色虛線:E3 礦機官宣時間;紅色實線:首批 E3 礦機交付時間-

在 2018 年 3 月中旬之前,第 41 位的平均值在 0.5 上下(下圖中的灰色水平虛線表示的是 nonce 呈均勻分佈情況下的預期值)。但是,在以太坊和以太坊經典這兩條鏈上,第 41 位被設置成 0 的頻率越來越高,而且都是以相同的速度。在礦機按計劃首次交付之時(即 2018 年 7 月 16 日,以紅色實線表示),平均值急劇下降,但這僅發生在以太坊區塊鏈上。在以太坊和以太坊經典區塊鏈上,第 41 位的平均值在 2018 年 6 月中旬(即,首批 E3 礦機交付前的一個月)就已經下降了,之後只在以太坊區塊鏈上進一步下降。

-紅色虛線:E3 礦機官宣時間;紅色實線:首批 E3 礦機交付時間-

來看一下當時排名前 5 的以太坊礦池,第 41 位的平均值均開始下降,但是自 7 月 16 日首批 E3 礦機交付之日起,中國的兩家礦池 SparkPool 和 F2Pool 挖出的區塊內,nonce 第 41 位的平均值進一步下降了。

鬥爭不止

隨着 ProgPow 算法的逼近,再加上門羅團隊還在堅持不懈地通過硬分叉來抵禦 ASIC ,這場與專用硬件之間的戰爭可能還會持續下去。隨着戰爭的持續,我們會密切關注下去,並且繼續從 nonce 中尋找蛛絲馬跡。

原文鏈接 :

https://coinmetrics.substack.com/p/coin-metrics-state-of-the-network-04a

作者 : Coin MetricsTom Brand, Uri Kolodny & Avihu Levy

翻譯 & 校對 : 閔敏 & 阿劍

Nervosfans 社區正在整合資源

爲想創建項目的朋友搭建創業平臺,

請感興趣的朋友加樂樂微信:sensus113,

謝謝!

Nervos CKB 唯一官網:Nervos.org

歡迎關注 Nervos Fans

Nerovs CKB 愛好者社區

Nervos Fans 如下頻道:

NervosFans twitter:@nervosfans

NervosFans 微博:@NervosFans

NervosFans 微信公號:Nervosfans

入羣請加樂樂微信:sensus113

美果大冰微信:xj73226

備註入羣,謝謝!

長按識別二維碼

關注我們