區塊鏈技術發展現狀與展望

2019-11-05 14:03 來源:網絡
瀏覽量: 收藏:0 分享

  摘要

  區塊鏈是隨著比特幣等數字加密貨幣的日益普及而逐漸興起的一種全新的去中心化基礎架構與分布式計算范式, 目前已經引起政府部門、金融機構、科技企業和資本市場的高度重視與廣泛關注. 區塊鏈技術具有去中心化、時序數據、集體維 護、可編程和安全可信等特點, 特別適合構建可編程的貨幣系統、金融系統乃至宏觀社會系統. 本文通過解構區塊鏈的核心要 素, 提出了區塊鏈系統的基礎架構模型, 詳細闡述了區塊鏈及與之相關的比特幣的基本原理、技術、方法與應用現狀, 討論了 智能合約的理念、應用和意義, 介紹了基于區塊鏈的平行社會發展趨勢, 致力于為未來相關研究提供有益的指導與借鑒.

  正文

  區塊鏈是以比特幣為代表的數字加密貨幣體系 的核心支撐技術. 區塊鏈技術的核心優勢是去中心 化, 能夠通過運用數據加密、時間戳、分布式共識和 經濟激勵等手段, 在節點無需互相信任的分布式系 統中實現基于去中心化信用的點對點交易、協調與 協作, 從而為解決中心化機構普遍存在的高成本、低 效率和數據存儲不安全等問題提供了解決方案. 隨 著比特幣近年來的快速發展與普及, 區塊鏈技術的研究與應用也呈現出爆發式增長態勢, 被認為是繼大型機、個人電腦、互聯網、移動/社交網絡之后計算范式的第五次顛覆式創新, 是人類信用進化史上繼血親信用、貴金屬信用、央行紙幣信用之后的第四個里程碑 . 區塊鏈技術是下一代云計算的雛形, 有望像互聯網一樣徹底重塑人類社會活動形態, 并 實現從目前的信息互聯網向價值互聯網的轉變。

  區塊鏈技術的快速發展引起了政府部門、金融 機構、科技企業和資本市場的廣泛關注. 2016年1 月, 英國政府發布區塊鏈專題研究報告[2] , 積極推行 區塊鏈在金融和政府事務中的應用; 中國人民銀行 召開數字貨幣研討會探討采用區塊鏈技術發行虛擬 貨幣的可行性, 以提高金融活動的效率、便利性和透 明度. 美國納斯達克于 2015 年 12 月率先推出基于 區塊鏈技術的證券交易平臺 Linq, 成為金融證券市 場去中心化趨勢的重要里程碑; 德勤和安永等專業 審計服務公司相繼組建區塊鏈研發團隊, 致力于提 升其客戶審計服務質量. 截止到 2016 年初, 資本市 場已經相繼投入 10 億美元以 加速區塊鏈領域的發展. 初創公司 R3CEV 基于微軟云服務平臺 Azure 推出的 BaaS (Blockchain as a service, 區塊鏈即服 務) 服務, 已與美國銀行、花旗銀行等全球 40 余家 大型銀行機構簽署區塊鏈合作項目, 致力于制定銀 行業的區塊鏈行業標準與協議.

  區塊鏈技術起源于 2008 年由化名為 “中本聰” (Satoshi nakamoto) 的學者在密碼學郵件組發表的 奠基性論文《比特幣: 一種點對點電子現金系統》[3], 目前尚未形成行業公認的區塊鏈定義. 狹義來講, 區 塊鏈是一種按照時間順序將數據區塊以鏈條的方式 組合成特定數據結構, 并以密碼學方式保證的不可 篡改和不可偽造的去中心化共享總賬 (Decentral- ized shared ledger), 能夠安全存儲簡單的、有先后 關系的、能在系統內驗證的數據. 廣義的區塊鏈技 術則是利用加密鏈式區塊結構來驗證與存儲數據、 利用分布式節點共識算法來生成和更新數據、利用 自動化腳本代碼 (智能合約) 來編程和操作數據的一 種全新的去中心化基礎架構與分布式計算范式.

  區塊鏈具有去中心化、時序數據、集體維護、可 編程和安全可信等特點. 首先是去中心化: 區塊鏈 數據的驗證、記賬、存儲、維護和傳輸等過程均是基 于分布式系統結構, 采用純數學方法而不是中心機 構來建立分布式節點間的信任關系, 從而形成去中 心化的可信任的分布式系統; 其次是時序數據: 區塊 鏈采用帶有時間戳的鏈式區塊結構存儲數據, 從而 為數據增加了時間維度, 具有極強的可驗證性和可 追溯性; 第三是集體維護: 區塊鏈系統采用特定的經 濟激勵機制來保證分布式系統中所有節點均可參與 數據區塊的驗證過程 (如比特幣的 “挖礦” 過程), 并 通過共識算法來選擇特定的節點將新區塊添加到區 塊鏈; 第四是可編程: 區塊鏈技術可提供靈活的腳本 代碼系統, 支持用戶創建高級的智能合約、貨幣或其 他去中心化應用. 例如, 以太坊 (Ethereum) 平臺即 提供了圖靈完備的腳本語言以供用戶來構建任何可 以精確定義的智能合約或交易類型[4]; 最后是安全 可信: 區塊鏈技術采用非對稱密碼學原理對數據進 行加密, 同時借助分布式系統各節點的工作量證明 等共識算法形成的強大算力來抵御外部攻擊、保證 區塊鏈數據不可篡改和不可偽造, 因而具有較高的安全性.

  區塊鏈技術是具有普適性的底層技術框架, 可以為金融、經濟、科技甚至政治等各領域帶來深刻變革. 按照目前區塊鏈技術的發展脈絡, 區塊鏈技術將會經歷以可編程數字加密貨幣體系為主要特征的區塊鏈 1.0 模式、以可編程金融系統為主要特征的區塊鏈 2.0 模式和以可編程社會為主要特征的區塊鏈 3.0 模式。目前,一般認為區塊鏈技術正處于2.0 模式的初期, 股權眾籌和 P2P 借貸等各類基于區塊鏈技術的互聯網金融應用相繼涌現. 然而, 上述模式實際上是平行而非演進式發展的, 區塊鏈 1.0模式的數字加密貨幣體系仍然遠未成熟, 距離其全球貨幣一體化的愿景實際上更遠、更困難. 目前, 區塊鏈領域已經呈現出明顯的技術和產業創新驅動的發展態勢, 相關學術研究嚴重滯后、亟待跟進. 截止到 2016 年 2 月, 以萬方數據知識服務平臺為中文數據源、以 Web of Science 和 EI Village 為英文數據源的文獻檢索顯示, 目前篇名包含關鍵詞 “區塊鏈/blockchain” 的僅有 2 篇中文[5?6] 和 9 篇英文文獻 . 本文系統性地梳理了區塊鏈的基本原理、 核心技術、典型應用和現存問題, 以期為未來研究提 供有益的啟發與借鑒。

  1 比特幣與區塊鏈概述

  比特幣是迄今為止最為成功的區塊鏈應用場景.據區塊鏈實時監控網站 Blockchain.info 統計顯示,平均每天有約 7 500 萬美元的 120 000 筆交易被寫入比特幣區塊鏈, 目前已生成超過 40 萬個區塊[15] .加密貨幣市值統計網站 coinmarketcap.com 顯示,截止到 2016 年 2 月, 全球共有 675 種加密貨幣, 總市值超過 67 億美元, 其中比特幣市值約占 86 %, 瑞 [16]波幣和以太幣分別居二、三位 . 目前比特幣供應量 (即已經挖出的比特幣數量) 已經超過 1 500 萬枚,按照每枚比特幣 389.50 美元的現行價格估算其總市值已超過 59 億美元, 在世界各國 2015 年 GDP排名中占據第 144 位 (略低于歐洲的摩爾多瓦). 換言之, 在沒有政府和中央銀行信用背書的情況下, 去中心化的比特幣已經依靠算法信用創造出與歐洲小國體量相當的全球性經濟體.預計到 2027 年, 全球10 % 的 GDP 將會通過區塊鏈技術存儲 .

  比特幣區塊鏈的第一個區塊 (稱為創世區塊) 誕 生于2009年1月4日,由創始人中本聰持有.一周 后, 中本聰發送了 10 個比特幣給密碼學專家哈爾芬 尼, 形成了比特幣史上第一次交易; 2010 年 5 月, 佛 羅里達程序員用 1 萬比特幣購買價值為 25 美元的 披薩優惠券, 從而誕生了比特幣的第一個公允匯率. 此后, 比特幣價格快速上漲, 并在 2013 年 11 月創下 每枚比特幣兌換 1 242 美元的歷史高值, 超過同期每 盎司 1 241.98 美元的黃金價格. 據 CoinDesk 估算, 目前全球約有 6 萬商家接受比特幣交易, 其中中國是比特幣交易增長最為迅速的國家。

  比特幣本質上是由分布式網絡系統生成的數字貨幣, 其發行過程不依賴特定的中心化機構, 而是依 賴于分布式網絡節點共同參與一種稱為工作量證明 (Proof of work, PoW) 的共識過程以完成比特幣交 易的驗證與記錄. PoW 共識過程 (俗稱挖礦, 每個 節點稱為礦工) 通常是各節點貢獻自己的計算資源 來競爭解決一個難度可動態調整的數學問題, 成功 解決該數學問題的礦工將獲得區塊的記賬權, 并將 當前時間段的所有比特幣交易打包記入一個新的區 塊、按照時間順序鏈接到比特幣主鏈上. 比特幣系 統同時會發行一定數量的比特幣以獎勵該礦工, 并 激勵其他礦工繼續貢獻算力. 比特幣的流通過程依 靠密碼學方法保障安全. 每一次比特幣交易都會經 過特殊算法處理和全體礦工驗證后記入區塊鏈, 同 時可以附帶具有一定靈活性的腳本代碼 (智能合約) 以實現可編程的自動化貨幣流通. 由此可見, 比特幣 和區塊鏈系統一般具備如下五個關鍵要素, 即公共 的區塊鏈賬本、分布式的點對點網絡系統、去中心 化的共識算法、適度的經濟激勵機制以及可編程的 腳本代碼.

  區塊鏈技術為比特幣系統解決了數字加密貨幣 領域長期以來所必需面對的兩個重要問題, 即雙重支付問題和拜占庭將軍問題 . 雙重支付問題又稱 為 “雙花”, 即利用貨幣的數字特性兩次或多次使用 “同一筆錢” 完成支付. 傳統金融和貨幣體系中, 現 金 (法幣) 因是物理實體, 能夠自然地避免雙重支付; 其他數字形式的貨幣則需要可信的第三方中心機構 (如銀行) 來保證. 區塊鏈技術的貢獻是在沒有第三 方機構的情況下, 通過分布式節點的驗證和共識機 制解決了去中心化系統的雙重支付問題, 在信息傳 輸的過程同時完成了價值轉移. 拜占庭將軍問題是分布式系統交互過程普遍面臨的難題, 即在缺少可信任的中央節點的情況下, 分布式節點如何達成共識和建立互信 . 區塊鏈通過數字加密技術和分布 式共識算法, 實現了在無需信任單個節點的情況下 構建一個去中心化的可信任系統. 與傳統中心機構 (如中央銀行) 的信用背書機制不同的是, 比特幣區 塊鏈形成的是軟件定義的信用, 這標志著中心化的 國家信用向去中心化的算法信用的根本性變革.

  比特幣憑借其先發優勢, 目前已經形成體系完 備的涵蓋發行、流通和金融衍生市場的生態圈與產 業鏈 (如圖 1 所示), 這也是其長期占據絕大多數數 字加密貨幣市場份額的主要原因. 比特幣的開源特 性吸引了大量開發者持續性地貢獻其創新技術、方 法和機制; 比特幣各網絡節點 (礦工) 提供算力以保 證比特幣的穩定共識和安全性, 其算力大多來自于 設備商銷售的專門用于 PoW 共識算法的專業設備 (礦機). 比特幣網絡為每個新發現的區塊發行一定數 量的比特幣以獎勵礦工, 部分礦工可能會相互合作 建立收益共享的礦池, 以便匯集算力來提高獲得比 特幣的概率. 比特幣經發行進入流通環節后, 持幣人 可以通過特定的軟件平臺 (如比特幣錢包) 向商家支 付比特幣來購買商品或服務, 這體現了比特幣的貨 幣屬性; 同時由于比特幣價格的漲跌機制使其完全 具備金融衍生品的所有屬性, 因此出現了比特幣交 易平臺以方便持幣人投資或者投機比特幣. 在流通 環節和金融市場中, 每一筆比特幣交易都會由比特 幣網絡的全體礦工驗證并記入區塊鏈.

  比特幣是區塊鏈技術賦能的第一個 “殺手級” 應用, 迄今為止區塊鏈的核心技術和人才資源仍大 多在比特幣研發領域. 然而, 區塊鏈作為未來新一代 的底層基礎技術, 其應用范疇勢必會超越數字加密 貨幣而延伸到金融、經濟、科技和政治等其他領域。

  比特幣的現有技術、模式和機制, 將會對區塊鏈在新 應用領域的發展提供有益的借鑒, 而新領域的區塊 鏈創新也勢必反過來促進解決比特幣系統現存的問 題. 因此, 比特幣和區塊鏈技術存在著協同進化、和 諧共生而非相互競爭的良性反饋關系.

  2 區塊鏈的基礎模型與關鍵技術

  本節將結合比特幣系統的技術與應用現狀, 闡 述區塊鏈技術的基礎模型、基本原理和關鍵技術, 以 及區塊鏈在比特幣系統之外的若干創新模式. 現存 的其他區塊鏈應用大多都與比特幣類似, 僅在某些 特定的環節或多或少地采用比特幣模式的變種.

  區塊鏈技術的基礎架構模型如圖 2 所示. 一般 說來, 區塊鏈系統由數據層、網絡層、共識層、激勵 層、合約層和應用層組成. 其中, 數據層封裝了底層 數據區塊以及相關的數據加密和時間戳等技術; 網 絡層則包括分布式組網機制、數據傳播機制和數據 驗證機制等; 共識層主要封裝網絡節點的各類共識 算法; 激勵層將經濟因素集成到區塊鏈技術體系中 來, 主要包括經濟激勵的發行機制和分配機制等; 合 約層主要封裝各類腳本、算法和智能合約, 是區塊鏈 可編程特性的基礎; 應用層則封裝了區塊鏈的各種 應用場景和案例. 該模型中, 基于時間戳的鏈式區塊 結構、分布式節點的共識機制、基于共識算力的經 濟激勵和靈活可編程的智能合約是區塊鏈技術最具 代表性的創新點.

  2.1 數據層

  狹義的區塊鏈即是去中心化系統各節點共享的 數據賬本. 每個分布式節點都可以通過特定的哈希 算法和 Merkle 樹數據結構, 將一段時間內接收到的 交易數據和代碼封裝到一個帶有時間戳的數據區塊 中, 并鏈接到當前最長的主區塊鏈上, 形成最新的區 塊. 該過程涉及區塊、鏈式結構、哈希算法、Merkle 樹和時間戳等技術要素.

  數據區塊: 如圖 3 所示, 每個數據區塊一般包含區塊頭 (Header) 和區塊體 (Body) 兩部分. 區塊頭封裝了當前版本號 (Version)、前一區塊地址(Prev-block)、當前區塊的目標哈希值 (Bits)、當前區塊 PoW 共識過程的解隨機數 (Nonce)、Merkle根 (Merkle-root) 以及時間戳 (Timestamp) 等信、息 . 比特幣網絡可以動態調整 PoW 共識過程的 難度值, 最先找到正確的解隨機數 Nonce 并經過全 體礦工驗證的礦工將會獲得當前區塊的記賬權. 區 塊體則包括當前區塊的交易數量以及經過驗證的、 區塊創建過程中生成的所有交易記錄. 這些記錄通 過 Merkle 樹的哈希過程生成唯一的 Merkle 根并記 入區塊頭.

image.png

  鏈式結構: 取得記賬權的礦工將當前區塊鏈接 到前一區塊, 形成最新的區塊主鏈. 各個區塊依次環 環相接, 形成從創世區塊到當前區塊的一條最長主 鏈, 從而記錄了區塊鏈數據的完整歷史, 能夠提供區 塊鏈數據的溯源和定位功能, 任意數據都可以通過 此鏈式結構順藤摸瓜、追本溯源. 需要說明的是, 如 果短時間內有兩個礦工同時 “挖出” 兩個新的區塊 加以鏈接的話, 區塊主鏈可能會出現暫時的 “分叉” 現象, 其解決方法是約定礦工總是選擇延長累計工作量證明最大的區塊鏈. 因此, 當主鏈分叉后, 后續區塊的礦工將通過計算和比較, 將其區塊鏈接到當前累計工作量證明最大化的備選鏈上, 形成更長的新主鏈,從而解決分叉問題。

  時間戳: 區塊鏈技術要求獲得記賬權的節點必

  須在當前數據區塊頭中加蓋時間戳, 表明區塊數據 的寫入時間. 因此, 主鏈上各區塊是按照時間順序依 次排列的. 時間戳技術本身并不復雜, 但其在區塊 鏈技術中的應用是具有重要意義的創新. 時間戳可 以作為區塊數據的存在性證明 (Proof of existence), 有助于形成不可篡改和不可偽造的區塊鏈數據庫, 從而為區塊鏈應用于公證、知識產權注冊等時間敏 感的領域奠定了基礎. 更為重要的是, 時間戳為未來 基于區塊鏈的互聯網和大數據增加了時間維度, 使 得通過區塊數據和時間戳來重現歷史成為可能.

  哈希函數: 區塊鏈通常并不直接保存原始數據 或交易記錄, 而是保存其哈希函數值, 即將原始數據編碼為特定長度的由數字和字母組成的字符串后記 入區塊鏈. 哈希函數 (也稱散列函數) 具有諸多優良 特點, 因而特別適合用于存儲區塊鏈數據. 例如, 通 過哈希輸出幾乎不能反推輸入值 (單向性), 不同長 度輸入的哈希過程消耗大約相同的時間 (定時性) 且 產生固定長度的輸出 (定長性), 即使輸入僅相差一 個字節也會產生顯著不同的輸出值 (隨機性) 等. 比 特幣區塊鏈通常采用雙 SHA256 哈希函數, 即將任 意長度的原始數據經過兩次 SHA256 哈希運算后轉 換為長度為 256 位 (32 字節) 的二進制數字來統一 存儲和識別. 除上述特點外, SHA256 算法還具有巨 大的散列空間 (2256) 和抗碰撞 (避免不同輸入值產 生相同哈希值) 等特性, 可滿足比特幣的任何相關標 記需要而不會出現沖突.

  Merkle 樹: Merkle 樹是區塊鏈的重要數據結構, 其作用是快速歸納和校驗區塊數據的存在性和完整性. 如圖 3 所示, Merkle 樹通常包含區塊體的底層 (交易) 數據庫, 區塊頭的根哈希值 (即Merkle 根) 以及所有沿底層區塊數據到根哈希的分支. Merkle 樹運算過程一般是將區塊體的數據進行分組哈希, 并將生成的新哈希值插入到 Merkle 樹中, 如此遞歸直到只剩最后一個根哈希值并記為區塊頭的 Merkle 根. 最常見的 Merkle 樹是比特幣采用的二叉 Merkle 樹, 其每個哈希節點總是包含兩個相鄰的數據塊或其哈希值[22] , 其他變種則包括以太 [4]坊的 Merkle patricia tree 等 . Merkle 樹有諸多 優點: 首先是極大地提高了區塊鏈的運行效率和可 擴展性, 使得區塊頭只需包含根哈希值而不必封裝 所有底層數據, 這使得哈希運算可以高效地運行在 智能手機甚至物聯網設備上; 其次是 Merkle 樹可支持 “簡化支付驗證” 協議, 即在不運行完整區塊鏈網絡節點的情況下, 也能夠對 (交易) 數據進行檢驗 . 例如, 為驗證圖 3 中交易 6, 一個沒有下載完整區塊 鏈數據的客戶端可以通過向其他節點索要包括從交 易 6 哈希值沿 Merkle 樹上溯至區塊頭根哈希處的 哈希序列 (即哈希節點 6, 5, 56, 78, 5 678, 1 234) 來 快速確認交易的存在性和正確性. 一般說來, 在 N 個交易組成的區塊體中確認任一交易的算法復雜度 僅為 log2N. 這將極大地降低區塊鏈運行所需的帶 寬和驗證時間, 并使得僅保存部分相關區塊鏈數據 的輕量級客戶端成為可能.

  非對稱加密: 非對稱加密是為滿足安全性需求 和所有權驗證需求而集成到區塊鏈中的加密技術, 常見算法包括 RSA、Elgamal、Rabin、D-H、ECC (即橢圓曲線加密算法) 等. 非對稱加密通常在加密 和解密過程中使用兩個非對稱的密碼, 分別稱為公 鑰和私鑰. 非對稱密鑰對具有兩個特點, 首先是用其 中一個密鑰 (公鑰或私鑰) 加密信息后, 只有另一個 對應的密鑰才能解開; 其次是公鑰可向其他人公開、 私鑰則保密, 其他人無法通過該公鑰推算出相應的 私鑰. 非對稱加密技術在區塊鏈的應用場景主要包 括信息加密、數字簽名和登錄認證等, 其中信息加密 場景主要是由信息發送者 (記為 A) 使用接受者 (記 為 B) 的公鑰對信息加密后再發送給 B, B 利用自 己的私鑰對信息解密. 比特幣交易的加密即屬于此 場景; 數字簽名場景則是由發送者 A 采用自己的私 鑰加密信息后發送給 B, B 使用 A 的公鑰對信息解 密、從而可確保信息是由 A 發送的; 登錄認證場景 則是由客戶端使用私鑰加密登錄信息后發送給服務 器, 后者接收后采用該客戶端的公鑰解密并認證登錄信息.

  以比特幣系統為例, 其非對稱加密機制如圖 4所示: 比特幣系統一般通過調用操作系統底層的隨機數生成器來生成 256 位隨機數作為私鑰. 比特幣私鑰的總量可達 2256, 極難通過遍歷全部私鑰空間來獲得存有比特幣的私鑰, 因而是密碼學安全的.為便于識別, 256 位二進制形式的比特幣私鑰將通過 SHA256 哈希算法和 Base58 轉換, 形成 50 個字符長度的易識別和書寫的私鑰提供給用戶; 比特幣的公鑰是由私鑰首先經過 Secp256k1 橢圓曲線算法生成 65 字節長度的隨機數. 該公鑰可用于產生比特幣交易時使用的地址, 其生成過程為首先將公鑰進行 SHA256 和 RIPEMD160 雙哈希運算并生成20 字節長度的摘要結果 (即 hash160 結果), 再經過SHA256 哈希算法和 Base58 轉換形成 33 字符長度 [19]的比特幣地址 . 公鑰生成過程是不可逆的, 即不 能通過公鑰反推出私鑰. 比特幣的公鑰和私鑰通常保存于比特幣錢包文件, 其中私鑰最為重要. 丟失私 鑰就意味著丟失了對應地址的全部比特幣資產. 現 有的比特幣和區塊鏈系統中, 根據實際應用需求已 經衍生出多私鑰加密技術, 以滿足多重簽名等更為靈活和復雜的場景.

  2.2 網絡層

  網絡層封裝了區塊鏈系統的組網方式、消息傳 播協議和數據驗證機制等要素. 結合實際應用需求, 通過設計特定的傳播協議和數據驗證機制, 可使得 區塊鏈系統中每一個節點都能參與區塊數據的校驗 和記賬過程, 僅當區塊數據通過全網大部分節點驗 證后, 才能記入區塊鏈.

  組網方式: 區塊鏈系統的節點一般具有分布式、 自治性、開放可自由進出等特性, 因而一般采用對等 式網絡 (Peer-to-peer network, P2P 網絡) 來組織 散布全球的參與數據驗證和記賬的節點. P2P 網絡 中的每個節點均地位對等且以扁平式拓撲結構相互 連通和交互, 不存在任何中心化的特殊節點和層級 結構, 每個節點均會承擔網絡路由、驗證區塊數據、 傳播區塊數據、發現新節點等功能. 按照節點存儲數 據量的不同, 可以分為全節點和輕量級節點. 前者保 存有從創世區塊到當前最新區塊為止的完整區塊鏈 數據, 并通過實時參與區塊數據的校驗和記賬來動 態更新主鏈. 全節點的優勢在于不依賴任何其他節 點而能夠獨立地實現任意區塊數據的校驗、查詢和 更新, 劣勢則是維護全節點的空間成本較高; 以比特 幣為例, 截止到 2016 年 2 月, 創世區塊至當前區塊 的數據量已經超過 60 GB. 與之相比, 輕量級節點則 僅保存一部分區塊鏈數據, 并通過第 2.1 節提到的 簡易支付驗證方式向其相鄰節點請求所需的數據來 完成數據校驗.

  數據傳播協議: 任一區塊數據生成后, 將由生成 該數據的節點廣播到全網其他所有的節點來加以驗 證. 現有的區塊鏈系統一般根據實際應用需求設計 比特幣傳播協議的變種, 例如以太坊區塊鏈集成了 所謂的 “幽靈協議” 以解決因區塊數據確認速度快而導致的高區塊作廢率和隨之而來的安全性風險 . 根據中本聰的設計, 比特幣系統的交易數據傳播協 議包括如下步驟[3] :

  1) 比特幣交易節點將新生成的交易數據向全網 所有節點進行廣播;

  2) 每個節點都將收集到的交易數據存儲到一個 區塊中;

  3) 每個節點基于自身算力在區塊中找到一個具 有足夠難度的工作量證明;

  4) 當節點找到區塊的工作量證明后, 就向全網 所有節點廣播此區塊;

  5) 僅當包含在區塊中的所有交易都是有效的且 之前未存在過的, 其他節點才認同該區塊的有效性;

  6) 其他節點接受該數據區塊, 并在該區塊的末 尾制造新的區塊以延長該鏈條, 而將被接受區塊的 隨機哈希值視為先于新區塊的隨機哈希值.

  需要說明的是, 如果交易節點是與其他節點無連接的新節點, 比特幣系統通常會將一組長期穩定運行的 “種子節點” 推薦給新節點建立連接, 或者推薦至少一個節點連接到新節點. 此外, 交易數據廣播時, 并不需要全部節點均接收到, 而是只要足夠多的節點做出響應即可整合進入區塊賬本中. 未接收到特定交易數據的節點則可向鄰近節點請求下載該缺失的交易數據。

  數據驗證機制: P2P 網絡中的每個節點都時刻監聽比特幣網絡中廣播的數據與新區塊. 節點接收 到鄰近節點發來的數據后, 將首先驗證該數據的有 效性. 如果數據有效, 則按照接收順序為新數據建 立存儲池以暫存尚未記入區塊的有效數據, 同時繼 續向鄰近節點轉發; 如果數據無效, 則立即廢棄該 數據, 從而保證無效數據不會在區塊鏈網絡繼續傳 播. 以比特幣為例, 比特幣的礦工節點會收集和驗證 P2P 網絡中廣播的尚未確認的交易數據, 并對照預 定義的標準清單, 從數據結構、語法規范性、輸入輸 出和數字簽名等各方面校驗交易數據的有效性, 并 將有效交易數據整合到當前區塊中; 同理, 當某礦工“挖” 到新區塊后, 其他礦工節點也會按照預定義標 準來校驗該區塊是否包含足夠工作量證明, 時間戳 是否有效等; 如確認有效, 其他礦工節點會將該區塊 鏈接到主區塊鏈上, 并開始競爭下一個新區塊.

  由網絡層設計機理可見, 區塊鏈是典型的分布 式大數據技術. 全網數據同時存儲于去中心化系統 的所有節點上, 即使部分節點失效, 只要仍存在一 個正常運行的節點, 區塊鏈主鏈數據就可完全恢復 而不會影響后續區塊數據的記錄與更新. 這種高度 分散化的區塊存儲模式與云存儲模式的區別在于, 后者是基于中心化結構基礎上的多重存儲和多重數 據備份模式, 即 “多中心化” 模式; 而前者則是完全 “去中心化” 的存儲模式, 具有更高的數據安全性.

  2.3 共識層

  如何在分布式系統中高效地達成共識是分布式計算領域的重要研究問題. 正如社會系統中 “民主” 和 “集中” 的對立關系相似, 決策權越分散的系統達 成共識的效率越低、但系統穩定性和滿意度越高; 而 決策權越集中的系統更易達成共識, 但同時更易出 現專制和獨裁. 區塊鏈技術的核心優勢之一就是能 夠在決策權高度分散的去中心化系統中使得各節點 高效地針對區塊數據的有效性達成共識.

  早期的比特幣區塊鏈采用高度依賴節點算力的 工作量證明 (Proof of work, PoW) 機制來保證比特 幣網絡分布式記賬的一致性. 隨著區塊鏈技術的發 展和各種競爭幣的相繼涌現, 研究者提出多種不依 賴算力而能夠達成共識的機制, 例如點點幣首創的 權益證明 (Proof of stake, PoS) 共識[23] 和比特股首 創的授權股份證明機制 (Delegated proof of stake, DPOS) 共識機制[24] 等. 區塊鏈共識層即封裝了這 些共識機制.

  PoW 共識: 中本聰在其比特幣奠基性論文中設 計了 PoW 共識機制, 其核心思想是通過引入分布式 節點的算力競爭來保證數據一致性和共識的安全性. 比特幣系統中, 各節點 (即礦工) 基于各自的計算機 算力相互競爭來共同解決一個求解復雜但驗證容易 的 SHA256 數學難題 (即挖礦), 最快解決該難題的 節點將獲得區塊記賬權和系統自動生成的比特幣獎 勵. 該數學難題可表述為: 根據當前難度值, 通過搜 索求解一個合適的隨機數 (Nonce) 使得圖 3 中區塊 頭各元數據的雙 SHA256 哈希值小于或等于目標哈 希值. 比特幣系統通過靈活調整隨機數搜索的難度 值來控制區塊的平均生成時間為 10 分鐘左右. 一般 說來, PoW 共識的隨機數搜索過程如下 (參照圖 3 區塊結構)[19] :

  步驟 1. 搜集當前時間段的全網未確認交易, 并 增加一個用于發行新比特幣獎勵的 Coinbase 交易,形成當前區塊體的交易集合;

  步驟 2. 計算區塊體交易集合的 Merkle 根記入區塊頭, 并填寫區塊頭的其他元數據, 其中隨機數 Nonce 置零;

  步驟 3. 隨機數 Nonce 加 1; 計算當前區塊頭 的雙 SHA256 哈希值, 如果小于或等于目標哈希值, 則成功搜索到合適的隨機數并獲得該區塊的記賬權; 否則繼續步驟 3 直到任一節點搜索到合適的隨機數 為止;

  步驟 4. 如果一定時間內未成功, 則更新時間戳 和未確認交易集合、重新計算 Merkle 根后繼續搜索.

  符合要求的區塊頭哈希值通常由多個前導零構 成, 目標哈希值越小, 區塊頭哈希值的前導零越多, 成功找到合適的隨機數并 “挖” 出新區塊的難度越 大. 據區塊鏈實時監測網站 Blockchain.info 顯示, 截止到 2016 年 2 月, 符合要求的區塊頭哈希值一 般有 17 個前導零, 例如第 398 346 號區塊哈希值為 “0000000000000000077f754f22f21629a7975cf · · · ”. 按照概率計算, 每 16 次隨機數搜索將會有找到一 個含有一個前導零的區塊哈希值, 因而比特幣目前 17 位前導零哈希值要求 1617 次隨機數搜索才能找 到一個合適的隨機數并生成一個新的區塊. 由此可 見, 比特幣區塊鏈系統的安全性和不可篡改性是由PoW 共識機制的強大算力所保證的, 任何對于區塊 數據的攻擊或篡改都必須重新計算該區塊以及其后 所有區塊的 SHA256 難題, 并且計算速度必須使得 偽造鏈長度超過主鏈, 這種攻擊難度導致的成本將 遠超其收益. 據估計, 截止到 2016 年 1 月, 比特幣 區塊鏈的算力已經達到 800 000 000 Gh/s, 即每秒進 行 8 × 1018 次運算, 超過全球 Top500 超級計算機 的算力總和.

  PoW 共識機制是具有重要意義的創新, 其近乎 完美地整合了比特幣系統的貨幣發行、交易支付和 驗證等功能, 并通過算力競爭保障系統的安全性和 去中心性; PoW 共識機制同時存在著顯著的缺陷, 其強大算力造成的資源浪費 (如電力) 歷來為研究者 所詬病, 而且長達 10 分鐘的交易確認時間使其相對 不適合小額交易的商業應用.

  PoS 共識機制: PoS 共識是為解決 PoW 共識機 制的資源浪費和安全性缺陷而提出的替代方案. 限 于篇幅, 本文主要聚焦于 PoS 相對于 PoW 的創新 之處. PoS 共識本質上是采用權益證明來代替 PoW 中的基于哈希算力的工作量證明, 是由系統中具有 最高權益而非最高算力的節點獲得區塊記賬權. 權 益體現為節點對特定數量貨幣的所有權, 稱為幣齡 或幣天數 (Coin days). 幣齡是特定數量的幣與其最 后一次交易的時間長度的乘積, 每次交易都將會消耗掉特定數量的幣齡. 例如, 某人在一筆交易中收到 10 個幣后并持有 10 天, 則獲得 100 幣齡; 而后其花 掉5個幣后,則消耗掉50幣齡. 顯然,采用PoS共 識機制的系統在特定時間點上的幣齡總數是有限的, 長期持幣者更傾向于擁有更多幣齡, 因此幣齡可視 為其在 PoS 系統中的權益. 此外, PoW 共識過程中 各節點挖礦難度相同, 而 PoS 共識過程中的難度與 交易輸入的幣齡成反比, 消耗幣齡越多則挖礦難度 越低. 節點判斷主鏈的標準也由 PoW 共識的最高 累計難度轉變為最高消耗幣齡, 每個區塊的交易都 會將其消耗的幣齡提交給該區塊, 累計消耗幣齡最 高的區塊將被鏈接到主鏈. 由此可見, PoS 共識過程 僅依靠內部幣齡和權益而不需要消耗外部算力和資 源, 從根本上解決了 PoW 共識算力浪費的問題, 并 且能夠在一定程度上縮短達成共識的時間, 因而比 特幣之后的許多競爭幣均采用 PoS 共識機制.

  DPoS 共識機制: DPoS 共識機制的基本思路類似于 “董事會決策”, 即系統中每個股東節點可以將其持有的股份權益作為選票授予一代表, 獲得票數最多且愿意成為代表的前 101 個節點將進入 “董事會”, 按照既定的時間表輪流對交易進行打包結算并且簽署 (即生產) 一個新區塊. 每個區塊被簽署之前, 必須先驗證前一個區塊已經被受信任的代表節點所簽署. “董事會” 的授權代表節點可以從每筆交易的手續費中獲得收入, 同時要成為授權代表節點必須繳納一定量的保證金, 其金額相當于生產一個區塊收入的 100 倍. 授權代表節點必須對其他股東節點負責, 如果其錯過簽署相對應的區塊, 則股東將會收回選票從而將該節點 “投出” 董事會. 因此, 授權代表節點通常必須保證 99 % 以上的在線時間以實現盈利目標 . 顯然, 與 PoW 共識機制必須信任 最高算力節點和 PoS 共識機制必須信任最高權益節 點不同的是, DPoS 共識機制中每個節點都能夠自 主決定其信任的授權節點且由這些節點輪流記賬生 成新區塊, 因而大幅減少了參與驗證和記賬的節點數量, 可以實現快速共識驗證.

  除上述三種主流共識機制外, 實際區塊鏈應用 中也衍生出了 PoW+PoS、行動證明 (Proof of ac- tivity) 等多個變種機制. 這些共識機制各有優劣勢, 比特幣的 PoW 共識機制依靠其先發優勢已經形成 成熟的挖礦產業鏈, 支持者眾多, 而 PoS 和 DPoS 等新興機制則更為安全、環保和高效, 從而使得共識 機制的選擇問題成為區塊鏈系統研究者最不易達成 共識的問題.

  2.4 激勵層

  區塊鏈共識過程通過匯聚大規模共識節點的算 力資源來實現共享區塊鏈賬本的數據驗證和記賬工作, 因而其本質上是一種共識節點間的任務眾包過 程. 去中心化系統中的共識節點本身是自利的, 最 大化自身收益是其參與數據驗證和記賬的根本目標. 因此, 必須設計激勵相容的合理眾包機制, 使得共 識節點最大化自身收益的個體理性行為與保障去中 心化區塊鏈系統的安全和有效性的整體目標相吻合. 區塊鏈系統通過設計適度的經濟激勵機制并與共識 過程相集成, 從而匯聚大規模的節點參與并形成了 對區塊鏈歷史的穩定共識.

  以比特幣為例, 比特幣 PoW 共識中的經濟激勵 由新發行比特幣獎勵和交易流通過程中的手續費兩 部分組成, 獎勵給 PoW 共識過程中成功搜索到該 區塊的隨機數并記錄該區塊的節點. 因此, 只有當各 節點通過合作共同構建共享和可信的區塊鏈歷史記 錄、并維護比特幣系統的有效性, 其獲得的比特幣獎 勵和交易手續費才會有價值. 比特幣已經形成成熟 的挖礦生態圈, 大量配備專業礦機設備的礦工積極 參與基于挖礦的 PoW 共識過程, 其根本目的就是通 過獲取比特幣獎勵并轉換為相應法幣來實現盈利.

  發行機制: 比特幣系統中每個區塊發行比特幣的數量是隨著時間階梯性遞減的. 創世區塊起的每個區塊將發行 50 個比特幣獎勵給該區塊的記賬者, 此后每隔約 4 年 (21 萬個區塊) 每區塊發行比特幣的數量降低一半, 依此類推, 一直到比特幣的數量穩定在上限 2 100 萬為止 . 比特幣交易過程中 會產生手續費, 目前默認手續費是萬分之一個比特 幣, 這部分費用也會記入區塊并獎勵給記賬者. 這兩 部分費用將會封裝在每個區塊的第一個交易 (稱為 Coinbase 交易) 中. 雖然現在每個區塊的總手續費 相對于新發行比特幣來說規模很小 (通常不會超過 1 個比特幣), 但隨著未來比特幣發行數量的逐步減少 甚至停止發行, 手續費將逐漸成為驅動節點共識和 記賬的主要動力. 同時, 手續費還可以防止大量微額 交易對比特幣網絡發起的 “粉塵” 攻擊, 起到保障安 全的作用.

  分配機制: 比特幣系統中, 大量的小算力節點通常會選擇加入礦池, 通過相互合作匯集算力來提高 “挖” 到新區塊的概率, 并共享該區塊的比特幣和手續費獎勵. 據 Bitcoinmining.com 統計, 目前已經存在 13 種不同的分配機制 . 主流礦池通常 采用 PPLNS (Pay per last N shares)、PPS (Pay per share) 和 PROP (PROPortionately) 等機制. 礦池將各節點貢獻的算力按比例劃分成不同的股份 (Share), 其中 PPLNS 機制是指發現區塊后, 各合 作節點根據其在最后 N 個股份內貢獻的實際股份 比例來分配區塊中的比特幣; PPS 則直接根據股份 比例為各節點估算和支付一個固定的理論收益, 采 用此方式的礦池將會適度收取手續費來彌補其為各節點承擔的收益不確定性風險; PROP 機制則根據 節點貢獻的股份按比例地分配比特幣. 礦池的出現 是對比特幣和區塊鏈去中心化趨勢的潛在威脅, 如 何設計合理的分配機制引導各節點合理地合作、避 免出現因算力過度集中而導致的安全性問題是亟待 解決的研究問題.

  2.5 合約層

  合約層封裝區塊鏈系統的各類腳本代碼、算法 以及由此生成的更為復雜的智能合約. 如果說數據、 網絡和共識三個層次作為區塊鏈底層 “虛擬機” 分 別承擔數據表示、數據傳播和數據驗證功能的話, 合 約層則是建立在區塊鏈虛擬機之上的商業邏輯和算 法, 是實現區塊鏈系統靈活編程和操作數據的基礎. 包括比特幣在內的數字加密貨幣大多采用非圖靈完 備的簡單腳本代碼來編程控制交易過程, 這也是智 能合約的雛形; 隨著技術的發展, 目前已經出現以太 坊等圖靈完備的可實現更為復雜和靈活的智能合約 的腳本語言, 使得區塊鏈能夠支持宏觀金融和社會 系統的諸多應用. 本節將以比特幣腳本為例, 從技術 角度簡述合約層的基本技術和方法; 關于智能合約 的延伸內容將在第 5 節討論.

  比特幣采用一種簡單的、基于堆棧的、從左向右處理的腳本語言, 而一個腳本本質上是附著在比特幣交易上的一組指令的列表. 比特幣交易依賴于兩類腳本來加以驗證, 即鎖定腳本和解鎖腳本, 二者的不同組合可在比特幣交易中衍生出無限數量的控制條件. 其中, 鎖定腳本是附著在交易輸出值上的“障礙”, 規定以后花費這筆交易輸出的條件; 解鎖腳本則是滿足被鎖定腳本在一個輸出上設定的花費條件的腳本, 同時它將允許輸出被消費. 舉例來說,大多數比特幣交易均是采用接受者的公鑰加密和私鑰解密, 因而其對應的 P2PKH (Pay to public key hash) 標準交易腳本中的鎖定腳本即是使用接受者的公鑰實現阻止輸出功能, 而使用私鑰對應的數字 [19]簽名來加以解鎖 .

  比特幣腳本系統可以實現靈活的交易控制. 例如, 通過規定某個時間段 (如一周) 作為解鎖條件, 可以實現延時支付; 通過規定接受者和擔保人必須 共同私鑰簽名才能支配一筆比特幣, 可以實現擔保 交易; 通過設計一種可根據外部信息源核查某概率 事件是否發生的規則并作為解鎖腳本附著在一定數 量的比特幣交易上, 即可實現博彩和預測市場等類 型的應用; 通過設定 N 個私鑰集合中至少提供 M 個私鑰才可解鎖, 可實現 M ? N 型多重簽名, 即 N 個潛在接受者中至少有 M 個同意簽名才可實現支 付. 多重簽名可廣泛應用于公司決策、財務監督、中 介擔保甚至遺產分配等場景.

  比特幣腳本是智能合約的雛形, 催生了人類歷史上第一種可編程的全球性貨幣. 然而, 比特幣腳本系統是非圖靈完備的, 其中不存在復雜循環和流控制, 這在損失一定靈活性的同時能夠極大地降低復雜性和不確定性, 并能夠避免因無限循環等邏輯炸彈而造成拒絕服務等類型的安全性攻擊. 為提高腳本系統的靈活性和可擴展性, 研究者已經嘗試在比特幣協議之上疊加新的協議, 以滿足在區塊鏈上構建更為復雜的智能合約的需求. 以太坊已經研發出一套圖靈完備的腳本語言, 用戶可基于以太坊構建任意復雜和精確定義的智能合約與去中心化應用,從而為基于區塊鏈構建可編程的金融與社會系統奠定了基礎。

  3 區塊鏈的應用場景

  由區塊鏈獨特的技術設計可見, 區塊鏈系統具 有分布式高冗余存儲、時序數據且不可篡改和偽造、 去中心化信用、自動執行的智能合約、安全和隱私 保護等顯著的特點, 這使得區塊鏈技術不僅可以成 功應用于數字加密貨幣領域, 同時在經濟、金融和社 會系統中也存在廣泛的應用場景. 根據區塊鏈技術 應用的現狀, 本文將區塊鏈目前的主要應用籠統地 歸納為數字貨幣、數據存儲、數據鑒證、金融交易、 資產管理和選舉投票共六個場景, 并概述除數字貨 幣外的五大應用場景以及區塊鏈的三種應用模式.

  數據存儲: 區塊鏈的高冗余存儲 (每個節點存儲一份數據)、去中心化、高安全性和隱私保護等特點使其特別適合存儲和保護重要隱私數據, 以避免因中心化機構遭受攻擊或權限管理不當而造成的大規模數據丟失或泄露. 與比特幣交易數據類似地, 任意數據均可通過哈希運算生成相應的 Merkle 樹并打包記入區塊鏈, 通過系統內共識節點的算力和非對稱加密技術來保證安全性. 區塊鏈的多重簽名技術可以靈活配置數據訪問的權限, 例如必須獲得指定 5個人中 3 個人的私鑰授權才可獲得訪問權限. 目前,利用區塊鏈來存儲個人健康數據(如電子病歷、基因數據等) 是極具前景的應用領域, 此外存儲各類重要電子文件 (視頻、圖片、文本等) 乃至人類思想和意 [7]定了基礎 .

  數據鑒證: 區塊鏈數據帶有時間戳、由共識節點共同驗證和記錄、不可篡改和偽造, 這些特點使得 區塊鏈可廣泛應用于各類數據公證和審計場景. 例 如, 區塊鏈可以永久地安全存儲由政府機構核發的 各類許可證、登記表、執照、證明、認證和記錄等, 并可在任意時間點方便地證明某項數據的存在性和 一定程度上的真實性. 包括德勤在內的多家專業審 計公司已經部署區塊鏈技術來幫助其審計師實現低 成本和高效地實時審計; Factom 公司則基于區塊鏈設計了一套準確的、可核查的和不可更改的審計公證流程與方法。

  金融交易: 區塊鏈技術與金融市場應用有非常高的契合度. 區塊鏈可以在去中心化系統中自發地 產生信用, 能夠建立無中心機構信用背書的金融市 場, 從而在很大程度上實現了 “金融脫媒”, 這對第 三方支付、資金托管等存在中介機構的商業模式來 說是顛覆性的變革; 在互聯網金融領域, 區塊鏈特別 適合或者已經應用于股權眾籌、P2P 網絡借貸和互 聯網保險等商業模式; 證券和銀行業務也是區塊鏈 的重要應用領域, 傳統證券交易需要經過中央結算 機構、銀行、證券公司和交易所等中心機構的多重 協調, 而利用區塊鏈自動化智能合約和可編程的特 點, 能夠極大地降低成本和提高效率, 避免繁瑣的中 心化清算交割過程, 實現方便快捷的金融產品交易; 同時, 區塊鏈和比特幣的即時到帳的特點可使得銀 行實現比 SWIFT 代碼體系更為快捷、經濟和安全 的跨境轉賬; 這也是目前 R3CEV 和納斯達克等各 大銀行、證券商和金融機構相繼投入區塊鏈技術研 發的重要原因.

  資產管理: 區塊鏈在資產管理領域的應用具有 廣泛前景, 能夠實現有形和無形資產的確權、授權和 實時監控. 對于無形資產來說, 基于時間戳技術和不 可篡改等特點, 可以將區塊鏈技術應用于知識產權 保護、域名管理、積分管理等領域; 而對有形資產來 說, 通過結合物聯網技術為資產設計唯一標識并部 署到區塊鏈上, 能夠形成 “數字智能資產”, 實現基 于區塊鏈的分布式資產授權和控制. 例如, 通過對房 屋、車輛等實物資產的區塊鏈密鑰授權, 可以基于特 定權限來發放和回收資產的使用權, 有助于 Airbnb 等房屋租賃或車輛租賃等商業模式實現自動化的資 產交接; 通過結合物聯網的資產標記和識別技術, 還 可以利用區塊鏈實現靈活的供應鏈管理和產品溯源 等功能.

  選舉投票: 投票是區塊鏈技術在政治事務中的 代表性應用. 基于區塊鏈的分布式共識驗證、不可 篡改等特點, 可以低成本高效地實現政治選舉、企業 股東投票等應用; 同時, 區塊鏈也支持用戶個體對特 定議題的投票. 例如, 通過記錄用戶對特定事件是否 發生的投票, 可以將區塊鏈應用于博彩和預測市場 等場景[27]; 通過記錄用戶對特定產品的投票評分與 建議, 可以實現大規模用戶眾包設計產品的 “社會制 造” 模式等.

  根據實際應用場景和需求, 區塊鏈技術已經演 化出三種應用模式,即公共鏈(Publicblockchain)、 聯盟鏈 (Consortium blockchain) 和私有鏈 (Private blockchain). 公共鏈是完全去中心化的區塊鏈, 分 布式系統的任何節點均可參與鏈上數據的讀寫、驗證和共識過程, 并根據其 PoW 或 PoS 貢獻獲得相 應的經濟激勵. 比特幣是公共鏈的典型代表. 聯盟鏈 則是部分去中心化 (或稱多中心化) 的區塊鏈, 適用 于多個實體構成的組織或聯盟, 其共識過程受到預 定義的一組節點控制, 例如生成區塊需要獲得 10 個 預選的共識節點中的 5 個節點確認; 私有鏈則是完 全中心化的區塊鏈, 適用于特定機構的內部數據管 理與審計等, 其寫入權限由中心機構控制, 而讀取權 限可視需求有選擇性地對外開放. 需要說明的是, 由 于去中心化程度不同, 聯盟鏈和私有鏈可能不完全 符合第 2 節提出的區塊鏈模型, 例如中心化程度較 高的區塊鏈可能不需要設計激勵層中的經濟激勵等.

  4 區塊鏈的現存問題

  作為近年來興起并快速發展的新技術, 區塊鏈 必然會面臨各種制約其發展的問題和障礙. 本節將 從安全、效率、資源和博弈四方面概述區塊鏈技術 有待解決的問題.

  4.1 安全問題

  安全性威脅是區塊鏈迄今為止所面臨的最重要的問題. 其中, 基于 PoW 共識過程的區塊鏈主要面臨的是 51 % 攻擊問題, 即節點通過掌握全網超過51 % 的算力就有能力成功篡改和偽造區塊鏈數據.以比特幣為例, 據統計中國大型礦池的算力已占全網總算力的 60 % 以上, 理論上這些礦池可以通過合 [1]作實施51%攻擊,從而實現比特幣的雙重支付 . 雖然實際系統中為掌握全網 51 % 算力所需的成本 投入遠超成功實施攻擊后的收益, 但 51 % 攻擊的安 全性威脅始終存在. 基于 PoS 共識過程在一定程度 上解決了 51 % 攻擊問題, 但同時也引入了區塊分叉 時的 [email protected] (Nothing at stake) 攻擊問題. 研究者已 經提出通過構造同時依賴高算力和高內存的 PoW 共識算法來部分解決 51 % 攻擊問題[4] , 更為安全和 有效的共識機制尚有待于更加深入的研究和設計.

  區塊鏈的非對稱加密機制也將隨著數學、密碼 學和計算技術的發展而變的越來越脆弱. 據估計, 以 目前天河二號的算力來說, 產生比特幣 SHA256 哈 希算法的一個哈希碰撞大約需要 248 年, 但隨著量 子計算機等新計算技術的發展, 未來非對稱加密算 法具有一定的破解可能性, 這也是區塊鏈技術面臨 的潛在安全威脅.

  區塊鏈的隱私保護也存在安全性風險. 區塊鏈 系統內各節點并非完全匿名, 而是通過類似電子郵 件地址的地址標識(例如比特幣公鑰地址)來實現數 據傳輸. 雖然地址標識并未直接與真實世界的人物 身份相關聯, 但區塊鏈數據是完全公開透明的, 隨著 各類反匿名身份甄別技術的發展, 實現部分重點目標的定位和識別仍是有可能的.

  4.2 效率問題

  區塊鏈效率也是制約其應用的重要因素. 首先 是區塊膨脹問題: 區塊鏈要求系統內每個節點保存 一份數據備份, 這對于日益增長的海量數據存儲來 說是極為困難的. 以比特幣為例, 完全同步自創世 區塊至今的區塊數據需要約 60 GB 存儲空間, 雖然 輕量級節點可部分解決此問題, 但適用于更大規模 的工業級解決方案仍有待研發[28]. 其次是交易效 率問題: 比特幣區塊鏈目前每秒僅能處理 7 筆交易, 這極大地限制了區塊鏈在大多數金融系統高頻交易 場景中的應用 (例如 VISA 信用卡每秒最多可處理 10 000 筆交易)[1]; 最后是交易確認時間問題: 比特 幣區塊生成時間為 10 分鐘, 因而交易確認時間一般 為 10 分鐘, 這在一定程度上限制了比特幣在小額交 易和時間敏感交易中的應用.

  4.3 資源問題

  PoW 共識過程高度依賴區塊鏈網絡節點貢獻的算力, 這些算力主要用于解決 SHA256 哈希和隨機數搜索, 除此之外并不產生任何實際社會價值, 因而一般意義上認為這些算力資源是被 “浪費” 掉了,同時被浪費掉的還有大量的電力資源. 隨著比特幣的日益普及和專業挖礦設備的出現, 比特幣生態圈已經在資本和設備方面呈現出明顯的軍備競賽態勢,逐漸成為高耗能的資本密集型行業, 進一步凸顯了資源消耗問題的重要性. 因此, 如何能有效匯集分布式節點的網絡算力來解決實際問題, 是區塊鏈技術需要解決的重要問題. 研究者目前已經開始嘗試解決此問題, 例如 Primecoin (質數幣) 要求各節點在共識過程中找到素數的最長鏈條 (坎寧安鏈和雙向 [29]雙鏈) 而非無意義的 SHA256 哈希值 . 未來的潛 在發展趨勢是設計行之有效的交互機來匯聚和利 用分布式共識節點的群體智能, 以輔助解決大規模 的實際問題.

  4.4 博弈問題

  區塊鏈網絡作為去中心化的分布式系統, 其各 節點在交互過程中不可避免地會存在相互競爭與合 作的博弈關系, 這在比特幣挖礦過程中尤為明顯. 通 常來說, 比特幣礦池間可以通過相互合作保持各自 穩定的收益. 然而, 礦池可以通過稱為區塊截留攻 擊 (Block withholding attacks) 的方式、通過偽裝 為對手礦池的礦工、享受對手礦池的收益但不實際 貢獻完整工作量證明來攻擊其他礦池, 從而降低對 手礦池的收益. 如果礦池相互攻擊, 則雙方獲得的收 益均少于不攻擊對方的收益. 當礦池收益函數滿足 特定條件時, 這種攻擊和競爭將會造成 “囚徒困境”博弈結局。如何設計合理的懲罰函數來抑制非理性競爭、使得合作成為重復性礦池博弈的穩定均衡 解, 尚需進一步深入研究. 此外, 正如前文提到的, 區 塊鏈共識過程本質上是眾包過程, 如何設計激勵相 容的共識機制, 使得去中心化系統中的自利節點能 夠自發地實施區塊數據的驗證和記賬工作, 并提高 系統內非理性行為的成本以抑制安全性攻擊和威脅, 是區塊鏈有待解決的重要科學問題.

  5 基于區塊鏈的智能合約

  智能合約概念最早在 1994 年由學者 Nick Sz- abo 提出, 最初被定義為一套以數字形式定義的承 諾, 包括合約參與方可以在上面執行這些承諾的協 議, 其設計初衷是希望通過將智能合約內置到物理 實體來創造各種靈活可控的智能資產. 由于計算手 段的落后和應用場景的缺失, 智能合約并未受到研 究者的廣泛關注.

  區塊鏈技術的出現重新定義了智能合約. 智能 合約是區塊鏈的核心構成要素 (合約層), 是由事件 驅動的、具有狀態的、運行在可復制的共享區塊鏈 數據賬本上的計算機程序, 能夠實現主動或被動的 處理數據, 接受、儲存和發送價值, 以及控制和管理 各類鏈上智能資產等功能. 智能合約作為一種嵌入 式程序化合約, 可以內置在任何區塊鏈數據、交易、 有形或無形資產上, 形成可編程控制的軟件定義的 系統、市場和資產. 智能合約不僅為傳統金融資產 的發行、交易、創造和管理提供了創新性的解決方 案, 同時能夠在社會系統中的資產管理、合同管理、 監管執法等事務中發揮重要作用.

  具體說來, 智能合約是一組情景—應對型的程 序化規則和邏輯, 是部署在區塊鏈上的去中心化、可 信共享的程序代碼. 智能合約同樣具有區塊鏈數據 的一般特征, 如分布式記錄、存儲和驗證, 不可篡改 和偽造等. 簽署合約的各參與方就合約內容、違約 條件、違約責任和外部核查數據源達成一致, 必要時 檢查和測試合約代碼以確保無誤后, 以智能合約的 形式部署在區塊鏈上, 即可不依賴任何中心機構地 自動化代表各簽署方執行合約. 智能合約的可編程 特性使得簽署方可以增加任意復雜的條款.

  智能合約的運作機理如圖 5 所示: 通常情況下, 智能合約經各方簽署后, 以程序代碼的形式附著在 區塊鏈數據 (例如一筆比特幣交易) 上, 經 P2P 網 絡傳播和節點驗證后記入區塊鏈的特定區塊中. 智 能合約封裝了預定義的若干狀態及轉換規則、觸發 合約執行的情景 (如到達特定時間或發生特定事件 等)、特定情景下的應對行動等. 區塊鏈可實時監控 智能合約的狀態, 并通過核查外部數據源、確認滿足 特定觸發條件后激活并執行合約.

  區塊鏈和智能合約有極為廣闊的應用場景. 例 如, 互聯網金融領域的股權眾籌或 P2P 網絡借貸等 商業模式可以通過區塊鏈和智能合約加以實現. 傳 統方式是通過股權眾籌或 P2P 借貸的交易所或網 絡平臺作為中心機構完成資金募集、管理和投資, 實 際操作過程中容易出現因中心機構的信用缺失而導 致的資金風險. 利用智能合約, 這些功能均可以封裝 在去中心化可信的區塊鏈上自動執行. 區塊鏈可記 錄每一筆融資, 當成功達到特定融資額度時計算每 個投資人的股權份額, 或在一段時間內未達到融資 額度時自動將資金退還給投資人. 再如, 通過將房屋 和車輛等實體資產進行非對稱加密, 并嵌入含有特 定訪問控制規則的智能合約后部署在區塊鏈上, 使 用者符合特定的訪問權限或執行特定操作 (如付款) 后就可使用這些資產, 這能夠有效解決房屋或車輛 、租賃商業模式中資產交接和使用許可方面的痛點.

  智能合約具有自治、自足和去中心化等特征. 自治表示合約一旦啟動就會自動運行, 而不需要其他簽署方進行任何干預; 自足則意味著合約能夠通過提供服務或發行資產來獲取資金, 并在需要時使用這些資金; 去中心化則意味著智能合約是由去中心化存儲和驗證的程序代碼而非中心化實體來保障執行的合約, 能在很大程度上保證合約的公平和公正性。

image.png

  智能合約對于區塊鏈技術來說具有重要的意義.一方面, 智能合約是區塊鏈的激活器, 為靜態的底 層區塊鏈數據賦予了靈活可編程的機制和算法, 并 為構建區塊鏈 2.0 和 3.0 時代的可編程金融系統與 社會系統奠定了基礎; 另一方面, 智能合約的自動 化和可編程特性使其可封裝分布式區塊鏈系統中各 節點的復雜行為, 成為區塊鏈構成的虛擬世界中的 軟件代理機器人, 這有助于促進區塊鏈技術在各類 分布式人工智能系統中的應用, 使得基于區塊鏈技 術構建各類去中心化應用 (Decentralized applica- tion, Dapp)、去中心化自治組織 (Decentralized au- tonomous organization, DAO)、去中心化自治公司(Decentralized autonomous corporation, DAC) 甚至去中心化自治社會 (Decentralized autonomous society, DAS) 成為可能.就現狀而言, 區塊鏈和智能合約技術的主要發展趨勢是由自動化向智能化方向演化. 現存的各類智能合約及其應用的本質邏輯大多仍是根據預定義場景的 “IF-THEN” 類型的條件響應規則, 能夠滿足目前自動化交易和數據處理的需求. 未來的智能合約應具備根據未知場景的 “WHAT-IF” 推演、計算實驗和一定程度上的自主決策功能, 從而實現由目前 “自動化” 合約向真正的 “智能” 合約的飛躍。

  6 區塊鏈驅動的平行社會

  互聯網近年來的迅猛發展及其與物理世界的深度耦合與強力反饋, 已經根本性地改變了現代社會的生產、生活與管理決策模式, 形成現實物理世界– 虛擬網絡空間緊密耦合、虛實互動和協同演化的平行社會空間, 催生了 “互聯網 +” 和工業 4.0 等一系列國家戰略. 未來社會的發展趨勢則必將從物理+ 網絡的 CPS 實際世界 (Cyber-physical systems,CPS) 走向精神層面的人工世界, 形成物理 + 網絡 + 人工的人–機–物一體化的三元耦合系統, 稱為社會物理信息系統 (Cyber-physical-social systems,CPSS). 目前, 基于 CPSS 的平行社會已現端倪, 其 [33]核心和本質特征是虛實互動與平行演化 .

  區塊鏈是實現 CPSS 平行社會的基礎架構之一, 其主要貢獻是為分布式社會系統和分布式人工智能研究提供了一套行之有效的去中心化的數據結構、交互機制和計算模式, 并為實現平行社會奠定了堅實的數據基礎和信用基礎. 就數據基礎而言, 管理學家愛德華戴明曾說過: 除了上帝, 所有人必須以數據說話. 然而在中心化社會系統中, 數據通常掌握在政府和大型企業等 “少數人” 手中, 為少數人 “說話”, 其公正性、權威性甚至安全性可能都無法保證.區塊鏈數據則通過高度冗余的分布式節點存儲, 掌握在 “所有人” 手中, 能夠做到真正的 “數據民主”.就信用基礎而言, 中心化社會系統因其高度工程復雜性和社會復雜性而不可避免地會存在 “默頓系統”的特性, 即不確定性、多樣性和復雜性, 社會系統中的中心機構和規則制定者可能會因個體利益而出現失信行為; 區塊鏈技術有助于實現軟件定義的社會系統, 其基本理念就是剔除中心化機構、將不可預測的行為以智能合約的程序化代碼形式提前部署和固化在區塊鏈數據中, 事后不可偽造和篡改并自動化執行, 從而在一定程度上能夠將 “默頓” 社會系統轉化為可全面觀察、可主動控制、可精確預測的 “牛頓” 社會系統。

  ACP (人工社會 Artificial societies、計算實驗Computational experiments 和平行執行 Parallel execution) 方法是迄今為止平行社會管理領域唯一成體系化的、完整的研究框架, 是復雜性科學在新時 [35]代平行社會環境下的邏輯延展和創新 . ACP 方法可以自然地與區塊鏈技術相結合, 實現區塊鏈驅動、的平行社會管理. 首先, 區塊鏈的 P2P 組網、分布式共識協作和基于貢獻的經濟激勵等機制本身就是分布式社會系統的自然建模, 其中每個節點都將作為分布式系統中的一個自主和自治的智能體 (Agent).隨著區塊鏈生態體系的完善, 區塊鏈各共識節點和日益復雜與自治的智能合約將通過參與各種形式的Dapp, 形成特定組織形式的 DAC 和 DAO, 最終形 [36]成 DAS, 即 ACP 中的人工社會 . 其次, 智能合約 的可編程特性使得區塊鏈可進行各種 “WHAT-IF” 類型的虛擬實驗設計、場景推演和結果評估, 通過這 種計算實驗過程獲得并自動或半自動地執行最優決 策. 最后, 區塊鏈與物聯網等相結合形成的智能資 產使得聯通現實物理世界和虛擬網絡空間成為可能, 并可通過真實和人工社會系統的虛實互動和平行調 諧實現社會管理和決策的協同優化. 不難預見, 未來 現實物理世界的實體資產都登記為鏈上智能資產的 時候, 就是區塊鏈驅動的平行社會到來之時.

  7 結束語

  隨著以比特幣為代表的數字加密貨幣的強勢崛 起, 新興的區塊鏈技術逐漸成為學術界和產業界的 熱點研究課題. 區塊鏈技術的去中心化信用、不可篡 改和可編程等特點, 使其在數字加密貨幣、金融和社 會系統中有廣泛的應用前景. 然而, 與蓬勃發展的區 塊鏈商業應用相比, 區塊鏈的基礎理論和技術研究 仍處于起步階段, 許多更為本質性的、對區塊鏈產業 發展至關重要的科學問題亟待研究跟進. 本文系統 地梳理了區塊鏈技術的基本原理、技術、方法與應 用, 以期為未來研究提供有益的啟發與借鑒.

標簽:

責任編輯:bozhihua
在線客服
11选5网赌哪个平台靠谱