區塊鏈常用架構是什麼?

尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️

加入LINE好友

源於比特幣社區的區塊鏈技術,不僅為金融機構所重視,也逐漸為世界主要經濟體及重要國際組織所關注。本文作者嘗試對區塊鏈常見架構進行分析,並根據其技術特點提出了一些在保險業可能的應用場景。

區塊鏈常用架構是什麼? 科技 第1張

作者 | 李赫

區塊鏈2.0的分類與特點

區塊鏈2.0的典型代表是以太坊(Ethereum)和超級帳本(Hyperledger),分別代表了區塊鏈的兩個重要的發展方向:應用於公眾的公有鏈和應用於企業的聯盟鏈。

公有鏈、聯盟鏈和私有鏈

公有鏈是指對所有人開放,任何人都可以參與的區塊鏈;聯盟鏈是被多個組織構成的聯盟控制,進入和退出需要授權的區塊鏈;私有鏈是完全被單獨的個人或某個組織控制的區塊鏈。公有鏈不適合大部分企業應用場景,未來企業應用的重點是聯盟鏈,但現階段關注的重點是公有鏈,公有鏈是區塊鏈技術的試驗田,會遇到各種複雜的情況和問題,是對新技術和新業務的測試,這對企業應用提供很好的借鑒。

對於區塊鏈的去中心化、安全、高效這三個特性,符合蒙代爾不可能三角關係,即不可能同時滿足三個條件。公有鏈做到了完全的去中心化和安全,因此在性能上就很低,聯盟鏈為了企業應用,提高了性能和安全,就不得不在去中心化上進行妥協,通過一個中心化的授權方式來管理節點,做到了半中心化。

區塊鏈2.0的優勢

區塊鏈1.0被稱之為「全球帳簿」。相應的,區塊鏈2.0可以被看作一台「全球計算機」:做到了區塊鏈系統的圖靈完備,可以在區塊鏈上傳和執行應用程序,並且程序的有效執行能得到保證,在此基礎上做到了智能合約的功能。相對於區塊鏈1.0,區塊鏈2.0有如下優勢:

1. 支持智能合約

區塊鏈2.0定位於應用平台,在這個平台上,可以發布各種智能合約,並能與其它外部IT系統進行數據交互和處理,從而做到各種行業應用。

2. 適應大部分應用場景的交易速度

通過採用PBFT、POS、DPOS等新的共識算法,區塊鏈2.0的交易速度有了很大的提高,峰值速度已經超過了3000TPS(每秒處理交易數量),遠遠高於比特幣的5TPS,已經能夠滿足大部分的金融應用場景。

3. 支持信息加密

區塊鏈2.0因為支持完整的程序運行,可以通過智能合約對發送和接收的信息進行自定義加密和解密,從而達到保護企業和用戶隱私的目的,同時零知識證明等先進密碼學技術的應用進一步推動了其隱私性的發展。

4. 無資源消耗

為了維護網路共識,比特幣使用的算力超122029 TH/s,相當於5000台天河2號A運算速度,每天耗電超過2000MWh,約合幾十萬人民幣(估測數據)。區塊鏈2.0採用PBFT、DPOS、POS等新的共識算法,不再需要通過消耗算力達成共識,從而做到對資源的零消耗,使其能綠色安全的部署於企業信息中心。

技術架構

區塊鏈2.0採用五層架構,從下到上分別是數據層、網路層、共識層、激勵層、智能合約層,如圖1所示。



區塊鏈常用架構是什麼? 科技 第2張

圖1 五層架構

數據層

數據層最底層的技術,是一切的基礎,主要做到了兩個功能,一個是相關數據的存儲,另一個是帳戶和交易的做到與安全。數據存儲主要基於Merkle樹,通過區塊的方式和鏈式結構做到,大多以KV數據庫的方式做到持久化,比如以太坊採用leveldb。帳號和交易的做到基於數字簽名、哈希函數和非對稱加密技術等多種密碼學算法和技術,保證了交易在去中心化的情況下能夠安全的進行。

網路層

網路層主要做到網路節點的連接和通訊,又稱點對點技術,是沒有中心服務器、依靠用戶群交換信息的互聯網體系。與有中心服務器的中央網路系統不同,對等網路的每個用戶端既是一個節點,也有服務器的功能,其具有去中心化與健壯性等特點。

共識層

共識層主要做到全網所有節點對交易和數據達成一致,防范拜占庭攻擊、女巫攻擊、51%攻擊等共識攻擊,其算法稱為共識機制,因為其應用場景不同,區塊鏈2.0出現了多種富有特色的共識機制。

1. PoS:Proof of Stake,權益證明

原理:節點獲得區塊獎勵的概率與該節點持有的代幣數量和時間成正比,在獲取區塊獎勵後,該節點的代幣持有時間清零,重新計算。但由於代幣在初期分配時人為因素過高,容易導致後期貧富差距過大。

2. DPoS:Delegate Proof of Stake,股份授權證明

原理:所有的節點投票選出100個(或其他數量)委托節點,區塊完全由這100個委托節點按照一定算法生成,類似於美國的議會制。

3. Casper:投註共識

原理:以太坊下一代的共識機制,每個參與共識的節點都要支付一定的押金,節點獲取獎勵的概率和押金成正比,如果有節點作惡押金則要被扣掉。

4. PBFT:Practical Byzantine Fault Tolerance,拜占庭容錯算法

原理:與一般公有鏈的共識機制主要基於經濟博弈原理不同,PBFT基於異步網路環境下的狀態機副本復制協議,本質上是由數學算法做到了共識,因此區塊的確認不需要像公有鏈一樣在若干區塊之後才安全,可以做到出塊即確認。

5. PoET:Proof of Elapsed Time,消逝時間量證明

原理:該共識機制由intel提出,核心是用Intel支持SGX技術的CPU硬件,在受控安全環境(TEE)下隨機產生一些延時,同時CPU從硬件級別證明延時的可信性,類似於彩券算法,誰的延時最低,誰將獲取記帳權。這樣,增加記帳權的唯一方法就是多增加CPU的數量,具備了當初中本聰設想的一個CPU一票的可能,同時增加的CPU會提升整個系統的資源,變相做到了記帳權與提供資源之間的正比例關係。

共識機制有各自的優缺點,適應不同的場景,進行對比,如表1所示。



區塊鏈常用架構是什麼? 科技 第3張

表1 不同共識算法對比

激勵層

激勵層主要做到區塊鏈代幣的發行和分配機制,比如以太坊,定位以太幣為平台運行的燃料,可以通過挖礦獲得,每挖到一個區塊固定獎勵5個以太幣,同時運行智能合約和發送交易都需要向礦工支付一定的以太幣。

智能合約層

智能合約賦予帳本可編程的特性,區塊鏈2.0通過虛擬機的方式運行代碼做到智能合約的功能,比如以太坊的以太坊虛擬機(EVM)。同時,這一層通過在智能合約上添加能夠與用戶交互的前台界面,形成去中心化的應用(DAPP)。當然,在某些技術文檔中認為DAPP應該在智能合約層之上單獨為應用層,也是有一定道理,只要不影響讀者理解即可。

智能合約

智能合約簡介

智能合約又稱智能合同,是由事件驅動的、具有狀態的、獲得多方承認的、運行在區塊鏈之上的、且能夠根據預設條件自動處理資產的程序,智能合約最大的優勢是利用程序算法替代人仲裁和執行合同。

本質上講,智能合約也是一段程序,但是與傳統的IT系統不同,智能合約繼承了區塊鏈的三個特性:數據透明、不可篡改、永久運行。

1. 數據透明

區塊鏈上所有的數據都是公開透明的,因此智能合約的數據處理也是公開透明的,運行時任何一方都可以查看其代碼和數據。

2. 不可篡改

區塊鏈本身的所有數據不可篡改,因此部署在區塊鏈上的智能合約代碼以及運行產生的數據輸出也是不可篡改的,運行智能合約的節點不必擔心其他節點惡意修改代碼與數據。

3. 永久運行

支撐區塊鏈網路的節點往往達到數百甚至上千,部分節點的失效並不會導致智能合約的停止,其可靠性理論上接近於永久運行,這樣就保證了智能合約能像紙質合同一樣每時每刻都有效。

智能合約運行原理

本文通過最典型的以太坊為例簡述智能合約運行的原理。

1. 以太坊虛擬機(EVM)

以太坊虛擬機(EVM)是以太坊中智能合約的運行環境。如果做比喻的話智能合約更像是Java程序,Java程序通過Java虛擬機(JVM)將代碼解釋字節進行執行,以太坊的智能合約通過以太坊虛擬機(EVM)解釋成字節碼進行執行。EVM被沙箱封裝起來,也就是說運行在EVM內部的代碼不能接觸到網路、文件系統或者其他進程,甚至智能合約之間也只有有限的調用。

2. RPC接口

RPC接口是以太坊與其他IT系統交互的接口,以太坊節點在8545端口提供了JSON RPC API接口,數據傳輸採用JSON格式,可以執行Web3庫的各種命令,可以向前端,比如Mist等圖形化客戶端提供區塊鏈的信息。

智能合約是部署在區塊鏈的代碼,區塊鏈本身不能執行代碼,代碼的執行是每個節點在本地通過太坊虛擬機(EVM)做到, 智能合約的運行原理如圖2所示。



區塊鏈常用架構是什麼? 科技 第4張



圖2 以太坊智能合約運行原理圖

從圖2可以看出,部署在區塊鏈上的智能合約是一段能夠在本地產生原智能合約代碼的數據串,可以理解區塊鏈為一個數據庫,首先客戶端通過發起一筆交易,告訴以太坊節點需要調用的函數及相關參數,然後所有的以太坊節點都會接收到這筆交易,從區塊鏈這個數據庫中讀取了存儲的智能合約運行代碼,在本地EVM運行出結果,最後為避免節點作惡,節點運行智能合約的結果將與其他以太坊節點進行對比,確認無誤後才將結果寫入到了區塊鏈中,從而做到智能合約的正確執行。

區塊鏈保險業應用展望

綜合來說,區塊鏈是一種可以製造信用的技術,它能夠讓毫無任何關係的節點互相信任,並達成共識,而不需要任何權威機構作為中介進行背書,通過智能合約處理各種事務,減少了人為干預的風險,這種新的技術特點,可以應用於很多金融領域,比如:

1. 跨境支付與結算:做到點到點交易,減少中間費用;

2. 證券發行與交易:做到準實時資產轉移,加速交易清算速度;

3. 客戶徵信與反欺詐:降低法律合規成本,防止金融犯罪。

本文嘗試性的提出一些可能的保險業應用場景進行探討。

互助保險

互助保險又叫相互保險,指具有同樣風險保障需求的人所組成的,不以牟利為目的,以互相幫助為原則,實行「共享收益,共攤風險」的保險形式。相互保險與商業保險最大的不同是商業保險的承保人是公司,其利益與客戶對立,而互助保險的承保人是每個參與者,做到了保險人和被保險人的身份合一。

互助保險已經存在很長的歷史,從全球互助保險的實踐來看,大多數都是從互助的初衷出發,但因為缺乏一個可操作的信任體系,落入了公司陷阱,導致互助保險組織越做越像一家保險公司,甚至很多最終轉為公司。

區塊鏈技術構成了一個信息對稱、透明、不可篡改的信任網路,使得點對點的區塊鏈互助保險能夠建立信息安全和參與者之間的互信體系,並通過智能合約做到民主決策和組織規則準確無誤的執行,最終做到組織結構扁平化,降低經營成本,降低互助保障成本,真正形成一個人人為我,我為人人的保險互助形式。

在互助保險的應用中,尤其需要注意合規問題,為了保障參與者的權益,防止再次出現P2P行業的亂象,中國保監會已於2015年1月印發了《相互保險組織監管試行辦法》,明確規定相互保險組織應當經中國保監會批准設立,並接受其監管,截至發稿日,全國僅有三家獲批。

積分通兌

積分本質上就是一種數字資產,是以商家自己的服務或者產品作為價值背書發行的數字資產。保險企業一直存在積分難於兌換,客戶活躍度不高的問題。借助區塊鏈技術,不同行業的幾個企業構成一個聯盟鏈,在鏈上完成積分的發行,後續積分就可以自由的在鏈上流通,做到積分流通從單中心控制變成社會化傳播,任何有資源的管道都可以成為資產流通的催化劑,極大地提升流通效率。客戶可以獲取更好的消費體驗,保險企業可以有效增加客戶黏度並擴展獲客管道。



區塊鏈常用架構是什麼? 科技 第5張

圖3 一種可能的區塊鏈積分通兌架構

集團內子公司間支付網路

近年來金融企業集團化趨勢越來越明顯,保險企業集團化不但有利於集中統一管理各項資金,做到投資專業化管理,取得投資規模效益,還有利於增強專業子公司的抗風險能力,提高規模競爭的優勢。使用如圖4所示的區塊鏈點對點支付技術作為各個子公司之間的支付網路,一方面省去了銀行作為中介,可以提高集團內資金流動的效率,做到跨子公司的業務部門對業務部門、業務部門對銷售人員之間的快速支付清算,確保業務行為的真實性與合法性,強化信息對稱與交易安全;另一方面集團總部和各級管理機構作為網路中的實時驗證和監控節點,既作為業務流程中的一環直接接觸業務數據,又不會對業務流程產生任何干擾,做到對業務的有效跟蹤、監控和預警,促使公司治理從制度管理向技術管理轉變。



區塊鏈常用架構是什麼? 科技 第6張

圖4 區塊鏈點對點的支付方式

作者簡介:李赫,就職於中國人民保險集團總部,從事信息技術工作,致力於區塊鏈在保險業的應用研究,未央網和巴比特專欄作者,並在行業內學術期刊發表多篇文章,對集團層面的信息化建設有豐富的經驗。

About 尋夢園
尋夢園是台灣最大的聊天室及交友社群網站。 致力於發展能夠讓會員們彼此互動、盡情分享自我的平台。 擁有數百間不同的聊天室 ,讓您隨時隨地都能找到志同道合的好友!