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