中本聰究竟有多少BTC?這個問題看似很簡單,但時至今日仍未能有定論。儘管有關比特幣的討論在2010年年中之前只侷限在少數加密朋克的小圈子裡,但中本聰在創世區塊生成後不久就將比特幣客戶端公之於眾供人下載。
據Hal Finney回憶,他在區塊高度70多的時候就加入過挖礦,一些比特幣的早期參與者也公佈過在2010年之前加入挖礦的證據。在中本聰的身份之謎未被破解之前,一切相關的猜測都不會被證實或明確證偽,但鏈上資料會給我們一個可能十分接近真相的答案。
“考古”工作
比特幣的創世區塊誕生於2009年1月3日。隨後在1月9日,比特幣的第一個版本v0.1發行,迎來了包括Hal Finney在內的第一批使用者。在比特幣協議中,最小難度設定為1,這也是協議的初始設定。在最小難度下執行了接近一年後,2009年12月30日,比特幣網路迎來了第一次難度上升。
在區塊高度32256,比特幣難度首次從1上升為1.18。從此,難度便升多降少。難度為1意味著網路內如果想要維持10分鐘的出塊間隔,約需要7.15MH/s的算力,Chain.info的比特幣算力歷史資料也證實了這一點。而比特幣實時狀態顯示,區塊高度606742時(2019年12月5日)的全網算力約為101EH/s,是十年前的十萬億倍以上。
資料來源:Chain.info
如上文所述,難度為1並不意味著2009年的區塊都來自於中本聰之手。儘管2010年7月就出現了可以交易比特幣的交易市場,但仍不能排除有早期礦工一直保留著這些比特幣,所以我們並不能透過轉賬情況來進行判斷。鑑於2009年的全網算力(小於7.15MH/s),這些早期礦工與他們挖出的區塊並不會很多,但這會對估算哪些區塊出自中本聰帶來很多幹擾。
比特幣的Coinbase裡只有地址,沒有名字。實際上,我們根據公開資訊唯一能確定屬於中本聰的地址可能只有區塊高度為9的出塊地址,因為該地址在區塊高度12時給Hal Finney傳送了10BTC(而創世區塊的50BTC區塊獎勵並沒有包括在UTXO集中,所以實際上無法被使用)。這也是比特幣歷史上的第一筆轉賬。
那麼我們要怎麼區分中本聰和別的早期挖礦者呢?
研究者Sergio Demián Lerner在2013年至2014年之間發表了一系列文章,透過區塊內包含資料的特徵識別中本聰所挖的區塊。其主要依據是coinbase轉賬中的ExtraNonce的規律性變化、Nonce的規律以及時間戳。ExtraNonce是在挖礦節點的Nonce耗盡溢位時為節點提供額外的熵的一個引數,便於重新開始搜尋。這個引數在coinbase中,但並不屬於協議標準的一部分,由各個節點在本地進行記錄。ExtraNonce不會在成功出塊後歸零,而是會隨著使用次數而累加。所以在早期參與節點少,節點出塊相對密集情況下,同一個節點的ExtraNonce會呈現一種有規律的線性增長。ExtraNonce通常不會重置,除非重新啟動節點。
透過總結2009-2010年間比特幣區塊中的ExtraNonce,Lerner發現一些區塊在此引數上有很多共性:
1.由於ExtraNonce會隨著Nonce溢位而累加,並且節點關機或重啟會歸零重置,所以相當於節點的出塊計數器,而且會隨著節點的定期備份重啟而規律重置。最開始兩年間,有一系列區塊的ExtraNonce呈現出與眾不同的規律性,並與最初始幾個區塊的斜率一致(見下圖)。Lerner認為這些區塊很可能由中本聰生產,稱之為P區塊。
2.在P區塊中,ExtraNonce保持著獨特的增長速率,明顯高於其他節點生成者,這意味著顯著高於其他節點的算力或者獨特的挖礦軟體操作方式。
3.正常情況下,礦工在接收到新區塊時會累加ExtraNonce,但是該P區塊的生成者不會。
圖表來源:Sergio Demián Lerner
此外,這些P區塊的時間戳和Nonce也表現出不符合統計規律的獨特性。
4.該模式下開採的區塊中沒有任何時間戳倒置,在統計上與別的區塊表現出明顯區別。
圖表來源:Sergio Demián Lerner
5.該模式下區塊的Nonce的最末位元組不是在0至255間均勻分佈,而是集中在0至9與19至58之間。
圖表來源:Sergio Demián Lerner
透過以上模式,Lerner從前50萬區塊中找到了約2.2萬個符合以上規律的區塊,這些區塊共生成了約110萬BTC。其中90%以上產自區塊高度40,000以前,也就是2010年7月之前。而截至2019年4月,這110萬BTC中的99.9%未被花費(僅有550枚以類似Hal的方式捐獻了出去)。
BitMEX Research在2018年8月按照Lerner的方式對早期比特幣區塊的ExtraNonce規律做了研究,認為屬於中本聰的確定性較高的區塊共產生了約74萬枚比特幣。
但Lerner隨後提出了上面4,5兩條規律進行反駁,所以我們更傾向於相信Lerner的結論。
另一組較為著名的研究來自OrganOfCorti。在該研究中,研究者透過Lerner的歸類方法將疑似中本聰的區塊提取了出來,並根據當時的網路算力計算出該區塊生產者在2010年7月前有四次規律的算力減少行為,逐步將算力減少至零。而且,透過類似的方式,該作者還分辨出了另外幾個知名的比特幣早期參與者,包括在2010年參與過挖礦的Marti Malmi、Hal Finney和Dustin Trammel。
圖表來源:organofcorti.blogspot.com
結論
透過一系列鏈上資料研究,我們可以得出一個較為可信的結論:有單個礦工或一個礦工集體,在比特幣上線之初就在進行挖礦。不同於其他下載客戶端執行的礦工,它的客戶端有與眾不同的執行方式,並刻意在區塊中本該隨機分佈的區域留下了一些資訊。它有規律地分四次減少了自己的算力,直至2010年7月,比特幣算力穩步上漲之後,它停止了挖礦。它在一年半中挖出了約110萬BTC,但其中的絕大多數沒有被使用。而它,很可能就是中本聰。