布比區塊鏈在商業應用落地中的實踐(上)—賬戶中心和分散式賬本服務

買賣虛擬貨幣
昨天的文章我們分享了《與千餘家企業交流後,布比總結出區塊鏈在商業應用落地中的5個關鍵問題》:· 如何實現快速的應用對接· 能否支撐海量使用者使用· 怎樣保障私鑰的存取安全· 區塊鏈對上層應用是個黑盒· 能否滿足隱私保護和許可權控制
這些問題涉及效能、擴充套件性、安全和運維的諸多方面,今天繼續分享布比在這些方面的對策。

為了解決區塊鏈技術在應用落地過程中可能面臨的各種阻礙,布比區塊鏈平臺採用兩層結構:(1)底層 BubiChain 提供區塊鏈基礎服務;(2)上層 Bubi Application Adaptors 對內進行封裝,對外進行建模適配,提供一系列符合應用場 景的介面,降低應用對接的複雜度,如下圖所示。 

布比產品體系架構分為四個組成部分:賬戶中心、分散式賬本服務、區塊鏈擴充套件服務、策略與管理。其中,多數部分從零開始實現,有些部分採用某些標準 的開源元件,還有一些部分是在成熟框架上進行最佳化和改進。

賬戶中心(Account):公私鑰生成,公鑰寫入,私鑰簽名與管理;應用層用 戶資訊與區塊鏈地址的對映;支援實名認證及審計的監管需求。 

分散式賬本服務(Distributed Ledger Services):基於 P2P 協議的底層組網, 各節點透過 P2P 協議進行訊息分發;提供賬本結構的定義和賬本資料的儲存; 可插拔的共識模組,負責確保底層資料強一致性的同時抵抗來自“惡意”節 點的攻擊。針對應用的建模適配,包括對資產、記錄、事務、合約等多種對 象的建模和實現。 

區塊鏈擴充套件服務(Extended Services):在基礎服務之上,提供了更高階的 服務:解決可擴充套件性問題的多鏈分片技術、解決價值孤島問題的跨鏈技術、 解決資料安全的隱私保護技術。 策略與管理(Management):提供完備的訪問策略控制的解決方案。多種可 視化管理工具,底層區塊鏈的健康監控、系統引數配置、資料分析、區塊鏈 瀏覽器等。

1. 賬戶中心

在區塊鏈技術自有的公私鑰體系下,賬戶中心負責:公私鑰生成,公鑰寫入,私鑰簽名與管理;儲存應用層使用者資訊與區塊鏈地址對映關係;支援實名認證及審計的監管需求。為應用適配層提供兩類介面:非託管型介面和託管型介面。

非託管型介面:適合有能力在應用端實現安全級別較高的私鑰生成和使用的 企業機構。例如,在金融領域,將私鑰的生成與管理跟現有的 U 盾、電子簽名 等安全的客戶端體系相結合。

託管型介面:適用於網際網路化程度較高的應用場景。公私鑰直接作為使用者名稱 和密碼使用對普通使用者來說識記成本高體驗差,大多數使用者習慣用手機號、郵箱、 暱稱等作為使用者名稱。因此,在託管型介面裡,透過安全的私鑰生成與管理的體系, 應用層使用者資訊與區塊鏈地址對映,使上層應用和底層區塊鏈平臺都無法觸碰到 使用者的私鑰。

託管型介面使用賬戶中心架構,由鑑權服務(Auth Server)、私鑰保險箱(Data Locker)、區塊鏈賬戶樹(Address)三部分構成,如上圖所示。

鑑權服務 
鑑權服務主要解決第三方應用與賬戶中心的安全問題。透過在互動過程中加 入隨機數和盲簽名技術,增強金鑰安全,降低暴力破解的可能性;同時利用白盒 加密技術強化客戶端的訪問安全。

私鑰保險箱 
私鑰的寫入和讀取在保險箱體系裡以密文的方式傳輸和儲存。使用者與金鑰一 一對應。金鑰在客戶端側生成且客戶端不用儲存,每次需要使用私鑰簽名時,客 戶端能夠透過盲簽名流程得到加密過的私鑰以及解密的金鑰。

區塊鏈賬戶樹 
布比區塊鏈上儲存完整的賬戶樹,每個葉子節點記錄一個賬戶的資產資訊和 身份資訊(可選);每個賬戶可以支撐多維資產的使用。支援多種加解密演算法, 依據不同場景選擇使用。

2. 分散式賬本服務 

布比區塊鏈底層服務由 P2P 組網、分散式賬本、共識服務三部分組成;同 時,為方便應用層理解和對接,在分散式賬本服務適配層抽象出應用元件。(如下圖所示) 

底層架構

· P2P 組網:對等協議(Peer-to-Peer)實現基礎組網和通訊,每個節點維護 一張鄰居列表,實現動態自組織網路;並可與現有的安全防護設施配合使用, 確保商用網路的安全性。 

· 分散式賬本:解決資料格式、資料記錄、資料儲存問題,通俗的說就是“記 什麼賬和如何記賬”。因此分散式賬本設計的好壞決定了區塊鏈底層對外提供服務的能力。

· 共識服務:是區塊鏈的核心,也是區塊鏈與傳統分散式系統的最大區別之處。 它保障底層資料的強一致性的同時,能抵抗“惡意”壞人的影響。布比的共 識服務提供一組抽象的共識介面,用於連線共識演算法和其它 BubiChain 模組。 它負責接受和處理 Transaction,並給出共識結果。共識服務採用開放式框架, 可支撐不同種類的共識演算法,目前布比已經開發 Bubi-BFT 商用共識演算法, 同時支援 PBFT 等共識演算法,可以根據上層應用對效能、安全性、容錯能力 等需求選擇不同的演算法。

應用元件

為方便應用層理解和對接,在分散式賬本適配層抽象出:資產(Asset)、記 錄(Record)、事務(Transaction)、合約(Contract)等各類元件。

· 資產(Asset):支援目前已經數字化的資產,以及未來可以透過資產證券化、 資產數字化的資產。

· 記錄(Record):需要利用區塊鏈增加資訊記錄的真實性和信任的場景,例 如:金融領域的憑證、供應鏈的溯源資訊等。

· 事務(Transaction):與區塊鏈底層互動的原子級操作,一個上層應用可以 對應一個事務,也可以由一組事務共同完成。

· 合約(Contract):提供兩種合約——標準化合約、可程式設計合約。標準化合 約,它主要針對場景相對簡單、標準化程度較高,同時對執行效率有很高要 求的業務需求。例如資產交換時的交易一致性保障、資產交易的掛單與撮合 等。標準化合約可以透過配置生成直接掛在鏈上,無需程式設計,也不用透過虛 擬執行,降低上層應用使用的成本,提升合約執行的效率。為了應對使用者復 雜的業務邏輯,布比也支援使用者自程式設計,並且提供豐富的元件供使用者針對特 定的需求快速構建應用,如加密元件、許可權管理元件等。同時,布比對於通用 的場景如資產、存證提供相應的模板,使用者不需要從頭編寫程式碼,只需要更改模板的關鍵引數,加上自己業務的特性就可以建立成熟的合約應用。 

免責聲明:

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

推荐阅读

;