區塊鏈技術會為金融領域帶來深刻的改變,雖然真正商用尚需解決准入、監管、效能等一系列技術問題,但技術路線清晰,前景光明
目前,區塊鏈技術同金融業務的結合已經成為國內外研究和應用的熱點。為了探索區塊鏈技術同金融業務結合的技術可行性和業務可行性,中鈔信用卡產業發展有限公司(以下簡稱“中鈔”)以設定的票據業務場景,設計研發了基於區塊鏈技術的智慧數字票據系統sdds(smart digital draft system)的概念驗證原型。在sdds的研發過程中,我們主要從技術角度出發,集中探索了加密演算法、p2p網路協議、智慧合約、共識演算法、許可權分級、交易效率、隱私保護和區塊鏈代幣等問題,並針對當前技術的侷限性提出了改進方案。
sdds平臺簡介
票據是依據法律按照規定形式製成的有支付金錢義務的憑證。狹義的票據常特指銀行承兌匯票和商業承兌匯票。sdds在概念驗證原型階段處理的票據僅限於銀行承兌匯票,實現的主要業務包括出票、背書轉讓、貼現、轉貼現和到期兌付等。
sdds採用區塊鏈作為底層賬本的記錄載體,應用智慧合約來制定票據流轉和交易的規則。區塊鏈技術從底層原理上講就是將全網的交易資料打包成一個個區塊並以鏈狀形式儲存的技術。所有的資料塊和所有的交易資料都透過嚴格的密碼學演算法實現前後連結。新的交易被打包到新的區塊中,獲得全網共識後被寫入區塊鏈。因此,sdds中的數字票據具有不易偽造、無法篡改等優點。
引入基於端到端通訊的區塊鏈技術,使得sdds相對傳統中心伺服器網路架構設計有了較大變化。傳統中心化設計通常採用星形結構網路,中心節點失效可能導致全域性失效。為了解決這類問題,通常需要在中心節點做冗餘設計,提高可靠性。在sdds設計中,整個網路中的各節點在關鍵業務上都可以互為備份。同時每家銀行的特有業務、資料仍保留在自有it體系內。
在sdds系統中,區塊鏈扮演了記賬中介的角色,並透過智慧合約承載並執行票據的業務規則。透過整個網路協同工作,一個安全可信的數字票據業務網路由此構成。除監管節點外,網路裡參與記賬的所有節點從技術上看都是完全對等、可以互相替代的,從而實現了非常高的系統可靠性和業務靈活性。
區塊鏈應用實踐分析
sdds原型系統的搭建,進行了一次區塊鏈技術應用於金融業務的基本架構的嘗試。根據協議分層、元件獨立和監管明確的原則,從技術上實現了包括協議層、元件層、服務層、介面層和業務層的“五層體系架構”(見圖1)。
傳統金融業務系統,對接上述系統架構提供的監管、賬本和合約介面,實現與底層區塊鏈的互操作。在sdds中,數字票據業務規則並不是硬編碼在每個節點中,而是以智慧合約的形式部署在鏈上,包括了數字票據合約(用於實現票據資訊儲存業務)和數字票據管理合約(用於實現票據的交易管理)等。
傳統中心化的金融服務往往由各參與方獨立維護私有賬本,實現基於私有賬本的業務邏輯,並與交易對手方或監管方進行賬本核對、交易申請和交易確認等。sdds中只有一個共享的總賬本,並和業務邏輯一起直接架構在區塊鏈和智慧合約上,各參與方實際上只需要(透過區塊鏈服務)訪問網路提交業務申請即可完成業務,無需維護私有賬本,也無需將票據業務邏輯在本地單獨實現。
經過原型論證,sdds鏈上智慧合約在技術和業務上都體現出獨有的創新意義和實用價值。首先,智慧合約成為了資料在鏈上動態流轉的主要載體。智慧合約中結構化資料的儲存,使得鏈上的票據資料具備了儲存及共享的能力,票據中的敏感資訊以加密形式儲存,同時又能被業務授權主體安全的訪問。其次,智慧合約也為金融業務提供了鏈上資料的操作通道。最後,智慧合約提供了許可權管理機制。智慧合約的資料操作受到嚴格控制,智慧合約會根據業務邏輯需要對簽名資訊進行檢查,並由全網所有節點驗證。
區塊鏈使用者身份如何確認是區塊鏈技術在實際的金融業務應用中的一個關鍵問題。在sdds原型中,嘗試引入了結合智慧合約和安全晶片的解決方案來儲存和管理終端客戶的私鑰,企業身份證書被儲存在se裝置(安全模組)中。sdds採用了藍芽手環和藍芽智慧卡等藍芽se裝置的形態。當企業進行開票、申請貼現、背書轉讓等數字票據業務操作時,客戶端提示使用者連線藍芽se裝置進行數字簽名。
這樣的設計在保證區塊鏈安全的同時,還擁有以下優點:一方面,全網身份認證方式的一致性,繞開了銀行間it結構差異的障礙,為實現全網統一的kyc(know your customer)認證提供了技術基礎;另一方面,票據持有者獲得了直接在公開市場進行交易的能力,而不再必須透過接入銀行系統的方式進行操作。這無論對銀行系統減負,還是對於方便使用者獲得更靈活的服務,都提供了技術上的巨大改進空間。
需進一步研究的問題
目前常見的區塊鏈方案普遍採取了節點自由出入的公有鏈模式。與之對應的底層一致性共識演算法普遍採用工作量證明演算法(pow)。pow的優點是完全的去中心化,各節點可以不受預先授權而隨意加入。但缺點是效率低下,共識確認週期較長,無法應用到大多數的商業金融業務。因此區塊鏈技術若要在商業金融服務中應用,必須採用具備許可權分級、效率更高的聯盟鏈模式,共識演算法也不應該採取效率低下的pow演算法。目前區塊鏈的共識演算法還有權益證明演算法(pos)、委託權益證明演算法(dpos)以及實用拜占庭容錯演算法(pbft)等方案。pos和dpos都是與權益證明有關的演算法,前者的主要思想是節點記賬權的獲得難度與節點持有的代幣數量成反比,後者的主要思想是節點選舉若干代理人由代理人驗證並記賬。pbft演算法則採取一個節點一票的方案確定記賬結果。綜合考慮,未來以pbft等演算法為基礎實現聯盟鏈,可以更好地滿足金融業務的安全和效能需求。
效率和容量問題是區塊鏈技術亟待解決的另一個重要問題,也是制約區塊鏈技術在金融領域正式商用的主要問題之一。從儲存容量上講,由於目前區塊鏈儲存普遍採取各記錄和驗證節點無差別地記錄全網全賬戶所有歷史資料的方案,因此各節點需要記錄的資料量巨大並且將高速增長。對應的改進辦法包括輕客戶端和分片技術等方案。
merkle樹是區塊鏈的資料索引技術,通常情況一個區塊頭只儲存包含交易的merkle樹的根雜湊值,區塊內容資料包含具體交易細節。只下載區塊頭的輕客戶端,可以根據交易需求動態,請求任一完整節點提供一個容量有限的merkle樹分支。利用區塊頭記錄的merkle樹,輕客戶端可以輕易地驗證該交易分支的合法性,進而實現業務功能。但是輕客戶端只是解決了部分節點的容量問題,仍然需要大量節點儲存海量完整資料,同時也無法提高交易吞吐量。
區塊鏈分片技術與資料庫分片技術類似,不同的資料被引導儲存到不同的節點,交易也會被引導到不同的節點。由於不同的節點同時處理不同的交易,因此交易的吞吐量可以成倍提高,各分片節點也無需儲存全量資料。分片技術待解決的技術難點主要包括兩個方面:首先是如何決定節點的分片規則,如果規則被惡意利用,51%攻擊很容易降低難度,使得作惡者使用很少的節點即可完成攻擊;其次是不同分片之間的交易如何鎖定和同步。目前已經有相關研究的進展報道,預計不久可以見到初步的解決方案。
總結與展望
sdds的概念驗證原型採用區塊鏈技術,較為完整地實現了符合現有銀行票據產品操作流程的主要業務,並在伺服器端採用了傳統伺服器的部署方案,從程式設計技術、資料庫設計到部署方案,都使用了目前銀行it系統常見的產品和形式。這一方案較好地解決了區塊鏈技術與傳統金融服務的結合問題。同時,我們根據聯盟鏈共識機制,提出了未來聯盟鏈的技術演進方案,給出採取pbft共識演算法和分片處理機制的聯盟鏈解決方案。
區塊鏈分散式統一賬本和智慧合約這兩大核心屬性將帶來無需中介的交易方式、自動執行的交易條款和可信的平臺服務。透過sdds的研發,我們認為,雖然區塊鏈技術存在一些有待解決的問題,但它在應用於數字票據和其他金融服務領域時仍具有明顯的優勢,它不但可以提高系統服務的可用性和可靠性,還可以提供更加靈活的交易方式和更加多元的監管模式,特別是在票據交易、事務處理程式、資金管理、銀行賬簿管理、金融資產清算等領域的應用前景十分廣闊。
作者單位:中鈔信用卡產業發展有限公司,聶舒系公司董事長
來自:中國金融
作者聶舒 張一鋒