陳小慧
就像“數據庫”一詞表現的意思一樣,區塊鏈是一種特定技術的設計思想,可以用絕大多數語言來實現它,實現的方式各不相同。
說到區塊鏈,就不得不說比特幣。區塊鏈是比特幣的底層技術,我們可以將其理解為一種公共記賬的機制(技術方案),而并非一款具體的產品。區塊鏈技術的基本思想是:通過建立一組互聯網上的公共賬本,由網絡中所有的用戶共同在賬本上記賬與核賬,以保證信息的真實性和不可篡改性。而之所以叫“區塊鏈”,是因為區塊鏈存儲數據的結構是由網絡上一個個“存儲區塊”組成的一根鏈條,每個區塊中包含了一定時間內網絡中全部的信息交流數據。隨著時間推移,這條鏈會不斷增長。
并非一項全新的技術
區塊鏈雖源自比特幣,但此前,已有多項跨領域技術,皆是構成區塊鏈的關鍵技術,而現在的區塊鏈技術與應用,也已經遠超過比特幣區塊鏈。
比特幣區塊鏈中最關鍵的工作量證明機制采用的是由Adam Back在1997年所發明的Hashcash工作量證明演算法,此演算法根據成本函數的不可逆特性,以容易被驗證但很難被破解為特性,最早被應用于阻擋接收垃圾郵件。
在隱私安全方面,區塊鏈技術的研究則可回溯到1982年David Chaum提出的注重隱私的密碼學網路支付系統。該系統具有不可追蹤的特性,成為比特幣區塊鏈在隱私安全方面的雛形,之后,David Chaum基于這個理論進一步打造出不可追蹤的密碼學網路支付系統eCash,不過eCash并非去中心化系統。
在區塊鏈中,每筆交易采用的橢圓曲線數位簽章演算法(Elliptic Curve Digital Signature Algorithm,ECDSA)由Scott Vanstone等人在1992年提出。這一演算法的歷史最早可追溯至1985年Neal Koblitz和Victor Miller分別提出橢圓曲線密碼學(Elliptic curve cryptography,ECC)。ECC首次將橢圓曲線用于密碼學,建立公開金鑰加密的演算法。相較于目前影響力較大的RSA演算法,采用ECC的好處在于可以獲得較短的金鑰,但達到相同的安全強度。
如何理解區塊鏈
本質上講,區塊鏈是一種數據庫技術,這種共享的分布式數據庫,可記錄各方交易,并增強透明度、安全性和提高效率,其最大優勢是解決了交易的信任問題,從而在兩個陌生人之間建立起可靠、安全的交易方案。
下頁圖1清晰展示了單個區塊鏈的建立和驗證過程,而在圖2中可以看到,區塊鏈賬本被復制到多個地點(圖中為簡便只展示6處),每個節點持有自己的備份,并依據新的交易數據單獨更新。圖中展示了3個連續的交易。前兩個交易中,數據和簽名信息被所有6個節點通過匹配的“哈?!敝嫡_驗證。但節點5 的交易3的哈希值與其他節點不匹配,將被其他節點通過“共識”加以糾正。
區塊鏈的類型
目前區塊鏈主要分為4種不同類型。
公有鏈
公有鏈是任何節點都向任何人開放,每個人都可以進入到這個區塊鏈中參與計算,而且任何人都可以下載獲得完整區塊鏈數據(全部賬本)的區塊鏈。這是最早產生、目前也是應用最廣泛的一類區塊鏈,各大比特幣系列的數字貨幣基本都基于自身對應的公有區塊鏈。目前為業內所熟知的公有鏈包括比特幣、以太坊、超級賬本、大多數其他電子貨幣,以及智能合約,其中比特幣區塊鏈是公有鏈的始祖。
私有鏈
與公有區塊鏈相對應,在有些區塊鏈的應用場景中,并不希望所有人都有權限參與該系統的計算和查看數據,只有被許可的節點才可以參與并查看所有數據,這種區塊鏈結構被稱為私有鏈。這一類區塊鏈因為其形式上的保守而發展相對滯后。目前幾種處于開發階段的私有區塊鏈項目包括Linux基金會、R3CEVCorda平臺,以及Gem Health網絡的超級賬本項目等,其中以R3CEVCorda影響力最為廣泛。
聯盟鏈
聯盟鏈是指參與每個節點的權限都完全對等,大家在不需要完全互信的情況下就可以實現數據的可信交換的一種在公有和私有之間發展出的第三類區塊鏈。R3組成的銀行區塊鏈就是典型的聯盟鏈。但是隨著區塊鏈技術的快速發展,不排除今后公有鏈和私有鏈的界限會變得模糊。因為每個節點可擁有較復雜的讀寫權限,也許有部分權限的節點會向所有人開放,而部分記賬或者核心權限的節點只能向許可的節點開放。
側鏈
這是在區塊鏈這個新生領域中產生的最新概念,主要是指用于確認來自于其他區塊鏈數據的區塊鏈,它通過雙向楔入機制使比特幣、萊特幣等多種數字貨幣資產在不同區塊鏈上以一定的匯率實現轉移。目前,側鏈技術主要由BlockStream公司負責開發,現已發布了基于側鏈技術的第一個商業化應用Liquid,能夠實現交易所功能。
側鏈的出現對區塊鏈技術來說具有里程碑意義,它進一步擴展了區塊鏈技術的應用范圍和創新空間。雖然現在它還處于襁褓之中,但是當側鏈技術發展成熟后,區塊鏈將能夠支持包括股票、債券、金融衍生品等在內的多種資產類型的運營,以及小微支付、智能合約、安全處理機制、真實世界財產注冊等層出不窮的應用。