- 區(qū)塊鏈開發(fā)實戰(zhàn):Hyperledger Fabric關(guān)鍵技術(shù)與案例分析
- 馮翔
- 638字
- 2019-01-04 18:13:39
第1章 全面認識區(qū)塊鏈
人類自誕生以來,一直對物質(zhì)移動的速度有著孜孜不倦的追求和探索。在人類探索和改造世界的過程中,絕大多數(shù)具有顛覆性的技術(shù)創(chuàng)新都與物質(zhì)傳遞的速度有著非常密切的聯(lián)系。比如輪子改變?nèi)撕臀矬w傳遞的方式,鐵軌改變?nèi)撕臀矬w傳遞的效率,電力的出現(xiàn)改變了能量的傳遞方式,互聯(lián)網(wǎng)的誕生則是徹底顛覆了信息傳遞的方式和效率。
區(qū)塊鏈技術(shù)被認為是輪子、鐵軌、電力、互聯(lián)網(wǎng)之后,又一個具備顛覆性的核心技術(shù)。作為一種構(gòu)建價值互聯(lián)網(wǎng)的底層技術(shù),區(qū)塊鏈改變的將是價值傳遞的方式。區(qū)塊鏈的出現(xiàn)將解決人類社會誕生以來一直在思考的問題——如何獲取未知的信任。區(qū)塊鏈技術(shù)到底是怎樣一種技術(shù)?本章將從宏觀角度介紹這個問題。
1.1 區(qū)塊鏈技術(shù)的起源和解釋
提到區(qū)塊鏈技術(shù),比特幣是無法回避的一個重要部分,因為比特幣是迄今為止出現(xiàn)最早、規(guī)模最大、運行最穩(wěn)定、技術(shù)最成熟的基于區(qū)塊鏈技術(shù)的應用。2008年一個網(wǎng)名叫“中本聰”的人發(fā)表了一篇名為《比特幣:一個點對點的電子現(xiàn)金系統(tǒng)》的論文。在該論文中,“中本聰”描繪了一個完全去中心化的電子現(xiàn)金系統(tǒng),在這個系統(tǒng)中每一個參與者都是獨立并且對等的,這些參與者不依賴于通貨保障或者結(jié)算交易驗證保障的中央權(quán)威。
為了實現(xiàn)這套系統(tǒng),相關(guān)的技術(shù)社區(qū)利用密碼學中的橢圓曲線數(shù)字簽名算法(ECDSA)來實現(xiàn)數(shù)據(jù)的加密,基于P2P網(wǎng)絡(luò)來實現(xiàn)數(shù)據(jù)的分布式存儲,從而實現(xiàn)了一個去中心化的,不可逆、不可篡改的特殊數(shù)據(jù)存儲系統(tǒng)。這套系統(tǒng)就是目前被稱為區(qū)塊鏈技術(shù)的雛形。比特幣就是構(gòu)建在區(qū)塊鏈技術(shù)之上典型的成功應用。比特幣系統(tǒng)這些年來穩(wěn)定而且高效的運行,證明了這些技術(shù)理論的正確性和可靠性。
隨著業(yè)界對比特幣系統(tǒng)技術(shù)架構(gòu)的深入了解,人們發(fā)現(xiàn)這些技術(shù)除了應用在比特幣上面之外,還能應用在其他領(lǐng)域。于是相關(guān)技術(shù)社區(qū)將這些技術(shù)抽象之后給它們起了一個統(tǒng)一的名字:區(qū)塊鏈。從此區(qū)塊鏈脫離比特幣成為一門單獨的技術(shù)。
目前區(qū)塊鏈已經(jīng)成為一個獨立的技術(shù)名詞,而不是依賴于某個具體產(chǎn)品的附屬技術(shù)。區(qū)塊鏈這個技術(shù)名詞,從不同的角度看會有不同的解釋。
● 從網(wǎng)絡(luò)的角度看:區(qū)塊鏈的底層網(wǎng)絡(luò)模型提供了分布式數(shù)據(jù)存儲的完美實現(xiàn),比特幣系統(tǒng)從誕生至今沒有發(fā)生過一次宕機事件,這有利地證明了該網(wǎng)絡(luò)模型的穩(wěn)定和高效。
● 從底層技術(shù)的角度看:區(qū)塊鏈更像是一個數(shù)據(jù)結(jié)構(gòu),用區(qū)塊存儲數(shù)據(jù),把區(qū)塊按照順序鏈接起來組成區(qū)塊鏈,從而達到防止數(shù)據(jù)被篡改的目的。
● 從密碼學的角度看:區(qū)塊鏈利用橢圓曲線數(shù)字簽名算法來保證數(shù)據(jù)的完整性和真實性。
● 從數(shù)據(jù)存儲的角度看:區(qū)塊鏈更像是一個分布式數(shù)據(jù)庫,不但數(shù)據(jù)的存儲是分布式的(以共享賬本為例,所有的數(shù)據(jù)可以對等地存儲在所有參與數(shù)據(jù)記錄的節(jié)點中,而非集中存儲于中心化的機構(gòu)節(jié)點中),而且數(shù)據(jù)的產(chǎn)生也是分布式的(賬本所有的節(jié)點集體維護,而非一個單獨的中心機構(gòu)來維護)。
區(qū)塊鏈技術(shù)源于比特幣但是高于比特幣,發(fā)展至今,已經(jīng)形成一個非常完整的技術(shù)棧。區(qū)塊鏈技術(shù)棧中的每個單項技術(shù)并不是新發(fā)明的技術(shù),如果將這些單項技術(shù)單獨提取出來,都是比較普通的,但正是這些普通的技術(shù)通過精巧地組合之后誕生了一項足以顛覆世界的新技術(shù)。這和雞尾酒非常相識,組成雞尾酒的每個單獨的原料都非常普通,但是組合之后就產(chǎn)生了非常神奇的化學反應,從而誕生了一個讓人癡迷的新事物。
套用一句網(wǎng)絡(luò)流行的話,重要的事情要說三遍:區(qū)塊鏈不是一個單獨的技術(shù),而是由多種技術(shù)組成的技術(shù)棧,在學習區(qū)塊鏈技術(shù)的時候一定要注意區(qū)塊鏈技術(shù)的這個特性。所以如果想學會區(qū)塊鏈技術(shù)首先需要對組成區(qū)塊鏈技術(shù)棧的各個單項技術(shù)有所了解,然后再開始學習相關(guān)的區(qū)塊鏈技術(shù)框架,這一點在基于區(qū)塊鏈技術(shù)的項目實施中尤其重要。
1.2 區(qū)塊鏈的核心技術(shù)及其特性
通過前面章節(jié)的介紹我們知道區(qū)塊鏈技術(shù)是一個技術(shù)棧,由多種相關(guān)技術(shù)組成。那么區(qū)塊鏈技術(shù)棧到底是由哪些具體技術(shù)組成的呢?在回答這個問題之前,我們先要了解一下區(qū)塊鏈具有哪些特點。
1.2.1 區(qū)塊鏈技術(shù)的特性
區(qū)塊鏈技術(shù)有什么特點?這個問題很多人從不同的角度定義過。在這里,我們引用維基百科上面的說明:“區(qū)塊鏈技術(shù)是基于去中心化的對等網(wǎng)絡(luò),用開源軟件把密碼學原理、時序數(shù)據(jù)和共識機制相結(jié)合,來保障分布式數(shù)據(jù)庫中各節(jié)點的連貫和持續(xù),使信息能即時驗證、可追溯,但難以篡改和無法屏蔽,從而創(chuàng)造了一套隱私、高效、安全的共享價值體系。”通過這段描述我們可以把區(qū)塊鏈技術(shù)的特點歸納為以下幾點:
● 區(qū)塊鏈沒有一個統(tǒng)一的中心,數(shù)據(jù)分布式存儲,并且每個節(jié)點是對等的。
● 數(shù)據(jù)存儲按照特定的時序組織并且采用密碼學原理加密,這樣使得數(shù)據(jù)不可篡改(密碼學加密)并且可以追溯(時序組織)。
● 數(shù)據(jù)的創(chuàng)建和維護由所有參與方共同參與,任何一方都不能在不經(jīng)過其他參與方允許的情況下獨立對數(shù)據(jù)進行維護。
這些特性是絕大多數(shù)區(qū)塊鏈技術(shù)的基本特性,但是隨著對區(qū)塊鏈技術(shù)的深入研究,人們發(fā)現(xiàn)這些特性已經(jīng)不能滿足業(yè)務的需求,因此在區(qū)塊鏈技術(shù)中增加了一些新的特性,這些新增的特性中最重要的就是智能合約。區(qū)塊鏈的智能合約是條款以計算機語言而非法律語言記錄的智能合同。智能合約讓我們可以通過區(qū)塊鏈與真實世界的資產(chǎn)進行交互。當一個預先編好的條件被觸發(fā)時,智能合約執(zhí)行相應的合同條款。
通過上面的描述我們可以發(fā)現(xiàn)區(qū)塊鏈技術(shù)具有分布式數(shù)據(jù)庫、密碼學、P2P網(wǎng)絡(luò)等技術(shù)特點。區(qū)塊鏈的這些技術(shù)特點,使得通過區(qū)塊鏈技術(shù)可以構(gòu)建一個去中心化的、安全的、對等的、不可更改的價值傳播網(wǎng)絡(luò)。這些技術(shù)通過精巧的組合之后,形成了一種全新的數(shù)據(jù)記錄、傳遞、存儲與展現(xiàn)的方式。以前數(shù)據(jù)的存儲和維護都是由一個統(tǒng)一的中心機構(gòu)來完成,而區(qū)塊鏈技術(shù)可以讓所有數(shù)據(jù)的參與方都有機會成為數(shù)據(jù)維護者。區(qū)塊鏈技術(shù)在沒有中央控制點的分布式對等網(wǎng)絡(luò)下,使用分布式集體運作的方法,構(gòu)建了一個P2P的自組織網(wǎng)絡(luò)。通過復雜的校驗機制,區(qū)塊鏈數(shù)據(jù)庫能夠保持完整性、連續(xù)性和一致性,即使部分參與者作假也無法改變整個區(qū)塊鏈的完整性,更無法篡改區(qū)塊鏈中的數(shù)據(jù)。
現(xiàn)在我們可以對區(qū)塊鏈的技術(shù)特點進行一下總結(jié)。區(qū)塊鏈是分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法等計算機技術(shù)的新型應用模式。區(qū)塊鏈技術(shù)棧包含了以下技術(shù)特性:
● 分布式數(shù)據(jù)庫的技術(shù)特性
● 密碼學特性
● 共識機制
● 智能合約
1.2.2 區(qū)塊鏈的分布式存儲技術(shù)特性
從技術(shù)的特性上看,區(qū)塊鏈具有分布式數(shù)據(jù)庫技術(shù)的特點。傳統(tǒng)的關(guān)系性數(shù)據(jù)庫都必須滿足ACID原則,ACID原則本質(zhì)上是對事務而言的。在傳統(tǒng)的關(guān)系型數(shù)據(jù)庫中,事務是一個不能分割的操作單元。因此對于傳統(tǒng)的關(guān)系數(shù)據(jù)庫而言,事務必須具備以下四個特性:
● 原子性(Atomicity):事務中的所有操作要么全部執(zhí)行,要么全部拒絕,沒有任何中間狀態(tài);
● 一致性(Consistency):數(shù)據(jù)庫的完整性約束不會被任何事務破壞;
● 隔離性(Isolation):多個事務完全隔離開來,一個事務的執(zhí)行不會被其他事務所影響;
● 持久性(Durability):一個事務完成之后,該事務對數(shù)據(jù)庫的變更會被永久地存在數(shù)據(jù)庫中。
從ACID四個屬性我們看出,區(qū)塊鏈可以滿足上面的部分特性。
● 原子性,區(qū)塊鏈的數(shù)據(jù)存儲在區(qū)塊中,一個區(qū)塊鏈中的數(shù)據(jù)要么全部進入?yún)^(qū)塊鏈,要么全部被丟棄。
● 一致性,區(qū)塊加入?yún)^(qū)塊鏈之后原有的區(qū)塊鏈保持不變。
● 隔離性,所有節(jié)點可以同時生成區(qū)塊,但是最終只有一個區(qū)塊可以加入?yún)^(qū)塊鏈中。
● 持久性,一旦區(qū)塊加入?yún)^(qū)塊鏈中,就會被永久保存并復制到其他節(jié)點。
移動互聯(lián)網(wǎng)對數(shù)據(jù)的存儲數(shù)量以及數(shù)據(jù)的讀寫速度都提出了更高的要求,因此基于ACID的關(guān)系數(shù)據(jù)已經(jīng)不能滿足于業(yè)務的需求。相關(guān)技術(shù)社區(qū)在原有的ACID數(shù)據(jù)庫的基礎(chǔ)上面創(chuàng)建了分布式數(shù)據(jù)庫系統(tǒng)。分布式數(shù)據(jù)庫系統(tǒng)有這樣一些特點,我們稱之為BASE。BASE是一組單詞的首字母縮寫,它們是:
● 基本上可用(basically available):主要的需求是可用性,即使出現(xiàn)劃分的情況下,也應該允許更新,哪怕以犧牲一致性為代價;
● 軟狀態(tài)(soft state):網(wǎng)絡(luò)劃分可能導致數(shù)據(jù)庫每個副本都有一定程度不同的狀態(tài),從而導致整體狀態(tài)不明;
● 最終一致性(eventually consistent):當解決完劃分后,要求最終所有副本形成一致。
和ACID的強一致性概念比較,BASE面向的是可擴展的分布式系統(tǒng)。BASE在犧牲強一致性的基礎(chǔ)上換取了可用性,允許在某個時間段內(nèi)不同節(jié)點之間存在數(shù)據(jù)的不一致性,但是最終所有節(jié)點的數(shù)據(jù)都是一致的。而區(qū)塊鏈的節(jié)點是分布在全世界各個地方的,在一定的時間段內(nèi),不同節(jié)點的區(qū)塊數(shù)存在不一致的情況,但是最終都是一致的。所以我們認為區(qū)塊鏈是符合分布式數(shù)據(jù)庫BASE規(guī)則的。通過上面的對比我們發(fā)現(xiàn),區(qū)塊鏈符合傳統(tǒng)的關(guān)系數(shù)據(jù)庫和互聯(lián)網(wǎng)時代的分布式數(shù)據(jù)庫特性。
1.2.3 區(qū)塊鏈的密碼學技術(shù)特性
為了保證數(shù)據(jù)的不可逆、不可篡改和可追溯,區(qū)塊鏈采用了一些密碼學相關(guān)的技術(shù)。主要使用的是哈希算法、Merkle樹、非對稱加密算法這三種密碼學中常用的技術(shù)。
1.哈希算法
哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值,這個小的二進制值稱為哈希值。哈希值是一段數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式。如果哈希一段明文而且哪怕只更改該段落的一個字母,隨后的哈希值都會發(fā)生變化。要找到哈希值相同而輸入值不同的字符串,在計算上是不可能的。所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。在哈希算法中如果輸入數(shù)據(jù)有變化,則哈希也會發(fā)生變化。哈希算法可用于許多操作,包括身份驗證和數(shù)字簽名(也稱為“消息摘要”),不過一般用于快速查找和加密算法。
區(qū)塊鏈的數(shù)據(jù)是存儲在區(qū)塊中的,每個區(qū)塊都有一個區(qū)塊頭,區(qū)塊頭存儲區(qū)塊中所有數(shù)據(jù)經(jīng)過哈希算法獲取的一個哈希值,同時每個區(qū)塊中存儲前面一個區(qū)塊的哈希值,這樣每個區(qū)塊都會通過所存儲的前一個區(qū)塊的哈希值串聯(lián)起來,這樣就形成了區(qū)塊鏈。如果有人試圖篡改其中的一筆交易,勢必會導致該交易所在區(qū)塊的哈希值發(fā)生變化,為了使得被篡改的交易得到所有節(jié)點的認可,篡改者需要以被篡改的節(jié)點為起點,重新計算后面的所有區(qū)塊,但是如果要讓所有的節(jié)點都承認和接受這些篡改,那基本上是不可能完成的事情了。從這里我們可以發(fā)現(xiàn)哈希算法的應用使得篡改的成本已經(jīng)遠遠超過收益了。
區(qū)塊鏈系統(tǒng)常用的哈希算法是SHA256和RIPEMD160。SHA256是SHA算法的一個變體。SHA(安全散列算法)是由美國國家安全局(NSA)設(shè)計,美國國家標準與技術(shù)研究院(NIST)發(fā)布的一系列密碼散列函數(shù),包括SHA-1、SHA-224、SHA-256、SHA-384和SHA-512等變體。這些算法主要適用于數(shù)字簽名標準(Digital Signature Standard DSS)里面定義的數(shù)字簽名算法(Digital Signature Algorithm DSA)。SHA256算法在抗碰撞性和效率之間做了一個平衡處理,在很多區(qū)塊鏈系統(tǒng)中均支持SHA256哈希算法。
對于哈希算法來說,抗碰撞性越高,相對需要的計算資源越大,對系統(tǒng)性能也會有一定的影響。因此很多區(qū)塊鏈系統(tǒng)可以通過配置參數(shù)修改算法,使用者可以根據(jù)業(yè)務需求選擇合適的哈希算法。
2. Merkle樹
通過前面的描述我們知道區(qū)塊中的數(shù)據(jù)是存儲在區(qū)塊中的,一個區(qū)塊中會存儲若干數(shù)據(jù),那么這些數(shù)據(jù)是以什么樣的方式組織才能夠做到不可篡改呢?Merkle樹解決了這個問題。
(1)什么是Merkle樹
Merkle樹是一種樹(數(shù)據(jù)結(jié)構(gòu)中所說的樹),通常稱為Merkle Hash Tree。組成Merkle樹的所有節(jié)點都是哈希值。Merkle樹具有以下特點:
● Merkle樹是一種樹型數(shù)據(jù)結(jié)構(gòu),可以是二叉樹也可以是多叉樹,具有樹型結(jié)構(gòu)的所有特點;
● Merkle樹的葉子節(jié)點上的value可以任意指定,比如可以將數(shù)據(jù)的哈希值作為葉子節(jié)點的值;
● 非葉子節(jié)點的value是根據(jù)它下面所有的葉子節(jié)點值,然后按照一定的算法計算得出的。如Merkle樹的非葉子節(jié)點value是將該節(jié)點的所有子節(jié)點進行組合,然后對組合結(jié)果進行哈希計算所得出的哈希值。
(2)Merkle樹的應用領(lǐng)域
目前,在計算機領(lǐng)域Merkle樹多用來進行比對以及驗證處理。比特幣錢包服務用Merkle樹的機制來做“百分百準備金證明”。在處理比對或驗證的應用場景中,特別是在分布式環(huán)境下進行比對或驗證時,Merkle樹可以大大減少數(shù)據(jù)的傳輸量以及計算的復雜度。
(3)Merkle樹的優(yōu)點
Merkle樹明顯的一個好處是可以單獨拿出一個分支(作為一個小樹)來對部分數(shù)據(jù)進行校驗,這個特性在很多使用場合可以帶來哈希列表所不能比擬的方便和高效。
(4)Merkle樹在區(qū)塊鏈中的應用
在區(qū)塊鏈中,區(qū)塊中的交易是按照Merkle的形式存儲在區(qū)塊上面的。每筆交易都有一個哈希值,然后不同的哈希值向上繼續(xù)做哈希運算,最終形成了唯一的Merkle根。這個Merkle根將會被存放到區(qū)塊的區(qū)塊頭中。利用Merkle樹的特性可以確保每一筆交易都不可偽造。
3.非對稱加密算法
加密算法一般分為對稱加密和非對稱加密,非對稱加密是指為滿足安全性需求和所有權(quán)驗證需求而集成到區(qū)塊鏈中的加密技術(shù)。非對稱加密通常在加密和解密過程中使用兩個非對稱的密碼,分別稱為公鑰和私鑰。非對稱密鑰對具有兩個特點:一是用其中一個密鑰(公鑰或私鑰)加密信息后,只有另一個對應的密鑰才能解開;二是公鑰可向其他人公開,私鑰則保密,其他人無法通過該公鑰推算出相應的私鑰。
非對稱加密一般劃分為三類主要方式:大整數(shù)分解問題類、離散對數(shù)問題類、橢圓曲線類。大整數(shù)分解問題類指用兩個較大的質(zhì)數(shù)的乘積作為加密數(shù),由于質(zhì)數(shù)的出現(xiàn)具有不規(guī)律性,想要破解只能通過不斷試算。離散對數(shù)問題類指的是基于離散對數(shù)的難解性,利用強的單向散列函數(shù)的一種非對稱分布式加密算法。橢圓曲線類指利用平面橢圓曲線來計算成組非對稱特殊值,比特幣就使用此類加密算法。
非對稱加密技術(shù)在區(qū)塊鏈的應用場景主要包括信息加密、數(shù)字簽名和登錄認證等。其中信息加密場景主要是由信息發(fā)送者(記為A)使用接受者(記為B)的公鑰對信息加密后再發(fā)送給B,B利用自己的私鑰對信息解密。比特幣交易的加密即屬于此場景。數(shù)字簽名場景則是由發(fā)送者A采用自己的私鑰加密信息后發(fā)送給B,再由B使用A的公鑰對信息解密,從而可確保信息是由A發(fā)送的。登錄認證場景則是由客戶端使用私鑰加密登錄信息后發(fā)送給服務器,后者接收后采用該客戶端的公鑰解密并認證登錄信息。
存儲在區(qū)塊鏈上的交易信息是公開的,但是賬戶身份信息是高度加密的,只有在數(shù)據(jù)擁有者授權(quán)的情況下才能訪問,從而保證了數(shù)據(jù)的安全和個人的隱私。區(qū)塊鏈系統(tǒng)每個用戶都有一對秘鑰,一個是公開的,一個是私有的。通常公鑰的密碼算法采用的是橢圓曲線算法。用戶可以通過自己的私鑰對交易進行簽名,同時別的用戶可以利用簽名用戶的公鑰對簽名進行驗證。
橢圓曲線指的是由韋爾斯特拉斯(Weierstrass)方程y2+a1xy+a3y=x3+a2x2+a 4x+a6所確定的平面曲線。若F是一個域,ai∈F, i=1,2,…,6。滿足式(1-1)的數(shù)偶(x,y)稱為F域上的橢圓曲線E的點。F域可以是有理數(shù)域,還可以是有限域GF(Pr)。橢圓曲線通常用E表示。除了曲線E的所有點外,尚需加上一個叫作無窮遠點的特殊點O。在橢圓曲線加密(ECC)中,利用了某種特殊形式的橢圓曲線,即定義在有限域上的橢圓曲線。其方程如下:

這里p是素數(shù),a和b為兩個小于p的非負整數(shù),它們滿足:

其中,x,y,a,b∈Fp,則滿足式(1-2)的點(x,y)和一個無窮點O就組成了橢圓曲線E。
橢圓曲線離散對數(shù)問題ECDLP定義如下:給定素數(shù)p和橢圓曲線E,對Q = kP,在已知P,Q的情況下求出小于p的正整數(shù)k。可以證明,已知k和P計算Q比較容易,而由Q和P計算k則比較困難,至今沒有有效的方法來解決這個問題,這就是橢圓曲線加密算法原理之所在。與RSA算法相比,橢圓曲線公鑰系統(tǒng)是代替RSA的強有力的競爭者。橢圓曲線加密方法的優(yōu)點總結(jié)如下:
● 安全性能更高,如160位ECC與1024位RSA、DSA有相同的安全強度。
● 計算量小,處理速度快,在私鑰的處理速度上(解密和簽名),ECC遠比RSA、DSA快得多。
● 存儲空間占用小,ECC的密鑰尺寸和系統(tǒng)參數(shù)與RSA、DSA相比要小得多,所以占用的存儲空間小得多。
● 帶寬要求低,使得ECC具有廣泛的應用前景。
ECC的這些特點使它必將取代RSA,成為通用的公鑰加密算法。比如SET協(xié)議的制定者已把它作為下一代SET協(xié)議中缺省的公鑰密碼算法。
利用橢圓曲線的簽名和驗證算法,可以保證賬號的唯一性和不可冒名頂替性,同時也保證了用戶的不可抵賴性。通過這些密碼學技術(shù)的應用可以使得區(qū)塊鏈技術(shù)在沒有中心服務器的情況下做到數(shù)據(jù)的不可逆和不可篡改。
1.2.4 區(qū)塊鏈中的共識機制
區(qū)塊鏈中的一個核心概念是去中心,在區(qū)塊鏈中沒有和傳統(tǒng)數(shù)據(jù)庫系統(tǒng)一樣的中心數(shù)據(jù)庫,每個節(jié)點都是對等的,這樣就需要一套算法和機制來保證所有對等節(jié)點之間可以有效協(xié)作。這套算法和方式稱為共識機制。共識機制的存在可以有效保證各個節(jié)點之間按照既定的原則共同維護賬本。共識機制本質(zhì)上是區(qū)塊鏈系統(tǒng)中實現(xiàn)不同節(jié)點之間建立信任、獲取權(quán)益的數(shù)學算法。共識算法在區(qū)塊鏈技術(shù)出現(xiàn)之前就已經(jīng)存在,最早出現(xiàn)在分布式系統(tǒng)中。目前區(qū)塊鏈系統(tǒng)中常用的共識算法有PWO(工作量證明)、POS(股權(quán)證明機制)、DPOS(授權(quán)股權(quán)證明)、PBFT(拜占庭共識算法)。
1. POW——工作量證明機制
工作量證明(Proof Of Work, POW),簡單理解就是一份證明,用來確認你做過一定量的工作。監(jiān)測工作的整個過程通常是極為低效的,而通過對工作的結(jié)果進行認證來證明完成了相應的工作量,則是一種非常高效的方式。比如現(xiàn)實生活中的畢業(yè)證、駕駛證等,也是通過檢驗結(jié)果的方式(通過相關(guān)的考試)所取得的證明。
工作量證明系統(tǒng)主要特征是客戶端需要做一定難度的工作得出一個結(jié)果,驗證方卻很容易通過結(jié)果來檢查出客戶端是不是做了相應的工作。這種方案的一個核心特征是不對稱性:工作對于請求方是適中的,對于驗證方則是易于驗證的。它與驗證碼不同,驗證碼的設(shè)計出發(fā)點是易于被人類解決而不易被計算機解決。
舉個例子,給定一個基本的字符串“study blockchain! ”,我們給出的工作量要求是,可以在這個字符串后面添加一個整數(shù)值,對變更后的字符串進行SHA256哈希運算,如果得到的哈希結(jié)果(以十六進制的形式表示)是以“0000”開頭的,則驗證通過。為了達到這個工作量證明的目標。我們需要不停地遞增這個整數(shù)的值,對得到的新字符串進行SHA256哈希運算。按照這個規(guī)則,我們需要經(jīng)過79505次計算才能找到恰好前4位為0的哈希散列。
"study blockchain!0" => 199dd3e519f1e170e0eea67744547ffea5a435e4ddacaf0ada859b 972091ac7d "study blockchain!1" => 91de0a6ce666ee00ee8cb5893cc843b84001a4c9ffac5bc 3168b3c6c6f604217 "study blockchain!2" => 86d4fc2522d934af711049e4bd488a50a86bf2d6 57f1d9e1871c9f25d4f6ea2b ... "study blockchain!79505" => 000024f2c9e0e1cf93ef68fde a6c60e4dd0498d41aa82473c41c2f1b022b4ca1
通過這個示例我們對工作量證明機制有了一個初步的理解。有的人會認為如果工作量證明只是這樣的一個過程,那是不是只需要記住字符串后面的數(shù)字為79505計算能通過驗證就行了?當然不是的,這是一個非常簡單的例子,實際會增加很多的參數(shù)來調(diào)節(jié)計算的難度。
比特幣系統(tǒng)的共識機制就是基于POW算法的,但是遠遠比上面的例子要復雜得多。比特幣網(wǎng)絡(luò)中任何一個節(jié)點如果想生成一個新的區(qū)塊并寫入?yún)^(qū)塊鏈中,必須解出比特幣網(wǎng)絡(luò)給出的工作量證明的謎題。這道題關(guān)鍵的三個要素是工作量證明函數(shù)、區(qū)塊及難度值。工作量證明函數(shù)是這道題的計算方法,區(qū)塊決定了這道題的輸入數(shù)據(jù),難度值決定了這道題所需要的計算量。
2. POS——股權(quán)證明機制
股權(quán)證明機制的基本概念是產(chǎn)生區(qū)塊的難度應該與你在網(wǎng)絡(luò)里所占的股權(quán)(所有權(quán)占比)成比例。簡單來說POS就是一個根據(jù)你持有貨幣的量和時間給你發(fā)利息的一個制度。在POS模式下有一個名詞叫幣齡,每個幣每天產(chǎn)生1幣齡。比如你持有100個幣,總共持有了30天,那么此時你的幣齡就為3000。這個時候如果你發(fā)現(xiàn)了一個POS區(qū)塊,你的幣齡就會被清空為0。你每被清空365幣齡,你將會從區(qū)塊中獲得0.05個幣的利息(可理解為年利率5%)。那么在這個案例中,利息= 3000*5%/365 = 0.41個幣,這樣只要持有貨幣就可以獲取利息(需要注意的是,5%的年利率僅僅是我們舉例,并非每個POS模式的幣種都是5%)。
POS的設(shè)計理念以及初衷主要是基于以下三個原因:
第一:眾所周知,比特幣的區(qū)塊產(chǎn)量每4年會減半,未來隨著比特幣區(qū)塊包含產(chǎn)量的逐步降低,挖礦的動力將會不斷下降,礦工人數(shù)越來越少。整個比特幣網(wǎng)絡(luò)有可能會逐漸陷入癱瘓(因為大家都減少了運行比特幣客戶端的時間,越來越難找到一個P2P節(jié)點去連接和同步網(wǎng)絡(luò)數(shù)據(jù))。針對這個問題,POS提供了解決方案:在POS體系中只有打開錢包客戶端程序才能發(fā)現(xiàn)POS區(qū)塊,才會獲得利息。這促使很多不想挖礦的人也會常常打開自己的錢包客戶端,通過這樣的方法使得整個網(wǎng)絡(luò)更加健壯。
第二:通過比特幣的原理我們知道在若干年后隨著礦工人數(shù)的下降,比特幣很有可能被一些高算力的人、團隊或者礦池所挾持,進而進行51%攻擊。這會導致整個比特幣網(wǎng)絡(luò)崩潰。51%攻擊簡單來說就是當你擁有了超過全球51%的比特幣算力時,你將能偽造比特幣網(wǎng)絡(luò)的任何數(shù)據(jù)。比如你偽造自己有一百萬個比特幣(實際上你沒有),你可以通過你的算力強迫其他節(jié)點接受你的虛假交易,但是這樣將導致整個體系的崩潰。針對這個問題,POS的解決方案是:在POS體系中即使你擁有了全球51%的算力也未必能夠進行51%攻擊。因為有一部分的貨幣并不是挖礦產(chǎn)生的,而是由利息產(chǎn)生(利息存放在POS區(qū)塊中),這要求攻擊者還需要持有全球超過51%的貨幣量,這將大大提高51%攻擊的難度。
第三:雖然我們知道比特幣是一個永遠不會通貨膨脹的體系,因為它的貨幣總量表面看起來是固定的,但是我們應該知道比特幣其實是一個通貨緊縮的體系。因為當我們重裝了系統(tǒng)或者忘記了錢包密鑰的時候,我們會永遠無法再拿回錢包里的錢。這意味著每年都會有一些比特幣隨著錢包的丟失而永遠被鎖定,這就形成了實質(zhì)上的通貨緊縮。也許在五十年后,有效的比特幣將會只剩下一千萬個或者更少。POS部分解決了這個問題,在POS體系中由于一部分貨幣是由利息產(chǎn)生的,因此整個體系中會不斷地產(chǎn)生新的貨幣。
3. DPOS——委托權(quán)益證明
在區(qū)塊鏈中共識算法被用來保證整個區(qū)塊鏈網(wǎng)絡(luò)的安全可靠。在前面我們介紹了工作量證明(POW)和權(quán)益證明(POS)這兩種共識算法。但是這兩種共識算法都不能解決交易性能問題,尤其是POW算法大量消耗計算所需的電力。而委任權(quán)益證明(DPOS)共識算法正是為了解決這些問題而誕生的。
委任權(quán)益證明(Delegated Proof of Stake, DPOS)最初由比特股(BitShares)提出并采用。目前DPOS已經(jīng)在除了比特股之外的多個區(qū)塊鏈技術(shù)平臺上面可靠運行。這足以證明DPOS算法是健壯、安全和有效的。在DPOS算法中持有一定數(shù)據(jù)量貨幣的可成為股東,每個股東按其持股比例擁有影響力。超過51%股東投票的結(jié)果將是不可逆且有約束力的。為達到這個目標,每個股東可以將其投票權(quán)授予一名代表。獲票數(shù)最多的前100位代表按既定時間表輪流產(chǎn)生區(qū)塊。每名代表分配到一個時間段來生產(chǎn)區(qū)塊。所有的代表將收到等同于一個平均水平的區(qū)塊所含交易費的1%作為報酬。如果一個平均水平的區(qū)塊含有100股作為交易費,一名代表將獲得1股作為報酬。網(wǎng)絡(luò)延遲有可能使某些代表沒能及時廣播他們的區(qū)塊,理論上將導致區(qū)塊鏈分叉。但是這種現(xiàn)象在DPOS算法中不太可能發(fā)生,因為制造區(qū)塊的代表可以與制造前后區(qū)塊的代表建立直接的聯(lián)系。建立這種與你之后的代表(也許也包括其后的那名代表)的直聯(lián)系是為了確保你能得到報酬。這種模式可以每30秒產(chǎn)生一個新區(qū)塊,并且在正常的網(wǎng)絡(luò)條件下區(qū)塊鏈分叉的可能性極其小,即使發(fā)生也可以在幾分鐘內(nèi)得到解決。由此可見DPOS算法是對POS算法的有效補充。
4. PBFT——拜占庭共識算法
PBFT算法是根據(jù)拜占庭問題演變而來的拜占庭共識算法。在拜占庭問題被提出后一直有各種共識算法來解決拜占庭問題,但是無論從執(zhí)行流程的復雜度還是算法效率來說,PBFT是目前公認效率最好的算法。該算法是Miguel Castro(卡斯特羅)和Barbara Liskov(利斯科夫)在1999年提出來的。PBFT算法有效地解決了原始拜占庭容錯算法效率不高的問題,將算法復雜度由指數(shù)級降低到多項式級,使得拜占庭容錯算法在實際系統(tǒng)應用中變得可行。
關(guān)于拜占庭將軍問題,一個簡易的非正式描述如下:
拜占庭帝國想要進攻一個強大的敵人,為此派出了10支軍隊去包圍這個敵人。這個敵人雖不比拜占庭帝國,但也足以抵御5支常規(guī)拜占庭軍隊的同時襲擊。基于一些原因,這10支軍隊不能集合在一起單點突破,必須在分開的包圍狀態(tài)下同時攻擊。他們?nèi)我恢к婈爢为氝M攻都毫無勝算,除非有至少6支軍隊同時襲擊才能攻下敵國。他們分散在敵國的四周,依靠通信兵相互通信來協(xié)商進攻意向及進攻時間。困擾這些將軍的問題是,他們不確定隊伍中是否有叛徒,叛徒可能擅自變更進攻意向或者進攻時間。在這種狀態(tài)下,拜占庭將軍們能否找到一種分布式的協(xié)議來讓他們能夠遠程協(xié)商,從而贏得戰(zhàn)斗?這就是著名的拜占庭將軍問題。
應該明確的是,拜占庭將軍問題中并不去考慮通信兵是否會被截獲或無法傳達信息等問題,即消息傳遞的信道絕對可靠。Lamport已經(jīng)證明了在消息可能丟失的不可靠信道上試圖通過消息傳遞的方式達到一致性是不可能的。所以,在研究拜占庭將軍問題的時候,我們已經(jīng)假定了信道是沒有問題的,并在這個前提下,去做一致性和容錯性相關(guān)研究。
5. Casper——投注共識
Casper是以太坊提出的下一代的共識機制,從原理上看,Casper屬于POS。Casper的共識是按塊達成的,而不是像POS那樣按鏈達成。為了防止驗證人在不同的世界中提供不同的投注,這里還有一個簡單嚴格的條款:如果你有兩次投注序號一樣,或者說你提交了一個無法讓Casper合約處理的投注,你將失去所有保證金。從這一點我們可以看出,與傳統(tǒng)的POS不同,Casper有懲罰機制,這樣非法節(jié)點通過惡意攻擊網(wǎng)絡(luò)不僅得不到交易費,還面臨著保證金被沒收的風險。
6. Ripple Consensus——瑞波共識算法
瑞波共識算法使一組節(jié)點能夠基于特殊節(jié)點列表達成共識。初始特殊節(jié)點列表就像一個俱樂部,要接納一個新成員必須由該俱樂部51%的會員投票通過。共識遵循這核心成員的51%權(quán)力,外部人員則沒有影響力。由于該俱樂部由“中心化”開始,它將一直是“中心化的”,如果它開始腐化,股東們什么也做不了。瑞波系統(tǒng)將股東們與其投票權(quán)隔開,并因此比其他系統(tǒng)更中心化。
7. POET——消逝時間量證明
POET(Proof of Elapsed Time)共識算法的大致思路是這樣的,每個節(jié)點發(fā)布塊之前都要從一個enclave(在Sawtooh中它代表一個可信操作)獲取一個隨機的等待時間,等待時間最短的率先發(fā)布塊(相當于被選為leader),其中enclave是通過新型的安全CPU指令來實現(xiàn)的。enclave支持兩個函數(shù)“CreateTimer”和“CheckTimer”, CreateTimer用于從enclave中產(chǎn)生一個timer, CheckTimer會去校驗這個timer是不是由enclave產(chǎn)生、是否已經(jīng)過期。如果滿足以上兩個條件就會生成一個attestation(憑證)。attestaion中包含的信息可以用來校驗certificate是否由該enclave產(chǎn)生并且已經(jīng)等待了timer規(guī)定的時間。成為leader的概率與捐獻的資源是成比例的,因為是通用處理器而不需要定制礦機,所以參與的門檻比較低,節(jié)點會比較多,整個共識會更健壯。
在前面的內(nèi)容中我們簡單地介紹了區(qū)塊鏈常用的共識算法。不同的區(qū)塊鏈平臺根據(jù)自身的技術(shù)特點采用了不同的共識算法。但是有一點需要說明一下,這些共識算法是區(qū)塊鏈的底層核心,在一個已經(jīng)實現(xiàn)的區(qū)塊鏈技術(shù)平臺中,共識算法相關(guān)的模塊都已經(jīng)實現(xiàn),在實際項目開發(fā)不會需要架構(gòu)師或者開發(fā)人員去實現(xiàn)這些算法,但是了解這些算法將有助于我們更好地設(shè)計基于區(qū)塊鏈的系統(tǒng)架構(gòu)。
1.2.5 區(qū)塊鏈中的智能合約
提到智能合約首先需要說明的是,智能合約和區(qū)塊鏈原本是兩個獨立的技術(shù)。在區(qū)塊鏈誕生之初并沒有引入智能合約的概念。比如,在以比特幣為代表的區(qū)塊鏈1.0系統(tǒng)中并沒有智能合約的概念。隨著區(qū)塊鏈技術(shù)的發(fā)展,人們發(fā)現(xiàn)區(qū)塊鏈在價值傳遞的過程中需要有一套規(guī)則來描述價值傳遞的方式,這套規(guī)則應該讓機器來識別和執(zhí)行而不是人,因此智能合約進入了人們的視線之內(nèi)。以太坊的出現(xiàn)讓這種假設(shè)成為可能,而實現(xiàn)的方式正是依靠智能合約。
智能合約的理念可以追溯到1995年,幾乎與互聯(lián)網(wǎng)同時出現(xiàn)。密碼學家尼克·薩博(Nick Szabo)首次提出了“智能合約”這一術(shù)語。從本質(zhì)上講,這些自動合約的工作原理類似于其他計算機程序的if-then語句。智能合約只是以這種方式與真實世界的資產(chǎn)進行交互。當一個預先編好的條件被觸發(fā)時,智能合約執(zhí)行相應的合同條款。
但是在尼克·薩博提出智能合約的工作理論后,智能合約相關(guān)的技術(shù)遲遲無法落地,而且很長時間也沒有相關(guān)的產(chǎn)品問世。產(chǎn)生這種現(xiàn)象的一個重要原因是因為缺乏能夠支持可編程合約的數(shù)字貨幣系統(tǒng)和技術(shù)。區(qū)塊鏈技術(shù)的出現(xiàn)解決了該問題,它不僅可以支持可編程合約,而且具有去中心化、不可篡改、過程透明可追蹤等特性,這些特性天然適用于智能合約。目前智能合約技術(shù)已經(jīng)成為區(qū)塊鏈技術(shù)的必備特性之一。
在區(qū)塊鏈2.0引入智能合約之后,區(qū)塊鏈真正地脫離了數(shù)字貨幣的枷鎖,成為一個獨立的技術(shù)。因為智能合約的引入,區(qū)塊鏈可以應用在更加廣泛的場景中。智能合約可以認為是區(qū)塊鏈技術(shù)的翅膀,讓區(qū)塊鏈飛得更高更遠。既然智能合約對區(qū)塊鏈如此重要,那么智能合約到底是什么呢?
智能合約本質(zhì)上就是一段用某種計算編程語言編寫的程序,這段程序可以運行在區(qū)塊鏈系統(tǒng)提供的容器中,同時這段程序也可以在某種外在、內(nèi)在條件的激活下自動運行。這樣的特性和區(qū)塊鏈技術(shù)結(jié)合之后不但可以避免人為對規(guī)則的惡意篡改,而且可以發(fā)揮智能合約在效率和成本方面的優(yōu)勢。由于智能合約的代碼是存放在區(qū)塊鏈中,智能合約的運行也是在區(qū)塊鏈系統(tǒng)提供的容器之中的,結(jié)合區(qū)塊鏈技術(shù)所使用的密碼學原理,使得智能合約天然具有防篡改和防偽造的特性。智能合約產(chǎn)生的結(jié)果也是存儲在區(qū)塊中的,這樣從源頭、執(zhí)行過程到結(jié)果全程都在區(qū)塊鏈中執(zhí)行,保證了智能合約的發(fā)布、執(zhí)行、結(jié)果記錄的真實性和唯一性。
智能合約技術(shù)首先在以太坊得以實現(xiàn),在超級賬本的Fabric項目也引入了智能合約的概念。在后續(xù)章節(jié)中將詳細介紹如何在這些平臺中通過智能合約開發(fā)應用。
1.3 區(qū)塊鏈技術(shù)演進過程
通過上面的介紹我們可以發(fā)現(xiàn)區(qū)塊鏈技術(shù)為了使用新的業(yè)務場景而一直在改進中。到目前為止區(qū)塊鏈技術(shù)已經(jīng)進入3.0時代。
● 區(qū)塊鏈1.0僅僅是一個共享賬本,只能記賬而沒有其他功能。
● 區(qū)塊鏈2.0在共享賬本的基礎(chǔ)上增加了智能合約,通過智能合約可以提供更加豐富的功能。
● 區(qū)塊鏈3.0進一步升級,不但能夠記錄交易還能記錄狀態(tài),對數(shù)據(jù)進行溯源,使區(qū)塊鏈技術(shù)不再局限于數(shù)字貨幣,而是應用在更多的行業(yè)場景中。
區(qū)塊鏈的三個版本之間并沒有取代關(guān)系,每個版本都有自己的特點,它們之間沒有必然的關(guān)系并且是相互獨立的。到目前為止,每個版本的區(qū)塊鏈技術(shù)依然在各自擅長的領(lǐng)域發(fā)揮著重要的作用,有很多經(jīng)典的應用在運行。本書將挑選其中比較有代表性的比特幣和以太坊作為代表,為大家介紹這兩個平臺的技術(shù)特性和使用方法。
1.4 區(qū)塊鏈技術(shù)的3個缺點
區(qū)塊鏈技術(shù)雖然有美好的未來和前景,但是作為一項新興的技術(shù),和其他技術(shù)一樣,會有一個完善的過程。目前的區(qū)塊鏈系統(tǒng)還有一些不足和需要改進的地方,主要有以下幾個問題。
1.性能問題
區(qū)塊鏈由于其在數(shù)據(jù)完整性和不可篡改性等方面的特殊要求,每筆交易均需要打包到區(qū)塊中,然后通過計算每筆交易的Hash值,從而構(gòu)造一個完整的Merkle樹,最終將交易保存到區(qū)塊中。這樣的處理方式保證了數(shù)據(jù)的安全性和完整性,但是速度會大幅下降。以比特幣系統(tǒng)為例,目前比特幣系統(tǒng)每秒只能處理大約10筆交易,這顯然是不能滿足實際的業(yè)務需求的。雖然針對性能問題也提出了很多解決方案,比如閃電網(wǎng)絡(luò)、石墨烯等技術(shù),但是這些技術(shù)方案大多數(shù)還處于技術(shù)驗證中,距離實際的應用還有一段距離。
2.數(shù)據(jù)的彈性擴展問題
區(qū)塊鏈系統(tǒng)具有分布式系統(tǒng)的特性,但是到目前為止,區(qū)塊鏈系統(tǒng)只能做到節(jié)點的分布式,在數(shù)據(jù)存儲上還沒有提供可靠的分布式解決方案。比如比特幣的所有交易數(shù)據(jù)已經(jīng)多達150G左右,并且只能部署在單臺機器上。隨著時間的推移,這些交易數(shù)據(jù)只增不減,為了應付不斷增長的交易數(shù)據(jù),只能不斷增加單臺主機的存儲。這種存儲方式在遇到存在海量數(shù)據(jù)的業(yè)務場景中會帶來隱患。
3.易用性問題
區(qū)塊鏈技術(shù)是新興技術(shù),雖然單個技術(shù)已經(jīng)出現(xiàn)很久,但是這些技術(shù)組合之后產(chǎn)生了很多新的特性。目前技術(shù)社區(qū)普遍還處于早期階段,相關(guān)的案例、技術(shù)文檔、技術(shù)社區(qū)等普遍比較缺失。這些因素導致了區(qū)塊鏈技術(shù)在學習、推廣、落地方面出現(xiàn)了不同程度的障礙。這些障礙的解決還需要整個技術(shù)社區(qū)繼續(xù)努力。
1.5 區(qū)塊鏈技術(shù)常見的4個錯誤認識
1.區(qū)塊鏈就是數(shù)字貨幣
區(qū)塊鏈技術(shù)源于比特幣,可以說比特幣是一個成功的區(qū)塊鏈應用。不僅僅是比特幣,目前的以太幣等數(shù)字貨幣都是基于區(qū)塊鏈理論而實現(xiàn)的區(qū)塊鏈產(chǎn)品,但是區(qū)塊鏈和數(shù)字貨幣之間不能畫上等號。區(qū)塊鏈是一個由多技術(shù)組成的技術(shù)棧,而數(shù)字貨幣是基于區(qū)塊鏈技術(shù)的一個產(chǎn)品,區(qū)塊鏈除了在數(shù)字貨幣領(lǐng)域之外在很多其他的領(lǐng)域都有應用。
2.區(qū)塊鏈將取代傳統(tǒng)的數(shù)據(jù)庫
區(qū)塊鏈具有分布式數(shù)據(jù)庫的特性,但是區(qū)塊鏈絕不是為了取代傳統(tǒng)的數(shù)據(jù)庫系統(tǒng)。它們解決的問題是不一樣的。在未來二者之間更多的是合作的關(guān)系。
3.區(qū)塊鏈系統(tǒng)是否一定要挖礦
挖礦是POW共識算法中的一個行為,是比特幣等數(shù)字貨幣對POW算法的一種實現(xiàn)方式,但是挖礦絕對不是區(qū)塊鏈的必需品。不是所有的區(qū)塊鏈技術(shù)平臺都需要挖礦。比如Fabric就沒有采用POW的共識機制,也就沒有挖礦這一說了。目前的主流平臺中以太坊在將來也可能會支持POS的共識算法。
4.區(qū)塊鏈只能用來記賬
區(qū)塊鏈技術(shù)源于比特幣,而比特幣是一個數(shù)字貨幣系統(tǒng),所有的記錄都是和交易相關(guān)的,因此自然就把這些數(shù)據(jù)集稱為賬本。在比特幣之后的區(qū)塊鏈系統(tǒng)中習慣把區(qū)塊鏈中存數(shù)據(jù)的集合稱為賬本,把每一條數(shù)據(jù)集稱為交易。包括很多區(qū)塊鏈系統(tǒng)的源碼中涉及數(shù)據(jù)存儲和單條數(shù)據(jù)的變量命名中都包括Ledger和Transaction等單詞。這樣給人的感覺是區(qū)塊鏈是用來記賬的。這其實是個誤會,區(qū)塊鏈技術(shù)發(fā)展到今天,其應用范圍遠遠超出了數(shù)字貨幣的范疇,在很多領(lǐng)域均有廣泛的應用。而且區(qū)塊鏈中存儲的數(shù)據(jù)可以是任何數(shù)據(jù),甚至包括圖片和視頻。
1.6 區(qū)塊鏈技術(shù)的應用領(lǐng)域
隨著區(qū)塊鏈技術(shù)的成熟和普及,很多行業(yè)都在積極探索利用區(qū)塊鏈技術(shù)來解決本行業(yè)的痛點問題。目前區(qū)塊鏈技術(shù)主要在以下幾個行業(yè)得到了相對廣泛的應用。
1.6.1 區(qū)塊鏈在金融行業(yè)的應用
區(qū)塊鏈源于比特幣,而比特幣本身具有貨幣屬性,因此區(qū)塊鏈和金融服務有天然的結(jié)合點。不僅如此,由于區(qū)塊鏈技術(shù)所擁有的高可靠性、簡化流程、交易可追蹤、節(jié)約成本、減少錯誤以及改善數(shù)據(jù)質(zhì)量等特質(zhì),使得其具備重構(gòu)金融業(yè)基礎(chǔ)架構(gòu)的潛力。
1.金融行業(yè)痛點
目前金融行業(yè)最大的問題是每個機構(gòu)都有自己的賬本,機構(gòu)之間在進行業(yè)務對接的時候需要進行大量的對賬、清算、結(jié)算等操作,這些操作都需要耗費大量的人力和物力。這不僅導致了用戶端和金融機構(gòu)中后臺業(yè)務端等產(chǎn)生的支付業(yè)務費用高昂,也使得小額支付業(yè)務難以開展。在票據(jù)及供應鏈金融領(lǐng)域,業(yè)務因人為介入多,存在許多違規(guī)事件及操作風險。票據(jù)業(yè)務創(chuàng)造了大量流動性的同時,相關(guān)市場也容易滋生出違規(guī)操作或用戶欺詐行為,進而導致商業(yè)銀行的匯票業(yè)務事件集中爆發(fā)。
國內(nèi)現(xiàn)行的匯票業(yè)務仍有約70%為紙質(zhì)交易,操作環(huán)節(jié)處處需要人工,并且因為涉及較多中介參與存在管控漏洞、違規(guī)交易的違規(guī)操作從而提高了風險。同時由于機構(gòu)之間的信息不對稱很容易導致憑證偽造事件的發(fā)生。在證券領(lǐng)域,證券交易生命周期內(nèi)的一系列流程耗時較長,增加了金融機構(gòu)中后臺的業(yè)務成本。在清算和結(jié)算領(lǐng)域,由于不同金融機構(gòu)間的基礎(chǔ)設(shè)施架構(gòu)、業(yè)務流程各不相同,同時在具體操作過程中涉及很多人工處理的環(huán)節(jié),這些因素極大地增加了業(yè)務成本同時也容易出現(xiàn)差錯。在用戶身份識別領(lǐng)域,不同金融機構(gòu)間的用戶數(shù)據(jù)難以實現(xiàn)高效的交互,使得重復認證成本較高,間接帶來了用戶身份被某些中介機構(gòu)泄露的風險。
2.區(qū)塊鏈在金融行業(yè)的作用
區(qū)塊鏈技術(shù)通過密碼學原理從底層解決了數(shù)據(jù)的不可篡改和可追溯特性,利用這些特性監(jiān)管機構(gòu)可以非常方便地對整個交易過程實施精準、及時的監(jiān)管。在事后追責的時候可以快速精準地獲取證據(jù)。同時由于區(qū)塊鏈是一個對等的共享賬本,價值可以直接通過區(qū)塊鏈進行安全高效的轉(zhuǎn)移,這些特性可以節(jié)省大量清算以及結(jié)算相關(guān)的費用并且簡化流程。
3.區(qū)塊鏈在金融行業(yè)的應用場景
應用場景1:支付
在支付領(lǐng)域區(qū)塊鏈可以摒棄中轉(zhuǎn)銀行的角色,實現(xiàn)點對點快速且成本低廉的跨境支付。通過區(qū)塊鏈的平臺不但可以繞過中轉(zhuǎn)銀行以減少中轉(zhuǎn)費用,還因為區(qū)塊鏈安全、透明、低風險的特性提高了跨境匯款的安全性。同時由于區(qū)塊鏈去中心化的特性可以加快結(jié)算與清算速度以提高資金利用率。在未來銀行與銀行之間可以不再通過第三方而是通過區(qū)塊鏈技術(shù)以點對點方式進行支付。由于省去第三方金融機構(gòu)的中間環(huán)節(jié),不但可以實現(xiàn)全天候支付、實時到賬,而且有助于降低跨境電商資金風險及滿足跨境電商對清算服務及時性、便捷性的需求。
應用場景2:票據(jù)與供應鏈金融業(yè)務
區(qū)塊鏈可以實現(xiàn)票據(jù)價值傳遞的去中介化。長久以來票據(jù)的交易一直存在一個第三方的角色來確保有價憑證的傳遞是安全可靠的。在紙質(zhì)票據(jù)中交易雙方的信任建立在票據(jù)真實性的基礎(chǔ)上,即使在現(xiàn)有電子票據(jù)交易中,也是需要通過央行ECDS系統(tǒng)的信息進行交互認證。但借助區(qū)塊鏈的技術(shù)可以直接實現(xiàn)點對點之間的價值傳遞,不需要特定的實物票據(jù)或中心系統(tǒng)進行控制和驗證。在供應鏈金融中也能通過區(qū)塊鏈減少人工成本、提高安全度以及實現(xiàn)端到端的透明化。未來通過區(qū)塊鏈技術(shù)供應鏈金融業(yè)務將能大幅減少人工的介入。所有參與方(包括供貨商、進貨商、銀行)都能使用一個去中心化的賬本共享文件并在達到預定的時間和結(jié)果時通過智能合約自動進行支付,這樣將極大地提高效率并且能有效地減少交易中由于人工誤操作而造成的損失。
1.6.2 區(qū)塊鏈在供應鏈中的應用
產(chǎn)品從生產(chǎn)到銷售,從原材料到成品直至最后抵達客戶手里這個過程中涉及的所有環(huán)節(jié)都屬于供應鏈的范疇。在供應鏈領(lǐng)域中多流程、多參與方的特性給區(qū)塊鏈切入供應鏈系統(tǒng)提供了天然的基礎(chǔ)。
1.供應鏈行業(yè)的痛點
目前供應鏈系統(tǒng)中可能涉及幾百個加工環(huán)節(jié),幾十個不同的地點,數(shù)目龐大的節(jié)點給供應鏈的追蹤管理帶來了很大的困難。由于供應鏈的整個過程并不公開,因此消費者沒有辦法確切核實所購買產(chǎn)品的真正價值,這也就意味著產(chǎn)品的價格是否與其價值相符我們也無從得知。此外供應鏈過程中若出現(xiàn)了非法經(jīng)營活動時,執(zhí)法人員該從哪里開始調(diào)查、該向誰問責一切都不容易。這些弊端直接導致了市面上仿冒產(chǎn)品泛濫,工廠老板強迫工人超負荷工作,工廠衛(wèi)生條件不合格等違規(guī)現(xiàn)象的發(fā)生。
2.區(qū)塊鏈在物流行業(yè)中的應用
區(qū)塊鏈作為一種分布式總賬系統(tǒng)能夠提高行業(yè)的透明度和安全性。相關(guān)專家看好區(qū)塊鏈技術(shù),相信它能夠解決供應鏈目前存在的問題。區(qū)塊鏈技術(shù)可以在不同分類賬上記錄下產(chǎn)品在供應鏈過程中涉及的所有信息,這些信息包括負責企業(yè)、價格、日期、地址、質(zhì)量,以及產(chǎn)品狀態(tài)等有用信息。由于共享賬本具有可查詢的特點,因此當客戶想了解產(chǎn)品的時候只要查找相關(guān)分類賬,這樣無論是產(chǎn)品的原材料、產(chǎn)品整個加工工藝等信息都可以搜查到。因為分布式賬本的分散性特點,相關(guān)廠家想要篡改產(chǎn)品數(shù)據(jù)幾乎是不可能的。由于交易過程中所有的數(shù)據(jù)都是加密保護的,所以數(shù)據(jù)被竊取的問題是可以避免的。基于上述特性,我們認為區(qū)塊鏈技術(shù)是改進供應鏈問題的最佳技術(shù)之一。
3.區(qū)塊鏈在物流行業(yè)的應用場景
應用場景1:物流
在物流過程中利用數(shù)字簽名和公私鑰加解密機制可以充分保證信息安全以及寄、收件人的隱私。例如,快遞交接需要雙方私鑰簽名,每個快遞員或快遞點都有自己的私鑰,是否簽收或交付只需要查一下區(qū)塊鏈即可。最終用戶沒有收到快遞就不會有簽收記錄,快遞員也無法偽造簽名,因此通過區(qū)塊鏈可杜絕快遞員通過偽造簽名來逃避考核的行為,在減少用戶投訴的同時還能有效地防止貨物的冒領(lǐng)和誤領(lǐng)。由于區(qū)塊鏈的匿名性,真正的收件人并不需要在快遞單上直觀展示實名制信息,因此個人信息得到了保障。通過區(qū)塊鏈技術(shù)的安全性,更多人會愿意接受實名制,從而促進國家物流實名制的落實。最后利用區(qū)塊鏈技術(shù)中的智能合約功能,可以有效地簡化物流程序并且大幅度提升物流的效率。
應用場景2:溯源防偽
區(qū)塊鏈技術(shù)也可用于藥品、藝術(shù)品、收藏品、奢侈品等的溯源防偽。我們以鉆石為例,可以在鉆石身份認證及流轉(zhuǎn)過程中為每一顆鉆石建立唯一的電子身份。同時記錄每一顆鉆石的屬性并存放至區(qū)塊鏈中。這樣這顆鉆石的來源、流轉(zhuǎn)歷史記錄、歸屬或者所在地會被記錄在鏈中,而且區(qū)塊鏈中的數(shù)據(jù)天然具有防篡改性。通過區(qū)塊鏈記錄鉆石的屬性信息,在遇到諸如非法的交易活動或者欺詐造假的行為時,可以非常容易地通過區(qū)塊鏈中的數(shù)據(jù)快速識別這些非法行為。
1.6.3 區(qū)塊鏈在公證領(lǐng)域的應用
公證是公證機構(gòu)根據(jù)自然人、法人或者其他組織的申請,依照法定程序?qū)γ袷路尚袨椋蟹梢饬x的事實和文書的真實性、合法性予以證明的活動。公證最核心的一點是存證信息的完整性和抗篡改性。由于區(qū)塊鏈天然具備數(shù)據(jù)不可逆不可篡改的特性,因此區(qū)塊鏈技術(shù)是非常適合公證系統(tǒng)的。
1.公正領(lǐng)域的行業(yè)痛點
傳統(tǒng)公證存在手續(xù)繁瑣、處理低效等痛點。在當前中心化系統(tǒng)框架下的中心數(shù)據(jù)庫承受著日益增長的數(shù)據(jù)存儲和安全維護的雙重壓力。在公證行業(yè)內(nèi)部、公證行業(yè)與其他部門之間的信息溝通、信息共享和信息協(xié)作中存在交流不夠充分等問題。同時公證行業(yè)的業(yè)務領(lǐng)域由于面臨國家政策調(diào)整等原因,導致一部分原有業(yè)務下滑和費用調(diào)整。還有電子存證業(yè)務開展受到第三方存證公司業(yè)務挑戰(zhàn),互聯(lián)網(wǎng)公證也存在難以實現(xiàn)等問題。
2.區(qū)塊鏈在公證領(lǐng)域中的應用
區(qū)塊鏈具有信息不可篡改、數(shù)據(jù)加密保存、所有節(jié)點保存完整副本等特點。這些特點具有天然幫助解決傳統(tǒng)公證行業(yè)的困難和業(yè)務新訴求的屬性。首先,區(qū)塊鏈的去中心化決定了它的安全性和可擴展性,公證數(shù)據(jù)存儲的難題在區(qū)塊鏈技術(shù)下迎刃而解。其次,區(qū)塊鏈可以提高公證業(yè)務網(wǎng)絡(luò)服務平臺的信息流暢性,在對個人隱私進行保護的同時提高辦證效率。同時,區(qū)塊鏈能從技術(shù)上保障在線和遠程監(jiān)管辦證的質(zhì)量。區(qū)塊鏈還能實現(xiàn)有效監(jiān)管公證業(yè)務的質(zhì)量,做到責任追溯時有據(jù)可依。最后,區(qū)塊鏈能夠推進信息互聯(lián)共享,進一步加強公證處與外部機構(gòu)的協(xié)調(diào)溝通,為辦理公證業(yè)務提供有效的信息核實手段等。通過區(qū)塊鏈這個“創(chuàng)造信任的機器”結(jié)合原有被國家法律賦予的國家公信力可以達到“雙信合一”,實現(xiàn)“政策+科技”的雙重增信。
3.區(qū)塊鏈在公證行業(yè)的應用場景
應用場景1:證書公證
區(qū)塊鏈技術(shù)可以有效地解決證書公證中存在的問題。以學歷證書為例,在應聘、考評等情況下,需對學歷或所持畢業(yè)證書(學位證書)的真實性、合法性予以證明。尤其是在涉外學歷證書時,對證書公證的需求更為頻繁。但是目前中心化的證書驗證平臺給證書的偽造和篡改提供了可乘之機。如果將證書信息存放在區(qū)塊鏈中,利用區(qū)塊鏈的數(shù)據(jù)加密存儲和數(shù)據(jù)不可逆的特性可以有效防止證書被篡改。同時由于區(qū)塊鏈分布式總賬的特性,相關(guān)合作機構(gòu)可以通過部署節(jié)點的方式同步數(shù)據(jù),這樣即防止了相關(guān)機構(gòu)篡改證書同時還可以提高證書的訪問效率。
應用場景2:法律證據(jù)公證
對于經(jīng)濟體而言,每一份合同都可能成為日后的重要證據(jù),對合同進行公證將極大有利于其法律權(quán)益的伸張。對于個人而言,取得關(guān)鍵法律證據(jù)的公證成為保護自身合法權(quán)益的關(guān)鍵,例如遺囑公證以及語音、郵件、微信、微博等各種類型的法律證據(jù),都是法律申訴的有力證據(jù)。律師作為專業(yè)法律咨詢服務提供者,單位時間的效率十分重要,但往往由于“取證難”而耗費大量寶貴時間。如果有一種便利、簡單的取證工具,將極大有利于個體合法權(quán)益的保護以及提升律師工作效率。區(qū)塊鏈天生具有解決這些問題的屬性。區(qū)塊鏈中數(shù)據(jù)的防篡改和不可逆的特性可以有效避免偽造證據(jù),同時由于區(qū)塊鏈中的數(shù)據(jù)是所有參與方共同維護的,因此可以讓所有參與方共同維護同一份證據(jù)鏈,這樣能有效地避免單個證據(jù)的孤立性和證據(jù)鏈的斷裂。
1.6.4 區(qū)塊鏈在數(shù)字版權(quán)領(lǐng)域的應用
隨著互聯(lián)網(wǎng)特別是移動互聯(lián)網(wǎng)的發(fā)展,數(shù)字出版已經(jīng)形成較為完整的產(chǎn)業(yè)鏈,通過相關(guān)產(chǎn)業(yè)鏈網(wǎng)絡(luò)作家可以獲取可觀的收入。但是目前數(shù)字版權(quán)的保護并沒有得到很好的發(fā)展,數(shù)字內(nèi)容的盜版現(xiàn)象非常嚴重。區(qū)塊鏈技術(shù)的出現(xiàn)為數(shù)字版權(quán)的發(fā)展帶來契機。
1.數(shù)字版權(quán)行業(yè)的痛點
隨著知識經(jīng)濟的興起,知識產(chǎn)權(quán)已成為市場競爭力的核心要素。互聯(lián)網(wǎng)是知識產(chǎn)權(quán)保護的前沿陣地,但當下的互聯(lián)網(wǎng)生態(tài)里知識產(chǎn)權(quán)侵權(quán)現(xiàn)象非常嚴重,網(wǎng)絡(luò)著作權(quán)官司糾紛頻發(fā)。這些問題嚴重侵蝕原創(chuàng)精神,同時針對盜版問題也存在舉證困難、維權(quán)成本過高等客觀因素。因此侵權(quán)和盜版問題成為內(nèi)容產(chǎn)業(yè)的尖銳痛點。侵權(quán)盜版制約著相關(guān)行業(yè)的進一步發(fā)展,同時各參與方都深受其害,其中作者等內(nèi)容生產(chǎn)方一直處于弱勢地位,缺少相應的話語權(quán)和主導權(quán),創(chuàng)作積極性倍受打擊。面對這些問題國家非常重視,各種政策和扶持計劃頻出,重拳解決版權(quán)保護難題。但是限于技術(shù)手段很難從根本上解決。
2.區(qū)塊鏈在數(shù)字版權(quán)中的應用
區(qū)塊鏈基于數(shù)學原理解決了交易過程中所有權(quán)確認的問題,在價值交換活動中產(chǎn)生的記錄及其記錄都是可信的。區(qū)塊鏈記錄的信息一旦生成將永久記錄并且無法篡改,除非能擁有全網(wǎng)絡(luò)總算力的51%以上,才有可能修改最新生成的一個區(qū)塊記錄。這些特性可以保證數(shù)字版權(quán)的擁有者能夠支配自己的智力成果。同時還可以借助區(qū)塊鏈的賬本屬性在區(qū)塊鏈中直接將自己的數(shù)字資產(chǎn)進行交易。
3.區(qū)塊鏈在數(shù)字版權(quán)的應用場景
應用場景1:圖書出版
區(qū)塊鏈應用在圖書出版行業(yè)中可以有效地保護圖書的版權(quán)信息。圖書在出版之前可以在區(qū)塊鏈版權(quán)系統(tǒng)中進行相關(guān)版權(quán)信息的登記即確定了作品歸屬,相當于為原創(chuàng)內(nèi)容登記了一張“數(shù)字身份證”。這樣從源頭保護原創(chuàng)版權(quán),為后續(xù)的維權(quán)以及版權(quán)變現(xiàn)等需求打下良好的基礎(chǔ)。
應用場景2:音樂創(chuàng)作
音樂行業(yè)的市場規(guī)模巨大,但在傳統(tǒng)模式下音樂人很難獲得合理的收益。利用區(qū)塊鏈技術(shù)使音樂整個生產(chǎn)和傳播過程中的收費和用途都是透明并且真實的,這樣能有效確保音樂人直接從其作品的銷售中獲益。另外,音樂人跨過出版商和發(fā)行商,通過區(qū)塊鏈平臺自行發(fā)布和推廣作品,不但不需要擔心侵權(quán)問題還能更好地管理自己的作品。
1.6.5 區(qū)塊鏈在保險行業(yè)的應用
近年來借助互聯(lián)網(wǎng)的東風,保險行業(yè)得到了快速的發(fā)展,但是在高速發(fā)展的同時由于互聯(lián)網(wǎng)天生的缺陷也帶來了諸如欺詐、騙保等負面影響。保險行業(yè)在呼喚新技術(shù)能夠解決這些問題。區(qū)塊鏈的出現(xiàn)在某種程度上讓保險行業(yè)有了二次騰飛的翅膀。
1.保險行業(yè)的痛點
保險行業(yè)中保險公司要接觸大量的C端用戶,會花費大量的時間和精力收集和甄別客戶信息。這些步驟直接導致了用戶身份認證非常困難。目前的保險數(shù)據(jù)都是采用中心化數(shù)據(jù)庫的存儲方式,因此存在單一節(jié)點易被控制等隱患。保險公司在承保和理賠的過程中掌握了客戶大量諸如身份、醫(yī)療健康等敏感信息,這些信息一旦泄露會給保險公司和投保人帶來非常嚴重的后果。
2.區(qū)塊鏈在保險行業(yè)中的應用
區(qū)塊鏈技術(shù)的安全、信任、自動化、可追溯性等特點可以應用于保險行業(yè)的承保管理、運營風險管控、客戶服務、信息安全、保險反欺詐等領(lǐng)域。同時區(qū)塊鏈技術(shù)也給保險行業(yè)在商業(yè)模式創(chuàng)新等方面提供了一個不同的視角和全新的實現(xiàn)路徑。區(qū)塊鏈將成為保險創(chuàng)新的新動力。首先,區(qū)塊鏈技術(shù)可以數(shù)字化管理個人數(shù)據(jù),精簡的數(shù)字認證,通過區(qū)塊鏈技術(shù),保險公司與個人之間可以建立更直接、更有效的關(guān)系。其次,區(qū)塊鏈能夠進一步打破不同地域的地理隔閡,讓保險的覆蓋率可以從空間上進行調(diào)整,積極推動了金融的包容性。最后,區(qū)塊鏈技術(shù)的出現(xiàn)可以促進合約自動化的進程,通過使用智能合約來實現(xiàn)效率的提升并使某些保險產(chǎn)品隨著時間的推移實現(xiàn)自我管理。
3.區(qū)塊鏈在保險行業(yè)的應用場景
區(qū)塊鏈應用在保險行業(yè)中可以優(yōu)化保險業(yè)務流程,助力保險服務體驗升級。保險公司可提供用戶信息,這些信息經(jīng)過審查驗證后寫入?yún)^(qū)塊鏈,購買不同保險時無須重復輸入個人信息,在區(qū)塊鏈上查詢即可,這能大大縮短投保時間。區(qū)塊鏈技術(shù)還可以實現(xiàn)自動理賠。利用區(qū)塊鏈的智能合約技術(shù)可以將理賠條件編寫在智能合約中,一旦達到特定出險條件,即可快速理賠。
利用區(qū)塊鏈的共享賬本特性可以加強行業(yè)信息共享,降低保險機構(gòu)運營成本。利用區(qū)塊鏈開源、透明的特點,可構(gòu)建各保險機構(gòu)為節(jié)點的聯(lián)盟區(qū)塊鏈,實現(xiàn)保險業(yè)信息的有效共享。例如在共保或再保情形下,保險事件發(fā)生后合同相關(guān)的所有保險人、再保險人、承保代理人均希望跟進理賠流程并開展談判。若通過搭建區(qū)塊鏈,將理賠文件編寫入?yún)^(qū)塊鏈,所有成員機構(gòu)均能監(jiān)測到理賠進展并參與更新,這樣不僅能保證文件準確度更能極大縮短理賠時間,降低運營成本。
通過區(qū)塊鏈還可以構(gòu)建信用機制和安全體系,服務反保險欺詐和反洗錢等工作。區(qū)塊鏈可追溯且不可篡改的特性,在反保險欺詐、反洗錢等領(lǐng)域?qū)⒕哂袕V泛應用。比如,可構(gòu)建被保險人醫(yī)療信息區(qū)塊鏈,經(jīng)過授權(quán)的醫(yī)院或醫(yī)生把病人醫(yī)療信息寫入?yún)^(qū)塊鏈,保險公司在核保時通過查詢被保險人的相應醫(yī)療信息,可避免帶病投保、虛假賠案等欺詐行為。
1.6.6 區(qū)塊鏈在公益慈善領(lǐng)域的應用
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,社會公益的規(guī)模、場景、輻射范圍及影響力得到空前擴大。“互聯(lián)網(wǎng)+公益”、普眾慈善、指尖公益等概念逐步進入公益主流。這些模式不僅豐富了傳統(tǒng)慈善的捐贈方式,同時推動了公眾的公益行為向碎片化、小額化、常態(tài)化方向發(fā)展。同時,各式各樣的公益項目借助互聯(lián)網(wǎng)實現(xiàn)豐富多彩的傳播,使公益的社會影響力被成百倍地放大。
1.公益慈善領(lǐng)域的行業(yè)痛點
慈善機構(gòu)要獲得持續(xù)支持,就必須具有公信力,而信息透明是獲得公信力的前提。公眾關(guān)心捐助的錢款、物資發(fā)揮了怎樣的作用。既要知道公益機構(gòu)做了什么,也要知道花了多少,成本有多高。這種公信度的高低和公益的成效決定了公益機構(gòu)能否獲得公眾的認同和持久支持。然而,在過去幾年里公益慈善行業(yè)爆出的一些“黑天鵝”事件,極大地打擊了民眾對公益行業(yè)的信任度。公益信息不透明不公開,是社會輿論對公益機構(gòu)、公益行業(yè)的最大質(zhì)疑。公益透明度影響了公信力,公信力決定了社會公益的發(fā)展速度。信息披露所需的人工成本,又是掣肘公益機構(gòu)提升透明度的重要因素。
2.區(qū)塊鏈在公益慈善領(lǐng)域中的應用
區(qū)塊鏈從本質(zhì)上來說是利用分布式技術(shù)和共識算法重新構(gòu)造的一種信任機制,是用共信力助力公信力。區(qū)塊鏈上存儲的數(shù)據(jù)高可靠且不可篡改,天然適合用在社會公益場景。公益流程中的相關(guān)信息,如捐贈項目、募集明細、資金流向、受助人反饋等,均可以存放于區(qū)塊鏈上,在滿足項目參與者隱私保護及其他相關(guān)法律法規(guī)要求的前提下,有條件地進行公開公示。
為了進一步提升公益透明度,公益組織、支付機構(gòu)、審計機構(gòu)等均可加入進來作為區(qū)塊鏈系統(tǒng)中的節(jié)點,以聯(lián)盟的形式運轉(zhuǎn),方便公眾和社會監(jiān)督,讓區(qū)塊鏈真正成為“信任的機器”,助力社會公益的快速健康發(fā)展。
區(qū)塊鏈中智能合約技術(shù)在社會公益場景也可以發(fā)揮作用。對于一些更加復雜的公益場景,比如定向捐贈、分批捐贈、有條件捐贈等,就非常適合用智能合約來進行管理,使得公益行為完全遵從預先設(shè)定的條件,更加客觀、透明、可信,杜絕過程中的貓膩行為。
3.區(qū)塊鏈在公益慈善領(lǐng)域的應用場景
區(qū)塊鏈與公益的結(jié)合,有豐富的應用場景和想象空間,目前已經(jīng)有真實的應用案例投產(chǎn)上線。2016年7月,支付寶與公益基金會合作,在其愛心捐贈平臺上設(shè)立了第一個基于區(qū)塊鏈的公益項目,為聽障兒童募集資金,幫助他們“重獲新聲”。在這次的項目中,捐贈人可以看到一項“愛心傳遞記錄”的反饋信息,在進行了必要的隱私保護基礎(chǔ)上,展示了自己的捐款從支付平臺劃撥到基金會賬號,以及最終進入受助人指定賬號的整個過程。通過區(qū)塊鏈技術(shù)既保障了公益數(shù)據(jù)的真實性,又能幫助公益項目節(jié)省信息披露成本,充分體現(xiàn)出了區(qū)塊鏈公益的價值。
1.6.7 區(qū)塊鏈與智能制造
智能制造(Intelligent Manufacturing, IM)是一種由智能機器和人類專家共同組成的人機一體化智能系統(tǒng),它在制造過程中能進行智能活動,諸如分析、推理、判斷、構(gòu)思和決策等。通過人與智能機器的合作共事,去擴大、延伸和部分取代人類專家在制造過程中的腦力勞動。在智能制造的過程中不存在傳統(tǒng)制造中的設(shè)計圖紙,所有的制作標準高度數(shù)字化。但是,另一方面數(shù)字化也帶來了其他結(jié)果。在缺乏強大的數(shù)據(jù)保護框架之下,數(shù)字化的參數(shù)在傳遞的過程中存在數(shù)據(jù)失竊和被篡改的可能性。區(qū)塊鏈技術(shù)能有效地避免這些問題的發(fā)生。
1.智能制造行業(yè)的痛點
實施智能制造的重點任務就是要實現(xiàn)制造企業(yè)內(nèi)部信息系統(tǒng)的縱向集成,以及不同制造企業(yè)間基于價值鏈和信息流的橫向集成,從而實現(xiàn)制造的數(shù)字化和網(wǎng)絡(luò)化。在現(xiàn)實中由于制造設(shè)備和信息系統(tǒng)涉及多個廠家,原本中心化的系統(tǒng)主要采用人工或中央電腦控制的方式,實時獲得制造環(huán)節(jié)中所有信息的難度很大。同時所有的訂單需求、產(chǎn)能情況、庫存水平變化以及突發(fā)故障等信息都存儲在各自獨立的系統(tǒng)中,而這些系統(tǒng)的技術(shù)架構(gòu)、通信協(xié)議、數(shù)據(jù)存儲格式等各不相同。這些因素都嚴重影響了互聯(lián)互通的效率,也制約了智能制造在實際生產(chǎn)制造過程中的應用。
2.區(qū)塊鏈在智能制造領(lǐng)域中的應用
利用區(qū)塊鏈技術(shù),可有效采集和分析在原本孤立的系統(tǒng)中存在的所有傳感器和其他部件所產(chǎn)生的信息,并借助大數(shù)據(jù)分析,評估其實際價值。通過這些數(shù)據(jù)可以對后期制造過程進行預期分析,從而幫助企業(yè)快速有效地建立更為安全的運營機制。數(shù)據(jù)透明化使研發(fā)審計、生產(chǎn)制造和流通更為有效,同時也為制造企業(yè)降低了運營成本和制造成本,提升了良品率,使企業(yè)具有更高的競爭優(yōu)勢。智能制造的價值之一就是重塑價值鏈,而區(qū)塊鏈有助于提高價值鏈的透明度、靈活性,并能夠更敏捷地應對生產(chǎn)、物流、倉儲、營銷、銷售、售后等環(huán)節(jié)存在的相關(guān)問題。
3.區(qū)塊鏈在智能制造的應用場景
應用場景1:組建和管理工業(yè)物聯(lián)網(wǎng)
組建高效、低成本的工業(yè)物聯(lián)網(wǎng),是構(gòu)建智能制造網(wǎng)絡(luò)基礎(chǔ)設(shè)施的關(guān)鍵環(huán)節(jié)。在傳統(tǒng)的組網(wǎng)模式下,所有設(shè)備之間的通信必須通過中心化的代理通信模式實現(xiàn),設(shè)備之間的連接必須通過網(wǎng)絡(luò)。這種模式極大提高了組網(wǎng)成本,同時系統(tǒng)的可擴展性、可維護性和穩(wěn)定性都不是很好。區(qū)塊鏈技術(shù)利用P2P組網(wǎng)技術(shù)和混合通信協(xié)議有效處理異構(gòu)設(shè)備間的通信問題,將顯著降低中心化的數(shù)據(jù)中心建設(shè)和維護的成本。同時區(qū)塊鏈技術(shù)可以將計算和存儲需求分散到組成網(wǎng)絡(luò)的各個設(shè)備中,有效阻止了網(wǎng)絡(luò)中任何單一節(jié)點的失敗而導致整個網(wǎng)絡(luò)崩潰的情況發(fā)生。另外,區(qū)塊鏈中分布式賬本的防篡改特性能有效防止工業(yè)物聯(lián)網(wǎng)中任何單節(jié)點設(shè)備被惡意攻擊和控制后帶來的信息泄露和惡意操控風險。
應用場景2:生產(chǎn)制造過程的智能化管理
在傳統(tǒng)的生產(chǎn)模式下,設(shè)備的操作、生產(chǎn)和維護記錄是存儲在單一、孤立的系統(tǒng)中,一旦出現(xiàn)安全和生產(chǎn)事故,企業(yè)、設(shè)備廠商和安全生產(chǎn)監(jiān)管部門難以確保記錄的真實性與一致性,也不利于后續(xù)事故的防范及設(shè)備的改進。利用區(qū)塊鏈技術(shù)能夠?qū)⒅圃炱髽I(yè)中的控制模塊、系統(tǒng)、通信網(wǎng)絡(luò)、ERP等相關(guān)系統(tǒng)連接起來并通過統(tǒng)一的賬本,讓企業(yè)、設(shè)備廠商和安全生產(chǎn)監(jiān)管部門能夠長期、持續(xù)地監(jiān)督生產(chǎn)制造的各個環(huán)節(jié),從而提高生產(chǎn)制造的安全性和可靠性。同時,區(qū)塊鏈賬本記錄的可追溯性和不可篡改性也有利于企業(yè)審計工作的開展,便于發(fā)現(xiàn)問題、追蹤問題、解決問題以達到優(yōu)化系統(tǒng)的目的。
1.6.8 區(qū)塊鏈在教育就業(yè)中的應用
教育就業(yè)作為社會文化傳授、傳播的窗口,需要實現(xiàn)學生、教育機構(gòu)以及用人就業(yè)單位之間的無縫銜接,以提高教育就業(yè)機構(gòu)的運行效率和透明度。區(qū)塊鏈系統(tǒng)的透明化、數(shù)據(jù)不可篡改等特征,完全適用于學生征信管理、升學就業(yè)、學術(shù)、資質(zhì)證明、產(chǎn)學合作等方面,對教育就業(yè)的健康發(fā)展具有重要的價值。
1.教育行業(yè)的痛點
在教育就業(yè)行業(yè)中由于學生信用體系不完整導致未能建立學生相關(guān)信息的歷史數(shù)據(jù)信息鏈和相關(guān)的數(shù)據(jù)維度。這些問題導致政府、企業(yè)無法獲得完整有效信息,從而直接導致學生無法便捷、公平地享受應有的服務。在就業(yè)過程學歷造假、論文造假、求職簡歷造假等現(xiàn)象的存在直接使得用人單位、院校缺乏有效的驗證手段,進而降低了學校與企業(yè)間、院校與院校間的信任度。除此之外,一些學術(shù)性實驗、跨校組織的公開課以及多媒體教學資源等在網(wǎng)絡(luò)上產(chǎn)生版權(quán)和學術(shù)糾紛,這些糾紛對學者以及研究人員產(chǎn)生了消極影響,進一步削弱了高等學府對學術(shù)研究的積極性。
2.區(qū)塊鏈在教育就業(yè)中的應用
利用區(qū)塊鏈技術(shù)對現(xiàn)存運行方案的不足之處進行優(yōu)化,能有效簡化流程和提高運營效率,并且能及時規(guī)避信息不透明和容易被篡改的問題。利用分布式賬本記錄跨地域、跨院校的學生信息可以方便追蹤學生在校園時期所有正面以及負面的行為記錄,能幫助有良好記錄的學生獲得更多的激勵措施,并構(gòu)建起一個良性的信用生態(tài)。利用區(qū)塊鏈技術(shù)可為學術(shù)成果提供不可篡改的數(shù)字化證明,為學術(shù)糾紛提供權(quán)威的舉證憑據(jù),降低糾紛事件消耗的人力與時間。同時,這種數(shù)字化證明可以與已有的應用無縫整合,為每一個文字、圖片、音頻、視頻加蓋唯一的時間戳身份證明,交叉配合生物識別技術(shù),從根本上保障了數(shù)據(jù)的完整性、一致性以達到保護知識產(chǎn)權(quán)的目的。
3.區(qū)塊鏈在教育就業(yè)的應用場景
應用場景1:教育存證
在教育存證領(lǐng)域,基于區(qū)塊鏈的學生信用平臺可創(chuàng)建含有基本信息的數(shù)字文件,然后使用用戶的私鑰對證書的內(nèi)容進行簽名,再對證書本身附加簽名。依賴于生成的哈希值,可以驗證證書內(nèi)容是否被篡改。最后,再用私鑰在區(qū)塊鏈上創(chuàng)建一條數(shù)字記錄,保證用戶信息和證書內(nèi)容的一致性。教育機構(gòu)利用自己的私鑰簽署一份具有完整信息記錄的數(shù)字證書,將其哈希值存儲在區(qū)塊鏈中,在每一次發(fā)放和查詢時都會由智能合約觸發(fā)相應的多重簽名校驗以確保記錄不會被惡意查詢,交易輸出時將數(shù)字證書分配給需求方,如學生或者用人單位。
應用場景2:產(chǎn)學合作
產(chǎn)學合作是教育機構(gòu)與用人單位之間多贏的機制,現(xiàn)在教育存在的問題之一就是封閉辦學,即學生的技能信息、知識體系未與用人單位的技能需求、市場趨勢保持信息對稱。通過引入?yún)^(qū)塊鏈技術(shù)實現(xiàn)學生技能與社會用人需求無縫銜接,可精確評估人才錄用、崗位安排的科學性和合理性,有效促進學校和企業(yè)之間的合作。
1.7 區(qū)塊鏈的其他常見技術(shù)框架
區(qū)塊鏈技術(shù)從誕生至今,除了比特幣之外,相關(guān)技術(shù)社區(qū)根據(jù)區(qū)塊鏈技術(shù)原理已經(jīng)實現(xiàn)了很多技術(shù)框架。在上文提到了區(qū)塊鏈技術(shù)框架中極具代表性的三個技術(shù)框架,比特幣、以太坊、超級賬本。這三個技術(shù)框架會在后面章節(jié)中重點介紹,這里不再復述。除了這三個典型的技術(shù)框架之外,還有許多基于區(qū)塊鏈基本原理實現(xiàn)的技術(shù)框架。這些框架都有自身的特點,每個框架解決問題的側(cè)重點也是不一樣的,我們選擇其中比較有代表性的介紹給讀者以供參考。
1. Corda
Corda是由R3CEV推出的一款分布式賬本平臺,其借鑒了區(qū)塊鏈的部分特性,例如UTXO模型以及智能合約,但它在本質(zhì)上又不同于區(qū)塊鏈,并非所有業(yè)務場景都可以使用這種平臺,Corda面向的是銀行間或銀行與其商業(yè)用戶之間的互操作場景。
項目地址如下所示:
https://github.com/corda/corda
2. BigChainDB
BigChainDB填補了去中心生態(tài)系統(tǒng)中的一個空白,是一個可用的去中心數(shù)據(jù)庫。它具有每秒百萬次寫操作、存儲PB級別的數(shù)據(jù)和亞秒級響應時間的性能。BigChainDB的設(shè)計起始于分布式數(shù)據(jù)庫,通過創(chuàng)新加入了很多區(qū)塊鏈的特性,如去中心控制、不可改變性、數(shù)字資產(chǎn)的創(chuàng)建和移動。
BigChainDB繼承了現(xiàn)代分布式數(shù)據(jù)庫的特性:吞吐量和容量都是與節(jié)點數(shù)量線性相關(guān),功能齊全的Nosql查詢語言,高效的查詢和權(quán)限管理。因為構(gòu)建在已有的分布式數(shù)據(jù)庫上,它在代碼層面也繼承了企業(yè)級的健壯性。可擴展的容量意味著具有法律效力的合同和認證可以直接存儲在區(qū)塊鏈數(shù)據(jù)庫里。權(quán)限管理系統(tǒng)支持從私有企業(yè)級區(qū)塊鏈數(shù)據(jù)庫到開放公有的區(qū)塊鏈數(shù)據(jù)庫配置。BigChainDB是對于像以太坊這樣的去中心處理平臺和Inter Planetary File System(IPFS)這樣的去中心文件系統(tǒng)的補充。
項目地址如下所示:
https://github.com/bigchaindb/bigchaindb
1.8 本章小結(jié)
本章的目的是讓不了解區(qū)塊鏈的讀者能對區(qū)塊鏈有一個宏觀的認識,主要介紹了區(qū)塊鏈的起源和演進路線、區(qū)塊鏈的核心技術(shù)及其特性、區(qū)塊鏈技術(shù)的缺點和人們對它的錯誤認識,以及區(qū)塊鏈在不同行業(yè)的應用。
- VMware vSphere 7.0云平臺運維與管理(第2版)
- Scala機器學習
- 網(wǎng)絡(luò)空間測繪技術(shù)與實踐:讓互聯(lián)網(wǎng)情報服務于網(wǎng)絡(luò)安全
- Docker源碼分析
- Android插件化開發(fā)指南
- Spring Cloud微服務架構(gòu)實戰(zhàn)
- 搜索引擎與程序化廣告:原理、設(shè)計與實戰(zhàn)
- 軟件測試之魂:核心測試設(shè)計精解
- 區(qū)塊鏈:技術(shù)原理與應用實踐
- 中國軟件工程師:工作、生活與觀念
- 區(qū)塊鏈核心算法解析
- 軟件研發(fā)行業(yè)創(chuàng)新實戰(zhàn)案例解析
- 軟件架構(gòu)指標:度量軟件系統(tǒng)的性能和架構(gòu)質(zhì)量
- Spring Cloud微服務快速上手
- 獵豹行動:硝煙中的敏捷轉(zhuǎn)型之旅