自比特幣誕生之初,社區(qū)就一直在爭論是否應(yīng)對抗日益強大的挖礦硬件。
在比特幣的早期階段,挖礦是通過CPU(大多數(shù)計算機中的標(biāo)準(zhǔn)處理單元)完成的,這使得普通人可擁有參與比特幣挖礦的機會,因為這不需要使用專門的計算機硬件。
隨著時間的推移,一些礦工開始使用更強大的硬件,以便在競爭中取得優(yōu)勢。
在第二階段,礦工們開始使用GPU(一種功能更強大的“圖形處理單元”,通常被用于游戲和3D渲染)進(jìn)行挖礦。一般而言,GPU要比CPU貴一些,但普通人還是可以負(fù)擔(dān)得起的。
所謂ASIC代表“特定應(yīng)用集成電路”,它們是針對特定哈希算法而進(jìn)行優(yōu)化的專用挖礦硬件。ASIC礦機被用于加密貨幣挖礦,且絕大多數(shù)只能用于這種應(yīng)用。就效率而言,ASIC礦機明顯要比GPU要更加強大。
隨著ASIC礦業(yè)經(jīng)濟形成,制造新ASIC設(shè)備的公司要比其它挖礦公司更具優(yōu)勢,而且他們還控制著ASIC礦機供應(yīng)。而制造一種新ASIC硬件線所需的大量前期投資,也減少了能夠參與這項業(yè)務(wù)的參與者。對于大型礦業(yè)公司來說,這存在著巨大的規(guī)模經(jīng)濟,使得普通礦業(yè)公司更難參與競爭。
正因為如此,很多加密貨幣項目都試圖防范ASIC。值得注意的是,在比特大陸和其他礦業(yè)公司在2018年初宣布開發(fā)門羅幣(Monero)專用ASIC設(shè)備后,門羅幣開發(fā)者通過硬分叉改算法,以繼續(xù)保持門羅幣的“ASIC抗性”(目的是盡可能地分散挖礦)。從那時起,門羅幣有過幾次硬分叉嘗試,試圖抵抗ASIC設(shè)備的侵入,并抑制這類設(shè)備的發(fā)展。
同樣,第二大公鏈以太坊,其大部分歷史中也都是“抗ASIC”的(從1.0版本開始,以太坊的哈希算法Ethash就被設(shè)計為抗ASIC),然而,隨著時間的推移,ASIC設(shè)備制造商還是追上了腳步。
因此,以太坊社區(qū)中的很多人現(xiàn)在又開始為ProgPow算法的實現(xiàn)而爭論(ProgPow對Ethash進(jìn)行了一些修訂,目的是讓以太坊再次具有抵抗ASIC的能力)。
盡管這些項目都在努力保持對ASIC的抵制,但很難始終保持領(lǐng)先。
由于在抗ASIC的區(qū)塊鏈上使用ASIC挖礦專用硬件,可產(chǎn)生比其他礦工更大的優(yōu)勢,大型礦機商就被鼓勵開發(fā)ASIC設(shè)備。這就意味著,ASIC礦工與區(qū)塊鏈開發(fā)者之間,會存在著一場類似貓捉老鼠的游戲。
通過Nonce分布研究ASIC
有趣的是,通過研究nonce分布,我們可觀察到ASIC挖礦在某些鏈上的興起,以及隨后開發(fā)者試圖阻止它們的嘗試。
工作量證明(PoW)挖礦過程中,會反復(fù)哈希運算一個區(qū)塊的header,直到其哈希值小于協(xié)議定義的目標(biāo)值。這是通過將區(qū)塊頭作為輸入,然后通過加密哈希算法來實現(xiàn)的,對于比特幣而言,該算法就是安全哈希SHA-256算法(且連續(xù)應(yīng)用了兩次)。
為了在無需完全重建新區(qū)塊頭的情況下,為每次嘗試獲取不同的哈希,在區(qū)塊頭中,需納入一個向礦工提供的特殊字段:nonce字段。這是礦工可更改的任意數(shù)字,以便修改區(qū)塊頭并生成小于目標(biāo)哈希值的哈希。該nonce,是一個從0到每個協(xié)議所設(shè)置上限的數(shù)字。
假設(shè)在理論上,任何一個nonce都可能導(dǎo)致一個獲勝的哈希,那么期望nonce隨機選擇并因此均勻分布就不無道理了。然而,對很多區(qū)塊鏈進(jìn)行分析后,我們發(fā)現(xiàn),只有很少的區(qū)塊鏈遵循這一預(yù)期。對此的解釋是多種多樣的,但nonce挑選策略的變化,往往與新挖礦硬件的引入有關(guān),這表明不同的挖礦硬件具有不同的nonce挑選策略。
2019年1月初,Twitter用戶@100trillionusd首次注意到了比特幣的這種模式。而進(jìn)一步的分析,在其他鏈上已顯示出了一些奇怪的模式,比如門羅幣、以太坊以及萊特幣。
比特幣
最著名的nonce分布自然是比特幣的,在其歷史早期,比特幣呈現(xiàn)出一個共同模式:很多nonce接近于0。這可以用一個簡單的策略來解釋,該策略包括為每個哈希遞增nonce。由于比特幣早期的算力是非常低的,挖礦只使用CPU進(jìn)行,在檢查所有可能的nonce值之前,通常會找到一個獲勝的哈希。而Sergio Lerner利用這一事實,對屬于中本聰?shù)谋忍貛胚M(jìn)行了最認(rèn)真的鑒定。
在 GPU挖礦被引入之后,nonce空間看起來是隨機的。但在區(qū)塊高度達(dá)到400000左右時,出現(xiàn)了一種目前尚無法解釋的新模式,個別礦工會選擇一些細(xì)條紋nonce值。
BitMEX研究院對此模式進(jìn)行了大量研究,但始終沒有找到明確的解釋。
查看(整個歷史過程中)比特幣區(qū)塊nonce的直方圖,可以清楚地看到這種模式,以及低nonce的顯著性。
對于更細(xì)粒度的分析,有興趣的朋友可以查看bit(位)的分布。比特幣中的nonce字段由4字節(jié)或32位組成。對nonce 32位中每一位的平均值進(jìn)行分析,顯示出了一些有趣的模式:
在比特幣的歷史之初,較高的bit(位)通常被設(shè)置為0,因為礦工們的nonce選擇策略只是簡單地增加bit(位)。低字節(jié)(圖表底部的最后8 bit)似乎總是與某種模式一起使用,但直到最近才在低bit(位)中觀察到模式的變化。
門羅幣
應(yīng)用nonce分析方法,最有趣的研究對象就要屬門羅幣(Monero)了。
門羅幣每6個月通過硬分叉進(jìn)行一次升級,而在過去的幾次升級中,其開發(fā)者還對工作量證明算法進(jìn)行了一些調(diào)整,以避開專用的ASIC挖礦硬件。這些硬分叉中的第一個是有爭議的,因為它導(dǎo)致了幾個分叉項目及資產(chǎn)。
因此,我們可以研究這些變化對nonce分布的影響。
乍一看,我們可以注意到幾個有趣的模式,但當(dāng)我們將網(wǎng)絡(luò)難度和預(yù)定的硬分叉(調(diào)整PoW算法)疊加到這個圖表上時,事情就變得更有趣了。
我們可以看到,這3次PoW升級都導(dǎo)致了網(wǎng)絡(luò)難度的下降,其中有2次停止了之前存在的nonce模式。有趣的是,這些相同的nonce模式的引入,也與網(wǎng)絡(luò)難度的急劇上升有關(guān)。
通過觀察這些nonce分布模式,我們可以看到第一次分叉在阻止第一代專用硬件方面的有效性。此外,我們還可以看到一些礦工在第二次分叉之后,迅速運用上了第二代硬件,而后又被第三次硬分叉挫敗。
以太坊
乍一看,以太坊的nonce空間幾乎沒有顯示任何nonce分布模式或不規(guī)則。
而仔細(xì)看,在區(qū)塊高度達(dá)到7,000,000后,我們可以看到,空間底部有一些較暗的水平線。
如果放大,你可以看到從數(shù)字2000000到4000000之間的底部斜線。這些可能是一個簡單的nonce挑選策略的特征:從0開始,每次嘗試時遞增nonce。
區(qū)塊的nonce直方圖顯示,隨著時間的推移,值較低的nonce會略微占據(jù)優(yōu)勢:
但是,如果我們觀察nonce的每一bit隨時間的平均值,就會發(fā)現(xiàn)一個非常有趣的模式(請注意,以太坊的nonce由64位組成,而不是比特幣中的32位):
從大約第1,380,000個區(qū)塊開始,nonce的中間位開始被設(shè)置為0,這比其他位要頻繁得多。隨著時間的推移,其他位也開始有非隨機使用。有趣的是,粗略地看一下整個nonce分布或直方圖,并不能揭示這種模式,因為調(diào)整中間位并不會明顯影響nonce的直方圖。
有趣的是,以太坊經(jīng)典(ETC)的nonce位分布顯示了完全相同的模式:
頂部的白色垂直條紋表明一些礦工正在從0開始增加nonce。
比特大陸于2018年4月宣布了首款公開已知的Ethash ASIC礦機,并表示將于同年7月中旬首次交付。在前一個圖表中同時標(biāo)注兩個日期顯示了一些非常有趣的事:
乍一看,在Antminer E3發(fā)布時,以太坊和ETC區(qū)塊的(bit 41) 位41平均值下降了。加入時間點后,模式更加引人注目:
在2018年3月中旬之前,位41的平均值徘徊在0.5左右(這是假設(shè)灰色水平虛線表示的均勻分布的預(yù)期值)。然而,從那時起,在兩條鏈上,它開始以同樣的速度逐漸被設(shè)置為0。而只有以太坊在第一次交付計劃發(fā)生時(2018年7月16日),其平均值急劇下降。
查看當(dāng)時排名前5的礦池,我們可以看到,位41的平均值在所有礦池中都開始下降,但從7月16日開始,即 E3礦機首次交付日起,它的值在兩大中國礦池(Sparkpool和F2Pool)中進(jìn)一步下降。
戰(zhàn)斗還在繼續(xù)
隨著progpow的逼近以及門羅幣開發(fā)者繼續(xù)努力抵抗ASIC,針對專用硬件的戰(zhàn)斗可能不會很快結(jié)束。隨著戰(zhàn)爭的進(jìn)行,我們將密切關(guān)注,并繼續(xù)尋找nonce中的信號。
主流幣網(wǎng)絡(luò)一周數(shù)據(jù)匯總
近期的大波動,也使得比特幣持有者的持倉分布發(fā)生了較大的變化。
目前的快照顯示,成本在13000美元以上的比特幣已屬于少數(shù),大量的幣成本在2000美元至13000美元之間,近400萬比特幣(占總供應(yīng)量的22%)的成本基礎(chǔ)低于500美元。
這里我們展示了10月24日(大幅波動前)和10月26日(大幅波動后)的比特幣分布變化。成本基礎(chǔ)在13000美元以上或7000美元以下的比特幣,幾乎沒有任何活動,這表明價格上漲還不足以激勵這些持有人出售。相反,成本在7000美元至8500美元之間的比特幣,最有可能被賣出(盡管由于交易所正常的熱錢包活動,這些數(shù)字可能被稍微夸大了)。另外,在9000美元至12000美元的范圍內(nèi),有少量比特幣確實出現(xiàn)了一些鏈上運動。
責(zé)任編輯;zl
評論
查看更多