朱福建,張春海,郭 昊
(中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)部,山東青島 266100)
市場(chǎng)上的理財(cái)借貸平臺(tái)能使一些個(gè)人投資者、小微企業(yè)等的資金流動(dòng)更加靈活,在一定程度上滿足其快速借款的需求,從而推動(dòng)市場(chǎng)經(jīng)濟(jì)發(fā)展。然而,由于缺乏監(jiān)管,相關(guān)平臺(tái)涌現(xiàn)大量問(wèn)題,如借款人惡意逃債、平臺(tái)資金去向不明等[1]。據(jù)網(wǎng)貸天眼數(shù)據(jù)顯示,僅2019 年出現(xiàn)問(wèn)題的借貸平臺(tái)就新增了763 家?,F(xiàn)有的銀行貸款多由銀行獨(dú)自放貸并承擔(dān)風(fēng)險(xiǎn),借款用戶和儲(chǔ)蓄投資用戶沒(méi)有直接的資金交易,用戶將錢存進(jìn)銀行后,由銀行決定存款的使用方式,銀行放貸的資金來(lái)自于儲(chǔ)蓄用戶的存款,儲(chǔ)戶的收益普遍較低。銀行貸款在每個(gè)時(shí)期有一定的傾向性,目前更傾向于向政府扶持發(fā)展的行業(yè)發(fā)放貸款,致使部分個(gè)人、小微企業(yè)借款困難[2],同樣導(dǎo)致了市場(chǎng)資金流動(dòng)緩慢。
區(qū)塊鏈技術(shù)憑借其去中心化、可追溯、不可篡改等特點(diǎn)[3],不僅在房屋租賃[4]、產(chǎn)品溯源[5]、電子計(jì)票[6]、物流隱私保護(hù)[7]方面有所應(yīng)用,還被廣泛應(yīng)用于醫(yī)療數(shù)據(jù)共享[8]、數(shù)字資產(chǎn)交易[9]以及眾籌業(yè)務(wù)[10]等領(lǐng)域。在數(shù)字資產(chǎn)交易領(lǐng)域,許夢(mèng)竹等[11]對(duì)多種理財(cái)借貸運(yùn)行方式進(jìn)行了比較,發(fā)現(xiàn)基于區(qū)塊鏈的P2P 網(wǎng)貸商業(yè)模式具有更好的市場(chǎng)應(yīng)用前景;琚春華等[12]認(rèn)為區(qū)塊鏈技術(shù)在借貸方面具有很好的應(yīng)用前景,但未實(shí)現(xiàn)完整的借貸流程;Li 等[13]提出一種簡(jiǎn)單的個(gè)人借貸方案,通過(guò)擔(dān)保人減少賴賬、違約情況的發(fā)生,但在匿名性系統(tǒng)中并未指明擔(dān)保人應(yīng)如何償還相關(guān)貸款,未對(duì)借款人員的還款能力進(jìn)行評(píng)估,亦未指出借款方未按時(shí)還款的處理方法[14];柳晶婷[15]以定量的方式對(duì)基于區(qū)塊鏈的借貸平臺(tái)進(jìn)行了風(fēng)險(xiǎn)評(píng)估。以上研究旨在通過(guò)完全去中心化的方式完成借貸關(guān)系,但均無(wú)法有效預(yù)防廢債情況的發(fā)生,而且會(huì)受困于匿名性的影響,在有違約行為時(shí)無(wú)法追責(zé)到個(gè)人。
基于此,本文提出一種基于智能合約的理財(cái)借貸方案,首先設(shè)計(jì)EBBI(Ethereum-Borrower-Bank-Investor)借貸投資模型,使一個(gè)標(biāo)的的發(fā)起、投資和還款等操作由銀行、投資方和借款方三方參與,通過(guò)智能合約算法維護(hù)標(biāo)的狀態(tài),實(shí)現(xiàn)逾期判定和代償?shù)裙δ?,解決現(xiàn)有方案中的壞賬追責(zé)[12-13]問(wèn)題,同時(shí)借款方和投資方采用一對(duì)多關(guān)系,可以滿足借款方快速籌款的需求;然后采用基于深度學(xué)習(xí)的智能評(píng)估預(yù)測(cè)算法對(duì)借款方進(jìn)行評(píng)估,與人工審核相比,提高了貸款資質(zhì)判斷的客觀性;最后,該方案中有多方參與主體的信任背書,與當(dāng)前由銀行直接向用戶貸款相比,具有分散銀行資金風(fēng)險(xiǎn)、提高閑散零戶資金利用率的優(yōu)點(diǎn)[16]。
近年來(lái),區(qū)塊鏈由于比特幣[17]的出現(xiàn)再次走進(jìn)大眾視野。從狹義理解,區(qū)塊鏈就是包含有數(shù)據(jù)交易信息的區(qū)塊按順序組成的鏈,每個(gè)區(qū)塊都含有父區(qū)塊的Hash 值、時(shí)間戳,采用密碼學(xué)技術(shù)保證數(shù)據(jù)的不可篡改和不可偽造性,是去中心化的分布式賬本數(shù)據(jù)庫(kù)[18]。如果想篡改區(qū)塊鏈數(shù)據(jù),需要擁有全網(wǎng)51%的算力,對(duì)于當(dāng)前節(jié)點(diǎn)的算力來(lái)說(shuō)很難達(dá)到,因此其數(shù)據(jù)不可非法篡改的特點(diǎn)受到人們青睞。以太坊區(qū)塊鏈[19]被稱為區(qū)塊鏈2.0 時(shí)代,支持圖靈完備的智能合約,增強(qiáng)了腳本功能。
2004 年,Nick Sazbo 在IEEE 國(guó)際電子合同研討會(huì)上發(fā)表智能合約的主題演講并指出許多合同條款都可以嵌入到硬件和軟件中,從而使違反合約的行為變得成本高昂[20]。在區(qū)塊鏈技術(shù)背景下,智能合約能夠在協(xié)議既定的條件下,保證借貸、抵押等協(xié)議的正常執(zhí)行,降低合約欺詐、合約逃債風(fēng)險(xiǎn),將參與者、法律協(xié)議、相關(guān)商業(yè)邏輯程序化,等同于代碼中的法律,為基于區(qū)塊鏈的應(yīng)用提供了良好的安全保證,同時(shí)也促進(jìn)了區(qū)塊鏈技術(shù)在現(xiàn)實(shí)生活中的應(yīng)用[21]。
去中心化與中心化是一組對(duì)立的概念[22]。人們目前使用的很多APP、Web 應(yīng)用都是中心化的,由某一公司或組織管理其服務(wù),并掌握相關(guān)數(shù)據(jù)、信息。如果服務(wù)器出現(xiàn)問(wèn)題,會(huì)面臨不可用的問(wèn)題,同時(shí)可能會(huì)有數(shù)據(jù)泄漏、信息違規(guī)操作的風(fēng)險(xiǎn)。
基于區(qū)塊鏈技術(shù),以太坊社區(qū)將基于智能合約的應(yīng)用稱為去中心化的應(yīng)用程序(Decentralized App,DApp)。其數(shù)據(jù)不再由某一個(gè)中心化的公司或組織擁有,各節(jié)點(diǎn)均可以獲取完整的數(shù)據(jù),不會(huì)出現(xiàn)由于某一節(jié)點(diǎn)服務(wù)失效而造成整個(gè)應(yīng)用宕機(jī)的現(xiàn)象。然而,去中心化的應(yīng)用會(huì)面臨各節(jié)點(diǎn)需要存儲(chǔ)大量數(shù)據(jù)的問(wèn)題,各節(jié)點(diǎn)存儲(chǔ)重復(fù)的數(shù)據(jù)在某種意義上是對(duì)存儲(chǔ)空間的浪費(fèi)。
本文基于智能合約的新型理財(cái)借貸系統(tǒng)設(shè)計(jì)出EBBI借貸投資模型。該模型以銀行作為中間機(jī)構(gòu),采用基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)風(fēng)控評(píng)估算法預(yù)測(cè)借款方的還款能力,銀行在系統(tǒng)中心化與去中心化部分扮演雙重角色。銀行中存儲(chǔ)借款方的個(gè)人信息、借貸記錄和違約情況等,借款方向銀行提交借款申請(qǐng)以及銀行完成智能評(píng)估視為系統(tǒng)中心化部分;銀行發(fā)布標(biāo)的、借款方和投資方進(jìn)行資金交易、代償交易等視為系統(tǒng)去中心化部分。
圖1 展示了包含借款方借款、銀行完成智能評(píng)估并發(fā)布標(biāo)的、投資方投資、借款方還款、指定代償人代償?shù)腅BBI 系統(tǒng)業(yè)務(wù)模型。以下基于該模型進(jìn)行具體分析:①借款方(Borrower)指有借款需求的個(gè)人或組織;②投資方(Investor)指擁有資金并且有投資理財(cái)意向的用戶,其選擇一些標(biāo)的產(chǎn)品進(jìn)行投資,賺取一定的收益;③銀行(Bank)既是用戶信息的存儲(chǔ)中心,完成風(fēng)險(xiǎn)智能評(píng)估,扮演著借款方資質(zhì)復(fù)審、追查壞賬的重要角色,又是區(qū)塊鏈網(wǎng)絡(luò)中標(biāo)的的唯一合法發(fā)起方,完成標(biāo)的的新增;④指定熟人指某一標(biāo)的借款方指定的代償人,在借款方未能按時(shí)還款時(shí),投資方可以啟動(dòng)代償程序,由該指定熟人完成代償;⑤監(jiān)管部門對(duì)整體運(yùn)作模式進(jìn)行監(jiān)管,同時(shí)也是區(qū)塊鏈網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn),可以獲取交易數(shù)據(jù)的備份,對(duì)資金轉(zhuǎn)移和交易進(jìn)行跟蹤管理。
在使用過(guò)程中,一方面為了查驗(yàn)借款用戶的還賬能力,減小賴帳風(fēng)險(xiǎn),保護(hù)投資用戶的合法權(quán)益;另一方面,由于區(qū)塊鏈數(shù)據(jù)公開(kāi)可讀,為了保護(hù)用戶隱私,避免借款方個(gè)人隱私信息泄漏,借款方不直接發(fā)布標(biāo)的,而是先向銀行提交借款申請(qǐng),經(jīng)由銀行智能評(píng)估后發(fā)布標(biāo)的。投資方可以在平臺(tái)中瀏覽查看,選擇愿意投資的產(chǎn)品項(xiàng)目,投資資金經(jīng)由合約賬戶,再由借款方提取至個(gè)人賬戶,不再是由銀行單獨(dú)放貸,分散了其資金風(fēng)險(xiǎn)。在還款日期截止之前,借款方將資金轉(zhuǎn)至合約賬戶,然后投資方將相應(yīng)的本息提取至個(gè)人賬戶,借款方和投資方直接完成一次借貸投資關(guān)系。
Fig.1 EBBI system business model圖1 EBBI系統(tǒng)業(yè)務(wù)模型
圖1 中數(shù)字標(biāo)注的流程展示了一個(gè)最簡(jiǎn)單的線性借貸投資場(chǎng)景?;谥悄芎霞s的理財(cái)借貸系統(tǒng)具有以下特點(diǎn):①去中心化與中心化相結(jié)合。在該平臺(tái)系統(tǒng)中,銀行保存用戶信息,降低了區(qū)塊鏈由于數(shù)據(jù)的公開(kāi)可讀性而對(duì)借款方隱私信息造成泄露的風(fēng)險(xiǎn),也有助于壞賬發(fā)生時(shí)銀行和監(jiān)管部門介入追查;而基于智能合約的資金交易過(guò)程具有去中心化的特點(diǎn);②標(biāo)的信息、交易數(shù)據(jù)等重要信息上鏈保存。標(biāo)的信息、抵押資產(chǎn)記錄都是借款方的借款證明,因此要確保這些數(shù)據(jù)不被惡意篡改并且可追溯。將標(biāo)的信息、用戶投資、還款等信息保存在區(qū)塊鏈后,監(jiān)管部門也可以獲取相關(guān)數(shù)據(jù)并掌握資金流向。若用戶有造假違約行為發(fā)生,將會(huì)被永久記錄且無(wú)法消除,對(duì)其造成惡劣影響,因此能從主觀層面降低參與雙方作假的意圖;③基于深度學(xué)習(xí)的風(fēng)控評(píng)估算法完成智能評(píng)估。結(jié)合深度學(xué)習(xí)思想完成貸款前的智能評(píng)估提高了資質(zhì)審核的客觀性,有利于幫助小微企業(yè)、個(gè)人實(shí)現(xiàn)貸款需求。
該系統(tǒng)包含中心化與去中心化兩部分,基于智能合約的理財(cái)借貸系統(tǒng)架構(gòu)如圖2所示。
2.2.1 應(yīng)用視圖模塊
Fig.2 System structure圖2 系統(tǒng)架構(gòu)
該模塊旨在為用戶提供簡(jiǎn)潔的互動(dòng)和可視化操作界面,滿足基本使用需求。在系統(tǒng)的中心化部分,借款用戶可以向銀行申請(qǐng)注冊(cè),發(fā)送個(gè)人借款申請(qǐng)。該部分采用Vue 前端框架實(shí)現(xiàn),可以通過(guò)易用的API(Application Pro?gram Interface)實(shí)現(xiàn)數(shù)據(jù)響應(yīng)和視圖組合。
系統(tǒng)的去中心化部分給使用者提供了新增標(biāo)的、瀏覽標(biāo)的、投資和還款等操作的入口。該模塊基于以太坊中最受歡迎的Truffle 框架開(kāi)發(fā),頁(yè)面采用React+Bootstrap 編寫完成,借助通用的Web3.js 庫(kù)[23]與以太坊的RPC(Remote Protocol Call)接口連接,以完成智能合約的調(diào)用、編譯和部署操作。
2.2.2 后端邏輯模塊
該模塊負(fù)責(zé)接收應(yīng)用視圖模塊的請(qǐng)求,進(jìn)行相應(yīng)的邏輯處理,并給予視圖層相應(yīng)反饋。系統(tǒng)的中心化部分主要完成用戶信息新增和查詢、借貸申請(qǐng)新增和查詢以及借貸歷史查詢等邏輯;同時(shí),引入智能風(fēng)控評(píng)估模型,完成對(duì)用戶借貸申請(qǐng)的智能評(píng)估。該模塊采用DJango 框架完成,在Python 中,借助通用的Web3 庫(kù)也可以與智能合約進(jìn)行交互。系統(tǒng)的去中心化部分主要完成智能合約邏輯的編寫,其核心業(yè)務(wù)功能為標(biāo)的創(chuàng)建、投資方投資、借款方還款和代償?shù)?,采用Solidity 語(yǔ)言[24]編寫智能合約。
2.2.3 數(shù)據(jù)存儲(chǔ)模塊
該模塊用于持久化數(shù)據(jù),保存與用戶和交易相關(guān)的數(shù)據(jù)。系統(tǒng)的中心化部分主要存儲(chǔ)借款用戶提交的相關(guān)數(shù)據(jù)和借貸記錄,不上鏈公開(kāi)存儲(chǔ)的信息。
該模塊數(shù)據(jù)采用MySQL 數(shù)據(jù)庫(kù)存儲(chǔ),其可提供安全、保密的數(shù)據(jù)操作。系統(tǒng)的去中心化部分主要負(fù)責(zé)存儲(chǔ)標(biāo)的信息和交易記錄,基于開(kāi)源的區(qū)塊鏈系統(tǒng)以太坊進(jìn)行搭建。
用戶在向銀行申請(qǐng)注冊(cè)時(shí)需要提交自己的基本信息,系統(tǒng)需要對(duì)此信息進(jìn)行保存,并明確用戶公鑰與身份證號(hào)的映射關(guān)系,達(dá)到降低系統(tǒng)匿名性的目的,保證人員可追溯。因此可建立一張個(gè)人信息表,如表1 所示。由于篇幅限制,其他數(shù)據(jù)庫(kù)表不再贅述。
Table 1 Personal information table表1 個(gè)人信息表
基于智能合約的銀行理財(cái)借貸系統(tǒng)主要包含借款方、投資方、銀行三部分參與者。首先,借款方與銀行組成中心化部分,借款方向銀行提起借款請(qǐng)求,銀行完成智能評(píng)估;然后,借款方、投資方和銀行三者組成去中心化部分,銀行統(tǒng)一發(fā)布標(biāo)的,投資方進(jìn)行投資,借款方獲取借款資金并按時(shí)還款。
基于智能合約的銀行理財(cái)借貸系統(tǒng)包含的主要需求為:①申請(qǐng)借款。借款方向銀行發(fā)出借款申請(qǐng),提交相關(guān)證明資料,由銀行負(fù)責(zé)審核借貸資質(zhì)和還款能力;②發(fā)布標(biāo)的。標(biāo)的只能由銀行發(fā)布,個(gè)人用戶私自發(fā)布標(biāo)的不會(huì)被智能合約接受;③查看標(biāo)的。用戶可以瀏覽已發(fā)布的標(biāo)的,選擇合適的產(chǎn)品進(jìn)行投資;④用戶投資。當(dāng)用戶有喜歡的標(biāo)的并且滿足投資條件時(shí)可以進(jìn)行投資,投資后,該標(biāo)的產(chǎn)品會(huì)出現(xiàn)在用戶的投資列表中;⑤用戶提取資金。在合理的標(biāo)的狀態(tài)下,借款方僅可提取一次資金,提取后標(biāo)的狀態(tài)會(huì)被更改為已提取,不再支持投資;⑥用戶還款。在標(biāo)的規(guī)定的還款時(shí)間之前,借款方將本息轉(zhuǎn)至智能合約賬戶,完成還款操作;⑦用戶收回本息。在借款方完成還款操作后,投資方主動(dòng)收回本息。
基于系統(tǒng)需求分析,設(shè)計(jì)基于智能合約的銀行理財(cái)借貸系統(tǒng)流程,包含申請(qǐng)借貸、發(fā)布標(biāo)的、投資、還款和代償?shù)群诵墓δ?,具體如圖3所示。
Fig.3 System flow chart圖3 系統(tǒng)流程圖
3.3.1 新增標(biāo)的
新增標(biāo)的是系統(tǒng)的主要功能之一,銀行根據(jù)借款方提交的借款申請(qǐng)創(chuàng)建標(biāo)的,標(biāo)的結(jié)構(gòu)體見(jiàn)表2,枚舉類型Sub?jectState 表示標(biāo)的狀態(tài),包括Borrowing、PendingExtract、Ex?tracted、Overdue 和Completed 5 種狀態(tài)。如果標(biāo)的不是由銀行發(fā)布,則該標(biāo)的不成立,不會(huì)被智能合約通過(guò),如此可以避免由個(gè)人虛假借貸而造成的逾期和惡意賴賬等不良后果。
Table 2 Subject structure表2 標(biāo)的結(jié)構(gòu)體
銀行通過(guò)調(diào)用發(fā)布標(biāo)的接口將新的標(biāo)的信息存儲(chǔ)在區(qū)塊鏈上,為了確保標(biāo)的的合法性,程序會(huì)對(duì)創(chuàng)建者地址進(jìn)行二次確認(rèn),確保是由銀行發(fā)起的標(biāo)的。如果借款方有指定熟人,則可在發(fā)起標(biāo)的后添加熟人記錄,存儲(chǔ)在credit?People(mapping(uint=>address)類型)變量中。該信息不隨標(biāo)的信息公開(kāi),能夠保護(hù)熟人的隱私。借款方可以設(shè)定可接受的借貸利息loanInterest,如果想盡快借款成功,可在法律允許范圍內(nèi)適當(dāng)提高借貸利息,這樣投資方收益會(huì)升高,投資意愿也會(huì)增強(qiáng)。在區(qū)塊鏈中增加標(biāo)的的算法ad?dLoan步驟為:
3.3.2 投資標(biāo)的
投資方可以瀏覽所有標(biāo)的產(chǎn)品信息頁(yè)面,查看借款說(shuō)明和利息等信息,當(dāng)有中意的產(chǎn)品時(shí),可以自由投資。投資會(huì)調(diào)用產(chǎn)品投資合約算法,完成相關(guān)條件的判斷,記錄此次交易詳情。借款方和投資方可以是一對(duì)多的關(guān)系,在程序中,通過(guò)subjectAndInvestor(mapping(uint=>Investors)類型)變量存儲(chǔ),保證一個(gè)標(biāo)的對(duì)應(yīng)一個(gè)投資人集。通過(guò)標(biāo)的ID 可以快速定位到投資人集合,進(jìn)而查詢投資人及對(duì)應(yīng)投資金額,在查詢時(shí),時(shí)間復(fù)雜度為O(1),標(biāo)的和投資人集合結(jié)構(gòu)如圖4所示。
Fig.4 Subject and investor structure圖4 標(biāo)的投資人結(jié)構(gòu)
標(biāo)的投資方的資金會(huì)存放在智能合約賬戶中,在超過(guò)貸款截止時(shí)間后,借款方可以提取已借到的總金額。完成標(biāo)的投資的前置條件為:標(biāo)的狀態(tài)為借款中、當(dāng)前時(shí)間早于貸款截止時(shí)間和此次所投金額不超過(guò)標(biāo)的目前所需金額。若某用戶完成投資后,標(biāo)的中的amount 和loanAmount相等,則會(huì)將標(biāo)的狀態(tài)置為PendingExtracted。產(chǎn)品投資的算法subjectInvest 步驟為:
3.3.3 還款
在預(yù)計(jì)還款日期前,借款方需要將資金提前轉(zhuǎn)移至智能合約賬戶中。若借款方未能按時(shí)將資金轉(zhuǎn)至智能合約賬戶,則視為未能及時(shí)還款,投資方可以將標(biāo)的設(shè)置為逾期,逾期的標(biāo)的將執(zhí)行資產(chǎn)抵押或代償程序。還款的前置條件為:標(biāo)的狀態(tài)為Extracted 或者Overdue、發(fā)送金額等于本息之和、還款賬戶與借款賬戶為同一賬戶。還款的算法repay步驟為:
3.3.4 代償
在標(biāo)的還款日期后,借款方未能按時(shí)還款,投資方任一用戶可以將標(biāo)的設(shè)為逾期。隨后,智能合約程序會(huì)判斷該標(biāo)的有無(wú)抵押資產(chǎn),若有,則由銀行執(zhí)行抵押資產(chǎn)清算;若沒(méi)有,則判斷有無(wú)指定的代償人,如有代償人,該標(biāo)的將會(huì)出現(xiàn)在熟人代償清單中,由其償還本息,完成代償請(qǐng)求。完成代償?shù)那爸脳l件為:標(biāo)的狀態(tài)為Overdue、標(biāo)的已啟用代償、代償人賬戶與當(dāng)前調(diào)用賬戶一致、還款金額與實(shí)際應(yīng)還金額一致。熟人代償?shù)倪€款算法substituteCompensa?tion 步驟為:
本文使用自拍拍貸公開(kāi)的風(fēng)控?cái)?shù)據(jù)集,共有30 000 條記錄,其中每條記錄包括用戶信息、網(wǎng)頁(yè)信息、教育背景、社交平臺(tái)信息和第三方平臺(tái)信息5 個(gè)類別共225 個(gè)屬性;數(shù)據(jù)集的標(biāo)簽為0 和1,分別表示違約和未違約。從數(shù)據(jù)集中隨機(jī)取出24 000 條作為訓(xùn)練集,剩余6 000 條作為測(cè)試集用于評(píng)價(jià)模型性能。
本文搭建的深度學(xué)習(xí)模型結(jié)構(gòu)如圖5 所示,整體思路為先對(duì)各個(gè)類別的特征單獨(dú)進(jìn)行學(xué)習(xí)和降維,由模型綜合考量所有完成降維的特征后作出預(yù)測(cè)。模型具體實(shí)現(xiàn)步驟為:①對(duì)各個(gè)類別的數(shù)據(jù)進(jìn)行初步處理,處理方式包括缺失值補(bǔ)全、歸一化和標(biāo)準(zhǔn)化等;②將處理后的數(shù)據(jù)按類別輸入到對(duì)應(yīng)的網(wǎng)絡(luò)分支中進(jìn)行特征學(xué)習(xí)和降維。每個(gè)網(wǎng)絡(luò)分支中包含兩個(gè)隱藏層,其中第一層為在非線性關(guān)系建模的工作中表現(xiàn)良好的長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM),該網(wǎng)絡(luò)用于對(duì)輸入的非線性特征進(jìn)行學(xué)習(xí);第二層為全連接層(Fully Connected Layers,F(xiàn)C),該層的主要作用為對(duì)特征進(jìn)行壓縮和降維,以減少神經(jīng)網(wǎng)絡(luò)的計(jì)算量;③將所有降維后的特征連接到一起,經(jīng)過(guò)兩層全連接層的學(xué)習(xí)后得到預(yù)測(cè)結(jié)果。
Fig.5 Deep learning model structure圖5 深度學(xué)習(xí)模型結(jié)構(gòu)
在貸款風(fēng)控的智能評(píng)估預(yù)測(cè)領(lǐng)域,邏輯回歸(Logistics Regression,LR)和梯度提升樹(shù)(Gradient Boosting Decision Tree,GBDT)等機(jī)器學(xué)習(xí)方法[25-26]已經(jīng)得到廣泛應(yīng)用,但很少有研究者利用基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)思想解決這一預(yù)測(cè)問(wèn)題。將本文模型與以上兩種機(jī)器學(xué)習(xí)算法進(jìn)行比較,其中本文模型使用Adam 作為優(yōu)化器,學(xué)習(xí)率設(shè)置為0.01,選擇交叉熵作為損失函數(shù),batch size 設(shè)置為100,訓(xùn)練150輪后得到最終模型。
表3 為本文模型與LR 和GBDT 的預(yù)測(cè)結(jié)果比較情況,評(píng)價(jià)指標(biāo)為準(zhǔn)確率(ACC),可以看出本文模型的預(yù)測(cè)效果能夠達(dá)到當(dāng)前主流水平。
Table 3 Comparison of prediction results表3 預(yù)測(cè)結(jié)果比較
在Mac OS Big Sur 11.1 操作系統(tǒng),2.6 GHz 六核CPU,16GB 內(nèi)存環(huán)境下設(shè)計(jì)驗(yàn)證實(shí)驗(yàn)。基于Node.js 配置Truffle框架及相關(guān)依賴,采用Ganache 個(gè)人以太坊區(qū)塊鏈。同時(shí),采用MetaMask 輕錢包,其無(wú)需安裝,是谷歌瀏覽器的一個(gè)插件,使用方便易操作。
針對(duì)基于智能合約的銀行理財(cái)借貸系統(tǒng)的借款申請(qǐng)、借貸申請(qǐng)歷史查詢、標(biāo)的發(fā)布、標(biāo)的瀏覽、投資、還款和代償?shù)戎匾δ苓M(jìn)行了測(cè)試。部分功能的實(shí)驗(yàn)運(yùn)行效果如圖6、圖7 所示。圖6 展示了一位投資用戶完成投資的過(guò)程。圖7 以序號(hào)151 號(hào)標(biāo)的為例,展示了在借款截止時(shí)間后用戶的提取資金、還款操作。系統(tǒng)中的其他功能經(jīng)測(cè)試均可正常運(yùn)行,達(dá)到了預(yù)期效果。
本文提出的理財(cái)借貸模型和使用的底層技術(shù)共同保證了系統(tǒng)及相關(guān)數(shù)據(jù)的安全性,與現(xiàn)有金融借貸投資場(chǎng)景相比,能更好地保護(hù)用戶資金安全。
在系統(tǒng)業(yè)務(wù)模型設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中,對(duì)參與的用戶角色和權(quán)限作出了明確規(guī)定,在執(zhí)行相關(guān)請(qǐng)求前會(huì)進(jìn)行權(quán)限判定和條件判斷。在智能合約中,調(diào)用新增標(biāo)的的業(yè)務(wù)邏輯時(shí)會(huì)對(duì)發(fā)起方身份進(jìn)行判定,需要標(biāo)的發(fā)起者地址滿足要求才可以新增一項(xiàng)標(biāo)的。以上權(quán)限限制和身份驗(yàn)證操作保證了標(biāo)的信息的可靠性,同時(shí)也保障了系統(tǒng)業(yè)務(wù)流程的嚴(yán)謹(jǐn)性和安全性。在智能合約的實(shí)現(xiàn)中,通過(guò)ABDK?Math64x64 庫(kù)完成小數(shù)部分的精確計(jì)算,保證代碼執(zhí)行階段數(shù)據(jù)的真實(shí)性,達(dá)到保護(hù)系統(tǒng)安全的目的。
Fig.6 Subject invest圖6 標(biāo)的投資
以太坊系統(tǒng)擁有活躍的開(kāi)發(fā)者社區(qū),可以保證以太坊平臺(tái)的平穩(wěn)運(yùn)行與升級(jí)迭代?;谝蕴粎^(qū)塊鏈的分布式應(yīng)用將相關(guān)數(shù)據(jù)信息上鏈存儲(chǔ),確保其不會(huì)被惡意篡改,提高了數(shù)據(jù)安全性。由銀行負(fù)責(zé)處理借貸申請(qǐng)可以保護(hù)用戶隱私,若借貸者有違約行為,還可以追責(zé)到個(gè)人,降低了去中心化匿名性帶來(lái)的風(fēng)險(xiǎn);同時(shí)避免了由單點(diǎn)故障造成的交易數(shù)據(jù)損失,可以對(duì)惡意賴賬和逃債情況進(jìn)行追溯,保障參與者利益,增強(qiáng)系統(tǒng)可用性。
Fig.7 Borrower transaction diagram圖7 借款方交易圖
與現(xiàn)有的中心化金融借貸投資場(chǎng)景相比,本文模型實(shí)現(xiàn)了點(diǎn)對(duì)點(diǎn)交易,不影響現(xiàn)有的銀行資金流,銀行可通過(guò)手續(xù)費(fèi)等獲取一定收益。在一次完整的借貸還款業(yè)務(wù)中,借款方和投資方直接完成轉(zhuǎn)賬交易;在借款方無(wú)法按時(shí)還款時(shí),通過(guò)抵押資產(chǎn)和熟人代償程序保證了參與用戶資金的安全性。用戶在借款時(shí)可以有多個(gè)投資方,增加了一次借貸順利完成的可能性,保證了系統(tǒng)的可用性。
為考察基于智能合約的銀行理財(cái)借貸系統(tǒng)的性能,本文對(duì)新增標(biāo)的、標(biāo)的投資人及金額查詢等算法的執(zhí)行效率和吞吐量進(jìn)行了測(cè)試分析。
為了測(cè)試新增標(biāo)的的時(shí)間延遲與Gas 費(fèi)用,實(shí)驗(yàn)以每5 個(gè)標(biāo)的數(shù)據(jù)為一組,求出每組的平均時(shí)延,隨機(jī)選取10組數(shù)據(jù),測(cè)試效果如圖8所示。
Fig.8 Analysis diagram of add subject圖8 新增標(biāo)的分析圖
新增標(biāo)的算法復(fù)雜度為O(1),由于所有數(shù)據(jù)需要上鏈存儲(chǔ),每一個(gè)標(biāo)的中的數(shù)據(jù)量大小會(huì)影響Gas 費(fèi)用,時(shí)延主要受操作時(shí)網(wǎng)絡(luò)性能的影響,當(dāng)Gas 費(fèi)用為20GWei時(shí),測(cè)試結(jié)果中的最低時(shí)延為3s,最高為4s,最高平均Gas費(fèi)用為0.005 553ETH,最低平均Gas 費(fèi)用為0.004 197ETH,達(dá)到了預(yù)期效果。
當(dāng)投資方執(zhí)行取回本息等操作時(shí),需要查詢標(biāo)的投資人及對(duì)應(yīng)的投資金額。如圖9 所示,當(dāng)有多個(gè)投資人時(shí),查詢時(shí)間延遲最高為0.39s,在用戶可接受的范圍內(nèi)。
Fig.9 Query efficiency of different investors圖9 不同投資人數(shù)查詢效率
圖10 展示了不同交易數(shù)量時(shí)系統(tǒng)查詢標(biāo)的的執(zhí)行效率,其中橫坐標(biāo)代表當(dāng)下交易數(shù)量,縱坐標(biāo)表示查詢所用平均時(shí)間??梢钥闯?,在有500 筆交易時(shí),系統(tǒng)的平均查詢時(shí)間為0.23s;在有1 000 筆交易時(shí),系統(tǒng)平均查詢時(shí)間為0.5s左右,表明查詢速度較快。
Fig.10 Query efficiency of different transaction quantities圖10 不同交易數(shù)量查詢效率
針對(duì)函數(shù)寫入數(shù)據(jù)的吞吐量變化如圖11 所示。寫入數(shù)據(jù)會(huì)重復(fù)驗(yàn)證條件、節(jié)點(diǎn)打包交易和將新的區(qū)塊加入?yún)^(qū)塊鏈的過(guò)程。本文還款算法流程較為簡(jiǎn)潔,因此寫入數(shù)據(jù)吞吐量最高,在開(kāi)始有一個(gè)峰值,隨著訪問(wèn)次數(shù)的增加,吞吐量有少許下降,但整體趨于平穩(wěn),可滿足用戶需求。
Fig.11 Throughput of write data圖11 寫入數(shù)據(jù)吞吐量
結(jié)合“3 000 t茶葉被泡,老板痛哭”事件進(jìn)行案例分析,對(duì)基于智能合約的銀行借貸理財(cái)系統(tǒng)的有效性進(jìn)行驗(yàn)證。
2020 年7 月,一場(chǎng)洪水淹了安徽省鄭老板茶企廠房3 000 t 茶葉,導(dǎo)致其資金周轉(zhuǎn)困難。作為小微企業(yè),該茶企在抵御資金風(fēng)險(xiǎn)的能力上相對(duì)薄弱,在傳統(tǒng)銀行眼中并不屬于還款能力強(qiáng)的優(yōu)質(zhì)客戶,但在民間仍是一個(gè)成功的企業(yè)組織,如何快速籌集流動(dòng)資金成為當(dāng)務(wù)之急。
在茶企申請(qǐng)借貸時(shí),小微企業(yè)雖不屬于銀行優(yōu)質(zhì)客戶,但本文設(shè)計(jì)的智能評(píng)估模型結(jié)合多維度參數(shù)計(jì)算,認(rèn)定其屬于信用較高客戶,給予其借款機(jī)會(huì)。
在銀行發(fā)出標(biāo)的后,當(dāng)下有閑散資金的用戶愿意投資,當(dāng)參與人員增多時(shí),可以達(dá)到快速籌款的目的。標(biāo)的信息在區(qū)塊鏈中永久存儲(chǔ),茶企為了更好地維護(hù)企業(yè)信用,會(huì)更加認(rèn)真地挽救損失。如此以來(lái),茶企和投資用戶完成了點(diǎn)對(duì)點(diǎn)的資金交易。于茶企而言,解決了急需資金的問(wèn)題;于銀行而言,分散了資金風(fēng)險(xiǎn),不影響原本的信貸業(yè)務(wù);于其他投資用戶而言,將手中閑置資金投入社會(huì),并獲取了一定收益。
綜上所述,在銀行借貸投資方面,應(yīng)用區(qū)塊鏈技術(shù)和智能合約能有效改善小微企業(yè)貸款難的問(wèn)題,激勵(lì)參與者信守承諾,提高了銀行的社會(huì)影響力,促進(jìn)了市場(chǎng)健康發(fā)展。
本文根據(jù)區(qū)塊鏈中心化與去中心化的特點(diǎn),設(shè)計(jì)了一個(gè)基于智能合約的銀行理財(cái)借貸系統(tǒng)。系統(tǒng)中基于神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)智能風(fēng)控評(píng)估模型算法準(zhǔn)確率達(dá)到94.33%,為后續(xù)區(qū)塊鏈與深度學(xué)習(xí)技術(shù)的結(jié)合提供了一個(gè)可行方向;設(shè)計(jì)的相關(guān)智能合約算法能夠保證交易高效執(zhí)行,為小微企業(yè)和個(gè)人快速籌款提供幫助。隨著區(qū)塊鏈技術(shù)的進(jìn)一步發(fā)展,其與借貸金融場(chǎng)景的結(jié)合將會(huì)更加緊密。后續(xù)將繼續(xù)完善智能合約的邏輯處理流程,在違約和抵押資產(chǎn)方面避免一刀切的情況,以適應(yīng)更加復(fù)雜的理財(cái)借貸場(chǎng)景,造福更多個(gè)人和小微企業(yè)用戶。