如何在去中心化參與者中創(chuàng)建共識
長期以來,區(qū)塊鏈一直在軟件行業(yè)的壁壘之外引起共鳴。每天都傳播著比特幣價(jià)格指數(shù)的發(fā)展相關(guān)的消息,同時(shí)初創(chuàng)企業(yè)也正在競相以這項(xiàng)技術(shù)為基礎(chǔ)創(chuàng)建出令人震驚的業(yè)務(wù)模式。
但我們對這項(xiàng)技術(shù)又真正知多少呢?
在2008年金融危機(jī)爆發(fā)的風(fēng)口浪尖,以假名中本聰(Satoshi Nakamoto)活動(dòng)的個(gè)人或一組人向一份郵寄名單發(fā)送了一篇題為“比特幣:一種點(diǎn)對點(diǎn)的電子現(xiàn)金系統(tǒng)(Bitcoin: A Peer-to-Peer Electronic Cash System)”的白皮書。這篇白皮書中對拜占庭將軍問題——一個(gè)令虛擬貨幣理論家都會(huì)為之搖頭的問題——提出了一個(gè)實(shí)用的解決方案。
在去中心化參與者中創(chuàng)建共識
拜占庭將軍的問題起源于君士坦丁堡于1453年被奧斯曼帝國攻陷的歷史傳說。當(dāng)時(shí)只有在各方面精心策劃的部隊(duì)移動(dòng)的幫助下,才能順利攻占這座設(shè)防鞏固的城池。而為了達(dá)到這個(gè)目標(biāo),奧斯曼帝國的將軍們就不得不依靠信使傳遞信息。
然而,關(guān)于攻擊時(shí)刻的決定受到一個(gè)關(guān)鍵細(xì)節(jié)的嚴(yán)重阻礙:由于一些將軍想要在蘇丹面前詆毀其他將軍,因此他們會(huì)故意提供虛假信息唆使其他人過早發(fā)動(dòng)攻擊。而自那時(shí)起,任何將軍都無法確定收到的信息是否可靠。
這個(gè)問題的關(guān)鍵就是共識的問題,源自個(gè)別決策者無法相互信任這一事實(shí)。
貨幣與中間人的作用
價(jià)值的數(shù)字化交易也同樣適用這種情況。我們?nèi)绾芜_(dá)成共識,避免虛擬美元不會(huì)被支付兩次?到目前為止,這個(gè)答案已經(jīng)不能再簡單了:讓第三方中間人監(jiān)督所有交易;換言之,就是銀行。
但這種模式也并不總是一帆風(fēng)順的。以SWIFT代碼形式傳輸?shù)膰H支付由于涉及各方過多,通常都需要幾天的時(shí)間進(jìn)行處理。這就增加了交易成本,使一次性小額付款也變得十分不方便。能夠取消交易這種選擇也會(huì)存在隱患;為了盡量減少欺詐行為,不可逆轉(zhuǎn)服務(wù)的提供商需要收集關(guān)于客戶的更多信息,但這通常都超出了必要信息的范疇。
然而對于實(shí)體價(jià)值交易,這個(gè)問題已經(jīng)在很大程度上得到了解決。舉個(gè)例子說明:如果Alice想要支付Bob一定數(shù)額的資金,那么她給他一個(gè)代表相應(yīng)價(jià)值的防偽貨幣就足夠了。Alice不可能使用相同的貨幣同時(shí)進(jìn)行兩次單獨(dú)的付款。
目前已經(jīng)有很多嘗試將實(shí)體貨幣的原則轉(zhuǎn)化到數(shù)字領(lǐng)域中,也都取得了不同程度的成功。而比特幣則是首個(gè)在很大程度上滿足這些要求的。
加密簽名和數(shù)字價(jià)值
為確保數(shù)字貨幣只能由其合法所有者使用,比特幣使用了公鑰加密技術(shù)。這涉及到由隨機(jī)生成的數(shù)字組成的私鑰,但相應(yīng)地又會(huì)導(dǎo)出一個(gè)公鑰。但反過來看,公鑰卻不能用于導(dǎo)出相應(yīng)的私鑰。從私鑰和一組數(shù)據(jù)中會(huì)生成數(shù)字簽名。公鑰使用戶能夠確定簽名是從相應(yīng)的私鑰中導(dǎo)出的,但卻不需要知道具體簽名是什么。
此外,比特幣還使用了加密的哈希函數(shù),這會(huì)將大量數(shù)據(jù)字符串轉(zhuǎn)換為固定長度的數(shù)據(jù)值,或稱為哈希。良好的哈希函數(shù)的特征在于高度的安全性,并且可以使用盡可能少的相同哈希來分配各種輸入量。
與加密相比,這一過程無法逆轉(zhuǎn)。當(dāng)應(yīng)用于相同的輸入量時(shí),哈希函數(shù)總是產(chǎn)生相同的哈希,但相同的哈希卻不能被認(rèn)為是原始輸入量所有。每次對輸入數(shù)量的更改都會(huì)產(chǎn)生完全不同的哈希。因此,哈希也稱為數(shù)字指紋。
比特幣系統(tǒng)中的貨幣最終就是數(shù)字簽名的組合。當(dāng)所有者(Alice)對此前交易的哈希和接收者(Bob)的公鑰進(jìn)行數(shù)字簽名時(shí),貨幣就能夠轉(zhuǎn)移。而為使Bob確定Alice并未將其貨幣用于另一筆交易中,所有的交易都是公開的。
達(dá)成共識的數(shù)學(xué)競賽
比特幣通過點(diǎn)對點(diǎn)網(wǎng)絡(luò)實(shí)現(xiàn)了這一點(diǎn)。一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)將各種交易匯編到一個(gè)區(qū)塊中,并由此生成一個(gè)哈希,然后在通過時(shí)間戳來釋放哈希。每個(gè)區(qū)塊都包含來自前一區(qū)塊的哈希,從而形成一個(gè)鏈條:也就是區(qū)塊鏈。
這就讓我們回到了“拜占庭將軍問題”:所有節(jié)點(diǎn)必須先對已經(jīng)發(fā)生的交易,以及是否應(yīng)該將另一個(gè)區(qū)塊添加到鏈中達(dá)成一致。這一過程的比特幣使用的是所謂的工作量證明機(jī)制。要向鏈中添加額外區(qū)塊,需要相應(yīng)的計(jì)算機(jī)節(jié)點(diǎn)來解決復(fù)雜的數(shù)學(xué)難題。首先找到解決方案的節(jié)點(diǎn)隨后再與所有其他節(jié)點(diǎn)共享。一旦解決方案得到所有節(jié)點(diǎn)的驗(yàn)證,每個(gè)節(jié)點(diǎn)都會(huì)將該區(qū)塊添加到其區(qū)塊鏈的副本中。然后,該過程將再次重新開始。
為了順應(yīng)網(wǎng)絡(luò)中不斷變化的總算力,問題的難度會(huì)不斷調(diào)整,這樣每隔約10分鐘就可以將新的區(qū)塊添加到鏈中。如果同時(shí)發(fā)現(xiàn)兩個(gè)區(qū)塊,那么就由發(fā)現(xiàn)的下一個(gè)區(qū)塊確定將保留那個(gè)子鏈。最長的鏈會(huì)獲得勝利。
由于必須針對區(qū)塊的每個(gè)變化重新解決這些難題(對于所有后續(xù)區(qū)塊也是如此),因此鏈條越長就越安全。若要對區(qū)塊鏈進(jìn)行更改,攻擊者必須在將新區(qū)塊添加到區(qū)塊鏈之前再次解決所有區(qū)塊的數(shù)學(xué)難題。因此,目前以銀行形式存在的信任要素也被包含在了區(qū)塊鏈的數(shù)學(xué)邏輯中。
價(jià)值網(wǎng)絡(luò)
區(qū)塊鏈起著分布式公共日志的作用,記錄不可逆的交易。用戶能夠快速且經(jīng)濟(jì)高效地驗(yàn)證并審計(jì)他們的交易,無需經(jīng)過中間人。
區(qū)塊鏈技術(shù)用例絕不會(huì)僅限于比特幣。區(qū)塊鏈遠(yuǎn)超價(jià)值傳輸——“價(jià)值網(wǎng)絡(luò)”。數(shù)據(jù)庫能夠最終確定所有權(quán)的歸屬。所有能夠轉(zhuǎn)化成數(shù)字孿生體(digital twins)的資產(chǎn)類型都可以被包括在區(qū)塊鏈中:鉆石、建筑物、貨物交付——存在著無窮的可能性。
這種創(chuàng)新是顛覆性的還是遞增的取決于業(yè)務(wù)領(lǐng)域。在公司內(nèi)部或之間達(dá)成共識就意味著一種演變,而公有區(qū)塊鏈的用例有可能徹底轉(zhuǎn)變現(xiàn)有的市場。
區(qū)塊鏈用例之一的Everledger是一家從事鉆石數(shù)字孿生的初創(chuàng)企業(yè)。這些數(shù)字孿生體將由40個(gè)數(shù)據(jù)點(diǎn)計(jì)算得來,并存儲在區(qū)塊鏈之上,從而實(shí)現(xiàn)從首次開采到成為珠寶的整個(gè)過程中追蹤鉆石的所有權(quán)。而目前已有超過100萬顆寶石實(shí)現(xiàn)了數(shù)字化保護(hù)——這是一個(gè)真正的成功案例。