一、共享賬本
首先我們來了解一下三個概念∶
中心化,即完全依賴于一個中心,這個中心 所做的任何記錄、任何決定都被認為是正確的,所有人都需要依賴于中心中轉(zhuǎn)以完成與他人的連接。
去中心化,一般人可以通過數(shù)個中轉(zhuǎn)節(jié)點來與其他人交流,幾個中轉(zhuǎn)節(jié)點之間也保持聯(lián)通,幾個中轉(zhuǎn)節(jié)點共同做的記錄、決定會被認為是正確的。
分布式,每一個人都可以通過任何一個其他人獲得所有人的信息,所有節(jié)點共同記錄、共同做決定,人人平等,沒有任何一個節(jié)點有高于他人的決定權(quán)。
接下來我們通過一個銀行記賬的例子,來認識下分布式賬本,或者說共享賬本。
我們不妨從生活中的角度來看,某客戶分別在兩個銀行存了錢,也就是說客戶被銀行A和銀行B欠了錢,那么,這個事實是由誰來記錄的呢?是銀行A和銀行B。這看起來很平常,我們在銀行里存錢,銀行告訴我們說,我們會記錄下你在我們這里存了多少錢。
但仔細一想,會發(fā)現(xiàn)客戶必須在相信銀行有償還能力的同時還相信銀行有準確的記錄,這事實上是一種利益沖突。
舉個極端點的例子,路人甲問你借了100塊,然后和你說,相信我,我到時候一定還得起,還說,別擔心,我會記下來的。這時候你是不是就感覺到了信任危機。
所以有兩種有意思的現(xiàn)象,存款者必須相信他們的銀行有償還能力,并正確記錄下各項來往數(shù)據(jù)。同時,銀行自身也得花費很多的時同和金錢去開發(fā)這樣的一個系統(tǒng),并且需要花費更多的時間和金錢與其他銀行之間互相檢查,以確保他們的系統(tǒng)在同一個事實情況下達成一致,也就是銀行系統(tǒng)之間的對賬。
這種多個實體間在記賬和對賬的過程上相當復雜,維護費用也相當高昂。
那么,我們該怎么解決呢。
于是,就要用到區(qū)塊鏈所說的共享賬本了。
用一個單一的賬本記錄所有的事情。
然后把這個單一的賬本同時分發(fā)給所有參與者。
在這個模式里,所有的參與者都有賬本的備份,但只能修改與他們自己相關(guān)的記錄。
這個賬本既是復制型的,也是共享的。
在區(qū)塊鏈的共享賬本體系里,所有參與者,不論是銀行還是客戶,都能夠同時負責賬本的維護,并且保護它的安全。通過公開每一個人的身份和信息,來確保共同對某一作弊方進行懲罰。
因此,區(qū)塊鏈實際上是讓每個人都可以為系統(tǒng)的安全進行貢獻,從而取代了一個單一的強大的"安全"實體。
二、共識機制
共享賬本是需要將賬本更新信息復制給網(wǎng)絡(luò)上的每一個節(jié)點的,那么到底由誰來廣播這個更新信息,讓大家“以此為準呢”?
因為既然是每個人都能記賬,也就意味著每一個人都可以宣稱自己的賬戶余額增加了。
但是因為網(wǎng)絡(luò)維護的是一個總賬,一個人的余額增加意味著擅自剝奪了別人的財產(chǎn),于是別人就不會認可你記的假賬。
最后就變成你記你的我記我的,大家互不認同,也就無法正常更新賬本來完成交易。
為了解決這博弈困境,區(qū)塊鏈創(chuàng)造了共識機制。
所謂共識機制,就是大家共同認可的一種以誰為準的機制。
比特幣創(chuàng)造了一種叫作工作量證明的共識機制,也就是說,記賬最努力的那個人會獲得一次記賬決定權(quán),但誰都不知道別人會不會比自己努力,因此大家只能埋頭若干,希望自己能成為那個幸運兒。
于是這個過程就變成了一種隨機事件,每一次系統(tǒng)算法都會找到那個最努力的記賬員,然后獎勵他一定數(shù)量的比特幣,由于在網(wǎng)絡(luò)上進行交易的人需要向記賬員支付非常微小的一筆驗證費用,因此記賬勤快除了可能成為獲得比特幣獎勵的幸運兒之外,還能獲得更多筆數(shù)的驗證費用。
這個記賬的過程在比特幣中被稱為挖礦,人們通過自己電腦、專業(yè)礦機或者云算力參與這個挖礦的過程,也同時成為比特幣區(qū)塊鏈上不可或缺的一部分。
這種激勵大家共同努力工作的機制成為維護比特幣安全與公信力的最大基礎(chǔ)。
共享賬本去除了中間環(huán)節(jié),共識機制創(chuàng)造了比特幣的公信力基礎(chǔ),從而建立起一種烏托邦式的全新組織。