◇ 作者:中債金科信息技術有限公司 孫爽 唐華云 賈晨
◇ 本文原載《債券》2024年10月刊
摘 要
本文針對區塊鏈性能瓶頸造成區塊鏈數字債券服務開銷大、效率低的問題,研究鏈上鏈下協同技術,提出面向區塊鏈數字債券應用的鏈上鏈下協同方案。首先構建鏈上鏈下協同的區塊鏈數字債券系統模型,基于模型對債券發行、登記托管、交易結算和存續期業務進行梳理,分析具體的業務場景中傳統應用系統與區塊鏈底層平臺的數據交互和協同處理需求;其次研究主流的鏈上鏈下協同關鍵技術和應用系統;最后提出面向區塊鏈數字債券應用的鏈上鏈下協同方案,并在簿記建檔發行業務中完成對方案的落地實踐。
關鍵詞
區塊鏈 數字債券 鏈上鏈下協同
引言
區塊鏈的性能問題一直被研究人員廣泛討論。一方面,共識機制本身需要大量的消息傳遞和一致性校驗,占用大量通信和計算資源;另一方面,賬本副本存儲對節點的數據空間消耗非常大。在國家區塊鏈創新應用試點項目落地過程中,如何減少區塊鏈數字債券應用系統的存儲、網絡和計算資源消耗,為客戶提供高效靈敏的債券服務,是開發組最重視的問題之一。
為增加應用規模,提升區塊鏈效率,降低節點存儲壓力,研究人員陸續探索各類單鏈擴展技術,如共識算法優化、數據分片等,但是單鏈的優化理論難以同時滿足海量文件存儲、復雜計算邏輯和強安全的應用需求。在此背景下,工程領域提出鏈上鏈下協同的技術概念:鏈上(On-chain)為發生在區塊鏈網絡中的活動,如交易、共識、智能合約執行;鏈下(Off-chain)為發生在區塊鏈外的活動,如業務邏輯處理、數據存儲;協同則是指通過數據的交互和協作處理,實現鏈上鏈下能效互補,完成資源的最優調配。中國工程院院士陳純認為,在區塊鏈技術全面應用于各行業領域的今天,鏈上鏈下協同技術將成為區塊鏈技術未來幾年的重點研究方向和支撐區塊鏈架構落地的重要方法。
設計鏈上鏈下協同的區塊鏈應用系統,關鍵在于對具體的業務流程進行分拆,將核心的多方協作業務放在鏈上完成,其他的非全局性的、不需要多方共識、體量大的數據和計算還是依托傳統系統處理、傳輸和存儲。這樣可以在不需要改變原有數據結構和管理模式的前提下,緩解區塊鏈的計算、通信和存儲壓力。Mor R S等(2020)提出利用區塊鏈改造“舊系統”的思想,實現分布式的算力合并;王茜等(2023)針對政務材料分布式存儲系統,設計鏈上鏈下協同的文件存儲技術體系,利用區塊鏈實現部門間的材料可信共享,提升區塊鏈海量數據處理能力。
然而,區塊鏈外的數據通常會實時更新,網絡延遲容易造成每個智能合約執行節點獲取的數據有差別,導致最終執行結果不一致。為解決上述問題,研究人員嘗試將預言機、可信執行環境、零知識證明等技術應用到鏈上鏈下協同的數據交互流程中,確保輸入合約參數和上鏈信息的可信性。按照實際業務類型,鏈上鏈下協同的系統分為文件存儲、數據處理和可信計算三類。
本文首先介紹鏈上鏈下協同的區塊鏈數字債券系統模型的構建,并基于該模型對債券發行、登記托管、交易結算和存續期業務進行梳理,在具體的業務場景中分析傳統應用系統與區塊鏈底層平臺的數據交互和協同處理需求;其次研究主流的鏈上鏈下協同關鍵技術和應用系統;最后提出面向區塊鏈數字債券應用的鏈上鏈下協同方案,在簿記建檔發行業務中完成對方案的落地實踐。
鏈上鏈下協同的區塊鏈數字債券系統模型
鏈上鏈下協同的區塊鏈數字債券系統模型如圖1所示,中間虛線分割了區塊鏈底層平臺和傳統的債券業務系統,平臺和系統間的數據交互由智能合約實現。傳統應用系統負責邏輯校驗、文件存儲、復雜計算,區塊鏈底層平臺負責存儲關鍵的過程數據,保證服務的可信性。
針對鏈上鏈下協同的區塊鏈數字債券系統模型,本文從對接的傳統應用系統、交互數據和協同處理三個方面,分析在債券發行、登記托管、交易結算、存續期業務中區塊鏈底層平臺與傳統應用系統的協同需求。
如表1所示,傳統應用系統包括債券信息自助披露系統、中國債券信息網、生產系統、支付系統、數字支付系統、傳統登記系統、中債綜合業務系統、交易前臺和金融機構系統。交互數據包括募集文件、發行結果文件、發行人的信息披露文件、發行定價相關材料、分銷繳款到賬確認書和各種指令。按傳統應用系統中處理的指令,協同處理分為審核和校驗兩類。對體量較大的文件類數據,只在區塊鏈底層平臺中存證,對體量不大的指令類數據,可在區塊鏈底層平臺中存儲原文。
關鍵技術
(一)預言機(Oracle)
區塊鏈作為基于共識的分布式網絡,只支持確定性的虛擬機,這限制區塊鏈不能主動地獲取外部數據,特別是更新頻率高的互聯網數據。預言機是連接區塊鏈和外部數據的第三方服務,負責驗證數據的真實性和完整性,從而為智能合約提供可信的輸入參數。按照預言機部署方式劃分,可分為中心化預言機和分布式預言機兩類。中心化預言機通常使用可信執行環境證明數據的可信性,分布式預言機主要基于投票策略和聲譽模型來確保數據的真實和完整。當前主流的預言機項目眾多,中心化預言機(Provable)、可驗證數據供給系統(Town Crier)是一種中心化的預言機服務,基于可信執行環境(Trust Execution Environment,TEE)構建信任機制;去中心化的預言機網絡(ChainLink)是分布式預言機服務,具有極高的兼容性,所有配置的預言機網絡都可以同時并行;聯盟鏈可信預言機(Truora)是面向聯盟鏈的開源預言機方案,支持中心化和非中心化兩種模式。
(二)可信執行環境
可信執行環境是芯片廠商在中央處理器(CPU)內核里嵌入一塊安全空間,同時引入監督(Moniter)機制支持CPU在安全模式和普通模式間切換,分時處理各系統傳輸的請求。為了保證數據在總線上的傳輸安全,在產生數據時,會為在安全模式中處理的數據添加安全標記,并規定普通模式下的核心線程1只能訪問非安全的數據資源。在金融領域,2017年12月,中國人民銀行發布了《移動終端支付可信環境技術規范》,規定了移動終端支付領域的可信環境的整體框架、可信執行環境、通信安全、數據安全、客戶端支付應用等主要內容。
(三)零知識證明(ZKP)
零知識證明是現代密碼學的基本理論之一,其核心思想是證明者在不透露任何信息的情況下,讓驗證者相信某個證明的真實性,這種模式既支持信息接收方判斷的基本權力,也不會泄露信息本身內容。隨著算法效率的提高,零知識證明在區塊鏈領域得到了充分的應用,改進了區塊鏈的弱隱私的缺陷,使得區塊鏈的技術先進性越發顯著。
鏈上鏈下協同的應用系統
根據處理業務類型的不同,可將鏈上鏈下協同的系統分為鏈上鏈下協同的文件存儲系統、鏈上鏈下協同的數據處理系統和鏈上鏈下協同的可信計算系統三大類。
(一)鏈上鏈下協同的文件存儲系統
文件一般指圖像、視頻、文本等數據類型,上傳到區塊鏈可以保證文件在共享過程中沒有被篡改,但由于文件數據的體量較大、訪問頻率高,會增加區塊鏈的存儲開銷,如信息披露文件。鏈上鏈下協同的文件系統充分結合文件共享的局部、點對點特性,將文件存儲在服務器、星際文件系統(IPFS)等專業海量文件存儲設備中,然后將文件的哈希計算結果2、文件擁有者簽名、文件檢索路徑(URL)上傳到區塊鏈。當用戶訪問某個文件時,首先需要根據檢索值,獲取對應文件的哈希值1和檢索路徑,其次根據檢索路徑獲得文件,并驗證文件的簽名、計算獲取的文件的哈希值2,最后對比哈希值1和哈希值2是否相等,以此判斷文件的真實性和完整性。
(二)鏈上鏈下協同的數據處理系統
由于區塊鏈的分布式特性,復雜的處理邏輯并不適合以智能合約的形式實現,如加解密算法、配售計算。鏈上鏈下協同的數據處理系統,則是把重要且需核心控制的業務邏輯拆解到鏈下中心服務器中執行,在完成處理后,中心服務器把執行結果和結果簽名以鍵值對(key-value)的形式存儲在區塊鏈賬本上。當用戶訪問某個處理結果時,首先根據檢索值查詢到結果和結果簽名,然后驗證簽名,通過中心服務器的可信性,判斷執行結果是否真實。若對中心服務器產生疑問,可自行執行復雜邏輯處理,驗證結果的真實性。
(三)鏈上鏈下協同的可信計算系統
鏈上鏈下協同的可信計算系統是針對可信性要求較高的密集計算,引入相應的可信執行環境、零知識證明技術支持區塊鏈用戶驗證鏈上計算結果的正確性。具體而言,鏈下計算在可信執行環境中完成,并對計算結果生成相應的零知識證明,執行完相應計算后,可信執行環境把計算結果和證明以鍵值對的形式存儲在區塊鏈賬本上。當用戶訪問某個計算結果時,首先根據檢索值查詢到結果和零知識證明,然后驗證判斷計算結果是否正確。
面向數字債券應用的鏈上鏈下協同方案
面向數字債券應用的鏈上鏈下協同方案架構如圖2所示,由統一客戶框架(Unified Capacity Framwork,UCF)、應用后端、區塊鏈前端、區塊鏈后端組成。此架構中,我們把UCF端、應用后端劃分為“鏈下”應用系統,區塊鏈端的組件共同構成底層區塊鏈平臺。
指令處理流程是自頂向下的。UCF端接收用戶的請求,并把請求發送到應用后端,應用后端對請求進行處理后在應用數據中存儲相關數據。如果設計與區塊鏈的數據交互,則應用后端繼續轉發處理結果到區塊鏈前置軟件開發工具包(Software Development Kit,SDK),SDK調用對應的智能合約完成區塊鏈數據讀寫。
在實踐中,中央結算公司依托國家區塊鏈創新應用試點項目,考慮應用鏈上鏈下協同技術,將區塊鏈簿記建檔發行系統中的信息披露文件存儲、配售計算、加密處理業務分別遷移到“鏈下”完成。
(一)信息披露文件服務
信息披露文件服務旨在實現鏈上鏈下協同的信息披露文件存儲和共享。通過區塊鏈底層平臺連接債券信息自助披露系統和中國債券信息網,完成平臺和應用系統間的文件可信傳輸。如圖3所示,基于鏈上鏈下協同的文件存儲系統設計思路,UCF客戶端把收到的信息披露文件發送給債券信息自助披露系統后端進行審核,系統后端將審核通過的文件存儲到應用數據庫,同時轉發給區塊鏈前置SDK,區塊鏈前置SDK計算信息披露文件的摘要,并調用信披文件存證上鏈智能合約,把哈希結果存儲到區塊鏈賬本。區塊鏈前置SDK采用事件監聽機制,將成功上鏈的信息披露文件推送到中國債券信息網。
(二)配售計算服務
配售計算服務旨在實現鏈上鏈下協同的配售處理和存儲,支持區塊鏈底層平臺和簿記建檔發行應用系統間的數據處理。如圖4所示,基于鏈上鏈下協同的數據處理系統的設計思路,UCF中心端把配售計算指令發送給簿記建檔發行系統后端,系統后端檢索應用數據庫中的申購明細完成配售處理,并將配售結果轉發給區塊鏈前置SDK,區塊鏈前置SDK調用配售結果存儲上鏈智能合約,把配售明細存儲到區塊鏈賬本中。
(三)密碼算法服務
密碼算法服務旨在實現鏈上鏈下協同的敏感債券業務數據加密存儲和共享,支持區塊鏈底層平臺和應用系統間的數據可信計算。如圖5所示,基于鏈上鏈下協同的可信計算系統的設計思路,UCF端把敏感債券業務數據發送給應用系統后端,應用系統后端校驗業務數據的合法性,把合法的數據傳遞給區塊鏈前置SDK,區塊鏈前置SDK加密相關數據字段,并調用數據密文存儲上鏈智能合約,把數據密文存儲到區塊鏈賬本中。
注:
1.核心線程是指CPU的核心數量和線程數。
2.哈希就是把任意長度的輸入,通過散列算法,變換成固定長度的輸出,該輸出就是哈希計算結果。
參考文獻
[1] 陳純. 區塊鏈與工業互聯網可深度融合[J]. 當代縣域經濟,2019(12).
[2] 孫舟,祝秀山,劉祥路,等. 基于門限簽名的分布式預言機鏈下共識方案[J]. 計算機工程與設計,2023,44(1).
[3] 王茜,朱俊偉,張曉東. 鏈上鏈下數據協同下的政務材料共享設計實現[J].計算機工程與應用,2023,59(20).
[4] 張開翔. 一文說清“鏈上”和“鏈下”[EB/OL]. (2021-11-16)[2022-12-16]. https://mp.weixin.qq.com/s/iflK0orFkrv6mQtNyCYcMg.
[5] MOR R S, BHARDWAJ A, SINGH S, et al. Exploring the factors affecting supply chain performance in dairy industry using exploratory factor analysis technique[J]. International Journal of Industrial and Systems Engineering, 2020, 36(2).
責任編輯:趙思遠
VIP課程推薦
APP專享直播
熱門推薦
收起24小時滾動播報最新的財經資訊和視頻,更多粉絲福利掃描二維碼關注(sinafinance)