中本聰認(rèn)為比特幣系統(tǒng)應(yīng)該具有這樣的特點(diǎn):一旦該系統(tǒng)的 0.1 版本開(kāi)始運(yùn)行,整個(gè)系統(tǒng)的核心設(shè)計(jì)將永遠(yuǎn)保持不變。他把該目標(biāo)作為比特幣工程實(shí)現(xiàn)的指導(dǎo),最典型的一個(gè)體現(xiàn)就是使用腳本引擎,使得系統(tǒng)可以支持未來(lái)每一種可能的交易類型。
十年過(guò)去了,比特幣系統(tǒng)似乎正如中本聰希望的那樣,并未發(fā)生核心設(shè)計(jì)的改變。這也意味著,在十年之后的今天,比特幣白皮書仍然是我們理解比特幣、甚至理解區(qū)塊鏈時(shí),最重要的文獻(xiàn)。
當(dāng)初大家在郵件列表和 bitcointalk 論壇中對(duì)比特幣提出的那些問(wèn)題,現(xiàn)在也可能依然會(huì)困擾我們。那么,中本聰當(dāng)時(shí)的回答也許可以作為我們?nèi)缃裼懻撨@些問(wèn)題的起點(diǎn)。就像中本聰更偏愛(ài)的系統(tǒng)設(shè)計(jì)思路是「不重復(fù)造輪子」,在討論問(wèn)題時(shí),我們也可以避免重復(fù)造輪子。
出于上述兩方面的原因,我撰寫了本文,希望從重讀比特幣白皮書開(kāi)始,從源頭理解比特幣。
本文包含兩個(gè)部分:第一部分是對(duì)比特幣白皮書的解讀,不過(guò)需要指出,我的這種解讀只是理解白皮書的一個(gè)角度,而且這種解讀更多是從技術(shù)角度來(lái)理解比特幣;第二部分,是郵件列表和 bitcointalk 論壇里關(guān)于比特幣的一些問(wèn)題,以及中本聰對(duì)這些問(wèn)題的回答,我覺(jué)得這些問(wèn)題放在今天,依然對(duì)更好的理解比特幣有著重要的啟發(fā)意義。
細(xì)讀比特幣白皮書,從這幾個(gè)點(diǎn)入手
1. 電子現(xiàn)金
比特幣白皮書的標(biāo)題是《比特幣:一種點(diǎn)對(duì)點(diǎn)的電子現(xiàn)金系統(tǒng)》,它指的是比特幣是一種完全通過(guò)點(diǎn)對(duì)點(diǎn)技術(shù)實(shí)現(xiàn)的電子現(xiàn)金系統(tǒng)。這其中的關(guān)鍵詞「電子現(xiàn)金」也許可以作為我們理解比特幣的重要線索。
當(dāng)我們?cè)诨ヂ?lián)網(wǎng)上進(jìn)行交易時(shí),并不像在線下使用現(xiàn)金時(shí)那樣可以直接把錢給到參與交易的另一方,而是必須依賴金融機(jī)構(gòu)作為可信第三方來(lái)處理這筆電子支付。這種基于信任的模型有很多缺陷,比如會(huì)增加交易成本,比如所有的交易實(shí)際上都是可逆轉(zhuǎn)的。
有沒(méi)有可能在電子支付中、或者說(shuō)在互聯(lián)網(wǎng)支付中,發(fā)明一種新的交易媒介,它允許任意雙方在不需要信任第三方的情況下直接交易,就像現(xiàn)金交易一樣?
這正是比特幣系統(tǒng)想要實(shí)現(xiàn)的目標(biāo):電子現(xiàn)金。
中本聰曾在討論比特幣價(jià)值的時(shí)候,讓大家想象一種稀有的金屬:它沒(méi)有任何實(shí)際的用途,也不適合用作裝飾,但它非常神奇地可以在通信通道中傳輸。那么,當(dāng)這種金屬不論是因?yàn)槭裁丛颢@得了某種價(jià)值后,人們是否想要擁有這種金屬作為交易媒介。中本聰?shù)倪@個(gè)比喻有助于我們更好地理解「電子現(xiàn)金」的含義。
2. 電子現(xiàn)金的所有權(quán)問(wèn)題
要實(shí)現(xiàn)電子現(xiàn)金,第一件事是要能夠確定「現(xiàn)金」的所有權(quán)。在線下這種識(shí)別很容易,誰(shuí)拿著那張錢,那張錢就是誰(shuí)的;但在線上沒(méi)有實(shí)體貨幣,這種方法顯然不行,因此比特幣通過(guò)「數(shù)字簽名」識(shí)別所有權(quán),該方式與雅浦島上確認(rèn)貨幣所有權(quán)的方式有幾分相似之處。
太平洋的雅浦島上沒(méi)有金屬資源,島上的居民從距離該島 400 英里的帕勞島上開(kāi)采石灰?guī)r,再把石頭運(yùn)回小島作為貨幣使用。買賣雙方在交易中決定買家使用多大的石幣付費(fèi),如果那塊石頭太大,那么收款人只需要在付款人的石頭上做個(gè)標(biāo)記,就可以把這塊石頭的所有權(quán)轉(zhuǎn)移給自己,雖然石頭可能依然放在付款人的家中。
比特幣在網(wǎng)絡(luò)中的存在形式是一個(gè)數(shù)字簽名鏈。交易時(shí),原所有者在該數(shù)字簽名鏈的末尾加上新所有者的公鑰(實(shí)際是公鑰的哈希),就完成了比特幣所有權(quán)的轉(zhuǎn)移,就像雅浦島人在石幣上做個(gè)標(biāo)記 / 簽名就完成了石頭所有權(quán)的轉(zhuǎn)移一樣。
也就是說(shuō),比特幣數(shù)字簽名鏈上最新的公鑰是屬于誰(shuí)的(擁有與公鑰對(duì)應(yīng)的私鑰),這筆「電子現(xiàn)金」就是誰(shuí)的。
3. 電子現(xiàn)金的雙重支付問(wèn)題
在實(shí)現(xiàn)了電子現(xiàn)金的所有權(quán)后,接下來(lái)需要解決的問(wèn)題就是雙重支付(或稱為「雙花」)的問(wèn)題。這或許是設(shè)計(jì)電子現(xiàn)金時(shí)最核心、也最難解決的問(wèn)題。
讓我們回到現(xiàn)金,通過(guò)對(duì)比找出電子現(xiàn)金為什么會(huì)面臨雙重支付問(wèn)題,以及可以如何去解決該問(wèn)題。
在使用現(xiàn)金支付時(shí),我們把一張錢先給了誰(shuí),那張錢就是誰(shuí)的,因此我們無(wú)法花費(fèi)同一張錢兩次,抽象理解的話就是,我們用時(shí)間確定支付事件發(fā)生的先后次序,并只認(rèn)可先發(fā)生的那筆支付。
與現(xiàn)金支付相同的是,在分布式網(wǎng)絡(luò)中,我們同樣只認(rèn)可最早發(fā)生的那筆交易。與現(xiàn)金支付不同的是,在分布式的網(wǎng)絡(luò)中,我們無(wú)法通過(guò)時(shí)間確定交易發(fā)生的順序,因?yàn)榫W(wǎng)絡(luò)的參與者們并未對(duì)時(shí)間達(dá)成共識(shí)。最簡(jiǎn)單的例子,一臺(tái)計(jì)算機(jī)認(rèn)為時(shí)間是上午 9:01,另一臺(tái)計(jì)算機(jī)可以認(rèn)為時(shí)間是上午 9:02,物理時(shí)間是行不通的。
中本聰選擇的方法是通過(guò)時(shí)間戳,實(shí)現(xiàn)參與者在時(shí)間上的共識(shí),從而使得系統(tǒng)能使用這種時(shí)間共識(shí)確定事件發(fā)生的順序。
時(shí)間戳功能是比特幣的核心,以至于中本聰稱比特幣系統(tǒng)是一個(gè)「分布式的安全的時(shí)間戳服務(wù)器」。
我們也許可以這么去理解時(shí)間戳:在現(xiàn)實(shí)世界中,一秒就是一秒,每一秒與另一秒的長(zhǎng)短是完全相同的,一秒接著一秒構(gòu)成時(shí)間的順序;在比特幣系統(tǒng)中,「一秒」就是一個(gè)時(shí)間戳,如果用物理時(shí)間衡量,每一秒的長(zhǎng)短是由一個(gè)新區(qū)塊被挖出來(lái)的時(shí)間決定的,大約等于 10 分鐘,每一秒與另一秒的長(zhǎng)短各不相同。但如果用比特幣時(shí)間衡量,可以認(rèn)為每一秒與另一秒并無(wú)區(qū)別,一秒接著一秒(每一個(gè)新的時(shí)間戳被添加到之前的時(shí)間戳之后)構(gòu)成一個(gè)連貫的時(shí)間的順序。
交易被打包進(jìn)區(qū)塊,區(qū)塊被蓋上時(shí)間戳,也就相當(dāng)于每筆交易都有唯一確定的發(fā)生「時(shí)間」,節(jié)點(diǎn)在處理新的交易時(shí),會(huì)去檢查這筆交易對(duì)應(yīng)的「電子現(xiàn)金」在當(dāng)下的時(shí)間之前有沒(méi)有被花費(fèi)過(guò),如果沒(méi)有,就接受這筆交易,并為它打上時(shí)間戳(確定發(fā)生的時(shí)間);如果被花費(fèi)過(guò),就拒絕這筆交易。如此一來(lái),「電子現(xiàn)金」的雙重支付問(wèn)題就得到了解決。
在一個(gè)分布式系統(tǒng)中,誰(shuí)來(lái)蓋時(shí)間戳,或者說(shuō)誰(shuí)來(lái)決定上一秒的時(shí)間結(jié)束了,接下來(lái)進(jìn)入到下一秒?通過(guò)工作量證明(PoW),誰(shuí)能搶先算出落在某個(gè)區(qū)間內(nèi)的哈希數(shù)值,誰(shuí)就能蓋時(shí)間戳。
這個(gè)時(shí)間戳如何獲得共識(shí)?最長(zhǎng)鏈原則,最長(zhǎng)鏈代表的是大多數(shù)(大多數(shù)算力)的決定。工作量證明加上最長(zhǎng)鏈原則也被稱為中本聰共識(shí),共識(shí)是所有區(qū)塊鏈系統(tǒng)最核心的部分,它的本質(zhì)是為了實(shí)現(xiàn)分布式的時(shí)間戳服務(wù)。
當(dāng)所有權(quán)問(wèn)題和雙重支付問(wèn)題都得到解決之后,我們就有了一種可以在網(wǎng)絡(luò)中使用的電子現(xiàn)金,它使得在線支付可以從一方直接發(fā)送給另一方,而無(wú)需通過(guò)金融機(jī)構(gòu)。中本聰把他實(shí)現(xiàn)的這種系統(tǒng)稱為比特幣。
二、八個(gè)依然散發(fā)智慧光芒的中本聰問(wèn)答
中本聰在郵件列表和 bitcointalk 論壇中回復(fù)了許多關(guān)于比特幣的問(wèn)題,他對(duì)自己的答案很有信心,他認(rèn)為這些問(wèn)題幾乎都是他在設(shè)計(jì)系統(tǒng)前就已經(jīng)考慮到了的。多年之后,這些回答讀起來(lái)依然散發(fā)著智慧的光芒。
我們選擇了那些放到今天依然有意義的問(wèn)答,并歸納整理如下。
1. 挖礦是不是浪費(fèi)能源?
中本聰回復(fù):這和黃金開(kāi)采相似。黃金開(kāi)采的成本與黃金的價(jià)格水平是一致的,開(kāi)采是一種浪費(fèi),但這種浪費(fèi)遠(yuǎn)少于黃金作為交換媒介所產(chǎn)生的效用。比特幣也一樣,把比特幣用于交換媒介所產(chǎn)生的效用遠(yuǎn)遠(yuǎn)高于挖比特幣需要的電力。
2. 比特幣的價(jià)格模型是可持續(xù)的嗎?
中本聰回復(fù):當(dāng)比特幣還沒(méi)有在市場(chǎng)上確立價(jià)格之前,基于生產(chǎn)成本的估值模型是有意義的,任何商品的價(jià)格都趨向于生產(chǎn)成本。但是在幾年以后,當(dāng)新挖出來(lái)的比特幣只占供應(yīng)量很小一部分的時(shí)候,將會(huì)是比特幣的價(jià)格決定生產(chǎn)成本,而不是反過(guò)來(lái)。NLS (一位社區(qū)成員)的基于能源消耗的估值模型是一個(gè)很好的起點(diǎn)。但在未來(lái),市場(chǎng)力量將是決定比特幣價(jià)格的主要因素。
3. 如果「壞人」比「好人」有更多的算力怎么辦?
中本聰回復(fù):這首先要求單個(gè)「壞人」的算力比所有「好人」的算力之和更大;其次,即使單個(gè)「壞人」的算力更大,他能做的只是雙花自己的錢,他需要通過(guò)買東西花費(fèi)這筆錢(如今可以是在交易所交易),然后在收到「貨物」之后,通過(guò)攻擊網(wǎng)絡(luò)重新花費(fèi)這筆錢。這種攻擊對(duì)于攻擊者來(lái)說(shuō)或許并不劃算,如果有這種算力還不如好好的挖礦。
4. 比特幣是匿名的嗎?
中本聰回復(fù):比特幣的匿名性取決于比特幣地址是否關(guān)聯(lián)了使用者的個(gè)人信息。如果沒(méi)有,那么就是匿名的,因?yàn)楸忍貛诺刂肥且淮S機(jī)數(shù)字,它本身是不包含識(shí)別信息的。為了保護(hù)隱私,每個(gè)比特幣地址最好只使用一次。
5. 比特幣網(wǎng)絡(luò)可以發(fā)送「私人信息」嗎?消息加密是比特幣的內(nèi)置功能嗎?
中本聰回復(fù):全世界都可以看到這條消息,它是完全公開(kāi)的。因?yàn)?ECDSA 只能用于數(shù)字簽名,不能用于消息加密。RSA (比特幣并未使用該算法)可以用于消息加密,但它的數(shù)據(jù)量太大了,不管是對(duì)存儲(chǔ)空間還是對(duì)帶寬的要求都比 ECDSA 大一個(gè)量級(jí),使用 RSA 是不合適的。
永久記錄一條所有人都可以看到的消息是不明智的。如果需要消息系統(tǒng),它應(yīng)該是一個(gè)與比特幣網(wǎng)絡(luò)平行的獨(dú)立系統(tǒng),消息不應(yīng)該被記錄在區(qū)塊鏈上??梢杂帽忍貛琶荑€對(duì)給消息簽名,以證明消息的來(lái)源。
6. SHA-256 被攻破了怎么辦?(此問(wèn)題類似于量子計(jì)算來(lái)了怎么辦)
中本聰回復(fù):SHA-256 非常難以被破解,即使被破解了,我們可以在麻煩到來(lái)之前就有序地用新的算法替換掉它。
7. 比特幣的可分割性好嗎?
中本聰回復(fù):比特幣顯示為 1.00,但它實(shí)際上包含 8 個(gè)小數(shù)位,是 1.00000000。
8. 那些找不回私鑰的丟失了的比特幣怎么辦?
中本聰回復(fù):這些比特幣只會(huì)讓其他人的比特幣更值錢,可以把它看作是對(duì)所有人的捐贈(zèng)。
三、重回最開(kāi)始的地方
人們對(duì)比特幣的解讀有很多,對(duì)區(qū)塊鏈的解讀以及由此延伸開(kāi)來(lái)的關(guān)于區(qū)塊鏈能做什么的論點(diǎn)則更多。但如果你想從源頭出發(fā)認(rèn)識(shí)比特幣、認(rèn)識(shí)區(qū)塊鏈,下邊是還不錯(cuò)的旅程開(kāi)始的地方。
責(zé)任編輯:ct
評(píng)論
查看更多