三分鐘看完京東區塊鏈白皮書

京東區塊鏈白皮書分析了區塊鏈在企業級應用上的場景,以及技術發展目前的短板,編寫者文字功底深厚,是一份優秀的區塊鏈資料歸納。
白皮書能夠認爲是京東在Baas即Blockchain as service方面的規劃和佈局,介紹了區塊鏈在京東的應用場景,系統架構和將來規劃,美中不足的是缺乏細節以及一些關鍵問題說明。
畢竟區塊鏈目前處於大企業卡位競爭階段,一些核心技術細節不可能披露出來,問過幾位區塊鏈一線開發者,都表示這份資料能夠做爲一份入門的區塊鏈學習資料,50頁的篇幅並不長,建議你們仍是去系統看一下白皮書。前端

京東擁有全渠道零售和供應鏈的高質量大數據,區塊鏈技術能夠解決京東業務場景中多個主體的信息記錄與分享,可信數據交換與傳遞的業務訴求。
白皮書指出京東的目標是以區塊鏈爲「連接器」,結合自身在雲計算、大數據、人工智能、物聯網等新技術上積累的經驗,構建一體化的智慧供應鏈體系、零售網絡和金融科技。算法

點擊下載京東區塊鏈白皮書數據庫

1、京東如何看待區塊鏈技術

1.區塊鏈技術如何引領數字經濟變革

京東認爲區塊鏈技術在如下三個方向存在將引領數字經濟變革的巨大的應用機會:編程

  • 創建社會化共享的可信數據庫

區塊鏈的技術本質是一種去中心化、面向業務、跨主體、健壯與安全的分佈式狀態機。區塊鏈具備存儲數據、共有數據、分佈式、防篡改與保護隱私、數字化合約 5項核心特徵。
基於這些特徵,部署跨主體間的區塊鏈聯盟鏈節點和橋接,用區塊鏈技術搭建一張社會化的共享數據存儲網絡,有機會以客觀的技術手段來解決跨主體的信任問題。後端

  • 提高交易效率,下降交易成本

基於區塊鏈智能合約等多種模式的商業交易能夠大幅減小數據覈實的環節和下降成本,同時又能保證商業交易的風險下降,交易更具肯定性。設計模式

  • 推進供應鏈創新

伴隨着中國政府將供應鏈創新與應用上升爲國家戰略和居民消費的不斷升級,供應鏈風險控制和提高供應鏈透明度的訴求不斷攀升。區塊鏈技術能夠搭建供應鏈全流 程節點共同維護的聯盟鏈,在聯盟鏈中創建數據維護的參與規則與激勵機制。安全

2.對區塊鏈技術的再理解

區塊鏈本質上是一種健壯和安全的分佈式狀態機,典型的技術構成包括共識算法、P2P 通信、密碼學、數據庫技術和虛擬機。網絡

這也構成了區塊鏈必不可少的 5 項核心能力:架構

  • 存儲數據

源自數據庫技術和硬件存儲計算能力的發展,隨着時間的累積,區塊鏈的大小也在持續上升,成熟的硬件存儲計算能力,使得多主體間同時大量存儲相同數據成爲可能;併發

  • 共有數據

源自共識算法,參與區塊鏈的各個主體經過約定的決策機制自動達成共識,共享同一份可信的數據帳本;

  • 分佈式

源自 P2P 通信技術,實現各主體間點對點的信息傳輸;

  • 防篡改與保護隱私

源自密碼學運用,經過公鑰私鑰、哈希算法等密碼學工具,確保各主體身份和共有信息的安全;

  • 數字化合約

源自虛擬機技術,將生成的跨主體的數字化智能合約寫入區塊鏈系統, 經過預設的觸發條件,驅動數字合約的執行。

3.區塊鏈發展面臨的挑戰

尤爲在企業級應用方面,區塊鏈的交易併發能力、數據存儲能力、通用性、功能 完備性、易用性都還存在明顯不足。

  • 交易併發能力

目前開源的區塊鏈系統的高併發交易能力廣泛不高,其中,共識算法是制約性能的重要方面。
制約性能的另外一個重要因素是帳本結構。目前典型的區塊鏈帳本設計爲區塊的單鏈結構,意味着從全局來看全部的交易都只能順序地被處理。因爲交易處理缺乏並行度,於是難以得到接近於傳統中心化系統的性能表現。

  • 數據存儲能力

在數據存儲能力方面,因爲區塊鏈的數據只有追加而沒有移除,數據只增不減,隨着時間推移,區塊鏈系統對數據存儲大小的須要也只能持續地增大,在處理企業數據時這一趨勢增加更甚。

企業場景下的數據包含結構化和非結構化數據,數據量十分龐大。以電商供應鏈爲例,主要電商入口的每日數據記錄條數一般都在千萬級以上,如再沿着供應鏈條進一步展開時,每延伸一級數據量都會進一步放大。

目前典型的區塊鏈系統在實現對帳本數據的存儲時,典型的實現方式是基於文件系統或者簡單的 KV 數據庫存儲,沒有采用分佈式存儲的設計,於是數據存儲能力與實際須要之間 也存在較大的差距,須要探索更爲有效的大數據存儲方式。

  • 通用性

區塊鏈須要適應多樣化的業務需求,知足跨企業的業務鏈條上的數據共享,這意味着區
塊鏈對數據的記錄方式要有足夠的通用和標準,才能表示各類結構化和非結構化的信息,並
可以知足隨着業務範圍拓展所需的跨鏈要求。

  • 功能完備性

縱觀現有區塊鏈平臺,模型抽象單一,難以適應業務系統快速開發的要求。缺乏對企業應用中常見的一些功能的支持,例如用戶認證、多級受權等。

  • 易用性

區塊鏈技術須要下降學習和使用門檻,支持快速實施部署,提供貼近業務的接口,推廣使用。

2、京東區塊鏈應用場景

應用

3、京東區塊鏈架構體系

京東區塊鏈的目標是打造面向企業級應用的區塊鏈基礎設施,爲企業提供可以切實解決業務痛點的區塊鏈技術方案。

京東區塊鏈採用分層架構設計、標準化帳本數據協議、優化共識算法、引入微服務架構與可伸縮的分佈式存儲技術、靈活的多級受權策略等一系列的創新技術方案。

1.整體架構

京東區塊鏈的整體架構分爲 3 個層次:區塊鏈協議、組件框架、服務平臺。

京東區塊鏈架構

  • 區塊鏈協議

京東區塊鏈協議做爲最頂層的架構設計,定義了區塊鏈的數據格式標準,包括帳本狀態、歷史證實、帳本操做集、合約指令集 4 個方面的數據標準。

  • 組件模型

「組件模型」是區塊鏈邏輯組件的框架模型,是對京東區塊鏈協議的實現框架。包括了
共識網絡、帳本、持久化引擎、合約引擎四個組件。

  • 服務平臺

「服務平臺」是對上層的區塊鏈協議和組件模型的具體實現,由網關、服務、節點網 絡、SDK 和一套工具集組成。

京東區塊鏈在架構和實現上遵循如下的幾個設計原則。

  • 面向業務
  • 標準化
  • 鬆耦合與模塊化

2.應用模型

與傳統的互聯網協議不一樣(如 TCP/IP,HTTP 等),傳統協議都是面向通信過程的,而區塊鏈是面向 業務過程的。區塊鏈做爲一種分佈式狀態機,「智能合約」是實現分佈式業務狀態轉移的核心功能,使得基於區塊鏈的應用架構模型產生了全新的變革。

假設要開發一個商品貿易系統,業務的參與者包括貿易買賣雙方和物流企業,這個系統要幫助買賣雙方創建交易合同、跟蹤貨物運輸過程、交付結算。

基於區塊鏈實現該應用一般須要如下幾個步驟:

(1) 定義參與業務的各個主體的身份帳戶

爲參與者註冊登記一個由公鑰私鑰對(證書)表示的身份帳戶。由符合國家標準的證書
所表示的身份帳戶是可以表明一個特定的法人,由該帳戶簽發的數據能夠在法律上被認爲是
該法人作出的確認。

(2) 編寫智能合約對業務過程作出定義

把參與者之間達成的商業協議以智能合約代碼的形式進行定義,以數字化形式約定貿易
的商品屬性、數量、交付價格、交付期限、交付條件、運輸方式、交割檢驗標準、貨款計算
方式、貨款支付時限等等。

(3) 聯合簽署智能合約並觸發業務初始條件

智能合約最後須要通過參與者以各自的身份帳戶作出簽署,以後每一方參與者只須要根
據本身業務範圍內的業務進程作出相應的操做,便觸發了智能合約的執行。

4、架構分層解析

1.帳本協議

  • 帳本狀態
    表示區塊鏈系統在某一時刻所處的情況,由系統保存的業務數據以及系統運行的控制屬性構成。

  • 帳本操做集
    「帳本操做集」是爲了實現跨鏈互操做而定義一個通用的標準,包含「類型」的標準碼,「參數」的標準格式。

  • 合約指令集

區塊鏈以合約語言的形式定義業務狀態的控制和轉換邏輯。經過設計一個標準化的合約語言指令集,能夠用一種通用的方式來表述各類複雜的業務邏輯,從而與具體的編程語言無關。

2.組件模型

  • 共識網絡

目前典型的共識算法主要有 PoW、PoS、PBFT、Raft、Paxos 等。這些算法在運行過程均可以抽象下面幾個階段:

(1)交易擴散;
(2)交易排序;
(3)調用交易執行程序;
(4)對交易執行結果進行共識;
(5)提交共識結果。

各類共識算法的差別體如今不一樣階段採起了不一樣實現策略。
京東區塊鏈選擇類 BFT 的算法進行優化,提供了肯定性交易執行、拜占庭容錯、動態調整節點的特性。

  • 帳本

帳本狀態與合約分離,使用基於身份的訪問控制協議約束合約對狀態的訪問,這種將數 據與邏輯分離的設計模式是典型的貧血模型,可爲上層業務邏輯提供無狀態的邏輯抽象。

  • 持久化存儲
    將帳本信息的持久化格式定義爲更簡潔的 KV 格式數據,使得能夠利用成熟的 NoSQL 數據庫來實現持久化存儲。

  • 合約引擎

合約引擎包含兩大部分,前端包括合約高級語言規範及其工具鏈,後端是一個輕量級的 合約中間代碼的執行環境。

3.服務平臺

功能模塊分爲區塊鏈網關、區塊鏈節點服務、區塊鏈共識網絡、配套工具四個部分。

  • 區塊鏈網關

「區塊鏈網關」被設計爲一種輕量的網關係統,一般是部署在參與者的網絡環境中,提供功能包括:

a) 私鑰管理:提供徹底本地化的私鑰保管功能;

b) 隱私保護:採用端到端加密手段實現隱私保護; c) 協議轉換:提供輕量化的 HTTP Restful Service,適配 TCP 協議的區塊鏈節點 API。

  • 區塊鏈節點服務

在區塊鏈基礎網絡的基礎上提供的面向應用的通用的功能組件,目的是提供通用功能的
複用。

  • 區塊鏈共識網絡

由共識節點組成的網絡,基於 P2P 網絡和共識算法確保交易數據在節點之間保持一致。

5、 京東區塊鏈的特色

1.性能

  • 採用優化的 BFT 共識協議和 P2P 通信,支持多鏈並行共識

採用改進的 BFT 算法,支持動態的調整網絡拓撲,實現節點動態加入及主動退出。爲了應對多樣化的業務場景、知足信息安全需求、提高業務吞吐量,京東區塊鏈支持多鏈架構。不相關的業務運行在多條並行的區塊鏈上,這爲咱們提供了針對業務的線性擴展能力。

多鏈並行

對於多條鏈之間的互操做咱們採起了中繼鏈的模式,參與各方向中繼鏈節點提交提案,結果經共識後得以確認。

  • 採用微服務處理架構,支持橫向伸縮、動態擴容,實現海量交易處理與數據存儲

微服務

經過測試、分析發現系統處理海量交易時,共識節點中密碼模塊與合約模塊存在性能瓶頸。爲了減輕這方面問題的影響,將密碼模塊、合約模塊拆分爲單獨的無狀態的微服務,以便在處理海量交易時有針對性的對密碼、合約微服務進行橫向擴容。

  • 採用靈活的數據存儲結構,支持冷熱數據分離
  • 支持節點動態加入和退出,實現系統的高可用性,保證業務不間斷運行

2.功能

  • 支持用戶實名與認證
  • 支持企業數據治理
  • 支持事件驅動的業務協做模型

京東區塊鏈採用通用事件驅動模型框架。已接入 AKKA 的 Actor 模型,對併發模型進行了更高的抽象。採用輕量級事務處理,從事件層面實現細粒度的組件複用。

  • 支持多帳本以實現按業務維度管理鏈上數據

3.安全

  • 可插拔的密碼算法,能夠靈活的制定相應的密碼體系
  • 平臺默認實現多套密碼算法,包括國密算法和硬件加密設備

4.合約

  • 支持可複用的智能合約
  • 支持智能合約語言的調試功能

5.合規

  • 支持基於 CA 的帳戶認證
  • 支持監管節點的接入
  • 支持數據備案

6、展望區塊鏈技術發展

區塊鏈是構建合做夥伴間信任經濟的基石,那麼就須要區塊鏈或是聯盟鏈在互聯網的普遍部署和規模化應用。
目前區塊鏈技術推廣仍存在諸多挑戰,京東區塊鏈技術團隊總結和建議以下:

(1) 政策與標準指導

區塊鏈規模化應用,須要跨企業達成一致的技術標準和行業監管標準

(2) 技術平臺的不斷完善

區塊鏈技術脫胎於比特幣公共網絡,據不徹底統計,比特幣礦池每一年消耗大量的電力資源,緣由是徹底公有鏈的區塊鏈部署形式實際上並不適用於所有場景。

(3) 在應用中創建激勵機制和商業模型

比特幣做爲區塊鏈的創始級應用得益於它搭建了一套很是完善的公有鏈模型和基於這個模型的工做和激勵機制。

相關文章
相關標籤/搜索