為什么說區(qū)塊鏈“無需信任”?
前言:說區(qū)塊鏈無需信任往往讓人困惑。區(qū)塊鏈本身是算法的信任或是分布式的信任,通過去中心化的方式達(dá)成了一個(gè)系統(tǒng)信任。區(qū)塊鏈的核心就是達(dá)成了無需傳統(tǒng)中介方的信任,實(shí)現(xiàn)了價(jià)值的自由流通。
許多人把區(qū)塊鏈描述為一種無需信任的系統(tǒng)。在我看來,“無需信任”這個(gè)詞是含糊不清的,最重要的是,對(duì)于區(qū)塊鏈來說,這個(gè)詞是不準(zhǔn)確的。
區(qū)塊鏈實(shí)際上并沒有消除信任,整個(gè)區(qū)塊鏈系統(tǒng)所要做的就是減少系統(tǒng)中每個(gè)單個(gè)參與者所需要的信任量。區(qū)塊鏈系統(tǒng)通過激勵(lì)機(jī)制來保證每個(gè)參與者之間按照系統(tǒng)協(xié)議來合作,從而實(shí)現(xiàn)把信任分配給每個(gè)參與者。
下面我們將通過一些例子來進(jìn)行詳細(xì)的解釋。一個(gè)真正無需信任的交易系統(tǒng)看起來應(yīng)該像是這樣:假設(shè)有兩個(gè)人,他們想要進(jìn)行轉(zhuǎn)賬交易,因?yàn)槭蔷€下交易,所以可以進(jìn)行很輕松的驗(yàn)證。
首先,真實(shí)性對(duì)他們來時(shí)是沒有任何問題的,因?yàn)榻灰追绞綖楝F(xiàn)金交易,其次,雙花問題也不存在,因?yàn)槊繌堌泿哦加凶约邯?dú)特的編號(hào)。

這種交易理論上完美無暇,但是交易量卻是有限的,只有在物理位置足夠接近時(shí)才有可能采用這種交易。如果想要進(jìn)行規(guī)?;牟僮?,那么這個(gè)交易系統(tǒng)應(yīng)該能夠讓世界上的任何一個(gè)人進(jìn)行自由的資金轉(zhuǎn)移。所以我們更需要下圖所示的轉(zhuǎn)賬交易系統(tǒng):

從圖中可以看出,我們實(shí)現(xiàn)這一目標(biāo)的方式是通過中間媒介來促進(jìn)價(jià)值轉(zhuǎn)移,以確保實(shí)際的發(fā)送者發(fā)送的錢是真實(shí)有效的。那么誰會(huì)是完全可信的中間人呢?在現(xiàn)實(shí)交易系統(tǒng)中,這個(gè)中介可以是銀行(如chase bank),支付提供商(如 paypal),匯款公司(如,western union),信用卡公司(如visa)等等。
在這種中心化模型中,由銀行確認(rèn)和確保你收到的錢是真實(shí)有效的。換句話說,除非有直接的物質(zhì)價(jià)值從一個(gè)人轉(zhuǎn)移到另一個(gè)人,否則必須存在一些我們信任的中介。
區(qū)塊鏈也并無不同。區(qū)塊鏈通過協(xié)議,允許兩個(gè)單獨(dú)個(gè)體通過互聯(lián)網(wǎng)以點(diǎn)對(duì)點(diǎn)的方式進(jìn)行彼此交易。當(dāng)你在區(qū)塊鏈系統(tǒng)中將數(shù)字貨幣從一個(gè)賬戶轉(zhuǎn)移到另一個(gè)賬戶時(shí),那么說明你信任區(qū)塊鏈底層系統(tǒng)既能夠支持該轉(zhuǎn)賬,又確保發(fā)送人的真實(shí)性和數(shù)字貨幣的有效性。

在一個(gè)中心化的系統(tǒng)中,我們信任第三方(例如chase bank)能夠承擔(dān)起中介的角色來?yè)?dān)保轉(zhuǎn)賬的真實(shí)性和有效性。在一個(gè)分布式系統(tǒng)中,第三方中介將被公鑰密碼系統(tǒng)和共識(shí)機(jī)制替代,用來保障轉(zhuǎn)賬的真實(shí)性和有效性。
公鑰密碼(非對(duì)稱密碼)通常由兩組密碼構(gòu)成,一組是任何人可見的公鑰,另外一組是只有擁有者可見的私鑰。每一次轉(zhuǎn)賬交易都將由私鑰來進(jìn)行數(shù)字簽名,數(shù)字簽名能夠確保每一筆交易都是來源于數(shù)字貨幣的擁有者,同時(shí)還保證一旦交易被發(fā)送出去之后,交易不被串改。
更改交易的任何信息都會(huì)導(dǎo)致驗(yàn)證失敗。如下圖所示,交易的驗(yàn)證過程是采用交易發(fā)起者的公鑰來驗(yàn)證交易信息的正確性。

公鑰密碼可以幫助我們?cè)邳c(diǎn)對(duì)點(diǎn)交易中驗(yàn)證賬戶的真實(shí)性和轉(zhuǎn)賬的有效性。但是,這并不能保證雙花問題(雙重支付問題)。因此我們需要持續(xù)的跟蹤每個(gè)賬戶,以便確保每筆交易的有效性,避免出現(xiàn)雙重支付問題。

這時(shí)候我們就需要共識(shí)機(jī)制來保證賬本的真實(shí)性(shared truth)。區(qū)塊鏈擁有一個(gè)共享賬本,它為我們提供了系統(tǒng)狀態(tài)的絕對(duì)真實(shí)性。它使用數(shù)學(xué),經(jīng)濟(jì)學(xué)和博弈論來確保和激勵(lì)這個(gè)系統(tǒng)的所有參與者達(dá)成共識(shí),或者就這個(gè)賬本的單一狀態(tài)達(dá)成共識(shí)。
那么通過比特幣來舉個(gè)例子,比特幣協(xié)議中有一個(gè)共識(shí)算法叫做工作量證明,它將系統(tǒng)的所有參與者連結(jié)在一起。為了確認(rèn)每筆交易,共識(shí)算法要求一組節(jié)點(diǎn)(即礦工)通過解決復(fù)雜的算法問題來競(jìng)爭(zhēng)驗(yàn)證交易。
換句話說,比特幣協(xié)議通過經(jīng)濟(jì)手段來激勵(lì)礦工購(gòu)買擁有更高算力的機(jī)器來解決復(fù)雜的算法問題。這些激勵(lì)包括,每筆交易所產(chǎn)生的交易費(fèi)用和新區(qū)塊產(chǎn)生時(shí)系統(tǒng)給予的比特幣獎(jiǎng)勵(lì)。
由于這些激勵(lì)措施,礦工們通過不斷的監(jiān)控整個(gè)比特幣網(wǎng)絡(luò)來收集每一筆交易用以產(chǎn)生新的區(qū)塊,然后他們使用計(jì)算資源解決復(fù)雜算法來證明他們做了這些工作。第一個(gè)解出算法的礦工將證明和新區(qū)塊加入?yún)^(qū)塊鏈賬本,同時(shí)將區(qū)塊全網(wǎng)廣播出去。此時(shí),網(wǎng)絡(luò)中的其他礦工都會(huì)驗(yàn)證并且同步最新的區(qū)塊。

因?yàn)榈V工們都在競(jìng)爭(zhēng)產(chǎn)生新的區(qū)塊,那么有時(shí)就會(huì)有多個(gè)區(qū)塊同時(shí)產(chǎn)生,這會(huì)導(dǎo)致產(chǎn)生很多的分叉鏈,這些分叉如下圖所示:

那么整個(gè)網(wǎng)絡(luò)的規(guī)范鏈(canonical chain)就是最長(zhǎng)的那條鏈,擁有最多礦工信任的并繼續(xù)工作的那條鏈。

以這種方式添加到賬本的的每一個(gè)新區(qū)塊都會(huì)增加系統(tǒng)的安全性,因?yàn)楣粽呦胍薷馁~本的歷史數(shù)據(jù)就必須提供超過全網(wǎng)百分五十一的算力來使得自己修改的賬本變成最長(zhǎng)鏈。在現(xiàn)實(shí)中這是不可能實(shí)現(xiàn)的,這就是為什么用戶可以繼續(xù)信任這個(gè)系統(tǒng)的原因。
所以當(dāng)我們?cè)趨^(qū)塊鏈網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)賬交易的時(shí)候,我們信任那些礦工們所貢獻(xiàn)的算力來確保沒有雙重支付問題。
當(dāng)然,即使機(jī)器能夠提供完美的共識(shí),在其他一些重要的方面,我們?nèi)匀晃茨苓_(dá)成百分百的共識(shí)。例如,當(dāng)?shù)讓泳W(wǎng)絡(luò)需要升級(jí),改進(jìn)或者維護(hù)時(shí),我們需要以某種方式來信任網(wǎng)絡(luò)及其所組成的成員能夠適當(dāng)?shù)奶幚磉@些變化。
在這種情況下,需要第三方參與人員之間協(xié)調(diào)合作,或者我稱之為社會(huì)共識(shí)(social consensus)。
例如,當(dāng)一個(gè)區(qū)塊鏈系統(tǒng)需要升級(jí)時(shí)(例如,更好的交易日志),我們需要一個(gè)治理機(jī)制來協(xié)調(diào)所有利益相關(guān)方,例如,用戶,開發(fā)者和投資者等等,以提出最佳的解決方案。或者在最佳解決方案上出現(xiàn)分歧時(shí),需要社區(qū)為就下一步怎么做提供共識(shí)。
如果共識(shí)未能達(dá)成,那么區(qū)塊鏈網(wǎng)絡(luò)將會(huì)硬分叉,每個(gè)參與者將會(huì)被迫選擇一方而不是大家都達(dá)成的共識(shí)。這可能會(huì)導(dǎo)致用戶對(duì)系統(tǒng)失去信任,因?yàn)樗麄儫o法確定哪條鏈?zhǔn)怯行У逆湣?/p>
正如我之前的文章中所描述的,區(qū)塊鏈治理存在許多不同的模式,并且它仍然是社區(qū)積極研究的一個(gè)領(lǐng)域。區(qū)塊鏈治理是個(gè)棘手的問題,在中心化和去中心化控制之間尋找一個(gè)平衡,對(duì)于維護(hù)每個(gè)人對(duì)系統(tǒng)的信任度至關(guān)重要。
當(dāng)我們說到區(qū)塊鏈無需信任時(shí),我們指的是,系統(tǒng)中所有的參與者可以通過這些機(jī)制來達(dá)成一些標(biāo)準(zhǔn)的共識(shí)。權(quán)利和信任分散在系統(tǒng)的參與者之間,如,開發(fā)者,礦工和消費(fèi)者,而不是集中在單個(gè)個(gè)體或者實(shí)體,例如銀行,政府或者金融機(jī)構(gòu)。
或許更準(zhǔn)確描述區(qū)塊鏈的方式不是無需信任,而是建立在分布式信任的基礎(chǔ)上:我們相信每個(gè)人都是信任系統(tǒng)的一部分。