06.22 區塊鏈在央行徵信系統的應用探討

區塊鏈在央行徵信系統的應用探討

1、徵信系統的應用歷程和現狀

中國徵信系統是由人民銀行主導,建立集中企業及個人信用信息檔案庫,採集來自各金融機構、企事業單位等機構的企業和個人信用信息,並對外提供有條件查詢。

區塊鏈在央行徵信系統的應用探討

徵信系統拓撲圖

1.1 沃爾沃汽車金融的徵信系統使用歷程

沃爾沃汽車金融(中國)有限公司作為小微金融機構,人行在2010年開始才給其提供頁面查詢徵信報告功能,同時並未給其提供報送信用數據的接口。而基於頁面查詢徵信報告有諸多缺點:

(1)操作效率低下,需要手工登錄並錄入證件信息查詢,查詢結果只能通過人為判斷、分析來把控客戶信用風險。

(2)成本昂貴,2011年查詢徵信報告,當天查詢企業徵信報告一份260元,個人徵信報告一份8元。而徵信數據短期內更新頻率不高,多次查詢容易產生較高費用。

(3)數據利用率低,基於html頁面的非結構化徵信報告,不便於數據分析,不便於數據共享,影響風險管理系統和業務系統的客戶信用風險分析。

因此,在2011年時,沃爾沃開始進行內部徵信系統建設,採用後臺模擬網頁登錄方式,從人行徵信系統抓取徵信報告,並對html報告進行解析入庫。2013年人行開放接口查詢,以及2015年將小微金融機構接入徵信系統,沃爾沃汽車金融也開始進行相應的改造。

1.2 建行的徵信系統使用歷程

建行作為五大國有商業銀行之一,享有最早使用徵信數據,及時跟進和使用新服務的各項便利。從2006年向人行接口報送數據,通過頁面查詢徵信報告。2013年

同步實現徵信報告接口查詢。2015年人行開始徵信系統二代建設,近期也選取了建行為試點單位,計劃於2017年10月試運行,2018年5月正式投產。

徵信二代相較於徵信一代,主要在採集時點、數據組織內容、報文格式、數據糾錯等方面進行細化和優化。但是仍未廣泛接入來自社會較全面的信用數據,徵信

信息仍存在覆蓋不全的問題,比如缺少網貸、證券等信用數據,不能完全滿足對客戶信用風險進行全方位把控的需求。

1.3 徵信系統現狀

作為中心服務的徵信系統,每一次接口變動、系統改造以及運行狀況都對外圍系統有很大影響。比如2017年3月份某國有銀行通過人行接口批量查詢5萬筆客戶徵

信報告時,因徵信信息較多,結果壓垮人行徵信系統導致其他徵信機構查詢受到影響。同時由於接入的徵信信息不全,無法對外提供完整的徵信信息,需要芝麻

信用、微信徵信、鵬遠征信等徵信市場上其他鬆散、孤島的徵信數據進行補充。在社會信用體系建設中,打造覆蓋全社會各行業的徵信系統仍面臨諸多挑戰:

(1)數據膨脹:目前的徵信數據主要以信貸、信用卡業務為主導,隨著社會信用體系的建設,更多行業以及互聯網的信用數據將納入到徵信系統,數據範圍、數據採集點、數據增長速度對徵信系統的大數據存儲是一個巨大的挑戰。

(2)用戶數暴增:隨著國家對徵信知識的宣傳,徵信信息的普及,國民對徵信的重視,使越來越多的企業、個人、組織都加入到徵信體系中。用戶數和併發數的暴增,容易使系統出現各種併發問題,對系統的穩定將會造成很大的影響。

(3)技術壁壘:從2006年個人、企業徵信系統開始運行,2009年對軟硬件配置、數據存儲能力進行升級。但是隨著通信技術和徵信業務的發展,原有的架構不能滿足現有需求,於是2015年開始啟動徵信系統二代建設。數據量和用戶數的暴增,系統容易呈現複雜的瓶頸問題,傳統軟件技術架構就會陷入了需要不斷地對軟硬件進行升級的怪圈中。

2 區塊鏈應用於徵信系統的可行性分析

2.1 徵信系統業務場景特點分析

徵信系統主要是收集、存儲、提供徵信數據,並衍生出行業、區域風險分析、關聯查詢、風險預測等相關的增值服務,跟其他的系統相比有很強的個性和特色:時效性:相對於比特幣交易,徵信系統對數據的時效性要求並不高,目前大部分商業銀行都是在開戶、結清等事件點以及期間日終、月終等數據採集點批量上報徵信數據,並以T+1方式次日完成更新。區塊鏈是由後續區塊的加入,以最長分支確定當前區塊生效,每個區塊生成時間大概10分鐘, T+1時間是足以將區塊更新到各個節點。

擴展性:徵信系統架構必須具有前瞻性,能支撐起社會信用體系建設中出現的數據膨脹和海量訪問,區塊鏈技術避免了傳統服務器架構需要不斷升級擴容的短板,當源源不斷的新節點加入,在增加客戶端請求和數據量的同時,也分攤了服務器端處理請求和數據存儲的負荷,實現了系統的自動擴展。

隱私性:徵信信息涉及到個人隱私,除了監管機構外,任何其他機構和個人非經授權不允許查詢他人的徵信報告。目前大部分商業銀行都是線下或是系統外記錄客戶授權信息,查詢徵信報告時人行徵信系統並未實時授權驗證,而是事後通過大數據分析和反欺騙等手段挖掘出非法查詢賬戶。而區塊鏈是去中心化、開放的,鼓勵徵信活動參與者積極參與和共同維護,這就讓參與者在線上相互間進行授權變得更為可行和便捷。

穩定性:基於中心服務的徵信系統,在升級擴容維護的窗口期或是系統出現性能問題時,都會影響到外圍系統的正常訪問和使用。而去中心化的區塊鏈技術,弱化了與具體節點的系統間耦合,屏蔽了關鍵節點的影響範圍,為實現7*24小時不間斷服務提供更好的保障基礎。

2.2 以太坊和超級賬本的適用性分析

以比特幣為代表的區塊鏈,在應用於其他業務場景時因缺乏靈活性或是個別不足導致無法滿足於複雜的應用需求。因此以智能合約和權限控制為特點的以太坊和超級賬本進一步推動了區塊鏈技術的發展。

以太坊:智能合約即是通過程序腳本定義的約定,通過內部的虛擬機執行圖靈完備的腳本語言,實現了符合一定條件時動態執行合約,從而增加了系統靈活性以滿足更多的特殊業務需求。徵信系統主要是採集信用數據並對外提供查詢,本身不需要複雜的業務邏輯判斷和處理,所有以太坊對於徵信系統並不能突出本身的優勢或是帶來更多的幫助。

超級賬本:超級賬本有很多特性適合應用於徵信系統,如身份識別服務和策略管理服務,方便進行身份驗證和權限授權。但是採用多管道進行物理隔離的權限控制,難以實現信用主體對徵信報告授權查詢這樣個性化、細粒度的授權策略和權限控制。同時對於徵信系統海量數據存儲,超級賬本並沒有提供一個良好的方案。

針對徵信系統的特殊業務場景,採用基於去中心化的區塊鏈原理,同時借鑑其他相關技術,覆蓋區塊鏈技術沒有實現到的薄弱環節,取長補短,以靈活解決徵信系統中出現的各種特殊業務需求。

3 基於區塊鏈的徵信系統設計

3.1 P2P網絡架構

區塊鏈在央行徵信系統的應用探討

徵信系統P2P網絡結構

徵信活動的參與者可分為三類:人行、徵信機構、信息主體。

人行:作為徵信業務的監管機構,負責授權、管理協調其他參與者進行有序、規範的徵信活動,本身無需參與區塊鏈的維護。

徵信機構:徵信信息的報送機構,如銀行、稅務局等,具有報送權限以及查詢經過授權的徵信報告。是區塊鏈活動的主要參與者。

信息主體:徵信信息的描述對象,是被徵信的企業或個人。不具有報送權限,主要查詢自己的徵信報告。在區塊鏈活動中主要扮演生成區塊和備份數據的角色。

人行跟其他活動參與者通過對等網絡方式進行連接,任何機構和個人都可以加入到網絡中,但是隻有經過人行認證後頒發證書,才能在對等網絡中參與徵信活動。加入步驟如下:

(1)申請加入的主體(即徵信機構或信息主體),在本地生成秘鑰對,將公鑰、證件信息、服務器IP等信息報送給人行

(2)人行審查後根據公鑰生成、頒發證書,證書內容包含如下信息:

申請主體的公鑰

人行的公鑰

權限類型(1-報送和查詢,2-查詢)

數字簽名,即將申請主體的公鑰、人行的公鑰、權限類型,通過人行的私鑰進行簽名

(3)申請主體參與徵信活動時,將證書傳給其他節點,其他節點通過人行公鑰對證書進行簽名驗證,從而驗證其身份和權限。

3.2 報送徵信數據

區塊鏈在央行徵信系統的應用探討

報送徵信數據結構

3.2.1 事項徵信信息

事項徵信信息是根據信息主體與徵信機構發生的業務,在數據採集點提取出相應的業務信息,每一筆事項徵信信息對應一筆業務,是對信息主體的徵信信息最細粒度的描述,主要分為新增報送和刪除報送。

區塊鏈在央行徵信系統的應用探討

個人徵信內容

(1)新增報送:以目前銀行報送個人徵信信息為例,徵信內容如圖11,針對不同業務以及同一業務下不同的指標內容,人行可以下發格式校驗規則庫。銀行根據業務系統提供的業務數據,加工出對應格式的事項徵信信息,並通過人行規則庫校驗後才能進一步加入到該信息主體的客戶徵信信息裡。

區塊鏈在央行徵信系統的應用探討

新增事項徵信信息

(2)刪除報送:當信用主體對自己的徵信報告提出異議,經徵信機構核對後確認歷史報送徵信信息不正確,則可以發起刪除報送。刪除報送內容需要指定歷史徵信信息的地址位置。

區塊鏈在央行徵信系統的應用探討

刪除事項徵信信息

3.2.2 客戶徵信信息

客戶徵信信息是徵信機構在數據採集點上,將同一信息主體的所有事項徵信信息進行合併彙總。比如徵信機構的某個客戶既有信用卡業務又有貸款業務,則客戶徵信信息為信用卡事項徵信信息和貸款事項徵信信息的合併拼接。客戶徵信信息需要附上該信息主體在區塊鏈上最後一筆哈希地址,並且新增的事項徵信信息需要經過人行公鑰加密,同時附上該信息主體的證件信息經人行公鑰加密後產生的“客戶標識”。最後經過哈希計算生成哈希地址,組裝成完整的客戶徵信信息。

3.2.3 批量徵信信息

批量徵信信息是指徵信機構在數據採集點上,將要上報的所有信息主體涉及到的客戶徵信信息進行合併彙總,並附上徵信機構的證書,然後對上報的內容進行簽名,組成完整的批量徵信信息。

批量徵信信息報文長度有可能較大,可先進行壓縮並附上壓縮算法,最後在對等網絡中進行廣播。

3.2.4 失敗重發

由於區塊鏈的共識機制,徵信機構廣播的批量徵信信息可能最終沒被成功加入到區塊鏈中,徵信機構需要在一段時間後進行核查,如果確認失敗則需要重新獲取並更新客戶徵信報的上筆地址,並廣播到網路中。

3.3 驗證徵信信息和生成區塊

3.3.1 驗證徵信信息

P2P上的節點接收到批量徵信信息後,除了加密後的新增事項徵信信息無法校驗,其他信息內容都需要進行驗證。驗證的步驟如下:

區塊鏈在央行徵信系統的應用探討

驗證批量徵信信息流程

(1)驗證批量徵信信息:主要驗證批量徵信信息的證書是否人行頒發並且有效、是否有報送權限、數據是否未經修改。

(2)驗證客戶徵信信息:驗證客戶徵信信息中的上筆地址是否為該信息主體在當前區塊鏈中最後一筆哈希地址。

(3)驗證刪除事項徵信信息:通過刪除事項徵信信息找到要刪除的歷史新增事項徵信信息,用歷史的徵信機構證書驗證當前徵信信息的簽名,如果驗證簽名通過說明是同一徵信機構,該刪除事項徵信信息有效。

(4)新增事項徵信信息由徵信機構負責並保證其準確性,人行通過異常處理、對賬審計和獎懲機制等手段約束徵信機構的報送操作和保證其數據質量。

3.3.2 生成區塊

網絡中所有的節點都有權限生成區塊。節點收集所有驗證通過的批量徵信信息,通過工作量證明並以大約10分鐘的速度生成區塊,並向其他節點廣播。生成區塊的原理跟比特幣挖礦類似,部分方式根據徵信的特點進行調整:

(1)取消區塊內容第一筆交易為挖礦所得的獎勵機制,改成通過降低查詢徵信報告費用的方式進行獎勵。

(2)比特幣對每筆交易收取一定手續費的方式,避免惡意發送交易。為避免徵信機構惡意發送批量徵信信息,每生成區塊時間段內,發現同一徵信機構出現多筆報送記錄的,廢棄該徵信機構本次發送的所有批量徵信信息。

區塊鏈在央行徵信系統的應用探討

徵信區塊結構

生成區塊的大致過程:

(1)將收集到的報送徵信信息,經驗證通過後,過濾掉同一徵信機構出現多筆的批量徵信信息,然後加入到區塊主體中

(2)區塊主體中的批量徵信信息列表,通過默克爾樹算法生成默克爾哈希值,跟其他字段信息組成長度為80字節的區塊頭部。

(3)將區塊頭部內容,經過兩次哈希計算後,結果值如果小於以數位0字節開頭的目標值,則區塊頭有效並結束,否則重新生成隨機數並重新計算,直到生成有效區塊頭。

區塊鏈在央行徵信系統的應用探討

生成區塊流程

生成有效區塊時需要大量的CPU計算,最先生成的區塊廣播到網絡上,因而更容易被優先加入到區塊鏈中,並通過後續產生的區塊進一步鞏固。以提高惡意節點偽造區塊的成本。

3.4 維護區塊鏈和數據存儲

3.4.1 維護區塊鏈

節點收到在網絡上廣播的區塊,驗證區塊是否有效:

1、該區塊的哈希值是否小於目標值

2、該區塊的“上一區塊哈希值”,是否指向當前區塊鏈的最後一個區塊。

驗證通過後加入到現有的區塊鏈,但是此時還不能確定是否生效,需要等到下一個區塊的加入才能確定。比如同時收到來自不同節點廣播的區塊,經過驗證都是有效,同時加入到區塊鏈則產生分支。直到下一個區塊的加入,以最長分支的區塊確定生效,其他分支的區塊則廢棄。如圖4:區塊鏈分支。

3.4.2 數據存儲

比特幣交易中主要信息是錢包和交易金額,單筆交易攜帶的數據量很小,但從2009年運行至今,完整的歷史交易賬本數據已超過80G。而徵信系統中,每一筆徵信明細,都會附帶相關的業務指標項,數據量遠遠超過比特幣的單筆交易。隨著更多行業的徵信數據加入,數據存儲是考驗系統能夠長期穩定運行的關鍵。

每個P2P節點存儲完整的徵信區塊鏈數據是不現實的,摩爾定律中硬件升級的速度是遠遠趕不上徵信數據的膨脹。區塊頭部字節長度固定,區塊增長速度穩定,所以每個節點可以保留由區塊頭組成的區塊鏈。而區塊主體包含了徵信信息明細,數據量較大,徵信系統可以採用一致性哈希算法的方式進行存儲,每個節點只需要根據一定的規則存儲其中的一小部分數據,所有節點組合後提供完整的徵信數據,同時採用一定的備份策略保證數據安全。

區塊鏈在央行徵信系統的應用探討

一致性哈希算法存儲

徵信主體節點加入退出比較靈活,對一致性哈希算法效率有一定影響,而徵信機構節點相對比較穩定,目前徵信機構加入和退出徵信系統都需要提前上報人行。

所以徵信機構和信息主體分別進行一致性哈希算法存儲。並以徵信機構為主導,信息主體為備份,提高數據存儲的可行性和安全性。以徵信機構為例:

(1)存儲策略:所有的徵信機構節點根據服務器地址經哈希取值,映射到0到2³² -1的環中。當節點從網絡中接收到新的區塊時,區塊頭部加入到區塊鏈中,然

後判斷本節點服務器地址哈希值是否距離區塊哈希值順時針最近的。如果是則存儲區塊主體,否則廢棄該區塊主體。

(2)備份:備份的數目需要事先確定好並固定不變的,否則一旦變動就會造成之前的存儲位置失效。比如備份數位3,新增區塊時,需要存儲的位置為hash(區塊)、hash(區塊)+ 2³²* ¼、hash(區塊)+2³² * ½、hash(區塊)+ 2³² * ¾。

(3)加入:新的徵信機構節點加入時,從網絡上獲取完整的只含區塊頭部的區塊鏈,遍歷區塊鏈的區塊哈希值,判斷哪些是應該本節點存儲的區塊主體,從逆時針方向最近的節點獲取並存儲。

(4)退出:當網絡中發現某個節點失聯或是主動申請退出時,則需要通知逆時針方向最近的節點,遍歷完整的區塊鏈,判斷哪些是本節點應該存儲的區塊主體,從備份的節中獲取並存儲。如保險節點退出,則電力節點從備份節點獲取區塊4的副本並進行存儲。

3.5 查詢徵信報告

比特幣錢包本質上是用UTXO(未花費的輸出)來體現,即交易鏈中最後一筆交易的輸出地址。而在徵信系統中的UTXO則是徵信主體在區塊鏈中的最後一筆客戶徵信信息的哈希地址,通過UTXO可以在區塊鏈中往前追溯出該信息主體的所有徵信信息。詳細的查詢步驟如下:

(1)被查詢的信息主體用私鑰生成授權查詢證書併發送給徵信機構

(2)徵信機構將被查詢信息主體的證件信息經人行公鑰加密生成客戶標識,在UTXO庫中查詢最後一筆客戶徵信信息的哈希地址,然後在區塊鏈中往前遍歷查詢出所有涉及到的區塊頭部(如果是隻需要查詢近5年徵信信息,可根據區塊頭時間戳判斷一旦超過5年則不繼續往前遍歷),過濾掉被刪除的區塊頭部,並從P2P網絡中通過區塊哈希值在一致性哈希存儲中獲取區塊主體。

(3)將完整區塊主體的加密徵信報告、授權查詢證書、徵信機構的證書及簽名壓縮發送給人行。

(4)人行解壓後,驗證報送機構證書、授權查詢證書和查詢期限,通過後經過人行私鑰解密並返回解密後的徵信報告給徵信機構,同時記錄查詢日誌。

區塊鏈在央行徵信系統的應用探討

查詢徵信報告流程

3.6 獎懲機制

為鼓勵更多組織和個人加入區塊鏈,共同維護徵信區塊鏈,需要一個良好的獎懲機制,對報送數據不規範、不準確、或是惡意報送的行為進行懲處,對積極生成區塊、分攤備份存儲的進行獎勵懲罰措施:

(1)經人行對賬審計或是信息主體提出異議,核查確定徵信機構報送的徵信內容不準確,數據格式不正確,次數較多的徵信機構在查詢徵信報告時適當提高查詢費用。

(2)因惡意報送徵信數據、惡意退出P2P網絡的徵信機構,可以下發黑名單庫,拒絕其報送數據和查詢徵信報告。

獎勵措施:

(1)只有加入P2P徵信網絡中,才可以經授權進行查詢徵信報告,或是查詢費用比其他間接方式查詢還低

(2)生成區塊較多的徵信機構,在查詢徵信報告時適當降低查詢費用

4 系統不足及應對措施

本設計方案最大的不足是受徵信信息加密的影響,其他節點在生成區塊時無法校驗其格式的正確性以及人行需要承擔解密工作。格式錯誤問題可以通過獎懲機制約束徵信機構報送前進行嚴格校驗,以及異議處理進行事後數據修復。人行對徵信報告解密會消耗一定的CPU資源,在查詢高峰期時可以通過請求優先級、隊列、異步、增加CPU資源等方式降低系統負荷。

5 結束語

本文主要探討了區塊鏈技術應用於徵信系統,可以解決傳統集中處理的瓶頸和不足,人行可以從接收、存儲、提供徵信數據等相關服務中剝離出來,只需負責提供數字證書和徵信報告解密,最大程度地低降人行系統服務壓力。通過所有徵信參與者的共同維護,可以提供一個更安全、更穩定、更容易擴展的徵信系統。同時具有很強的前瞻性,在不需要升級架構和擴容軟硬件的情況下,滿足未來複雜多變的處理能力和負載要求。

從設計方案也可以看出,目前區塊鏈技術還不是非常成熟,在應用於各種去中心化的業務場景中,無法完全有據可循、有條可依地解決各種個性化需求問題,需要根據實際情況並結合區塊鏈原理做相應的改造,借鑑其他技術來彌補區塊鏈的各種不足,以打造出能夠真正落地,可行並且更加健壯完善的去中心化應用系統。


分享到:


相關文章: