段友德
摘要:區塊鏈的蓬勃發展給票據交易帶來了全新的技術途徑,區塊鏈的優點彌補了電子票據的不足,隨著智能合約的發展成熟區塊鏈數字票據呼之欲出,但也面臨著清算、高并發、黑客攻擊的問題,本文就是對這3個問題進行討論,并提出了一些解決方法。
關鍵詞:區塊鏈;數字票據;智能合約
中圖分類號:TP319 文獻標識碼:A 文章編號:1007-9416(2018)09-0221-03
區塊鏈是分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式。所謂共識機制是區塊鏈系統中實現不同節點之間建立信任、獲取權益的數學算法。區塊鏈(Blockchain)是比特幣的一個重要概念,它本質上是一個去中介化的數據庫,同時作為比特幣的底層技術。區塊鏈是一串使用密碼學方法相關聯產生的數據塊,每一個數據塊中包含了一次比特幣網絡交易的信息,用于驗證其信息的有效性(防偽)和生成下一個區塊。
區塊鏈技術在比特幣上的成功已經證明了可編程數字貨幣的可行性。近年來國內票據行業飛速發展,已經從傳統的紙質票據時代來到了電子票據時代;電子票據存在著中心化總分重復記賬、流通局限性、安全監管等一系列問題,區塊鏈作為一種新技術,有分布式賬本、去中心化、集體維護、信息不可篡改等優點可以彌補電子票據的缺點,如果將區塊鏈技術很好的運用到票據業務當中,制定相應的法律法規,建立符合中國票據市場需求的數字票據,必然會提高資源利用效率,促進經濟和社會的發展。在票據市場,基于區塊鏈技術實現的數字票據能夠成為一種更安全、更智能、更便捷的票據形態。借助區塊鏈實現的點對點交易能夠打破票據中介的現有功能,實現票據價值傳遞的去中介化;基于區塊鏈的信息不可篡改性,票據一旦交易完成,將不會存在賴賬現象,從而避免“一票多賣”、打款背書不同步等行為,有效防范票據市場風險。基于區塊鏈數據前后相連構成的時間戳,其完全透明的數據管理體系提供了可信任的追溯途徑,可有效降低監管的審計成本。
國內對區塊鏈與票據結合的研究層出不窮,隨著區塊鏈技術的發展成熟,以區塊鏈為基礎構建的數字票據已經具備發展條件,2017年年初中國人民銀行(以下簡稱央行)推動的基于區塊鏈的數字票據交易平臺測試成功;預示著區塊鏈數字票據進入實現階段;國內的各大領域都開始紛紛研究并逐漸開始在多個領域運用區塊鏈技術。值得注意的是票據市場具有強流通性、交易量大、靈活兌付、參與者眾多、風險易于控制等特點;數字票據怎么清算?區塊鏈如何支撐高并發的海量票據交易?在一個公開的網絡環境進行可靠的票據交易,如何防止黑客攻擊?這是區塊鏈數字票據面臨的3個重要問題;如果不能很好的解決這些問題,勢必影響到區塊鏈在票據中的應用和發展。下面就對這3個問題進行討論:
問題一:數字票據的清算問題。
票據是在貨幣或商品流動中為體現債權、債務的發生、轉移和償付而使用的一種信用工具,其本身不具有清算功能,必須借助銀行或者數字貨幣進行清算。如果像比特幣那樣進行下線清算,將大大減弱區塊鏈在票據中的優勢,怎么實現在票據交易的同時進行線上清算?怎么打通與銀行系統的清算通道,打造方便快捷的數字票據交易場景,是區塊鏈數字票據面臨的基本問題。區塊鏈中的智能合約,是一個能夠自動執行合約條款的計算機化程序,一個預先編好的程序代碼,從外部獲得的數據信息來識別并判斷,當程序設定的條件滿足時,隨即觸發系統自動執行相應的合約條款,以此完成交易和智能資產的轉移。如果能夠在票據區塊鏈中利用智能合約,票據承兌和貼現時將交易付款條件進行設定,比如計算付款日期與當前日期時間間隔,設定一個倒計時時鐘,等到倒計時為0時,即觸發自動付款清算;目前來說,清算的方式主要有2種:第一種是數字貨幣清算,第二種是票交所清算。
1 數字貨幣清算
側鏈技術(Pegged Sidechains)是允許開發者把新的側塊鏈和主塊鏈“鏈接”起來的一種交互協議,實現數字資產能夠從一個區塊向另一個區塊轉移,通過側鏈技術開發的元素鏈(Elements)中,用戶可以發行其存款、債券等任何資產,并創建無需信任的交易所、期權和其他高級智能合約。央行數字貨幣與數字票據都是基于區塊鏈技術構建的,使用側鏈技術以票據鏈為主塊鏈,貨幣鏈為側鏈并寫入智能合約,實現主側雙鏈的聯動,在票據承兌和貼現的同時,將付款地址、金額、日期、收款地址等信息寫入智能合約,等到付款條件滿足立即由票據主鏈智能合約觸發貨幣側鏈進行清算,將對應地址的加密數字貨幣轉移到收款人的地址賬戶,無需人工干預;一旦廣播全部獲得51%以上節點的確認,票據鏈和貨幣鏈產生新的區塊數據,交易將永久寫入數據區,所有權和清算同時完成。這種利用側鏈技術和智能合約的線上清算方式的優點是:方便、快捷,是數字票據首選的清算方式;缺點是:依賴于數字貨幣的發展成熟,需要設計安全可靠的交易確認機制;企業需要徹底摒棄原有中心化系統、難度較大。
2 票交所清算
票交所是票據市場基礎設施,是央行指定的提供票據交易、登記托管、清算結算和信息服務的機構,同時承擔著央行貨幣政策再貼現操作平臺等政策職能。票交所的建立實現了票據報價交易、登記托管、清算結算、數據信息的集中統一。在進行數字票據交易之前交易主體都必須在票交所開立清算賬戶,在數字票據交易中將付款人清算賬戶、金額、日期、收款人清算賬戶等信息寫入智能合約,等到付款條件滿足時,通過統一編程接口向票交所發送清算指令,還可以設計在承兌時票交所存入保證金,到期了自動發送保證金解付指令,這就需要數字票據系統與票交所清算系統進行開發、測試及協同處理,票交所系統需要滿足以下條件:首先要支持7*24小時隨時清算;其次需要保證到期付款必須成功(不能發生余額不足、清算賬戶無效等異常情況);最后是否能實現電子票據與數字票據的融合交易(即實現電子票據在數字票據區塊鏈中貼現,這有利于電子票據過渡到數字票據)是一個值得研究的問題。票交所清算優點是:打通了電子票據與數字貨幣的通道,隨著票交所紙電融合的完成,每家交易單位都在票交所有唯一的清算賬戶,將此賬戶與數字票據區塊鏈中的交易進行綁定,即可實現數字票據的清算;現有系統能得到延用,升級成本低、實施難度相對較低,企業更容易接受。缺點是:需要保證賬戶的有效性以及賬戶余額足夠,怎么樣保證票據所有權轉讓與清算的一致性是有待解決問題,需要進一步研究論證。這種方式依賴于中心化的票交所清算,區塊鏈的優點將會有所縮減。
問題二:區塊鏈如何支撐高并發的海量票據交易。
區塊鏈技術對各分布參與結點的計算資源和存儲資源要求高,交易廣播對網絡壓力大。目前比特幣區塊鏈現在能達到7筆每秒,它的響應時間是10分鐘,這是一個平均的時間;最大的區塊鏈比特幣網絡的日均交易量約為20萬筆,總賬存儲容量50G,并且已經出現一筆交易要十個小時以上才能確認的情況。票據交易量非常大,對網絡、硬盤、CPU的要求也會越高,每個交易都需要廣播到網絡,并得到51%節點的支持才能打包成數據區塊加入到聯盟鏈,每個交易都必須包括必要的信息,比如:承兌人、出票人、到期日、金額、公鑰等信息,這些都會增加交易區塊的大小及傳播速率;2018年上半年,票據承兌筆數998.66萬筆、日均5.47萬筆,票據貼現筆數189.46萬筆、日均1.04萬筆,交易數據的膨脹勢必延長票據交易的確認時間,對承兌、貼現業務實時確認帶來很大影響,怎樣構建讓所有節點都能快速有效交易的網絡?多大網絡帶寬才能支持如此多的高并發交易?都是需要在長期的實踐中才能得到準確答案的;下面從3個方面討論:
首先:硬件方面升級網絡、擴大磁盤容量、提升磁盤速度、提高CPU處理數據等等可以有效支撐交易節點的運行。同時企業很多節點都部署在云服務器上,隨著國內外云計算的不斷發展,能根據交易規模動態增加硬件資源實現資源分配的彈性伸縮。數字票據交易確認需要廣播全部節點,得到51%節點的確認才算成功,每筆交易都需要廣播全網,這就大大增加了網絡的開銷。硬件網絡的升級、云計算的發展能否解決廣播網絡的開銷問題有待檢驗。
其次:區塊鏈技術不斷發展與研究,催生出了大量的新技術;比如閃電網絡等。閃電網絡(lightning-network)是通過設置巧妙的智能合約,再利用哈希算法鎖定智能合約,確保安全交易確認,提供了一個可擴展的微支付通道網絡。具體來看,交易雙方若在區塊鏈上預先設有支付通道,就可以多次、高頻、雙向通過軋差方式實現瞬間確認的微支付;若無直接點對點支付通道,只要網絡中存在一條連通雙方的、由多個支付通道構成的支付路徑,就可實現資金可靠轉移。如果能很好的設計區塊結構、交易算法、操作模式將會大大降低網絡交互、本地存儲、交易確認時間。
最后:局部中心化;一個比特幣錢包使用前要先下載總賬,使用普通計算機下載需要幾天時間。如果將比特幣模式應用于金融領域或者其他大交易量的領域,系統壓力和帶寬占用將會耗費極大的資源,對資源的需求甚至難以估計。用交易中心來進行票據交易,交易中心保存完整的交易歷史數據,本地客戶端只需要下載很少的信息就可以完成票據交易。這將使去中心化的區塊鏈解決方案走向局部中心化。
隨著硬件網絡及云計算不斷發展、區塊鏈技術不斷創新成熟,未來支持更復雜、更大數量級的應用將成為可能,局部中心化交易方案也可以在一定程度上滿足數字票據交易的性能要求,高并發、高可靠性不是一撮而就的,與票據交易的復雜性有關,設計良好的系統能大大減少交易時間、提高吞吐量。
問題三:如何防止黑客攻擊。
據Carbon Black的調查數據,2018年上半年,有價值約11億美元的數字加密貨幣被盜,在全球范圍內因區塊鏈安全事件損失金額還在不斷攀升。黑客可以從應用服務層、中間協議層、基礎網絡三方面對區塊鏈進行攻擊。由于區塊鏈構建于開放式網絡的基礎之上,任何人都可以訪問,部分代碼都是公開的,在編程式網絡環境下,通過代碼分析一旦黑客發現代碼漏洞,便可以從底層攻擊整個系統,使整個基于區塊鏈的票據系統瞬間崩潰,數據遭到破壞或盜竊。比如攻擊者可通過編寫惡意代碼讓虛擬機去解析執行,最終導致棧的深度超過虛擬機允許的最大深度,或不斷占用系統內存導致內存溢出。再如以太坊短地址漏洞:由于EVM并沒有嚴格校驗地址的位數,并且還擅自自動補充消失的位數,使得合約多發送很多代幣出來。數字加密貨幣被黑客一次次的攻擊成功,預示著同樣以區塊鏈技術為基礎的數字票據將面臨類似的安全攻擊,如何保證在公開的網絡環境下進行可靠的票據交易?是票據區塊鏈面臨的一個重大且不可忽視的問題。
一般來說,區塊鏈系統由數據層、網絡層、共識層、激勵層、合約層和業務服務層組成。不同層都會有不同的黑客攻擊方式;票據區塊鏈主要面臨數據層、網絡層、共識層、合約層、業務服務層攻擊的風險; 數據層的區塊數據存在惡意信息攻擊、資源濫用攻擊的風險,簽名與加密方式存在窮舉攻擊、碰撞攻擊、長度擴展攻擊、量子攻擊的風險;網絡層的P2P網絡存在日食攻擊、竊聽攻擊、BGP劫持攻擊、分割攻擊、延遲攻擊的風險,廣播機制存在雙重支出攻擊、交易延展性攻擊的風險,驗證機制存在驗證繞過的風險;共識層存在短距離攻擊、長距離攻擊、預計算攻擊、女巫攻擊的風險;合約層的合約虛擬機存在逃逸漏洞、邏輯漏洞、堆棧溢出漏洞、資源濫用漏洞,智能合約存在可重入攻擊、調用深度攻擊、交易順序依賴攻擊、時間戳依賴攻擊、誤操作異常攻擊、整數溢出攻擊的風險;業務層的交易平臺網絡帶寬存在DDoS攻擊的風險,賬戶體系存在撞庫攻擊、窮舉攻擊、單點登陸漏洞、oAuth協議漏洞的風險,支付體系存在修改支付價格、數量、越權支付漏洞的風險,業務邏輯存在越權漏洞、驗證碼漏洞、條件競爭漏洞、認證漏洞的風險;交易所賬戶存在釣魚攻擊、中間人劫持攻擊、木馬劫持攻擊的風險,交易所API存在關鍵Key&Token;竊取的風險。
在基于區塊鏈的票據交易中,可以使用智能合約進行承兌、貼現、轉貼現、到期托收,智能合約是一種旨在以信息化方式傳播、驗證或執行合同的計算機協議。智能合約允許在沒有第三方的情況下進行可信交易。這些交易可追蹤且不可逆轉。智能合約本質上是一份代碼程序,難免會有因為考慮不周的導致出現漏洞的情況,所以在發布一份智能合約之前,進行大量的模糊測試與白盒審計是必不可少的。智能合約面臨如下風險:可重入攻擊、調用深度攻擊、交易順序依賴攻擊、時間戳依賴攻擊、誤操作異常攻擊、整數溢出攻擊。2018年4月,BeautyChain(BEC)智能合約中出現了一個災難性的漏洞(整形溢出漏洞),導致市場上海量BEC被拋售,該數字貨幣價值幾近歸零,給BEC市場交易帶來了毀滅性打擊;損失約10億美元。
根據票據交易的特點,黑客主要的攻擊方式有:交易所DDOS攻擊、DNS劫持、鏈分叉。在遭受DDOS攻擊后可能導致網絡中部分節點網絡癱瘓,節點癱瘓意味著鏈中總算力受損,使得其更容易遭受51%攻擊。黑客通過交易延展性攻擊(利用交易簽名算法的特征修改原交易中的input 簽名, 生成擁有一樣input和output的新交易,然后廣播到網絡中形成雙花)可能導致票據交易二次付款。
怎么防止黑客對票據區塊鏈的攻擊呢?根據票據交易的實際情況來使用有效的安全策略,是保證數字票據長期發展的保證。首先:可以借鑒目前比特幣、以太坊等數字貨幣發展的實際經驗,最大限度的防止已有風險的發生;其次:選擇更安全的技術來構建票據鏈;逐步發展逐步完善,現在小范圍試點,技術成熟后再進行全國推廣;最后:結合我國票據交易的特點,制定相關法規與制度,比如:進行實名制認證等,可以有效減少惡意用戶的攻擊。
3 結語
一個龐大的數字票據系統不可能一天完成,需要不斷完善升級已滿足票據交易安全、快速、高并發等要求,隨著區塊鏈的不斷發展完成,相信數字票據也會在不久的未來得到發展、普及。如果以上3個重要問題能得到有效解決,將會極大推動數字票據的發展。
參考文獻
[1]上海金融學會票據專業委員 會課題組.區塊鏈技術如何運用在 票據領域[N].上海證券報,2016,(04):23.
[2]孫玥璠,辛雪雯,張成成.基于區塊鏈技術的數字票據應用[J].財務與會計,2018,(01):54-56.
[3]區塊鏈票據研究小組 基于區塊鏈構建數字票據的研究 中國經濟網.
[4]林曉軒.區塊鏈技術在金融業的應用[J].中國金融,2016,(08):17-18.
[5]蔡釗.區塊鏈技術及其在金融行業的應用初探[J].中國金融電腦,2016,(02):30-34.
[6]白帽匯安全研究院 區塊鏈產業安全分析報告 2018區塊鏈安全高峰論壇.