- 區塊鏈金融:技術變革重塑金融未來
- 劉洋
- 16916字
- 2020-06-04 12:20:09
第3節
基于共識規則的應用創新:區塊鏈主要理念和技術原理解盤
區塊鏈是一種解決拜占庭將軍問題、保證最終一致性的分布式數據庫。從數據結構看,區塊鏈是基于時間序列的鏈式數據塊結構;從節點拓撲看,鏈上節點互為數據備份;從操作上看,區塊鏈提供了非對稱加密的公鑰、私鑰驗證和時間戳不可篡改等技術手段來管理分布式賬戶,全網只有一個實時最終確定狀態。
例如,假定有1萬臺聯網計算機分布在世界各地,計算機擁有者互不認識、互不信任,我們需要采用什么技術手段來建設一個可信任環境,實現基于分布式、去中心、自組織的價值交互功能?在這種情況下,區塊鏈可提供解決方案的底層技術。
①基于共同利益的節點構成點對點交互網絡,需要遵循共同規則和擁有各自分布式賬本,節點間數據交換相當于記賬過程;
②節點之間的數據交換過程不可篡改,每次數據交換均有時間戳記錄,并且已生成的歷史記錄不可篡改;
③在規則體系內,每個節點發生的最新數據會同步到每個節點賬本,并且會驗證最新數據有效性;
④基于少數服從多數原則,網絡維護和賬本數據可以客觀真實地反映數據交互的歷史。
區塊鏈發展歷程如圖1-8所示。

圖1-8 區塊鏈發展歷程
一、數字世界的“信用”解讀
“信用”是現代社會耳熟能詳的核心詞,指為履行諾言而能夠取得的信任,也是通過長時間積累而擁有的信任和誠信度。信用無處不在,難得易失,費十年工夫積累的信用往往由于一時一事不當而失掉言行。
中國歷來有重信守諾的傳統,例如,《左傳·宣公十二年》提到“王曰:‘其君能下人,必能信用其民矣,庸可幾乎?’”;《史記·季布欒布列傳》提到“得黃金百,不如得季布一諾”。
西方國家同樣重視信用。例如,經濟學家約翰·勞、麥克勞德、熊彼特等人提出了信用創造論,認為信用創造資本,信用就是貨幣,通過這種資本擴張即信用量增加與擴展來創造社會財富,繁榮商業,使國民經濟具有更大活力。英國哲學家約翰·穆勒認為,相互信任可以彌合人類每一個裂痕。
1.信用與貨幣
市場經濟的本質是信用經濟,隨著社會分工的深化和細化,以及市場全球化和精細化,信用頻繁出現在借貸活動(促進資本增長)和其他市場經濟活動中,成為市場經濟的基礎。
信用經濟一詞由德國經濟學家B.希爾德布蘭德(Bruno Hildebrand)提出,他把社會經濟發展劃分為物物交換為主的自然經濟時期、貨幣媒介交換的貨幣經濟時期和信用為媒介的信用經濟時期,而信用經濟是社會經濟的高級形式。
20世紀30年代初,世界經濟危機爆發,西方發達國家先后被迫脫離金本位和銀本位制度,紙幣不能再兌換金屬貨幣,信用貨幣(credit money)應運而生,如今世界各國幾乎都采用這一貨幣形態。近90年來,信用貨幣制度在全球的推行經歷了“布雷頓森林體系”[1]和“牙買加體系”[2]兩個國際貨幣制度。
2.信用可計量性
信用是一種行為策略,多年來已有大量評估、評級工具對信用進行計量,主要集中在圍繞違約風險建模(如Creditmetrics模型)和圍繞公司價值建模(如KMV模型)兩個領域。
這里補充說明一下,Creditmetrics模型與KMV模型是國際金融界最流行的兩個信用風險管理模型。兩者都為金融機構在進行貸款等授信業務時,衡量授信對象的信用狀況,分析潛在信用風險,防止集中授信,進而為實現投資分散化和具體授信決策提供量化的科學依據。
盡管信用計量工具林林總總,但失信問題依然層出不窮。人是感性動物,不同社會環境下的行為差異較大,單一基于計算的信用計量工具可操性不強,準確度不高。以征信為例,擁有強大用戶行為數據的中國人民銀行征信系統、芝麻信用也因缺乏對欠債不還客戶的精準評估、識別、預警和風控而無法杜絕此類現象。究其原因,主要是缺乏可以精確計量信用、將信用價值與日常生產生活融合的技術解決方案和生態系統。
3.區塊鏈為信用生態系統提供技術路徑
信息論之父克勞德·艾爾伍德·香農(Claude Elwood Shannon)1948年提出比特(bit)這個新單詞,將比特作為衡量信息多少的基本單位,用二進制存儲信息,解決了“如何使用數學方法定義和測度信息”這一關鍵問題,引領了后來的計算機、互聯網等信息產業的爆發。
既然無處不在的信息可以成功量化,那么同樣無處不在的信用也可以用新模型、工具和系統來量化。在具體經濟行為中,信用量化價值并非是對參與主體(如某個人、某個企業、某個組織)的存量或者歷史信用資產進行評價,而是測度經濟行為中的信用行為、可信程度,預測參與主體在經濟行為及未來的違約、欺詐概率。違約概率越高,信用水平越低。
從公開透明、時間戳不可篡改、共識規則等技術特點看,區塊鏈是一臺信任機器,是在完全不信任節點之間建立信任機制的技術。簡單來說,在區塊鏈系統中,成員(節點)的欺詐行為所付出的成本要高于違約潛在收益,成本和收益均可事先精確計算和公開發布,很顯然,理性參與者都不會有違約、欺詐的動力。
基于區塊鏈系統,我們可以構建一個簡單直接的信用計量模型:

二、區塊鏈共識機制
共識機制是區塊鏈的核心基石以及去中心化、效率、安全的保障,它通過數學算法等相對公平的方式,讓分散各處的節點就區塊創建、應用、激勵和區塊鏈運作等規則達成一致,是節點之間建立信任的基礎。
共識是區塊鏈節點達成一致的過程,區塊鏈運作的一致性體現在以下三個方面。
一是最終性(Termination),每個操作進程最終會在有限的步驟內結束,并得出一個全網共識認可的數據值,算法不會無休止地執行。
二是統一性(Agreement),既然是算法得出的數據值,鏈上所有節點必須同意這個數據值,記錄到分布式賬本。
三是合法性(Validity),輸出的數據值是輸入數據按照系統規則生成,那么只要輸出的數據值合法,就能夠被鏈上成員記賬。
1.拜占庭將軍問題[3]
拜占庭將軍問題(Byzantine Generals Problem)是萊斯利·蘭波特(2013年圖靈獎得主)提出的分布式對等網絡通信容錯的問題。在分布式計算中,不同計算機通過信息交換達成共識,并按照同一套協作策略行動。但有時候系統的成員計算機可能出錯而發送錯誤信息,用于傳遞信息的通信網絡也可能導致信息損壞,使得不同成員基于全體協作策略得出不同結論,從而破壞系統的一致性。拜占庭將軍問題被認為是容錯性問題中最棘手的問題類型之一。
拜占庭位于今土耳其伊斯坦布爾,是當時東羅馬帝國首都。當時的東羅馬帝國國土遼闊,為了防御外敵入侵,每支軍隊比較分散,將軍(軍隊首腦)與將軍之間只能靠傳令兵傳遞消息。在戰爭時期,拜占庭軍隊所有將軍必須達成一致共識,決定是否攻打敵人陣營。但是由于軍隊中可能存在叛徒和敵軍間諜誤導將軍們的決定,擾亂軍隊秩序,導致共識結果實際上并不能代表大多數人的意見。在已知有成員謀反的情況下,其余忠誠將軍面臨在不受叛徒影響下如何達成一致協議的挑戰,拜占庭將軍問題就此形成。對于忠誠將軍來說,并不知道誰是背叛者,所以不能完全相信接收到的命令,必須對命令做出判斷。
在比特幣出現前,解決分布式系統一致性問題主要是靠萊斯利·蘭伯特(Leslie Lamport)提出的Paxos算法及其衍生算法,證明了在將軍總數大于3 f,背叛者為f或者更少時,忠誠將軍可以達成命令上的一致,即3 f +1≤n false,算法復雜度為0。Paxos類算法僅適用于中心化分布式系統,這種系統沒有不誠實節點(不會發送虛假錯誤消息,但允許出現網絡擁堵或宕機出現的消息延遲)。
2.超級賬本PBFT算法
1999年,數學家卡斯特羅(Miguel Castro)和利斯科夫(Barbara Liskov)提出了超級賬本PBFT算法(Practical Byzantine Fault Tolerance,也稱實用拜占庭容錯算法),某核心思想是:對于每個收到命令的將軍,都要去詢問其他人,他們收到的命令是什么,以此來確認命令的真實性。該算法解決了原始拜占庭容錯算法效率不高的問題,將算法復雜度由指數級降到多項式級,使得拜占庭容錯算法在信息系統的應用變得可行。
PBFT共識機制是少數服從多數,根據信息在分布式網絡完成所有節點的傳播和交換,而后各節點列出所有得到的信息,一個節點代表一票,選擇大多數節點的投票結果作為共識方案。PBFT將容錯量控制在全部節點數的1/3,即只要有超過2/3正常節點傳播接收正確信息,整個系統便可正常運作。PBFT算法的基本流程如圖1-9所示。

圖1-9 超級賬本PBFT算法基本流程
PBFT算法基本流程分為預準備(pre-prepare)、準備(prepare)、提交(commit)三個階段。圖中的C代表客戶端,0、1、2、3代表節點編號,打叉的3代表可能的故障節點或者問題節點,圖中表現的行為就是對其他節點的請求無響應。0是主節點。
整個過程大致是:
首先,客戶端(C)向主節點(0)發起請求,主節點收到客戶端請求,會向其他節點(1、2、3)發送pre-prepare消息。其他節點收到了pre-prepare消息,就開始上述三個階段形成共識的過程。
pre-prepare階段:其他節點收到pre-prepare消息后,會有接受或者不接受兩種選擇。不接受情況是收到曾出現過、但內容和之前不一致的信息。
prepare階段:某個節點同意請求后會向其他節點發送prepare消息。同一時刻不是只有一個節點在進行這個過程,可能有n個節點在進行,因此某個節點可能同時收到多個節點發送的prepare消息。在一定時間內,如果收到超過2/3不同節點的prepare消息,代表prepare階段已經完成。
commit階段:prepare階段完成后,某個節點向其他節點廣播commit消息,同理,這個過程中可能有n個節點在進行,因此某個節點可能收到多個節點發來的commit消息,當收到2f+1(f=3)個commit消息后(包括自己),代表大多數節點進入commit階段,達成共識,于是每個節點就會執行請求,在各自賬本寫入數據。
上述流程處理完畢后,每個節點會返回消息給客戶端。
3.中本聰的解決方案:PoW共識算法
中本聰在比特幣中創造性引入“工作量證明機制(Proof of Work,PoW)”,通過增加發送信息成本和降低節點發送消息速率,保證在某個時間內只有一個節點或者較少節點在廣播,并在同時附上自己的數字簽名,以確保真實性。這個過程就像將軍A向其他將軍(B、C、D…)發起一個進攻提議,將軍B、C、D…看到將軍A簽名的進攻提議書,如果是誠實將軍就會立刻同意進攻提議,而不會發起自己其他意見。這就是比特幣網絡使單個數據區塊(賬本)達成共識、取得一致性的方法。
PoW共識算法的核心是解決拜占庭將軍問題(分布式網絡一致性問題)。工作量證明相當于提高了做叛徒(發布虛假區塊)的成本,只有第一個完成證明的節點才能廣播區塊,競爭難度非常大,需要很高算力,如果廣播不成功,前面花費的算力就白白耗費了(算力需要成本)。如果有這樣的算力作為誠實節點支撐,誠實節點可以獲得很大收益(這是比特幣礦工做的工作),降低了做叛徒的動機(造假代價太大),整個系統也因此更穩定。
比特幣網絡還構筑了“最長鏈機制”,要求所有節點都遵循一個共識協議,也就是所有保存到本地(礦機、服務器)的區塊鏈必須是本地節點驗證通過的最長鏈。只有最長鏈的區塊才能獲得系統承認并得到挖礦獎勵。打包區塊獲得的獎勵在該區塊上增加99個新區塊之后才能使用,也是保證區塊鏈不發生分裂的重要機制。
PoW共識算法具有如下優點。
一是規則較為簡單,參與門檻較低,去中心化程度高。哈希函數是散列函數,只能通過窮舉法獲得計算結果,隨機性好,參與者能夠公平執行規則,難以存在超級節點不勞而獲“挖礦”得到比特幣的情況。加之梅克爾樹根的設置,哈希函數的解(計算結果)的驗證過程也能在全網自動實現。理論上講,只要具備聯網挖礦設備和基本計算機處理能力,人人都可以參與比特幣公有鏈挖礦,無須中心化機構許可和身份審核。
二是可靠性較高。PoW共識算法破解了低門檻分布式P2P網絡經常遭遇的“女巫攻擊問題”[4],對比特幣實施網絡攻擊需要掌握超過51%的算力,破壞系統的投入極大,所以網絡的安全性得到提高。
三是共識達成自動化。節點通過求解哈希函數,區塊的產生、驗證、共識、廣播、記賬全過程都是由算力控制,節點之間無須交換其他信息也能達成共識。
4.新共識算法
比特幣等加密數字貨幣并沒有和實際的生產生活價值對標,由于工作量證明機制(挖礦)會造成巨大的電力消耗,引發人們對能源大量消耗的擔憂,促使研究人員探索解決一致性(共識)問題新機制,陸續推出了權益證明機制(Proof of Stake,PoS)、股份授權證明機制(Delegated Proof-of-Stake,DPOS)、Pool驗證池等新共識算法。
三、區塊鏈涉及密碼學
密碼學是研究如何隱秘傳遞信息的學科,它在編碼與破譯的斗爭實踐中逐步發展起來,并隨著先進科學技術的應用,成為一門綜合性尖端技術的科學,與語言學、數學、電子學、聲學、信息論、計算機科學等有著廣泛密切的聯系。著名密碼學者Ron Rivest(2002年圖靈獎獲得者)解釋道:“密碼學是關于如何在敵人存在的環境中通信的科學技術。”
密碼學的首要目的是隱藏信息含義,而并非隱藏信息的存在。密碼是通信雙方按約定法則進行信息特殊變換的一種重要保密手段。20世紀70年代以前,密碼學主要應用在政府、軍事等領域。隨著數據加密標準、公鑰加密算法等技術的創新,密碼學應用成本降低,并廣泛應用于公眾日常生活。
公鑰密碼學出現之前,幾乎所有密碼體制都是基于替換和置換這些初等方法。公鑰密碼學與之前的密碼學完全不同。其一,公鑰算法基于數學函數,而不是基于替換和置換;其二,公鑰密碼是非對稱的,使用兩個獨立密鑰,對消息的保密性、密鑰分配和認證領域有著重要意義,一系列非對稱加密算法陸續出現(算法流程如圖1-10所示)。公鑰密碼體制根據所依據的數學難題一般分為三類:大整數分解問題類、橢圓曲線類、離散對數問題類。
公鑰算法依賴于一個加密密鑰和一個與之相關的解密密鑰,并具有如下特點:一是僅根據密碼算法和加密密鑰來確定解密密鑰,在計算上不可行;二是RSA等算法可以實現兩個密鑰的任何一個用來加密,另一個用來解密,通信雙方無須交換密鑰,也能建立保密通信。

圖1-10 非對稱加密算法流程圖
1.哈希函數
哈希函數(Hash Algorithm)又稱哈希算法、散列算法、雜湊算法,是一種以較短的信息來保證文件唯一性的標志,這種標志與文件每一個字節都相關,而且難以找到逆向規律。當原有文件發生改變,其標志值也會發生改變,從而告訴文件使用者當前文件已經不是之前文件。目前,哈希函數已成為密碼學的基礎知識和基礎算法,在加密數字貨幣、供應鏈金融、支付結算、數字票據、征信等區塊鏈金融領域應用廣泛。
哈希函數具有如下特性。
①輸入可為任意大小的字符串;
②產生固定大小輸出;
③能進行有效計算,對于特定輸入字符串,在合理時間內,可以算出哈希函數輸出。對應n位字符串,其哈希值計算復雜度為O(n)。
另外,要使得哈希函數達到密碼級高安全性,還要具備三個附加特性:碰撞阻力(collision-resistance)、隱秘性(hiding)、謎題友好(puzzle-friendliness)。
(1)碰撞阻力
加密哈希函數要求具有碰撞阻力(免碰撞),即不會出現輸入x≠y,但是H(x)=H(y)的情況,也就是強抗沖突性。哈希值的碰撞阻力特性使其值可以作為數據區塊信息摘要(message digest)。即使整個文件非常大,信息摘要(哈希值)也是長度固定的,這極大降低了對分布式賬本的存儲要求,降低了該項技術的應用門檻。
(2)隱秘性
哈希函數具有隱秘性,對于一個給定輸出結果H(x),想要逆向推出輸入x,在計算上不可能。如果哈希函數具有碰撞阻力和隱秘性,從安全性上講,承諾任務(commitment)則是有效的。
(3)謎題友好
對于任意n位輸出值y,假定k選自高階最小熵分布,如果無法找到一個可行方法,在比2n小很多時間內找到x,保證H(k‖x)=y成立,那么我們稱哈希函數為謎題友好。
最小熵是用于測試結果可預測性的手段,高階最小熵描述了分布數據(如隨機變量)的分散程度。在這樣的分布中取樣時,很難判定取樣傾向,降低了非算法干擾。例如,如果r是從長度為256位的字符串隨意選出的,那么任意特定字符串被選中的概率為1/2256,這是一個小到幾乎可以忽略的取值。
2.SHA-256哈希算法
安全散列算法(Secure Hash Algorithm,SHA)是由美國國家安全局(NSA)設計、美國國家標準與技術研究院(NIST)發布的多密碼散列函數,包括SHA-1、SHA-224、SHA-256、SHA-384、SHA-512,主要適用于數字簽名。后4個哈希散列函數又并稱為SHA-2。
SHA-256是比特幣等加密數字貨幣應用較多、輸出值為256位的哈希函數。SHA-256利用MD(Merkle-Damgard)變換,把一個固定輸入、防止碰撞的壓縮函數變換成一個接受任意長度輸入的哈希函數。通過初始化向量(初始變量)補位,可以把輸入編譯成512比特的整數倍。
3.數字簽名
數字簽名(digital signatures,也稱公鑰數字簽名、電子簽章)是一種使用公鑰加密等技術手段、用于鑒別數字信息的方法,從技術上保證信息傳輸的完整性、發送者身份認證,防止交易抵賴發生。一套數字簽名通常定義兩種互補運算,一個用于簽名,另一個用于驗證。只有信息發送者才能產生別人無法偽造的一段數字串,這段數字串同時也是對發送者發送信息真實性的有效證明。數字簽名基本流程如圖1-11所示。

圖1-11 數字簽名基本流程
4.橢圓曲線數字簽名算法
橢圓曲線加密算法(Elliptic Curve Cryptography,ECC)于1985年由Neal Koblitz和Victor Miller提出,是一種基于橢圓曲線數學理論的非對稱加密算法。相比RSA非對稱加密算法(第一個能同時用于加密和數字簽名的算法),ECC的優勢是可以使用更短的密鑰,并實現與RSA相當或更高的安全性。據研究,160位ECC加密安全性相當于1024位RSA加密,210位ECC加密安全性相當于2048位RSA加密。
橢圓曲線可用如下二元三階方程表示:y2=x3+ax+b,其中a、b為系數。形狀如圖1-12所示。

圖1-12 橢圓曲線示意圖
橢圓曲線數字簽名算法因高安全性而廣泛應用在比特幣、以太坊、超級賬本等區塊鏈項目,基本流程如下。
設私鑰、公鑰分別為k、K,即K=kG,G為橢圓曲線上某個點。
私鑰簽名:
①選擇隨機數r,計算點rG(x,y)。
②根據隨機數r、消息M的哈希值h、私鑰k,計算s=(h+kx)/r。
③將消息M和簽名{rG,s}發送給接收方。
公鑰驗證簽名:
①接收方收到消息M和簽名{rG=(x,y),s}。
②根據消息求哈希值h。
③使用發送方公鑰K計算hG/s+xK/s,并與rG比較,如相等則驗證簽名成功,即hG/s+xK/s=hG/s+x(KG)/s=(h+xk)G/s=r(h+xk)G/(h+kx)=rG
另外,比特幣使用了基于參數為secp256k1的橢圓曲線數字簽名算法,包含私鑰和公鑰,交易發出方用私鑰進行簽名,并將簽名與原始數據發送到整個比特幣網絡,網絡所有節點則用公鑰對交易有效性進行驗證。該算法保證了交易是由擁有對應私鑰的人所發出。
5.對稱加密算法
對稱加密(也叫私鑰加密)指加密和解密使用相同密鑰的加密算法,加密密鑰能夠從解密密鑰中推算出來,同時解密密鑰也可以從加密密鑰中推算出來。在大多數對稱加密算法中,加密密鑰和解密密鑰相同,所以也稱這種加密算法為單密鑰算法,要求信息發送方和接收方在安全通信之前,商定一個密鑰。對稱加密算法的特點是算法公開、計算量小、加密速度快、加密效率高,不足之處是交易雙方都使用同樣的鑰匙,安全性得不到保證。
值得關注的是,對稱加密算法(Advanced Encryption Standard,AES)成為美國數據加密標準,從而被廣泛應用。比特幣客戶端使用AES算法中的AES-256-CBC來加密錢包文件。用戶設置密碼后,采用用戶設置密碼通過AES算法對錢包私鑰加密來確保客戶端私鑰安全,從而保證用戶數字資產的安全,因此AES也被稱為分組密碼、塊密碼。其算法流程如圖1-13所示。

圖1-13 AES算法流程
四、區塊鏈的結構和組成
1.哈希指針
哈希指針也可以被形象地描述為指向數據存儲位置的指針,是一種數據結構,同時也是位置數據的哈希值。跟普通指針相比,哈希指針不但可以告訴用戶數據的存儲位置,還可以驗證數據是否被篡改過。
通過哈希指針建一個鏈表,這個數據結構就還被稱為區塊鏈。普通鏈表有一系列區塊,每個區塊既有數據也有一個指向上一個區塊的指針。而在區塊鏈中,指向上一個區塊的指針是哈希指針。所以每個區塊不僅能告訴我們上一個區塊的值在哪里,還包含了其哈希值。如圖1-14所示。

圖1-14 哈希指針
通過哈希指針H(),不但可以定位到對應數據塊位置,而且還可以知道對該數據塊進行哈希操作之后的哈希值是什么,所以一旦數據塊的數據發生改變,對其做哈希操作之后的哈希值必然和之前不同,于是通過哈希指針也就可以得知數據是否被篡改。基于哈希指針的區塊鏈結構如圖1-15所示。

圖1-15 基于哈希指針的區塊鏈結構
通過后一個區塊哈希指針,不僅能找到前一個區塊,而且能夠防止有人篡改數據。如果有人試圖修改某個區塊的數據,那么它后面那個區塊的哈希指針是不能夠和篡改數據后的區塊生成的哈希指針相匹配的。因此,只要我們保存好鏈表中最后那個哈希指針,就一定能發現是否有人篡改了區塊數據。基于哈希指針的區塊鏈防篡改性能如圖1-16所示。

圖1-16 基于哈希指針的區塊鏈防篡改性能
2.梅克爾樹
梅克爾樹(Merkle trees)能夠構成區塊鏈的基本組成部分,通常包含區塊體的底層(交易)數據庫、區塊頭的根哈希值(即Merkle根)以及所有沿底層區塊數據到根哈希的分支。梅克爾樹的運算過程一般是將區塊體數據進行分組哈希,并將生成的新哈希值插入梅克爾樹,如此遞歸直到只剩最后一個根哈希值作為區塊頭的Merkle根。最常見的梅克爾樹型區塊鏈是比特幣采用的二叉梅克爾樹,每個哈希節點總是包含兩個相鄰數據塊或其哈希值。
梅克爾樹的特點如下。
①梅克爾樹是一種樹,大多數是二叉樹,也可以是多叉樹,無論是幾叉樹,都具有樹結構的所有特點;
②梅克爾樹葉子節點value是數據集合的單元數據或者單元數據Hash。非葉子節點value是根據下面所有葉子的節點值,然后按照Hash算法計算得出。
梅克爾樹有諸多優點,其一,極大提高了區塊鏈的運行效率和可擴展性,使得區塊頭只需包含根哈希值而不必封裝所有底層數據,使哈希運算能夠高效運行在計算機、筆記本、智能手機、物聯網等設備上;其二,梅克爾樹支持“簡化支付驗證”協議,在不運行完整區塊鏈網絡節點的情況下,能夠對交易數據進行驗證。梅克爾樹結構如圖1-17所示。

圖1-17 梅克爾樹結構(二叉樹)
3.數據區塊
《2018—2023年中國大數據行業發展與投資機會分析報告》數據顯示,2017年中國大數據行業市場規模為3615億元,2018年將近6000億元。普通人作為數據生產者,隨著互聯網的普及,幾乎無時無刻不在貢獻自身數據,但這些數據散落在互聯網各個角落,個人無法直接了解和獲得自身數據,也難以支配使用數據并產生數據的價值收益。
區塊鏈可以對數據進行加密存儲以保證其安全性,讓每個人看到自己在各個場景產生的數據,并且在未經本人授權以情況下,第三方無法隨意查看、處置和使用。通過這種技術手段,數據所有權回歸數據生產者,既可以保護用戶隱私,又解決了“信息孤島”問題。
以比特幣網絡為例,每個“挖礦”節點都基于最新區塊生成下一個區塊,同時將網絡未確認的合法交易包含進去。在完成工作量證明后,將最新區塊廣播到全網,同時獲得區塊獎勵(Token)。由于只有最長鏈上的區塊才能夠獲得獎勵,所有節點在利益驅使下共同記賬形成唯一的最長鏈結果,從而達成分布式賬本系統共識一致性,同時也保證了整個系統的可靠安全。
比特幣網絡的合法交易都會被打包成一個區塊,包含到比特幣公開賬本里。區塊由包含元數據的區塊頭和緊跟其后的交易列表構成。區塊頭大小為80字節,由4字節的版本、32字節的上一個區塊的哈希值、32字節的梅克爾樹哈希值、4字節的時間戳(當前時間)、4字節的當前難度值、4字節的隨機數等組成。區塊所包含的交易列表則附加到區塊頭后面。比特幣網絡約定每個區塊的第一筆交易是“創幣”(Coinbase)交易,這是一筆為了讓礦工獲得獎勵和手續費的特殊交易。區塊數據結構見表1-2。
表1-2 區塊數據結構

案例 網易星球:利用區塊鏈技術讓數據產生價值[5]
網易星球是網易旗下首款區塊鏈產品,它通過區塊鏈加密存儲技術幫助個人構建專屬數字身份,生成數據護照。數據護照記錄用戶在電商、金融、游戲、娛樂、健康五大生活場景產生的行為數據,并實時上鏈,每個系統各自形成閉環。用戶在五大數據系統內進行購物、游戲、閱讀、聽音樂、看資訊等相應行為即會產生行為數據,數據維度越豐富,獲得的數字權益也越豐富。用戶還可以自主選擇將數據授權給數據場景方(網易等商業機構)從而獲得價值,實現讓數據產生者成為數據所有者、支配者和收益者。
網易星球還開啟了數字錢包功能。在生態內的交易行為、黑鉆[6]數量等信息都會存儲在數字錢包(DAPP)中。數字錢包提供用戶區塊鏈地址,持有人可以通過區塊鏈瀏覽器查詢其他用戶,以及網易星球所有上鏈交易信息,比如用戶黑鉆增減情況、全網交易總量、正在處理的交易筆數等。
2018年9月,網易區塊鏈服務平臺NBaaS上線,為企業提供區塊鏈商業場景應用技術服務。以網絡游戲《逆水寒》為例,游戲中增加了挖礦功能,當玩家等級達到60級,并且拿到采礦許可證后,就可在游戲中的自家莊園挖礦,獲取數字資產(伏羲通寶),并永久收藏在個人賬戶,以便未來在網易其他游戲通兌通用。
這種機制改變了傳統網絡游戲彼此割裂、搶用戶、同質化等惡意競爭,實現了網絡游戲之間的用戶共享和導流,擴大了用戶持有游戲數字資產的應用場景,增加了用戶黏度。對于網易這類游戲運營商而言,也可以利用區塊鏈技術將獨立開發、合作開發、自營、聯營、加盟的各種網絡游戲整合起來,實現用戶、服務、運營、資金、數字資產等要素資源和消費場景、應用場景的融通共享,來擴大業務和營收規模。
4.時間戳
時間戳的作用在于證實特定數據于某個特定時間確實存在,從而證明區塊鏈的數據和交易的真實性。如同記錄在區塊鏈的其他數據一樣,時間戳一旦記錄上鏈,也就無法篡改。例如,比特幣網絡的時間戳服務器對以區塊形式存在的一組數據實施隨機哈希處理,加上時間戳(代碼),并將該隨機哈希值進行全網廣播。每個時間戳將前一個時間戳納入其隨機哈希值,每個隨后的時間戳都對之前時間戳進行增強(Reinforcing),以此類推,就可以形成一個鏈條(Chain)。時間戳系統如圖1-18所示。

圖1-18 時間戳系統
5.P2P網絡
P2P(Peer to Peer)網絡主要應用于文件共享、點對點通信、點對點交易等領域。例如,比特幣被設計為點對點加密數字貨幣交易系統,運行在每臺計算機的比特幣程序可以認為是比特幣P2P網絡的一個節點。每個節點彼此公平、對等,互聯互通,共同組成比特幣網絡,并且不存在特殊(中心)節點。
我們以比特幣網絡為例分析P2P網絡的主要功能。
①新交易廣播到全網節點,每個節點都會收到交易信息。
②每個(挖礦)節點將新交易收集到節點內存,自編程并組裝區塊數據。
③每個(挖礦)節點按照規則嘗試在自己的區塊找到一個具有足夠難度的工作量證明。
④(挖礦)節點找到工作量證明,把有效區塊數據向全網廣播。
⑤只有所有節點對包含在該區塊中的交易及工作量證明驗證有效時,其他節點才會認可該區塊的有效性。
⑥其他(挖礦)節點表示接受該區塊,并在該區塊末尾制造新區塊,以延長整個區塊的鏈條。
在比特幣網絡中,交易和區塊信息傳播通過洪水填充算法[7](Flood Fill Algorithm)進行。每個節點在收到信息后,向與它相連的所有節點推送該信息。下一個收到信息的節點繼續這個過程,信息很快會像洪水一樣覆蓋全網絡,傳播速度呈指數增長。
需要注意的是,新交易廣播往往不需要抵達P2P網絡全部節點,只要交易信息能夠抵達規則要求的最低限數量節點,就會被P2P網絡認為交易合法和交易確認,并很快會將新交易信息整合到新區塊。同時,P2P網絡對部分節點丟棄信息進行容錯處理,如果某個節點沒有收到加入新交易信息的區塊,該節點很快會發現自己缺失了該區塊,就會向區塊鏈發出下載該缺失區塊的請求并補齊。
6.智能合約
智能合約(Smart contract)最早由尼克·薩博(Nick Szabo)在1995年提出,是一種以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方參與的情況下進行互聯網可信交易,這些交易可追溯且不可篡改。智能合約的目的是提供優于傳統合約的線上簽約、履約的安全方法,減少與合約相關的交易成本。
智能合約負責將區塊鏈系統的業務邏輯、商業邏輯以代碼形式實現、編譯和部署,完成既定規則條件的觸發和自動執行,以最大限度減少人工干預。當然,正是由于簽約、執行的自動化,同時缺乏區塊鏈以外的第三方監管和強公信力第三方機構的參與保證,加之網絡黑客的攻擊,智能合約也是區塊鏈安全風險高發的領域。舉例說明,圖1-19所示為信和云智能合約平臺架構。

圖1-19 信和云智能合約平臺[8]架構
五、側鏈技術[9]
為方便數字資產在不同區塊鏈間相互轉移,實現區塊鏈的擴展,側鏈技術(Sidechain)應運而生。2014年10月,計算機專家Adam Back開發團隊發布了側鏈白皮書,提出了一種新技術——楔入式側鏈,以實現不同區塊鏈間數字資產的互相轉移。
在主鏈基礎上,通過對側鏈添加交易隱私保護、智能合約等新功能,用戶能夠訪問側鏈新型服務,并且對現有主鏈工作并不造成影響。另外,側鏈也提供了一種安全協議升級機制,在側鏈發生網絡攻擊等災難性問題時保證主鏈安全。
側鏈通過雙向錨定技術(Two-way Peg,也是側鏈的技術基礎),可以實現將數字資產在主鏈暫時鎖定,同時將等值數字資產在側鏈釋放。同樣,當等值數字資產在側鏈被鎖定時,主鏈數字資產也可以被釋放。雙向錨定實現的最大難點是主鏈和側鏈要相互兼容,側鏈不能對主鏈的工作造成影響。
側鏈的實現方式分為以下幾類。
1.單一托管模式
在這種模式下,將數字資產發送到某個主鏈的單一托管方(類似于交易所),當單一托管方收到相關信息后,就會在側鏈激活相應數字資產,不過該解決方案的最大問題是需要高公信力的中心化第三方機構參與。如果主鏈是去中心化機制,與側鏈的中心化機構溝通協調的難度會較大。
2.聯盟模式
利用公證人聯盟的多重簽名對側鏈數字資產的流動進行確認。在這種模式下,如果要想盜竊主鏈凍結的數字資產就需要突破更多機構(公證人聯盟)構筑的防火墻,但是側鏈的安全仍然取決于公證人的聯盟誠信度。
3.SPV模式
SPV(Simplified Payment Verification)模式是一種用于證明交易存在的方法,通過少量數據就可驗證某個特定區塊中交易是否存在,主要問題是需要對主鏈軟分叉。在這種模式下,用戶在主鏈將數字資產發送到主鏈的一個特殊地址,鎖定在主鏈擁有的數字資產,隨后創建一個SPV證明并發送到側鏈。此時,一個對應帶有SPV證明的交易會出現在側鏈,同時驗證主鏈上的數字資產已經被鎖住,然后就可以在側鏈打開等值的另一種數字資產,其使用和變化會在稍后會被送回主鏈。當該數字資產返回主鏈時,整個過程會再次重復。SPV模式的主鏈、側鏈技術框架如圖1-20所示。

圖1-20 SPV模式的主鏈、側鏈技術框架
4.驅動鏈模式
驅動鏈將被鎖定數字資產的監管權發放到礦工手上,允許礦工們投票何時解鎖數字資產和將解鎖的數字資產發送到何處。礦工觀察側鏈狀態,當他們收到來自側鏈的要求時,會執行協調協議以確保他們對要求的真實性達成一致。誠實礦工在驅動鏈參與的程度越高,整體系統安全性也就越大。同樣,驅動鏈也需要對主鏈進行軟分叉。
5.混合模式
混合模式是在主鏈和側鏈使用不同解鎖方法,例如在側鏈使用SPV模式,在主鏈則使用驅動鏈模式。同樣,混合模式也需要對主鏈進行軟分叉。
六、區塊鏈的主要類型
區塊鏈目前分為以下三類:公有鏈(Public Blockchain)、私有鏈(Private Blockchain)、聯盟鏈(Consortium Blockchain)。三者的主要區別在于,公有鏈對所有人開放,任何人都可以參與;聯盟鏈只對特定組織團體開放;私有鏈僅對單獨的個人或實體開放。
1.公有鏈
公有鏈(Public Blockchain)是指任何人都可以隨時進入系統讀取數據、發送可確認交易、競爭記賬的區塊鏈,通常被認為完全去中心化,因為理論上沒有任何個人或者機構能夠控制或篡改鏈上數據讀寫。公有鏈一般會通過代幣(Token)機制鼓勵參與者競爭記賬、完成能夠量化和產生價值的工作任務,來確保數據安全性和網絡活躍度。比特幣、以太坊都是典型的公有鏈。
公有鏈特點如下。
一是保護用戶免受開發者不良影響。通過權限、規則設置,公有鏈的程序開發者無權干涉用戶在鏈上的正常活動。
二是訪問門檻低。任何擁有足夠技術能力的人都可以訪問公有鏈,甚至一臺聯網計算機就能滿足訪問條件。
三是所有數據默認公開。不過,很多公有鏈參與者都隱藏真實身份,不愿意將自己完全曝光。
公有鏈存在如下主要問題。
一是激勵問題。為促使全網節點提供資源,自發維護整個網絡,公有鏈需設計激勵機制,來保證全網持續健康運行。但一些公有鏈(如比特幣)的激勵機制存在“驗證者困境”,即沒有獲得記賬權的節點付出算力驗證交易,但沒有獲得任何激勵回報。
二是效率問題。比特幣目前平均每10分鐘產生1個區塊,其工作量證明機制很難縮短出塊時間。以太坊等權益證明機制相對可縮短出塊時間,但更易產生分叉,所以交易需要等更多節點確認后才被認為安全,無法滿足大多數企業級的應用需求。
三是安全問題。包括來自外部機構的攻擊、來自內部參與者的攻擊、組件失效、算力攻擊等。
四是隱私問題。公有鏈傳輸和存儲的數據公開可見,一般只是通過“偽匿名”方式對交易雙方進行一定隱私保護。對于某些涉及大量商業機密和利益的業務場景來說,數據暴露不符合業務規則和監管要求。
五是最終確定性(Finality)問題。公有鏈共識算法無法提供最終確定性,只能保證一定概率近似。例如,一筆比特幣交易在經過2小時后可達到最終確定性為99.9999%,對一些高標準商業場景和法律環境的可用性仍然較差。
案例 公信鏈:建設數據經濟生態系統的探索和挑戰
公信鏈(GXChain)是提供企業間、個人間、企業與個人之間的數據管理、共享、交易和交換服務的公有鏈,它使用DPoS和PoCS實現區塊鏈記賬和數據交換共識機制。
DPoS(Delegated Proof of Stake,股份授權證明機制、受托人機制):每一個持有代幣(Token)的用戶進行投票,由此產生101個超級節點,超級節點的權利完全相等。如果超級節點不能履行職責(如沒能產出數據區塊),則會被除名,網絡會選出新的超級節點來取代之。
PoCS(Proof of Credit Share,信用貢獻證明機制、共享交換平衡機制):用來解決數據體量懸殊企業之間共享交換數據不平衡的問題。聯盟成員每完成一筆數據交易就計算一次PoCS,貢獻值根據交易次數計算。PoCS低的聯盟成員要付出比基準手續費更高的費用進行數據交換。
公信鏈技術架構如圖1-21所示。

圖1-21 公信鏈技術架構
據公信鏈白皮書描述,布洛克城是公信鏈第一個移動端應用DAPP,用于解決個人數據的管理和共享,實現用戶數據價值化。布洛克城允許用戶創建區塊鏈身份和授權、管理個人數據,激勵機制鼓勵用戶多維度、更全面地上傳基礎數據和行為數據。以保護用戶的隱私安全,解決用戶間的信任問題,布洛克城開發團隊不會緩存用戶數據。在用戶授權的情況下,這些數據可被應用到消費、投資、支付等場景來產生實際價值。
公信鏈還開發了面向企業用戶的去中心化數據交易所,具有不緩存用戶數據、保護用戶隱私和數據產權、遏制造假、支持雙向匿名交易等特點,可被應用于網絡貸款、消費金融等領域,以及政府、銀行、保險、醫療、物流等有數據交換需求的機構。
根據我們調研,在布洛克城DAPP應用中,用戶通過授權公信寶(運營團隊)獲取個人信息而獲得“挖礦”算力和Token獎勵(公信幣),這些Token獎勵能換成現金,相當于公信寶運營團隊付費購買了用戶信息。由于用戶難以直接提供多維度數據,公信寶可能利用爬蟲軟件在網上爬取用戶數據,需要第三方平臺授權和允許,否則爬取操作就涉嫌違規。另外,公信寶利用區塊鏈技術收集用戶信用數據,而公信寶官網展示的合作方有現金巴士、拍拍貸、輕易貸等現金貸平臺、P2P網貸平臺,二者之間的關聯交易如何確保“技術不作惡”和用書數據得到價值體現也值得關注。
2.私有鏈
私有鏈(Private Blockchain)是指鏈上數據寫入權限由某個機構控制的區塊鏈,參與節點的資格會被嚴格限制。由于參與節點有限和可控,相比公有鏈,私有鏈往往可實現更快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊,并且能做到身份認證等監管部門的要求。相比中心化數據庫,私有鏈能夠防止機構內單節點(如財會人員)故意隱瞞或者篡改數據,即使發生錯誤,也能夠迅速溯源,并在同時尊重私有鏈持有機構的隱私。
很多企業傾向于在試水階段使用私有鏈技術,它們先將區塊鏈技術、理念、模式推廣到企業上下游生態體系。在得到區塊鏈賦能的實惠后,根據業務延展需要再拓展公有鏈、聯盟鏈。例如,Linux基金會、Gem Health網絡等機構的超級賬本(Hyperledger project)就是典型私有鏈。
私有鏈創建代碼舉例:

案例 世界銀行:利用區塊鏈技術提升債券發行效率[10]
2018年8月,世界銀行和澳大利亞聯邦銀行合作發行第一例區塊鏈債券(Blockchain Offered New Debt Instrument,BONDI),它們使用一條以太坊私有鏈,將價值1.1億澳元(7900萬美元)的債券(為期兩年)賣給7個機構投資者。
澳大利亞聯邦銀行在其中扮演了承銷商角色,該行創新實驗室研發的私有鏈可以實現債券所有權的交易、流轉、流通自動化,免除了協調不同債券發行人、投資者的IT系統賬本需要,該鏈通過同步分布式賬本實時顯示債券所有權信息,投資者可以實時見證和確認購買行為,從而消除了傳統模式費時的核對需求,提升了交易效率,降低了發行成本。世界銀行的試驗表明,基于區塊鏈的債券交易可以將結算時間從數天縮減至幾秒。
世界銀行的債券評級為AAA級,它每年發行500億~600億美元債券支持發展中國家經濟。通過應用區塊鏈技術,世界銀行降低了承保成本、結算成本及交易對手風險,對于世界銀行和發展中國家而言都是多贏的。
澳大利亞是區塊鏈技術應用開發的先行者,擁有完善的金融基礎設施,加之國際投資者對澳元普遍熟悉,澳元已成為世界交易量最大的法定貨幣之一。此前,澳大利亞證交所就宣稱將使用美國數字資產控股公司的區塊鏈技術替換原有股票結算清算系統。
3.聯盟鏈
聯盟鏈(Consortium Blockchain)指只針對某個特定群體成員和有限第三方共同參與、管理的區塊鏈。[11]一般情況下,聯盟鏈內部指定多個預選節點為記賬人,每個區塊的生成由所有預選節點共同決定。聯盟鏈和私有鏈也被統稱為許可鏈,公有鏈被稱為非許可鏈。
根據中心化程度不同,聯盟鏈可以按應用場景不同分為三種:一是全網公開、無用戶授權機制的區塊鏈,嚴格意義上屬于公有鏈;二是允許授權節點加入網絡,根據權限查看鏈上信息,多用于機構間組建的區塊鏈,也有行業鏈之稱;三是所有網絡節點都掌握在一家機構,嚴格意義上屬于私有鏈。
聯盟鏈的維護治理一般由聯盟成員進行,通常采用選舉投票制度,機制上相對容易進行權限控制,代碼一般部分開源或定向開源,主要由鏈上成員開發,或采用某些系統廠家的定制產品(如IBM的企業級區塊鏈超級賬本系統)。聯盟鏈的有效治理需要解決聯盟成員聯合欺詐、競爭性聯盟成員利益均衡、部分節點收獲收益和投入維護不對稱、數據資產權屬等問題。
相比公有鏈,聯盟鏈的優勢在于以下幾個方面。
一是交易成本更低。交易只需被幾個授權節點驗證就可以,無須全網所有節點確認,交易效率大大提升。
二是節點之間連接保障性更強,故障可以迅速通過授權節點追溯、人工參與修復,并允許使用共識算法減少數據出塊時間,完成交易更快。
三是聯盟成員數據讀取權限受到限制,并非所有節點分布式賬本存儲全部數據,因而能更好地保護聯盟成員個人隱私。
四是運作機制更靈活,根據實際需要,進行修改規則、追溯還原某筆交易等操作相對容易。
2017年區塊鏈項目全球分布情況如圖1-22所示。

圖1-22 2017年區塊鏈項目全球分布情況
案例 中國農業銀行:以聯盟鏈推動三農普惠金融應用創新[12]
小微企業、“三農”客戶融資難、融資貴問題的根源在于抵押不足、信用數據匱乏,銀行難以對這類客戶建立有效的信用模型和風險防控措施。中國農業銀行依托產業鏈上下游經營、交易、財務等數據,推動傳統信貸產品的互聯網改造,以及區塊鏈、大數據等金融科技賦能網絡融資產品的創新。
1.利用區塊鏈技術積累大數據和挖掘數據價值
“農銀e管家”電商金融服務平臺是中國農業銀行為生產企業、分銷商、縣域批發商、農家店、農戶打造的“ERP+金融”在線綜合服務平臺。平臺以傳統供銷關系價值鏈的快速互聯網化為突破口,融入小微企業、“三農”客戶的生產生活場景,為工業品下鄉、農產品進城搭建互聯網金融服務渠道,并將歷史交易數據映射到中國農業銀行為核心企業、上述各方參與的聯盟鏈,將每天產生數據(交易記錄)實時上鏈登記(鏈上成員對數據不可篡改),以形成企業和農戶可信交易環境,反映鏈上成員真實、實時的信用狀況。
2.利用區塊鏈技術解決多參與方信任問題
中國農業銀行推動將三農金融各環節涉及機構的數據實時上鏈,不斷充實聯盟鏈參與節點,將多參與方的信息系統通過聯盟鏈技術性剛性約束,打造為相互信任、風險可控、依據信用價值流轉的三農金融和三農經濟生態體系。
3.以智能合約實現客戶授信
中國農業銀行通過挖掘用戶使用農銀e管家的交易和經營數據,經授權獲得鏈上企業訂單、物流、農戶信用等多維度數據,并將數據提供方作為節點上鏈,能夠實時掌握完整的用戶行為大數據、長數據,進而提供針對性普惠金融服務。中國農業銀行三農普惠金融聯盟鏈如圖1-13所示。

圖1-23 中國農業銀行三農普惠金融聯盟鏈
中國農業銀行還以智能合約約定統一數據共享標準,嘗試將授信模型內嵌進智能合約代碼,實現銀行征信、審批、授信、增信等環節智能化處理,以減少人工處理負擔和人工干預。中國農業銀行智能合約提高了驗證貸款真實性的準確率,以受托支付方式將資金直接劃撥到貸款應用場景,而不是將貸款直接轉入借款人賬戶,從而降低了信貸的不良率。
[1] 布雷頓森林體系:“二戰”后為建立統一的世界貨幣體系,1944年在美國新罕布什爾州布雷頓森林舉行的有美、英、中、法等44國代表參加的世界貨幣金融會議上,創建了國際貨幣基金組織,形成了以美元為中心的國際貨幣體系,切斷了黃金與紙幣在國內的自由兌換關系。
[2] 牙買加體系:1976年1月,國際貨幣基金組織(IMF)理事會“國際貨幣制度臨時委員會”在牙買加首都金斯敦舉行會議,簽訂達成了“牙買加協議”,同年4月,國際貨幣基金組織理事會通過了《IMF協定第二修正案》,從而形成新的國際貨幣體系——實行浮動匯率制度改革,推行黃金非貨幣化,增強特別提款權作用,增加成員國基金份額,擴大信貸額度,增加對發展中國家的融資。
[3] 劉肖飛.基于動態授權的拜占庭容錯共識算法的區塊鏈性能改進研究[D].杭州:浙江大學,2017.
[4] 女巫攻擊問題:假設P2P網絡每個節點擁有一個確定身份,但是一個惡意節點宣稱擁有多個身份,通過欺騙系統獲得認可,從而獲得網絡中更大的影響力,這就是在發起女巫攻擊。如何在P2P網絡識別女巫攻擊,對保證系統安全十分重要。
[5] 網易星球上線數據護照 區塊鏈讓數據產生價值[EB/OL].[2018-09-07].http://finance.ifeng.com/a/20180907/16491352_0.shtml.
[6] 黑鉆:用戶在網易星球參與相關項目和活動,可以獲取“原力”。獲取“原力”越多,獲得的黑鉆也就越多。黑鉆可以用于網易星球設定的場景內的消費和兌換。
[7] 洪水填充算法:以圖像填充為例,就是把一個點x的所有相鄰的點都涂上x點的顏色,一直填充下去,直到這個區域內所有的點都被填充完為止。
[8] 信和云智能合約平臺:是一個公鏈體系,提供可視化開發、編譯、運行環境,為開發者提供不直接涉及底層的區塊鏈應用開發環境和工具。
[9] Adam Back,Matt Corallo,etc.側鏈白皮書:用楔入式側鏈實現區塊鏈的創新[D].2014.
[10] 音希(編譯).世界銀行開始探索世界首個區塊鏈債券項目[EB/OL].[2018-08-10].http://tech.qq.com/a/20180810/058635.htm.
[11] 高志豪.公有鏈和聯盟鏈的道法術器[J].金卡工程,2017(3).
[12] 姚琥.應用區塊鏈技術推進普惠金融發展[J].金融電子化,2017(12).