区块链要去中心化么
區(qū)塊鏈(Blockchain)技術(shù)自身仍然在飛速發(fā)展中,目前還缺乏統(tǒng)一的規(guī)范和標(biāo)準(zhǔn)。Wikipedia 給出的定義為:
A blockchain—originally, block chain —is a distributeddatabase that maintains acontinuously-growing list of data records hardenedagainst tampering andrevision. It consists of data structure blocks—which hold exclusively data ininitial blockchain implementations,and both data and programs in some of themore recent implementations—with each block holding batches of individualtransactions and theresults of any blockchain executables. Each block containsa timestamp andinformation linking it to a previous block.
簡(jiǎn)而言之,區(qū)塊鏈技術(shù)讓參與系統(tǒng)中的任意多個(gè)節(jié)點(diǎn),把一段時(shí)間系統(tǒng)內(nèi)全部信息交流的數(shù)據(jù),通過(guò)密碼學(xué)算法計(jì)算和記錄到一個(gè)數(shù)據(jù)塊(block),并且生成該數(shù)據(jù)塊的指紋用于鏈接(chain)下個(gè)數(shù)據(jù)塊和校驗(yàn),系統(tǒng)所有參與節(jié)點(diǎn)來(lái)共同認(rèn)定記錄是否為真。
01 ?區(qū)塊鏈本質(zhì)
區(qū)塊鏈實(shí)質(zhì)是由多方參與共同維護(hù)一個(gè)持續(xù)增長(zhǎng)的分布式數(shù)據(jù)庫(kù),也被稱為分布式共享賬本(Distributed Shared Ledger),其核心在于通過(guò)分布式網(wǎng)絡(luò)、時(shí)序不可篡改的密碼學(xué)賬本及分布式共識(shí)機(jī)制建立彼此之間的信任關(guān)系,利用由自動(dòng)化腳本代碼組成的智能合約來(lái)編程和操作數(shù)據(jù),最終實(shí)現(xiàn)由信息互聯(lián)向價(jià)值互聯(lián)的進(jìn)化,如圖1所示。
?圖1? 從傳統(tǒng)集中記賬方式(左)到分布式總賬(右)
區(qū)塊鏈?zhǔn)且环N與傳統(tǒng)集中記賬方式不同的記錄技術(shù)。參與到區(qū)塊鏈系統(tǒng)上的節(jié)點(diǎn),可能不屬于同一組織、彼此無(wú)需信任;區(qū)塊鏈數(shù)據(jù)由所有節(jié)點(diǎn)共同維護(hù),每個(gè)參與維護(hù)節(jié)點(diǎn)都能復(fù)制獲得一份完整記錄的拷貝。與傳統(tǒng)的記賬技術(shù)相比,其特點(diǎn)包括:維護(hù)一條不斷增長(zhǎng)的鏈,只可能添加記錄,而發(fā)生過(guò)的記錄都不可篡改;無(wú)需集中的控制而能達(dá)成共識(shí),實(shí)現(xiàn)上盡量分布式;通過(guò)密碼學(xué)的機(jī)制來(lái)確保交易無(wú)法抵賴和破壞,并盡量保護(hù)用戶信息和記錄的隱私性。
02 區(qū)塊鏈工作原理
所謂區(qū)塊鏈,正是由一個(gè)個(gè)區(qū)塊組成的鏈狀數(shù)據(jù)結(jié)構(gòu)及存儲(chǔ)方式。每個(gè)區(qū)塊分為區(qū)塊頭和區(qū)塊體,區(qū)塊頭主要用來(lái)實(shí)現(xiàn)區(qū)塊鏈接的前一區(qū)塊哈希散列值(Hash Value),而區(qū)塊體主要包括交易賬本,如圖2所示。
?圖2 ?區(qū)塊鏈的賬本
?以交易場(chǎng)景為例,區(qū)塊鏈工作原理如下:首先客戶端將發(fā)起的一筆交易經(jīng)數(shù)字簽名后廣播給網(wǎng)絡(luò)上其他節(jié)點(diǎn)并等待確認(rèn);網(wǎng)絡(luò)中的節(jié)點(diǎn)對(duì)收到的數(shù)據(jù)記錄信息進(jìn)行校驗(yàn),通過(guò)校驗(yàn)后,數(shù)據(jù)記錄被記錄到一個(gè)區(qū)塊中;全網(wǎng)所有接收節(jié)點(diǎn)對(duì)區(qū)塊執(zhí)行共識(shí)算法,區(qū)塊通過(guò)共識(shí)算法過(guò)程后被正式納入?yún)^(qū)塊鏈中存儲(chǔ),全網(wǎng)節(jié)點(diǎn)均表示接受該區(qū)塊。而表示接受的方法,就是將該區(qū)塊的隨機(jī)散列值視為最新的區(qū)塊散列值,新區(qū)塊將提供永久和透明的交易記錄并以該區(qū)塊鏈為基礎(chǔ)進(jìn)行延長(zhǎng),實(shí)現(xiàn)資金轉(zhuǎn)移。
03 區(qū)塊鏈技術(shù)特點(diǎn)
具體來(lái)說(shuō),區(qū)塊鏈技術(shù)作為創(chuàng)造信任的機(jī)器,主要有以下特點(diǎn):
分布式結(jié)構(gòu)。區(qū)塊鏈構(gòu)建在分布式網(wǎng)絡(luò)基礎(chǔ)之上,賬本并不是集中存放在某個(gè)服務(wù)器或數(shù)據(jù)中心,也不是由第三方權(quán)威機(jī)構(gòu)來(lái)負(fù)責(zé)記錄和管理,而是分散在網(wǎng)絡(luò)中的每一個(gè)節(jié)點(diǎn),每一節(jié)點(diǎn)都有一個(gè)該賬本的副本,所有副本同步更新。
信任機(jī)制。區(qū)塊鏈技術(shù)通過(guò)數(shù)學(xué)原理和程序算法,使系統(tǒng)運(yùn)作規(guī)則公開透明,實(shí)現(xiàn)交易雙方在不需要借助第三方權(quán)威機(jī)構(gòu)信用背書下通過(guò)達(dá)成共識(shí)建立信任關(guān)系。
公開透明。區(qū)塊鏈對(duì)其上的節(jié)點(diǎn)可以做到開放、透明。任何人都可以加入?yún)^(qū)塊鏈,也能查詢區(qū)塊鏈上的區(qū)塊記錄;同時(shí)所有用戶看到的是同一個(gè)賬本,能看到這一賬本所發(fā)生和記錄的每一筆交易。
時(shí)序且不可篡改。區(qū)塊鏈采用帶有時(shí)間戳的鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)存儲(chǔ)數(shù)據(jù),具有極強(qiáng)的可追溯性和可驗(yàn)證性;同時(shí)由密碼學(xué)算法和共識(shí)機(jī)制保證了區(qū)塊鏈的不可篡改性。
04 區(qū)塊鏈層次模型
區(qū)塊鏈技術(shù)的模型是由自下而上的數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層和應(yīng)用層組成,共有六層。
數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層這三層是區(qū)塊鏈的必要元素。
1)數(shù)據(jù)層:最下層是“數(shù)據(jù)層”,封裝了底層數(shù)據(jù)區(qū)塊的鏈?zhǔn)浇Y(jié)構(gòu),以及相關(guān)的非對(duì)稱公私鑰數(shù)據(jù)加密技術(shù)和時(shí)間戳等技術(shù),這是整個(gè)區(qū)塊鏈技術(shù)中最底層的數(shù)據(jù)結(jié)構(gòu)。
2)網(wǎng)絡(luò)層:中間是網(wǎng)絡(luò)層,包括P2P組網(wǎng)機(jī)制、數(shù)據(jù)傳播機(jī)制和數(shù)據(jù)驗(yàn)證機(jī)制等。
3)共識(shí)層:第三層是共識(shí)層,封裝了網(wǎng)絡(luò)節(jié)點(diǎn)的各類共識(shí)機(jī)制算法。
而激勵(lì)層、合約層和應(yīng)用層不是區(qū)塊鏈的必要元素,一些區(qū)塊鏈應(yīng)用并不完整地包含上面三層結(jié)構(gòu)。
第四層是“激勵(lì)層”,將經(jīng)濟(jì)因素集成到區(qū)塊鏈技術(shù)體系中來(lái),包括經(jīng)濟(jì)激勵(lì)的發(fā)行機(jī)制和分配機(jī)制等,主要出現(xiàn)在公有鏈當(dāng)中。
第五層是“合約層”,封裝各類腳本、算法和智能合約。
第六層是“應(yīng)用層”,封裝了區(qū)塊鏈的各種應(yīng)用場(chǎng)景和案例,未來(lái)的可編程金融和可編程社會(huì)也將搭建在應(yīng)用層。
在區(qū)塊鏈加密技術(shù)出現(xiàn)之前,互聯(lián)網(wǎng)上的信息拷貝起來(lái)是零成本的,數(shù)字資產(chǎn)具有無(wú)限可復(fù)制性,如果沒(méi)有可信賴的第三方監(jiān)督,我們根本無(wú)法確認(rèn)一筆數(shù)字現(xiàn)金是否被花掉,因此可能出現(xiàn)重復(fù)支付問(wèn)題。
為了解決這個(gè)問(wèn)題,區(qū)塊鏈參照了“拜占庭將軍問(wèn)題(Byzantine failures)”[5]的算法。該問(wèn)題是一個(gè)協(xié)議問(wèn)題,指拜占庭帝國(guó)軍隊(duì)的將軍們必須全體一致的決定是否攻擊某一支敵軍。問(wèn)題是這些將軍在地理上是分隔開來(lái)的,并且將軍中存在叛徒,而將軍們只能依靠信使來(lái)傳遞信息。如何才能防止受到叛徒欺騙而做出錯(cuò)誤決策呢?數(shù)學(xué)家設(shè)計(jì)的算法是讓將軍在接到其上一位將軍標(biāo)有進(jìn)攻時(shí)間的信件之后,寫上同意或反對(duì)并蓋上的自己的圖章,然后把信轉(zhuǎn)發(fā)給其他所有的將軍,在這樣的信息周轉(zhuǎn)之后,最后會(huì)出現(xiàn)一個(gè)蓋有超過(guò)半數(shù)將軍圖章的信息鏈,以保證將軍們?cè)诨ゲ恍湃蔚那闆r下達(dá)成共識(shí)。
萊斯利·蘭伯特把拜占庭將軍問(wèn)題引入點(diǎn)對(duì)點(diǎn)通信。拜占庭假設(shè)是對(duì)現(xiàn)實(shí)世界的模型化,由于硬件錯(cuò)誤、網(wǎng)絡(luò)擁塞或斷開以及遭到惡意攻擊,計(jì)算機(jī)和網(wǎng)絡(luò)可能出現(xiàn)不可預(yù)料的行為。拜占庭容錯(cuò)協(xié)議必須處理這些失效,并且這些協(xié)議還要滿足所要解決的問(wèn)題要求的規(guī)范。
區(qū)塊鏈的技術(shù)原理參考了拜占庭將軍問(wèn)題的算法,通過(guò)蓋戳的形式來(lái)進(jìn)行公證。網(wǎng)絡(luò)上的每一個(gè)參與者的電腦都會(huì)有一份總賬的備份,也都能在這本總帳里記上一筆,并且所有的備份都是在實(shí)時(shí)的、持續(xù)的進(jìn)行更新、對(duì)賬、以及同步著拷貝,即全網(wǎng)記賬,每個(gè)節(jié)點(diǎn)都可以來(lái)競(jìng)爭(zhēng)蓋戳,互相認(rèn)證。這使得一個(gè)不可信網(wǎng)絡(luò)變成了一個(gè)可信的網(wǎng)絡(luò),使得所有參與者可以在某些事情上達(dá)成一致。
05 ?區(qū)塊鏈并不一定去中心化
理想化的區(qū)塊鏈系統(tǒng),是由許許多多節(jié)點(diǎn)組成的點(diǎn)與點(diǎn)的網(wǎng)絡(luò)結(jié)構(gòu),似乎既不需要中心化的硬件設(shè)備,也不需要任何管理它的機(jī)構(gòu)。在很多文獻(xiàn)中都提出區(qū)塊鏈?zhǔn)侨ブ行幕?#xff08;Decentralized),即整個(gè)網(wǎng)絡(luò)沒(méi)有中心化的硬件或者管理機(jī)構(gòu),任意節(jié)點(diǎn)之間的權(quán)利和義務(wù)都是均等的,且任一節(jié)點(diǎn)的損壞或者失去都會(huì)不影響整個(gè)系統(tǒng)的運(yùn)作。
需要指出的是,區(qū)塊鏈并不一定是去中心化的。實(shí)際上,軟件系統(tǒng)的網(wǎng)絡(luò)架構(gòu)一般有三種模式:單中心、多中心、分布式,Decentralized只表明不是單中心模式,它可能是多中心或弱中心,也可能是分布式的。把Decentralized翻譯成“去中心化的”可能與最早由國(guó)內(nèi)“幣圈”所做出的翻譯偏差有關(guān),實(shí)際上在中國(guó)臺(tái)灣地區(qū),大多譯為“分散式的”而不是“去中心化的”。因此,把Decentralized翻譯成“分布式”或者“多中心化”,可能更切合今天技術(shù)和金融場(chǎng)景應(yīng)用的實(shí)際。
在人類社會(huì)的歷史上,信息傳播的延遲和謬誤導(dǎo)致信息不對(duì)稱,形成了各種中心化的強(qiáng)權(quán)組織和階級(jí)分化。雖然信息社會(huì)特別是社交媒體的出現(xiàn)已經(jīng)減弱了這種情況,但是目前仍無(wú)法達(dá)到絕對(duì)的信息對(duì)稱。我們期待在區(qū)塊鏈搭建的機(jī)器社會(huì)中進(jìn)行深刻且迅速的社會(huì)關(guān)系變革,形成絕對(duì)信息對(duì)稱,但是至少目前在機(jī)器社會(huì)還難以實(shí)現(xiàn),即不能完全去中心化。
2016年TheDAO受攻擊事件也表明,完全去中心化至少在現(xiàn)階段是不可行的。The DAO是一個(gè)基于以太坊公有鏈的眾籌項(xiàng)目,成為史上最大的眾籌項(xiàng)目。然而由于其智能合約的漏洞,導(dǎo)致The DAO被黑客攻擊并轉(zhuǎn)移走價(jià)值6000萬(wàn)美元的數(shù)字貨幣,最后不得不黯然落幕。這給以太坊生態(tài)系統(tǒng)帶來(lái)了很多負(fù)面影響。此次事件之后,很多人對(duì)區(qū)塊鏈的“去中心化”進(jìn)行了反思:在挽回這個(gè)損失的過(guò)程中,原有的去中心化機(jī)制未能解決問(wèn)題,最后還是通過(guò)“集中式”的方式,強(qiáng)制以太坊進(jìn)行“硬分叉”完成交易回滾。
如果我們仔細(xì)研究中本聰?shù)恼撐闹?#xff0c;就會(huì)發(fā)現(xiàn)其中只有Peer-to-Peer(P2P),而沒(méi)有Decentralized一詞。業(yè)界也正在逐漸對(duì)區(qū)塊鏈并不一定去中心化形成共識(shí)。在2016年6月召開的W3C區(qū)塊鏈標(biāo)準(zhǔn)會(huì)議上,以太坊的核心開發(fā)團(tuán)隊(duì)EthCore明確表示,不再使用Decentralized這個(gè)詞,而是用P2P、Secure、Serverless這類純技術(shù)性詞語(yǔ)。
但是如果簡(jiǎn)單地宣稱去中心化,或會(huì)被誤讀成是在某種程度上存在著一種既想從事金融活動(dòng),又不愿意接受金融監(jiān)管的傾向。
——本文摘自《深度探索區(qū)塊鏈:Hyperledger技術(shù)與應(yīng)用》
推薦閱讀
?《深度探索區(qū)塊鏈》
Hyperledger技術(shù)與應(yīng)用
ISBN:978-7-111-58932-7
作 者:張?jiān)鲵E 董寧 朱軒彤 陳劍雄
定 價(jià):79.00元
出版時(shí)間:即將出版
內(nèi)容簡(jiǎn)介:
超級(jí)賬本執(zhí)行董事Brian Behlendorf領(lǐng)銜推薦,資深一線區(qū)塊鏈專家聯(lián)合撰寫,區(qū)塊鏈和Hyperledger技術(shù)扛鼎之作;深度剖析區(qū)塊鏈框架Hyperledger Fabric 1.0的架構(gòu)、核心技術(shù)、部署與應(yīng)用開發(fā)。
活動(dòng)推薦
第3屆《洞見區(qū)塊鏈?深度探索區(qū)塊鏈》技術(shù)沙龍(點(diǎn)擊“閱讀原文”報(bào)名)
推薦閱讀
2017年數(shù)據(jù)可視化的七大趨勢(shì)!?
全球100款大數(shù)據(jù)工具匯總(前50款)?
論大數(shù)據(jù)的十大局限
大數(shù)據(jù)時(shí)代的10個(gè)重大變革
大數(shù)據(jù)七大趨勢(shì) 第一個(gè)趨勢(shì)是物聯(lián)網(wǎng)
Q:?區(qū)塊鏈需要去中心化嗎?
歡迎留言與大家分享
請(qǐng)把這篇文章分享給你的朋友
轉(zhuǎn)載 / 投稿請(qǐng)聯(lián)系:hzzy@hzbook.com
更多精彩文章,請(qǐng)?jiān)诠娞?hào)后臺(tái)點(diǎn)擊“歷史文章”查看
總結(jié)
- 上一篇: Bruce Eckel最新演讲:调bug
- 下一篇: linux band0 手动重启,ban