
聲明:本文由內(nèi)容合作伙伴巴比特授權(quán)發(fā)布。
比特幣(Bitcoin)的白皮書(shū)最近剛滿 11 歲,其內(nèi)容非常簡(jiǎn)潔,而論文中關(guān)于供應(yīng)量的內(nèi)容只是略帶提及:
“一旦預(yù)定數(shù)量的比特幣進(jìn)入流通,激勵(lì)機(jī)制就可完全轉(zhuǎn)變?yōu)榻灰踪M(fèi)用,并且完全沒(méi)有通貨膨脹。”
而深入研究比特幣最早的代碼備份之后,我們可發(fā)現(xiàn)中本聰設(shè)置的區(qū)塊獎(jiǎng)勵(lì)的傳奇公式,這些簡(jiǎn)單的代碼,有效地將比特幣的總供應(yīng)量設(shè)置為 2100 萬(wàn)BTC:

然而, 很多人不知道的是,比特幣的代碼庫(kù)并不包含任何“BTC的供應(yīng)量不超過(guò) 2100 萬(wàn)”的檢查,相反,軟件會(huì)檢查每個(gè)區(qū)塊聲明的數(shù)量不超過(guò)規(guī)定的數(shù)量。
應(yīng)用供給公式計(jì)算 2019 年 10 月 19 日第600, 000 個(gè)區(qū)塊時(shí)的供給值,我們可得出 1800 萬(wàn)BTC的值:
“210,000 區(qū)塊 * 50 BTC + 210,000 區(qū)塊 * 25 BTC + 180,000 區(qū)塊 * 12.5 BTC =1800 萬(wàn)BTC”
這一區(qū)塊的誕生,被社區(qū)譽(yù)為是比特幣通脹進(jìn)程接近尾聲的里程碑。然而,精明的觀察人士卻在那時(shí)評(píng)論說(shuō),比特幣的供應(yīng)量在區(qū)塊高度達(dá)到600, 000 時(shí)并沒(méi)有達(dá)到 1800 萬(wàn)BTC的里程碑。
據(jù)Bitcoin Core開(kāi)發(fā)者Peter Wuille表示,截至600, 002 個(gè)區(qū)塊,比特幣實(shí)際供應(yīng)量應(yīng)該是17,999,854.82192702 BTC 。

那么,這到底是怎么一回事呢?
在這篇文章中,我們會(huì)深入研究比特幣的供應(yīng)量為何會(huì)低于預(yù)期,并計(jì)算有多少比特幣永久丟失了。此外,我們分析了這些幣丟失的確切原因,并解釋了發(fā)生在它們身上的事情。我們首先檢查可證明已丟失的幣,然后分析假設(shè)丟失但可能最終被發(fā)現(xiàn)的幣。
一、可證明永久丟失的比特幣
1、創(chuàng)始區(qū)塊比特幣
比特幣的賬本由一組“未使用的輸出”(UTXO)組成,總結(jié)這些輸出的BTC值,我們可得到全節(jié)點(diǎn)所看到的比特幣供應(yīng)量。
比特幣的第一個(gè)區(qū)塊(賬本的起源),包含了一筆鑄造50 BTC的交易。但是,這筆交易的50 BTC輸出并不包含在比特幣的UTXO集中。現(xiàn)在還不清楚這是中本聰?shù)囊粋€(gè)疏忽還是故意為之。
其結(jié)果是,這50 BTC 不存在于比特幣的賬本中,即使它們?cè)谥麈溨惺强梢?jiàn)的。
2、重復(fù)的Coinbase交易
比特幣設(shè)計(jì)者的另一個(gè)疏忽是重復(fù)交易的處理。雖然乍一看,它們似乎不可能發(fā)生(因?yàn)樗鼈儼瑪?shù)字簽名和對(duì)以前交易的引用,這使得它們是唯一的),但仍然有可能創(chuàng)建重復(fù)的交易。
最容易復(fù)制的交易是coinbase交易,這是每個(gè)區(qū)塊的第一筆交易,允許礦工認(rèn)領(lǐng)其區(qū)塊獎(jiǎng)勵(lì)(數(shù)字資產(chǎn)交易所 Coinbase就是以此而命名的),因?yàn)樗鼈儾话瑪?shù)字簽名或?qū)σ郧敖灰椎囊谩H绻幻V工創(chuàng)建了一筆coinbase交易,將相同數(shù)量的BTC支付給相同的地址,并使用相同的額外nonce,那么該交易將是相同的。
這在比特幣早期歷史上發(fā)生過(guò)兩次:
- 交易d5d2.. 8599 是區(qū)塊 91812 和區(qū)塊 91842 的coinbase輸出;
- 交易e3bf…b468 是區(qū)塊 91722 和區(qū)塊 91880 的coinbase輸出;
在每種情況下,第二次包含交易時(shí),它的輸出都會(huì)覆蓋掉前面的輸出。
結(jié)果是兩個(gè)被覆蓋的輸出沒(méi)有在UTXO集中。也就是說(shuō),這100 BTC并沒(méi)有在比特幣的賬本當(dāng)中。
雖然這看起來(lái)是一種無(wú)害的疏忽,Russell O’Connor 依舊在 2012 年時(shí)將其視為一種攻擊媒介。利用重復(fù)的交易,攻擊者可從賬本中刪除其它用戶過(guò)去的交易。
針對(duì)這一點(diǎn),開(kāi)發(fā)者在 2012 年引入了BIP-30,以禁止在舊交易的輸出全部用完之前包含新的重復(fù)交易。
2012 年晚些時(shí)候,BIP-34的引入還使得復(fù)制coinbase變得更加困難,因?yàn)樗鼈儸F(xiàn)在必須包括它們所屬的區(qū)塊高度。
3、未領(lǐng)取的獎(jiǎng)勵(lì)
另一組可證明丟失的幣,與通過(guò)全節(jié)點(diǎn)驗(yàn)證 coinbase交易有關(guān)。
比特幣的協(xié)議規(guī)定,一個(gè)有效區(qū)塊的礦工,可領(lǐng)取到協(xié)議規(guī)定的報(bào)酬加上該區(qū)塊中包含的交易費(fèi)用,每個(gè)全節(jié)點(diǎn)都會(huì)檢查礦工不會(huì)試圖索取超過(guò)允許的數(shù)量,不過(guò),全節(jié)點(diǎn)并不在乎礦工領(lǐng)取的金額是否低于其應(yīng)得的數(shù)額。
顯然,部分領(lǐng)取的情況對(duì)于礦工而言是非常不理性的,但歷史上卻發(fā)生了很多次。第一次發(fā)生在 2011 年 5 月份的第124, 724 個(gè)區(qū)塊,最后一次則發(fā)生在 2019 年 2 月下旬第564, 959 個(gè)區(qū)塊。
下表列出了最值得注意的例子:

大體上,這種行為發(fā)生在 3 個(gè)不同的階段,共出現(xiàn)了 1221 次異常。下圖顯示了未申請(qǐng)全額獎(jiǎng)勵(lì)的區(qū)塊數(shù)量:

在區(qū)塊高度162, 000 附近,我們可以看到出現(xiàn)了很多未申請(qǐng)全額獎(jiǎng)勵(lì)的事件,另一個(gè)階段是發(fā)生在180,000 到230, 000 個(gè)區(qū)塊之間,最后一個(gè)階段則發(fā)生在第530, 000 個(gè)區(qū)塊附近。
據(jù)Bitcointalk用戶midnightmagic表示,第一次出現(xiàn)未申請(qǐng)全額獎(jiǎng)勵(lì)的事件是為了向中本聰致敬。對(duì)于其他情況,考慮到一些礦工損失的金額,它們有可能是因?yàn)橥诘V軟件中的錯(cuò)誤造成的。
4、OP_RETURN輸出
有一種特殊類型的比特幣交易輸出叫OP_RETURN,它們?cè)试S用戶在區(qū)塊鏈中嵌入數(shù)據(jù)(目前每個(gè)輸出最多 80 字節(jié)),而不會(huì)使UTXO集膨脹(這些輸出不會(huì)被添加到UTXO集——它們被認(rèn)為是無(wú)法忍受的)。
雖然絕大多數(shù)此類輸出都是用0 聰值創(chuàng)建的,但有些輸出則不是。截至第600, 000 個(gè)區(qū)塊,共有3.723039BTC 發(fā)送到了 OP_RETURN輸出,使得它們永遠(yuǎn)無(wú)法被使用,也就是說(shuō),它們不再是比特幣供應(yīng)的一部分。
5、小結(jié)
總的來(lái)說(shuō),我們可以計(jì)算比特幣在600,000 個(gè)區(qū)塊時(shí)的實(shí)際供應(yīng)量,方法是從預(yù)期的 1800 萬(wàn) BTC中減去可證明丟失的幣。

截至第600,000 個(gè)區(qū)塊,比特幣的實(shí)際顯示供應(yīng)應(yīng)該是17,999,817 BTC,這是技術(shù)上的確切值,這一結(jié)果,我們可通過(guò)查詢?nèi)?jié)點(diǎn)得到。然而,我們還可以做得更好,讓我們看看更多比特幣“黑洞”的情況。
二、假設(shè)丟失的比特幣
1、 虛假地址
在OP_RETURN輸出標(biāo)準(zhǔn)化出現(xiàn)之前,我們并沒(méi)有一種容易獲得、可證明的方式來(lái)燒掉比特幣。結(jié)果,有些用戶就使用了“虛假地址”,即沒(méi)有已知私鑰的地址。
在創(chuàng)建比特幣地址時(shí),我們通常從一個(gè)已知的私鑰開(kāi)始,然后對(duì)其進(jìn)行轉(zhuǎn)換以獲得其對(duì)應(yīng)的公鑰地址。這個(gè)過(guò)程使得生成自定義的“虛榮前綴”(即虛榮公鑰)變得非常困難。
然而,在虛假地址的情況下,沒(méi)有人知道地址的私鑰是什么。因此,虛假地址可以任何前綴開(kāi)頭(如果可以使用Base58 字母表寫(xiě)入)。但是,最后的字符將是隨機(jī)的(根據(jù)設(shè)計(jì),地址的最后一個(gè)字符是一個(gè)校驗(yàn)和,以防止輸入錯(cuò)誤)。
雖然不可能起草一份完整的虛假地址清單,但我們可列出一些值得注意的虛假地址:

僅這 3 個(gè)地址就丟失了2213.19538012 BTC。
理論上,這些幣并不是永遠(yuǎn)丟失的 (有人可以為它們找到一把私鑰)。然而,只給出一個(gè)地址就可找到私鑰的唯一已知方法,就是隨機(jī)猜測(cè),直到找到正確的組合。實(shí)際上,在我們的宇宙生命中發(fā)生這種事情的可能性是很小的。
2、漏洞
在錢包漂亮的外表下,有一些關(guān)鍵的代碼負(fù)責(zé)制作、簽署和向比特幣網(wǎng)絡(luò)廣播我們的交易。如今,我們很少能在它們身上發(fā)現(xiàn)讓人崩潰的漏洞,但情況并非總是如此。
2011 年 11 月,MtGox在其錢包軟件中遭遇了一個(gè)漏洞。他們把2609.36304319 BTC發(fā)送到一個(gè)虛假腳本中,卻不知道如何使用它。這個(gè)虛假腳本,就好比是如果你試圖將錢發(fā)送到一個(gè)“空”的公鑰,而軟件沒(méi)有編程來(lái)檢測(cè)這是不可取的。
其他資產(chǎn)中也有類似的漏洞,使得幣無(wú)法被使用,最著名的例子就是以太坊Parity(丟失了513000 ETH)。
3、“僵尸幣”
丟失幣的另一個(gè)來(lái)源是多年沒(méi)移動(dòng)過(guò)的幣。由于不可能知道它們的主人是否還掌握私鑰,所以這些幣通常被稱為“僵尸幣”,即處于不死不活的狀態(tài)。有了這一類,我們就離開(kāi)了幣是否真的丟失的準(zhǔn)確定性領(lǐng)域。
為了保守估計(jì),我們將只統(tǒng)計(jì) 2010 年 7 月前未移動(dòng)過(guò)的幣。理由很簡(jiǎn)單:由于(當(dāng)時(shí))比特幣的感知價(jià)值非常低,因此人們沒(méi)有多少動(dòng)力去備份錢包。
截至第600, 000 個(gè)區(qū)塊,全網(wǎng) 2010 年 7 月之前未曾移動(dòng)過(guò)的幣共有1,496,907.88000 BTC。根據(jù)各種估計(jì),中本聰擁有這些幣的一半以上,因?yàn)樵诒忍貛诺脑缙跉v史中,其是主要的挖礦者。
2010 年 7 月之前的老幣當(dāng)中發(fā)生的最近一次移動(dòng),是在 2019 年 7 月份,當(dāng)時(shí)移動(dòng)的幣為150 BTC。

總體而言,自 2013 年牛市以來(lái),這些上古時(shí)代的幣很少被使用。鑒于比特幣從 2013 年到現(xiàn)在經(jīng)歷的價(jià)格暴漲,這些幣的擁有者要么是非常長(zhǎng)期的持有者,要么他們無(wú)法獲得這些幣。
4、有負(fù)擔(dān)的幣
最后一類幣可能會(huì)被認(rèn)為處于丟失狀態(tài),或者至少暫時(shí)不流通:已知被盜的幣。直到更好的混幣解決方案的出現(xiàn),它們將很難再進(jìn)入流通,特別是非常大的量。
在比特幣的歷史上,曾發(fā)生過(guò)很多重大的黑客和盜竊事件,而其中有兩起被認(rèn)為是“不流通”的事件, 2011 年,MtGox被盜的 8 萬(wàn) BTC,以及 2016 年Bitfinex被盜的 12 萬(wàn) BTC。
2011 年 3 月,黑客從MtGox的錢包中盜走了79,956 BTC,至今其未觸碰這些比特幣,而到今天,這一地址已成為了全網(wǎng)第 6 富有的地址。

Jeb McCaleb和Mark Karpelès在盜竊案發(fā)生后的談話
為什么這次盜竊的資金(被盜時(shí)價(jià)值7. 3 萬(wàn)美元,當(dāng)前價(jià)值 7 億美元)從未被移動(dòng)過(guò)呢,背后的原因暫不得而知,很可能是竊賊也無(wú)法訪問(wèn)這些比特幣的私鑰了。
2016 年 8 月,Bitfinex因黑客攻擊丟失了119,756 BTC,直到今天,這些被盜的幣很少被移動(dòng),只有22 BTC 被找到。截至第600, 000 個(gè)區(qū)塊,黑客地址中仍有117,091.31922097 BTC。
三、總結(jié)
我們常說(shuō)比特幣的總量只有 2100 萬(wàn) BTC,這種說(shuō)法其實(shí)并不準(zhǔn)確,隨著時(shí)間的推移,怪事、錯(cuò)誤以及其他事件會(huì)影響到比特幣真實(shí)的存在量。


這種分析只是評(píng)估比特幣真實(shí)供應(yīng)量的眾多方法之一。根據(jù)需要,我們可以考慮、忽略或擴(kuò)大不同的類別。它還使用自頂向下的方法,從最大可能的供應(yīng)開(kāi)始,并移除各種類型丟失的幣。另一種估算比特幣供應(yīng)量的方法,是按上次活動(dòng)的時(shí)間將比特幣分解,然后預(yù)計(jì)多年未動(dòng)的比特幣可能會(huì)丟失。我們將繼續(xù)監(jiān)控丟失的比特幣,并在未來(lái)更新我們的發(fā)現(xiàn)。






