- 區塊鏈系列:重塑經濟與世界+數字貨幣到信用社會+解碼區塊鏈全球應用與投資案例
- 徐明星 長鋏 韓鋒 龔鳴
- 8字
- 2019-01-04 19:14:02
第二章
區塊鏈基礎
一、區塊鏈的基本概念
區塊鏈(Blockchain)技術的產生和發展離不開比特幣。首先,因為隨著比特幣的誕生,區塊鏈技術才得以公布于眾;其次,比特幣是截至目前區塊鏈技術最成功、最成熟的應用案例。比特幣的概念由中本聰在2008年發表的論文《比特幣:一種點對點的電子現金系統》中首次提出。文中,中本聰將區塊鏈技術作為構建比特幣數據結構及交易體系的基礎技術,將比特幣打造為一種數字貨幣和在線支付系統,利用加密技術實現資金轉移,而不再依賴于中央銀行。比特幣使用公鑰地址發送和接收比特幣,并進行交易記錄,從而實現個人身份信息的匿名。交易確認的過程則需要用戶貢獻算力,共同對交易進行共識確認,從而將交易記錄到全網公開賬本中。用戶可以利用電腦、手機等發送或接收比特幣,并選擇交易費用。現有逾百種加密數字貨幣(未來幣、點點幣、萊特幣、狗狗幣等),比特幣約占所有加密數字貨幣市值的90%。
比特幣的區塊鏈畢竟是為比特幣體系的設計而定制,因此比特幣的區塊鏈技術并不等于區塊鏈技術。區塊鏈技術應該是可以有更多種形態、更多種體系、更多種用途、更多種規格的技術,其概念為:區塊鏈是一個去中心化的分布式數據庫,該數據庫由一串使用密碼學方法產生的數據區塊有序鏈接而成,區塊中包含有一定時間內產生的無法被篡改的數據記錄信息。
區塊中包含數據記錄、當前區塊根哈希(Hash)、前一區塊根哈希、時間戳以及其他信息(圖2-1)。數據記錄的類型可以根據場景決定,比如資產交易記錄、資產發行記錄、清算記錄、智能合約記錄甚至物聯網數據記錄等。數據記錄在存儲過程中,通常組織為樹形式,比如默克爾樹,而區塊根哈希實際就是數據記錄樹的根節點哈希,為根據數據記錄樹自下而上逐步通過SHA-256等哈希算法計算得出。時間戳為區塊的生成時間。其他信息包括區塊簽名信息、隨機值等信息,也可根據具體應用場景靈活定義。

圖2-1 區塊鏈結構示意圖
區塊鏈技術不是一種單一的技術,而是多種技術整合的結果,包括密碼學、數學、經濟學、網絡科學等。這些技術以特定方式組合在一起,形成了一種新的去中心化數據記錄與存儲體系,并給存儲數據的區塊打上時間戳使其形成一個連續的、前后關聯的誠實數據記錄存儲結構,最終目的是建立一個保證誠實的數據系統,可將其稱為能夠保證系統誠實的分布式數據庫。在這個系統中,只有系統本身是值得信任的,所以數據記錄、存儲與更新規則是為建立人們對區塊鏈系統的信任而設計。誠實意味著系統可以被信任,正是商業活動和應用推廣的前提,所以區塊鏈技術已經被很多領域主流機構看中并非是沒有理由的。因為有了區塊鏈技術,在一個誠信的系統里,可以省去許多煩瑣的審查手續,許多因數據缺乏透明度而無法開展的業務可以開展,甚至社會的自動化程度也將大幅提升。
近年來,包括高盛、摩根大通和納斯達克等金融機構開始展開對區塊鏈技術的重點研究。這些機構的金融業務大都具有標準化程度高、連續性強、自動化需求大、業務對信用度要求高等特點,跟區塊鏈的優勢高度契合。同時,在供應鏈金融中,由于物流、資金流和信息流的復雜安排會涉及眾多單據,因此使用電子商務平臺記賬會大大節省紙質單據所需要的時間和成本,然而使用誰的電子商務平臺就成為一個大問題。如果使用利益相關各方自建的電子商務平臺,數據的真實性就很容易受到質疑,而自建電子商務平臺往往耗資不菲;如果使用第三方的電子商務平臺,第三方的經營穩定性和信息安全性又難以保證,比如因財務、政策、網絡攻擊等各種情況引起不穩定問題等,溝通協調成本和風險也會大幅增加。區塊鏈技術的安全性、不可逆、不可篡改性和透明性都已經得到了證明,如果能把供應鏈金融業務直接建立在這樣已被證明其可靠性的區塊鏈上,將極大地降低安全和信用成本。所以,盡管目前電子商務平臺的使用已經大大節約了成本,但如果能有一個具有公信力的類似區塊鏈公共信用系統,成本仍有進一步節約的空間。從政府層面來說,這一點也很重要,因為提供值得大眾信任的系統本身就是政府職能的一部分。中國的資本運用效率遠低于美國的一個非常重要的原因就是社會的信用體系不健全、信息不透明、部門協調成本過高,且利益保護現象嚴重。如果能從技術上應用區塊鏈,就可以用較低的成本打破這些阻礙,建立一個公開的社會公共信用系統,整個社會成本都將大幅降低,效率也將大幅提升,還便于監管。透明的數據不僅將大大降低監管部門的工作量(很大一部分工作量轉移給了社會監督,任何異動都很難逃過眾人的眼睛),而且使得監管部門的主要工作轉向治理,提升治理人性化和效率。
盡管使用區塊鏈技術所建立的系統本身是誠實可信的,但這并不意味著來自系統以外的輸入信息就是誠實的,更多的時候只是意味著區塊鏈誠實記錄并儲存了這些外部數據。比如認證,認證工作往往是在線下完成,即使區塊鏈能夠存儲文字、圖片甚至多媒體信息,也并不意味著那些信息都是真實的。這只意味著區塊鏈真實記錄并存儲了這些信息,防止被篡改,如果發生業務糾紛時可以作為憑證。可能許多人沒有注意到這一點,自動化是區塊鏈技術的一個非常重要的特性,區塊鏈網絡實際上就是一個接近于自動化或存在完全自動化可能性的網絡。這一點之所以重要,一方面,是因為自動化是金融機構青睞區塊鏈技術的重要原因,金融交易需要網絡能夠自動記錄和存儲交易數據,也能夠允許參與者通過設置條件在網絡上自動進行和完成交易;另一方面,區塊鏈技術在這方面提供的可能性為社會生產效率的大幅提升留下了廣闊的空間,也為智能合約等一系列高級應用留下了充足的余地。在理想情況下,區塊鏈技術最終能夠同物聯網結合起來。
總體而言,區塊鏈的發展體系可以劃分為四個象限(圖2-2)。第一象限是比特幣區塊鏈;
第二象限是使用比特幣區塊鏈協議,但不使用比特幣貨幣的系統,比如萬事達幣、彩色幣、合約幣,以及采用合并挖礦的域名幣等;第三象限是同時使用獨立貨幣和獨立區塊鏈的系統,比如以太坊、瑞波、萊特幣和未來幣等;第四象限是側鏈,采用獨立的網絡但以比特幣作為底層貨幣的系統,如BTC Relay等。

圖2-2 區塊鏈發展體系四象限
(一)區塊鏈的分類
目前已知的區塊鏈技術應用大致分為三類。
1. 公共區塊鏈(Public Blockchain):是指全世界任何人都可讀取、可發送交易進行有效性確認,任何人都能參與其共識過程的區塊鏈(共識過程是維持區塊鏈這種分布式數據庫一致性、準確性的關鍵技術,將在后續章節詳細介紹),如圖2-3所示。區塊鏈上的數據記錄公開,所有人都可以訪問,都可以發出交易請求,并通過驗證被寫入區塊鏈。共識過程的參與者通過密碼學技術共同維護公共區塊鏈數據的安全、透明、不可篡改。公共區塊鏈的典型應用包括比特幣、以太坊等。

圖2-3 公共區塊鏈示意圖
公共區塊鏈是完全分布式的區塊鏈,區塊鏈數據公開,用戶參與程度高,同時易于產生網絡效應,便于應用推廣。然而,系統的運行需要依賴于內建的激勵機制。公共區塊鏈上試圖保存的數據越有價值,越要審視其安全性以及安全性帶來的交易成本、系統可擴展性問題。
2. 共同體區塊鏈(Consortium Blockchains):又稱聯盟鏈,是指參與區塊鏈的節點是事先選擇好的,節點間通常有良好的網絡連接等合作關系,區塊鏈上的數據可以是公開的也可以是內部的,為部分意義上的分布式,可視為“部分去中心化”。如圖2-4所示為共同體區塊鏈示意圖。比如有若干家金融機構之間建立了某個共同體區塊鏈,每個機構都運行著一個節點,而且為了使每個區塊生效需要獲得至少其中10個機構的確認。區塊鏈可以允許每個機構可讀取,或者只受限于共識驗證參與者,或走混合型路線,例如區塊的根哈希及應用程序接口對外公開,允許外界用來進行區塊鏈數據和區塊鏈狀態信息查詢等。其典型應用包括超級賬本(Hyperledger)、區塊鏈聯盟R3CEV等。

圖2-4 共同體區塊鏈示意圖
共同體區塊鏈的參與節點間的連接狀態較好、驗證效率較高,只需較低的成本即可維持運行,提供高速交易處理的同時降低交易費用,有很好的擴展性,數據可以保持一定的隱私性。但是這也意味著在共識達成的前提下,參與節點可以一起篡改數據。
3. 私有區塊鏈(Private Blockchain):參與的節點只有有限的范圍,比如特定機構的自身用戶等,數據的訪問及使用有嚴格的權限管理,如圖2-5所示為私有區塊鏈示意圖。完全私有的區塊鏈中寫入權限僅在參與者手里,讀取權限可以對外開放,也可以進行任意程度的限制。相關的應用囊括數據庫管理、數據庫審計甚至公司管理,盡管在有些情況下希望私有區塊鏈可以具有公共的可審計性,但在更多的情況下,沒有公共的可讀性。由于是私有用戶說了算,里面的數據沒有無法篡改的特性,對于第三方的保障力度大大降低。因此,目前很多私有區塊鏈會通過依附在比特幣等已有區塊鏈的方式存在,定期將系統快照數據記錄到比特幣等系統中。其典型應用如Eris Industries。

圖2-5 私有區塊鏈示意圖
私有區塊鏈可以帶來規則的改變。如果需要的話,運行著私有區塊鏈的機構可以很容易地修改區塊鏈的規則、回滾交易。這一點似乎略有違背區塊鏈的本質,但是卻適用于一些特殊場景需求。由于私有區塊鏈驗證者是內部公開的,所以并不存在部分驗證節點共謀進行51%攻擊的風險。私有區塊鏈交易成本更低。交易只需被幾個受信的高算力節點驗證即可,而不是需要數萬個節點的確認,因此交易成本會低。但從長遠來看,隨著區塊鏈技術的進步,公共區塊鏈的成本將可能降低1~2個數量級,大致與高效的私有區塊鏈系統類似。私有區塊鏈節點間連接情況好、故障可以迅速通過人工干預來修復,從而提升交易速度并可以更好地保護隱私。
公共區塊鏈、共同體區塊鏈和私有區塊鏈各有優勢。公共區塊鏈很難實現得很完美,共同體區塊鏈、私有區塊鏈需要找到實際迫切需求的應用需求和場景。至于具體選擇哪套方案取決于具體需求,有時使用公共區塊鏈會更好,但有時又需要一定的私有控制,適用于使用共同體區塊鏈或私有區塊鏈。
(二)區塊鏈的特征
1. 去中心化
去中心化是區塊鏈最基本的特征,意味著區塊鏈不再依賴于中央處理節點,實現了數據的分布式記錄、存儲和更新。由于使用分布式存儲和算力,不存在中心化的硬件或管理機構,全網節點的權利和義務均等,系統中的數據本質是由全網節點共同維護的。由于每個區塊鏈節點都必須遵循同一規則,而該規則基于密碼算法而非信用,同時每次數據更新需要網絡內其他用戶的批準,所以不需要一套第三方中介結構或信任機構背書。在傳統的中心化網絡中,對一個中心節點實行攻擊即可破壞整個系統,而在一個去中心化的區塊鏈網絡中,攻擊單個節點無法控制或破壞整個網絡,掌握網內超過51%的節點只是獲得控制權的開始而已。
2. 透明性
區塊鏈系統的數據記錄對全網節點是透明的,數據記錄的更新操作對全網節點也是透明的,這是區塊鏈系統值得信任的基礎。由于區塊鏈系統使用開源的程序、開放的規則和高參與度,區塊鏈數據記錄和運行規則可以被全網節點審查、追溯,具有很高的透明度。
3. 開放性
區塊鏈系統是開放的,除了數據直接相關各方的私有信息被加密外,區塊鏈的數據對所有人公開(具有特殊權限要求的區塊鏈系統除外)。任何人或參與節點都可以通過公開的接口查詢區塊鏈數據記錄或者開發相關應用,因此整個系統信息高度透明。
4. 自治性
區塊鏈采用基于協商一致的規范和協議,使整個系統中的所有節點能夠在去信任的環境自由安全地交換數據、記錄數據、更新數據,把對個人或機構的信任改成對體系的信任,任何人為的干預都將不起作用。
5. 信息不可篡改
區塊鏈系統的信息一旦經過驗證并添加至區塊鏈后,就會得到永久存儲,無法更改(具備特殊更改需求的私有區塊鏈等系統除外)。除非能夠同時控制系統中超過51%的節點,否則單個節點上對數據庫的修改是無效的,因此區塊鏈的數據穩定性和可靠性極高。
6. 匿名性
區塊鏈技術解決了節點間信任的問題,因此數據交換甚至交易均可在匿名的情況下進行。由于節點之間的數據交換遵循固定且預知的算法,因而其數據交互是無須信任的,可以基于地址而非個人身份進行,因此交易雙方無須通過公開身份的方式讓對方產生信任。