區塊鏈常用架構是什麼?

買賣虛擬貨幣

區塊鏈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所示。

   資料層   

         資料層最底層的技術,是一切的基礎,主要實現了兩個功能,一個是相關資料的儲存,另一個是賬戶和交易的實現與安全。資料儲存主要基於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所示。

        表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所示。

        圖2 以太坊智慧合約執行原理圖   

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

        區塊鏈保險業應用展望   

       綜合來說,區塊鏈是一種可以製造信用的技術,它能夠讓毫無任何關係的節點互相信任,並達成共識,而不需要任何權威機構作為中介進行背書,透過智慧合約處理各種事務,減少了人為干預的風險,這種新的技術特點,可以應用於很多金融領域,比如:1. 跨境支付與結算:實現點到點交易,減少中間費用;   2. 證券發行與交易:實現準實時資產轉移,加速交易清算速度;   3. 客戶徵信與反欺詐:降低法律合規成本,防止金融犯罪。

       互助保險   

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

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

        區塊鏈技術構成了一個資訊對稱、透明、不可篡改的信任網路,使得點對點的區塊鏈互助保險能夠建立資訊保安和參與者之間的互信體系,並透過智慧合約實現民主決策和組織規則準確無誤的執行,最終實現組織結構扁平化,降低運營成本,降低互助保障成本,真正形成一個人人為我,我為人人的保險互助形式。   在互助保險的應用中,尤其需要注意合規問題,為了保障參與者的權益,防止再次出現P2P行業的亂象,中國保監會已於2015年1月印發了《相互保險組織監管試行辦法》,明確規定相互保險組織應當經中國保監會批准設立,並接受其監管,截至發稿日,全國僅有三家獲批。   

        積分通兌   

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

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

        集團內子公司間支付網路   

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

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;