黃建平,楊少杰,余 建,陳 浩
(1.國網(wǎng)浙江省電力有限公司,浙江杭州 310007;2.浙江華云信息科技有限公司,浙江 杭州 310000)
供應(yīng)鏈金融是指銀行將核心企業(yè)及其上下游企業(yè)進行資金物流統(tǒng)一管理的一種金融服務(wù)[1]。通過供應(yīng)鏈金融,銀行可以立體地獲取鏈條中企業(yè)的信用信息,進而將放貸風(fēng)險降至最低。供應(yīng)鏈金融對國家經(jīng)濟的發(fā)展具有關(guān)鍵作用,因此其平臺開發(fā)也成為了熱點研究課題。
現(xiàn)代供應(yīng)鏈金融的特點是復(fù)雜化、位置分散化和零散化,供應(yīng)鏈結(jié)構(gòu)復(fù)雜且參與企業(yè)眾多,信息的共享與數(shù)據(jù)傳遞的及時性均會受到一定影響。傳統(tǒng)的供應(yīng)鏈平臺為中心化設(shè)計思想,是指用戶先將數(shù)據(jù)上傳至數(shù)據(jù)中心,然后再由數(shù)據(jù)中心向其他用戶發(fā)送信息。但這種模式已無法適應(yīng)現(xiàn)代的供應(yīng)鏈金融管理,且數(shù)據(jù)容易丟失,也易被非法篡改。相比傳統(tǒng)技術(shù)的各種限制,區(qū)塊鏈具有去中心化的特點且數(shù)據(jù)不可被修改,可由多方對其進行維護,同時便于數(shù)據(jù)溯源[2]。這種特性與供應(yīng)鏈金融對于信息共享性和數(shù)據(jù)安全性的需求相互契合,因此將區(qū)塊鏈相關(guān)技術(shù)應(yīng)用至供應(yīng)鏈數(shù)據(jù)平臺可以提升供應(yīng)鏈整體的運行效率,也可保證數(shù)據(jù)的安全。
當前,供應(yīng)鏈金融平臺的設(shè)計和管理是研究機構(gòu)的熱門課題。如文獻[3]使用模糊評價算法對供應(yīng)鏈金融平臺中存在的信用風(fēng)險進行評估,其是對供應(yīng)鏈中難以估計的變量確定化,進而對變量進行分析。文獻[4]使用BP 神經(jīng)網(wǎng)絡(luò)對平臺數(shù)據(jù)進行研究,進而對金融數(shù)據(jù)的風(fēng)險性進行評估。可以看到,傳統(tǒng)的供應(yīng)鏈金融平臺依舊使用中心化的數(shù)據(jù)中心進行構(gòu)建,其平臺結(jié)構(gòu)如圖1 所示。供應(yīng)鏈金融業(yè)務(wù)的具體瓶頸主要體現(xiàn)在三方面:企業(yè)信息不對稱、業(yè)務(wù)風(fēng)險高以及共享式發(fā)展滯后。

圖1 供應(yīng)鏈金融平臺結(jié)構(gòu)
區(qū)塊鏈技術(shù)可以幫助金融機構(gòu)打破傳統(tǒng)供應(yīng)鏈金融平臺的瓶頸,許多學(xué)者進行了深入的研究。文獻[5]認為區(qū)塊鏈技術(shù)的開放性、共享性以及去中心化等諸多特點,對打破傳統(tǒng)金融平臺瓶頸具有重要的意義。文獻[6]基于區(qū)塊鏈技術(shù)構(gòu)建了基礎(chǔ)供應(yīng)鏈金融平臺,該平臺使用以太坊作為區(qū)塊鏈平臺,使用默認的PoW 共識機制算法提高數(shù)據(jù)傳輸?shù)乃俾省N墨I[7]結(jié)合區(qū)塊鏈、簽名認證和分層錢包技術(shù)設(shè)計了一套供應(yīng)鏈管控與溯源系統(tǒng),該系統(tǒng)具有交易回溯特性,相較傳統(tǒng)供應(yīng)鏈平臺交易更加安全。
由此可見,當前使用區(qū)塊鏈技術(shù)的供應(yīng)鏈金融平臺對傳統(tǒng)平臺的改進有以下幾個方面:
1)使用簽名認證算法保證用戶的匿名性,從而使用戶隱私得到良好保障。
2)使用區(qū)塊鏈中的數(shù)據(jù)加密算法,可以保證區(qū)塊鏈金融平臺交易時的安全性。
3)使用共識機制對數(shù)據(jù)進行傳輸和存儲,由此可以加快數(shù)據(jù)的交換速率,提高系統(tǒng)的整體運行效率。
因此,該文基于區(qū)塊鏈技術(shù)對傳統(tǒng)供應(yīng)鏈金融數(shù)據(jù)平臺進行改進,數(shù)據(jù)傳輸過程使用加密算法對數(shù)據(jù)進行保護;使用匿名保護算法對用戶的隱私進行保護;使用共識機制算法加快平臺運行速率同時節(jié)省算力,旨在可以解決傳統(tǒng)供應(yīng)鏈金融平臺的瓶頸問題。
區(qū)塊鏈平臺的特點是去中心化、無法篡改、匿名性、開放性和跨平臺性等,因此區(qū)塊鏈技術(shù)與供應(yīng)鏈平臺特性較為吻合。使用區(qū)塊鏈技術(shù)的供應(yīng)鏈平臺需要滿足以下幾個需求:
1)數(shù)據(jù)加密解密算法高效性:在供應(yīng)鏈平臺中,數(shù)據(jù)安全是其最為重要的機制之一。加密算法復(fù)雜且安全性高,但由此也會增加解密時間,進而降低整個平臺的工作效率。因此,需要選擇性能和安全性兼?zhèn)涞募用芙饷芩惴ā?/p>
2)匿名機制:區(qū)塊鏈重要的特性即匿名性,用戶上傳數(shù)據(jù)時用到的數(shù)據(jù)簽名包含用戶個人信息,因此需要對數(shù)字簽名進行匿名以保護用戶隱私,同時數(shù)字簽名也可確保用戶的真實性。
3)共識機制的選擇:是指用戶在平臺完成交易時數(shù)據(jù)交換的速率。在用戶上傳數(shù)據(jù)時共識機制會制造區(qū)塊,進而將用戶的數(shù)據(jù)保存至區(qū)塊中,共識機制效率越高,用戶完成交易的速率則越快。
通常區(qū)塊鏈的加密算法使用混合算法,該文將RSA 算法與AES 算法進行結(jié)合。RSA 算法也被稱為非對稱加密算法[8-9],使用該算法可以防止數(shù)據(jù)傳輸過程中的密鑰泄露,但由于采用了非對稱結(jié)構(gòu),所以算法的數(shù)據(jù)分組較多且計算緩慢。而AES 算法[10-11]為對稱加密算法,也被稱為快速加密解密算法,使用RSA+AES 混合算法在保證密鑰安全的同時也可提高加密解密的速率。
RSA 算法加密的過程首先選取獨立且不相同的質(zhì)數(shù)p和q,計算質(zhì)數(shù)的乘積n,如式(1)所示:

乘積n代表密鑰的長度,通常情況下n取二進制位長度1 024。
計算密鑰長度n的歐拉函數(shù),如式(2)所示:

取一整數(shù)e,其取值范圍為(1,φ(n)),且整數(shù)e和φ(n)互為質(zhì)數(shù)。然后計算e對于φ(n)的取模,求反因子d,即有式(3):

則e的逆元素和d的關(guān)系如式(4)所示:

綜上所述,即可設(shè)置公共密鑰為(e,n),私有密鑰為(d,n)。
而AES加密方式較為簡單,加密流程如圖2所示。

圖2 AES加密流程
如圖2 所示,明文為P,密鑰為K,密文為C。發(fā)送方使用密鑰K 對明文P 進行加密,密文C 通過網(wǎng)絡(luò)傳輸至接收方后使用AES 解密函數(shù)得到明文P。
基于AES 和RSA 的混合加密流程,如圖3 所示。圖中,發(fā)送方的AES 密鑰會進行自動設(shè)置,設(shè)置后再設(shè)定更新時間,當達到更新時間后,AES 密鑰會自動失去作用并生成新的AES 密鑰,不斷更新的密鑰即使泄露也無法對數(shù)據(jù)造成威脅,因此大幅增強了數(shù)據(jù)的安全性。

圖3 混合算法加密流程
該文使用匿名保護算法對區(qū)塊鏈中的用戶隱私進行保護。算法設(shè)計采用環(huán)簽名算法,該算法是群簽名算法[12-13],操作過程是使用多個公鑰集合對自身的私鑰進行簽名,用戶的私鑰在同一個系統(tǒng)中與其他用戶的公鑰進行簽名,這樣簽名時既可確認用戶是系統(tǒng)中的真實用戶,同時又保證了用戶的匿名性。環(huán)簽名算法的流程如下:
供應(yīng)鏈的某一用戶通過供應(yīng)鏈數(shù)據(jù)平臺發(fā)出某個數(shù)據(jù)m,此時該用戶的密鑰q和其他用戶組成的密鑰集合為E,設(shè)群組中的用戶數(shù)量為n。通過集群進行初始化,即可得到式(5):

式(5)中,q為公鑰,G為加密因子,則用戶自身的私鑰s為:

私鑰s無法從公鑰和加密因子中推測出來,因為在系統(tǒng)中呈現(xiàn)出的只有用戶的公鑰集合。
生成的環(huán)簽名為:

因此,通過式(7)的智能合約即可對用戶信息進行匿名,使用二進制接口進行編譯可以在系統(tǒng)中上傳合約。
共識機制本質(zhì)是基于可靠性高的節(jié)點對區(qū)塊進行驗證的算法,該文選取PoA 共識機制算法[14-16]。PoA 算法可以為整個系統(tǒng)節(jié)約大量的算力,并提高運算效率,同時使區(qū)塊生成的時間大幅度減少。
PoA 共識機制的典型特征是使用輪詢算法對區(qū)塊的生成難度進行控制,常用的輪詢模式為Difficulty模式。該模式的輪詢節(jié)點為inTURN 節(jié)點,非輪詢節(jié)點為outTURN 節(jié)點,節(jié)點計算如式(8)和式(9)所示:

基于PoA 節(jié)點的同步流程如圖4 所示。

圖4 PoA共識機制同步流程
對于新加入的節(jié)點而言,首先要創(chuàng)立節(jié)點的賬戶并將節(jié)點賬戶保存至數(shù)據(jù)時鐘地址文件,然后再啟用新加入的節(jié)點,查找并獲取其相關(guān)信息。當節(jié)點同步后,PoA 共識機制會授權(quán)其進行相關(guān)操作,但此時節(jié)點之間需要保持同步更新。
為解決傳統(tǒng)供應(yīng)鏈金融技術(shù)中存在的瓶頸,該文充分利用多種區(qū)塊鏈技術(shù)和算法,保證了用戶數(shù)據(jù)安全、快速地傳遞。該文提出的數(shù)據(jù)平臺框架設(shè)計,如圖5 所示。

圖5 數(shù)據(jù)平臺框架設(shè)計
首先對該文設(shè)計的平臺進行系統(tǒng)搭建,由于是金融供應(yīng)鏈服務(wù)平臺,因此平臺技術(shù)的選取應(yīng)盡量選取相對成熟且性能穩(wěn)定的產(chǎn)品。在系統(tǒng)部署方面,允許多種方式進行部署,其中主要包括物理機和虛擬機等方式。同時,使用集成環(huán)境進行系統(tǒng)的迭代和升級,技術(shù)選型表如表1 所示。

表1 技術(shù)選型表
首先對加密解密算法性能進行對比,使用以太坊中的默認加密算法ECC 進行對比測試,表2 和表3展示了不同算法加密時間和解密時間的對比。

表2 加密時間對比

表3 解密時間對比
由表2 可知,在數(shù)據(jù)加密過程中,該文算法相較ECC加密時間有明顯的縮短。在加密數(shù)據(jù)量為1 MB、5 MB、10 MB 和15 MB 時,該文算法的加密時間分別縮短了61.5%、70.3%、70.7%和70.3%。
由表3 對比表2 可以看到,兩種算法所需要的加密時間和解密時間大致相同,該文算法的解密時間相較ECC 算法也出現(xiàn)了大幅縮短。
在數(shù)據(jù)安全性方面,由公開的測試數(shù)據(jù)可知,假設(shè)AES 密鑰通常有128 位,即需要經(jīng)過2127次計算,而普通計算機的運行速度為每秒265次。由此可知,破解長度為128 位的AES 密鑰時間約為1 400 億年。而該文AES 密鑰設(shè)置的長度為1 024,因此使用計算機對密鑰進行破解的難度極高,從而證明了文中加密算法可以保證數(shù)據(jù)的安全性。
傳統(tǒng)的區(qū)塊鏈共識機制使用PoW 算法,而該文選擇使用PoA 共識算法。該算法可以縮短共識機制所用時間,因此能夠大幅度降低系統(tǒng)所需的算力,而這一性能主要體現(xiàn)在CPU 的使用率上。使用PoW和PoA 共識機制分別進行CPU 占有率測試,測試結(jié)果如表4 所示。

表4 CPU占有率測試
由表4 可以看出,系統(tǒng)在運行50 s 以后,兩種機制的CPU 占用率趨于穩(wěn)定,使用PoA 共識機制可以大幅降低CPU 的使用率。
傳統(tǒng)供應(yīng)鏈數(shù)據(jù)平臺具有信息不對稱、業(yè)務(wù)安全性和共享性差等缺點,該文提出基于區(qū)塊鏈技術(shù)的供應(yīng)鏈金融數(shù)據(jù)平臺,設(shè)計了加密算法、匿名算法和共識機制算法對上述瓶頸問題進行改進。在實驗測試中,該文搭建的數(shù)據(jù)平臺在多項性能指標上均表現(xiàn)出了良好的性能,相較于其他算法,在運行速度以及CPU 占用率方面也有著明顯的優(yōu)勢,表明了該文所設(shè)計的數(shù)據(jù)平臺具有安全性高、運算時間短且隱匿性強的特點。