本發(fā)明涉及一種數(shù)據(jù)共享與交易系統(tǒng),特別是涉及一種基于區(qū)塊鏈技術(shù)的征信數(shù)據(jù)共享與交易系統(tǒng)。
背景技術(shù):
央行征信主導(dǎo)的征信體系無法滿足金融市場運(yùn)行需求,截止到2014年,自然人信用檔案數(shù)8.57億減去有貸款記錄的人數(shù)3.5億,有5億人的央行征信數(shù)據(jù)是空白的。征信數(shù)據(jù)大致可以分為以下幾類:
第一是身份屬性,指個人身份識別與認(rèn)證信息,包括姓名、性別、身份證、年齡、婚姻家庭、住址、職業(yè)、文化程度等。
第二是履約能力,指用于評估個人還款意愿的信息,包括收入、存款、有價(jià)證券、商業(yè)保險(xiǎn)等。
第三是信用記錄,即用于評估個人還款意愿的信息,包括個人在商業(yè)銀行貸款、信用卡、消費(fèi)金融信貸、P2P網(wǎng)貸、貸記卡、擔(dān)保等金融信用活動中發(fā)生的活動,此外也有非金融機(jī)構(gòu)的個人賒購、繳費(fèi)信息等,這些可以顯示一個人在信用方面的行為。
第四是行為特征,即反映個人行為特點(diǎn)并據(jù)此評估個人信用變遷趨勢的信息,包括居住地變遷、消費(fèi)行為習(xí)慣、工作學(xué)習(xí)變遷、通信行為特點(diǎn)、互聯(lián)網(wǎng)行為記錄與偏好等信息。
第五是社交資料,即反映個人交際關(guān)系、社交言行特點(diǎn)的信息。
第六是公共記錄信息,例如民事、刑事、行政訴訟判決、行政處罰等信息。
目前獲取征信數(shù)據(jù)有兩種方式,第一種是有牌照的征信公司,第二種是公司聯(lián)盟,即業(yè)界有征信數(shù)據(jù)及需求的幾家企業(yè)自發(fā)組成一個聯(lián)盟,在聯(lián)盟內(nèi)進(jìn)行數(shù)據(jù)共享。但是各家擁有的征信數(shù)據(jù)各不相同,各有特色,因此如果一個征信數(shù)據(jù)使用方需要完整征信數(shù)據(jù)的時候,就需要對接若干家第三方征信公司。
征信公司受制于數(shù)據(jù)來源渠道,一般信息比較單一,且通常只能提供查詢服務(wù)。這些征信公司一般采用傳統(tǒng)的IT技術(shù)方案,數(shù)據(jù)一般保存在關(guān)系型數(shù)據(jù)庫中(例如Oracle),然后通過Web Service接口供第三方查詢。這些接口及數(shù)據(jù)交互標(biāo)準(zhǔn)一般由征信公司自己定義,沒有統(tǒng)一的標(biāo)準(zhǔn)。數(shù)據(jù)查詢都是有償?shù)?,一般按照查詢次?shù)收費(fèi)。而且其征信數(shù)據(jù)量少,且種類單一;大部分只提供單向查詢,無法由數(shù)據(jù)使用方補(bǔ)充數(shù)據(jù);從數(shù)據(jù)使用方來看,為了完善風(fēng)控,必須對接多家征信公司,費(fèi)時且費(fèi)力。
第二種是公司聯(lián)盟,例如互聯(lián)網(wǎng)金融公司自發(fā)組成一個聯(lián)盟,在聯(lián)盟內(nèi)共享黑名單數(shù)據(jù),防止惡意用戶騙貸。公司聯(lián)盟方案則存在數(shù)據(jù)交換與查詢?nèi)狈y(tǒng)一的標(biāo)準(zhǔn),同時缺乏一系列的機(jī)制,使得各家參與方能夠方便的共享數(shù)據(jù)和查詢數(shù)據(jù)。而且其缺乏數(shù)據(jù)保護(hù)機(jī)制,缺乏基于技術(shù)的信任機(jī)制,缺乏激勵機(jī)制來吸引更多的人共享數(shù)據(jù)。
聯(lián)盟的技術(shù)方案有多種形式,(1)文件共享方式即黑名單數(shù)據(jù)通過文件的方式在聯(lián)盟內(nèi)共享(郵件,F(xiàn)TP等方式),聯(lián)盟成員自己負(fù)責(zé)把數(shù)據(jù)持久化及和自己的業(yè)務(wù)系統(tǒng)同步;(2)統(tǒng)一數(shù)據(jù)平臺,聯(lián)盟各方使用傳統(tǒng)IT構(gòu)建一個數(shù)據(jù)共享平臺,這個共享平臺一般部署在某個聯(lián)盟會員或者公有云上,大家通過接口的方式上傳數(shù)據(jù)和查詢數(shù)據(jù)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提出一種征信數(shù)據(jù)共享與交易系統(tǒng),提供一個可被各方基于技術(shù)而非平臺背書信任的征信數(shù)據(jù)共享系統(tǒng),能夠讓參與方便捷的共享數(shù)據(jù),并且在技術(shù)上保證數(shù)據(jù)不被濫用,保障數(shù)據(jù)所有者的權(quán)益,并且在技術(shù)上保證公平性,保障數(shù)據(jù)提供者在共享數(shù)據(jù)之后獲得某種收益,激勵參與方共享更多的數(shù)據(jù)。
為實(shí)現(xiàn)上述目的,本發(fā)明提供了一種征信數(shù)據(jù)共享與交易系統(tǒng),所述征信數(shù)據(jù)共享與交易系統(tǒng)包括至少兩個P2P的網(wǎng)絡(luò)節(jié)點(diǎn),所述網(wǎng)絡(luò)節(jié)點(diǎn)中包括底層區(qū)塊鏈系統(tǒng)以及運(yùn)行在所述底層區(qū)塊鏈系統(tǒng)上的征信數(shù)據(jù)共享平臺,所述征信數(shù)據(jù)共享平臺包括:
數(shù)據(jù)共享模塊,供數(shù)據(jù)提供者共享征信元數(shù)據(jù);
數(shù)據(jù)查詢交易模塊,供數(shù)據(jù)需求者查詢征信元數(shù)據(jù),并用于與數(shù)據(jù)提供者進(jìn)行交易;
區(qū)塊鏈適配層,用于將征信數(shù)據(jù)共享平臺適配到底層區(qū)塊鏈系統(tǒng);
所述數(shù)據(jù)提供者調(diào)用數(shù)據(jù)共享模塊上傳征信元數(shù)據(jù)并進(jìn)行數(shù)據(jù)記錄;所述數(shù)據(jù)需求者調(diào)用數(shù)據(jù)查詢交易模塊查詢征信元數(shù)據(jù),并和數(shù)據(jù)提供者進(jìn)行交易,生成的征信交易數(shù)據(jù);所述區(qū)塊鏈適配層將征信元數(shù)據(jù)或征信交易數(shù)據(jù)進(jìn)行廣播,在得到大于50%的網(wǎng)絡(luò)節(jié)點(diǎn)驗(yàn)證后,新生成的征信元數(shù)據(jù)或征信交易數(shù)據(jù)將存入到底層區(qū)塊鏈系統(tǒng)中。
優(yōu)選地,所述區(qū)塊鏈適配層包括共識算法適配模塊、數(shù)據(jù)適配模塊以及智能合約適配模塊。
優(yōu)選地,所述共識算法適配模塊采用抽象共識算法抽象出一套共識算法的公共接口,并根據(jù)底層算法匹配適配器;所述適配器至少包括工作證明算法適配器、權(quán)益證明算法適配器。
優(yōu)選地,所述數(shù)據(jù)適配模塊定義區(qū)塊鏈數(shù)據(jù)的抽象模型,并根據(jù)區(qū)塊鏈數(shù)據(jù)格式進(jìn)行適配。
優(yōu)選地,所述智能合約適配模塊定義智能合約的抽象模型,并根據(jù)智能合約的實(shí)現(xiàn)方式進(jìn)行適配。
優(yōu)選地,所述數(shù)據(jù)提供者共享征信元數(shù)據(jù)的步驟如下:
a)數(shù)據(jù)提供者按照定義的格式組裝征信元數(shù)據(jù),并調(diào)用數(shù)據(jù)共享模塊的上傳接口上傳征信元數(shù)據(jù);
b)所述數(shù)據(jù)共享模塊調(diào)用共識算法適配模塊進(jìn)行數(shù)據(jù)記錄,并且所述共識算法適配模塊根據(jù)選定的共識算法,定期得到新生成的區(qū)塊;
c)所述共識算法適配模塊將征信元數(shù)據(jù)進(jìn)行廣播,在得到大于50%的網(wǎng)絡(luò)節(jié)點(diǎn)驗(yàn)證后,將新生成的征信元數(shù)據(jù)存入到新生成的區(qū)塊中,新生成的區(qū)塊調(diào)用數(shù)據(jù)適配模塊寫入到區(qū)塊鏈中;
d)共識算法適配模塊將最終的區(qū)塊信息返回到數(shù)據(jù)共享模塊,并且所述數(shù)據(jù)共享模塊將最終的區(qū)塊信息返回給數(shù)據(jù)提供者。
優(yōu)選地,所述數(shù)據(jù)需求者進(jìn)行數(shù)據(jù)查詢交易的步驟如下:
a)數(shù)據(jù)需求者根據(jù)需求數(shù)據(jù)的主標(biāo)識生成散列值,并根據(jù)主標(biāo)識的散列值和需求數(shù)據(jù)的類型調(diào)用數(shù)據(jù)查詢交易模塊上的查詢接口;
b)所述數(shù)據(jù)查詢交易模塊調(diào)用數(shù)據(jù)適配模塊,并且所述數(shù)據(jù)適配模塊根據(jù)主標(biāo)識的散列值和需求數(shù)據(jù)的類型查詢保存在本地區(qū)塊鏈上的征信元數(shù)據(jù);
c)所述數(shù)據(jù)適配模塊將征信元數(shù)據(jù)返回給數(shù)據(jù)查詢交易模塊,所述數(shù)據(jù)查詢交易模塊將征信元數(shù)據(jù)返回給數(shù)據(jù)需求者;
d)所述數(shù)據(jù)需求者根據(jù)返回的征信元數(shù)據(jù)中的數(shù)據(jù)提供者ID得到數(shù)據(jù)提供者的公鑰,并根據(jù)數(shù)據(jù)提供者的公鑰驗(yàn)證征信元數(shù)據(jù)中數(shù)據(jù)提供者的簽名;
e)在公鑰驗(yàn)證后,數(shù)據(jù)需求者從征信元數(shù)據(jù)中提取數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口的列表信息;
f)數(shù)據(jù)需求者根據(jù)數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口發(fā)送訪問請求,訪問請求的數(shù)據(jù)根據(jù)數(shù)據(jù)提供者的公鑰進(jìn)行加密,其中,所述訪問請求中至少包含主標(biāo)識、數(shù)據(jù)類型、數(shù)據(jù)需求者ID及數(shù)據(jù)需求者簽名。
g)在收到訪問請求后,所述數(shù)據(jù)提供者用私鑰進(jìn)行解密,提取查詢請求中的數(shù)據(jù)需求者ID,并在獲取數(shù)據(jù)需求者的公鑰后根據(jù)數(shù)據(jù)需求者的公鑰驗(yàn)證查詢數(shù)據(jù)中數(shù)據(jù)需求者的簽名;
h)所述數(shù)據(jù)提供者驗(yàn)證通過之后,根據(jù)完整征信數(shù)據(jù)、交易價(jià)格以及數(shù)據(jù)提供者簽名調(diào)用智能合約適配模塊生成交易的智能合約;
i)在對交易價(jià)格確認(rèn)后,所述數(shù)據(jù)需求者使用私鑰對所述智能合約簽名確認(rèn),并且所述智能合約將生成的交易數(shù)據(jù)廣播到每一個網(wǎng)絡(luò)節(jié)點(diǎn),在得到大于50%的網(wǎng)絡(luò)節(jié)點(diǎn)驗(yàn)證后,調(diào)用所述數(shù)據(jù)適配模塊寫入到區(qū)塊鏈中,并將完整數(shù)據(jù)發(fā)送給數(shù)據(jù)需求者。
優(yōu)選地,所述征信數(shù)據(jù)共享平臺還包括密鑰管理分發(fā)模塊,所述密鑰管理分發(fā)模塊用于管理用戶ID與公鑰之間的對應(yīng)關(guān)系,所述密鑰管理分發(fā)模塊還用于生成密鑰對。
基于上述技術(shù)方案,本發(fā)明的優(yōu)點(diǎn)是:
本發(fā)明的征信數(shù)據(jù)共享與交易系統(tǒng)使用區(qū)塊鏈技術(shù)構(gòu)建了一個可信的征信數(shù)據(jù)共享與交易平臺,所述征信數(shù)據(jù)共享與交易系統(tǒng)使用特殊的數(shù)據(jù)共享機(jī)制,數(shù)據(jù)查詢機(jī)制,數(shù)據(jù)交易機(jī)制,能夠吸引征信數(shù)據(jù)擁有者和征信數(shù)據(jù)需求者使用,以使得征信數(shù)據(jù)提供者在數(shù)據(jù)被保護(hù)的情況下可以獲得一定的經(jīng)濟(jì)補(bǔ)償,征信數(shù)據(jù)查詢方則可以獲取征信數(shù)據(jù),完善自己的風(fēng)控水平。
本發(fā)明的征信數(shù)據(jù)共享與交易系統(tǒng)可以與現(xiàn)有的征信數(shù)據(jù)形成互補(bǔ),有效的擴(kuò)大征信數(shù)據(jù)范圍及覆蓋的人群。所述征信數(shù)據(jù)共享與交易系統(tǒng)建設(shè)成功后,可以部分解決目前征信體系不完善的問題,能夠起到很好的補(bǔ)充作用,可以更好地為銀行、小貸公司、消費(fèi)金融、網(wǎng)絡(luò)借貸、大數(shù)據(jù)公司和其他互聯(lián)網(wǎng)金融機(jī)構(gòu)服務(wù)降低因征信數(shù)據(jù)不完全引起的逾期率,提高業(yè)務(wù)運(yùn)作效率。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:
圖1為區(qū)塊鏈邏輯結(jié)構(gòu)示意圖;
圖2為交易數(shù)據(jù)記錄過程中的區(qū)塊鏈工作邏輯;
圖3為一種典型區(qū)塊鏈的技術(shù)棧示意圖;
圖4為征信數(shù)據(jù)共享與交易系統(tǒng)拓?fù)鋱D;
圖5為網(wǎng)絡(luò)節(jié)點(diǎn)邏輯結(jié)構(gòu)示意圖;
圖6為征信數(shù)據(jù)共享平臺結(jié)構(gòu)示意圖;
圖7為共識算法適配模塊邏輯示意圖;
圖8為數(shù)據(jù)結(jié)構(gòu)示意圖;
圖9為共享征信元數(shù)據(jù)信令交互示意圖;
圖10為數(shù)據(jù)查詢交易信令交互示意圖。
具體實(shí)施方式
下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
本發(fā)明的征信數(shù)據(jù)共享與交易系統(tǒng)底層基于區(qū)塊鏈技術(shù)形成,所述區(qū)塊鏈技術(shù)是一種利用去中心化和去信任方式集體維護(hù)一本數(shù)據(jù)簿的可靠性的技術(shù),其需要讓參與系統(tǒng)中的任意多個節(jié)點(diǎn),通過一串使用密碼學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊(block)中每個數(shù)據(jù)中都包含了一定時間內(nèi)的系統(tǒng)全部信息交流的數(shù)據(jù),并生成數(shù)據(jù)指紋用于驗(yàn)證其信息的有效性和鏈接下一個數(shù)據(jù)庫塊。
圖1的區(qū)塊鏈邏輯示意是對區(qū)塊鏈中間一段的簡單描述。其中每個區(qū)塊都有指向前一個區(qū)塊的鏈接,一直到最初創(chuàng)建的區(qū)塊即創(chuàng)始區(qū)塊;而在區(qū)塊鏈系統(tǒng)上發(fā)生的每一筆交易都會存在于某一個區(qū)塊中,并被永久保存。例如區(qū)塊54中包含了鏈接,鏈接到區(qū)塊53;區(qū)塊53中包含了鏈接,鏈接到區(qū)塊52;區(qū)塊52中包含了鏈接,鏈接到區(qū)塊51,以此類推,直到最初的創(chuàng)始區(qū)塊。
在區(qū)塊鏈系統(tǒng)上,以交易數(shù)據(jù)記錄過程為例解釋區(qū)塊鏈的工作機(jī)制,其能夠有效地解決雙重消費(fèi)和拜占庭將軍問題。如圖2所示,其具體過程如下:
(1)、區(qū)塊鏈的最后一個環(huán)節(jié)是Owner1,其采用Owner0的公鑰驗(yàn)證了前一筆交易數(shù)據(jù);
(2)、Owner1用自身的密鑰簽署所述交易數(shù)據(jù);
(3)、交易數(shù)據(jù)從Owner1傳送到Owner2,并向全網(wǎng)廣播;
(4)、交易數(shù)據(jù)在廣播的時候,需要得到足夠多節(jié)點(diǎn)的確認(rèn),才能被認(rèn)為交易完成;而在整個P2P網(wǎng)絡(luò)中最早打上時間戳的那個交易數(shù)據(jù)被認(rèn)定為是成功的交易;
(5)、交易成功后,數(shù)據(jù)記錄到區(qū)塊中。
本實(shí)施例提供了一種典型區(qū)塊鏈的技術(shù)棧,如圖3所示,包括:
(1)、網(wǎng)絡(luò)層。一般采用P2P網(wǎng)絡(luò)技術(shù),因此在區(qū)塊鏈網(wǎng)絡(luò)中沒有中心服務(wù)器,如果任何一個或多個節(jié)點(diǎn)從區(qū)塊鏈網(wǎng)絡(luò)中丟失,數(shù)據(jù)也不會丟失,同時其中包括廣播機(jī)制和數(shù)據(jù)驗(yàn)證機(jī)制,保證數(shù)據(jù)傳輸安全性和高效性。
(2)、數(shù)據(jù)層。核心是數(shù)據(jù)區(qū)塊及鏈?zhǔn)降臄?shù)據(jù)結(jié)構(gòu),同時生成的數(shù)據(jù)都會加上時間戳,并使用散列算法,防止數(shù)據(jù)被篡改。同時還使用加密算法(如非對稱加密算法),以保護(hù)數(shù)據(jù)的安全性及用戶的隱私。
(3)、共識層。共識方式可采用工作量證明,其是一種能夠確保正確答案很難被獲取,卻又能夠很容易被驗(yàn)證的一種方式,它用于確保生成的區(qū)塊符合某種數(shù)據(jù)特征,防止數(shù)據(jù)被偽造或者篡改。而權(quán)益證明機(jī)制是另外一種達(dá)成共識的方式。如在比特幣的區(qū)塊鏈系統(tǒng)中,基于權(quán)益證明機(jī)制的系統(tǒng)上“挖礦”是以貨幣的持有量為基礎(chǔ)的。
(4)、智能合約。傳統(tǒng)合約是指雙方或者多方協(xié)議做或不做某事來換取某些東西,每一方必須信任彼此會履行義務(wù)。而智能合約無須彼此信任,因?yàn)橹悄芎霞s不僅是由代碼進(jìn)行定義的,也是由代碼強(qiáng)制執(zhí)行的,完全自動且無法干預(yù)。
本發(fā)明針對征信數(shù)據(jù)共享這一領(lǐng)域,提出了一種基于區(qū)塊鏈技術(shù)的征信數(shù)據(jù)共享與交易系統(tǒng)。其中,所述征信數(shù)據(jù)共享與交易系統(tǒng)底層采用區(qū)塊鏈的P2P(即對等計(jì)算機(jī)網(wǎng)絡(luò),是一種在對等者之間分配任務(wù)和工作負(fù)載的分布式應(yīng)用架構(gòu),是對等計(jì)算模型在應(yīng)用層形成的一種組網(wǎng)或網(wǎng)絡(luò)形式)的網(wǎng)絡(luò)結(jié)構(gòu),每個節(jié)點(diǎn)包含了本方案獨(dú)特的征信數(shù)據(jù)共享平臺以及使用的區(qū)塊鏈技術(shù)的底層區(qū)塊鏈系統(tǒng)。
本發(fā)明提供了一種征信數(shù)據(jù)共享與交易系統(tǒng),如圖4~圖所示,所述征信數(shù)據(jù)共享與交易系統(tǒng)包括至少兩個P2P的網(wǎng)絡(luò)節(jié)點(diǎn),所述網(wǎng)絡(luò)節(jié)點(diǎn)中包括底層區(qū)塊鏈系統(tǒng)以及運(yùn)行在所述底層區(qū)塊鏈系統(tǒng)上的征信數(shù)據(jù)共享平臺,所述征信數(shù)據(jù)共享平臺包括:
數(shù)據(jù)共享模塊,供數(shù)據(jù)提供者共享征信元數(shù)據(jù);
數(shù)據(jù)查詢交易模塊,供數(shù)據(jù)需求者查詢征信元數(shù)據(jù),并用于與數(shù)據(jù)提供者進(jìn)行交易;
區(qū)塊鏈適配層,用于將征信數(shù)據(jù)共享平臺適配到底層區(qū)塊鏈系統(tǒng)。
所述數(shù)據(jù)提供者調(diào)用數(shù)據(jù)共享模塊上傳征信元數(shù)據(jù)并進(jìn)行數(shù)據(jù)記錄;所述數(shù)據(jù)需求者調(diào)用數(shù)據(jù)查詢交易模塊查詢征信元數(shù)據(jù),并和數(shù)據(jù)提供者進(jìn)行交易,生成的征信交易數(shù)據(jù);所述區(qū)塊鏈適配層將征信元數(shù)據(jù)或征信交易數(shù)據(jù)進(jìn)行廣播,在得到大于50%的網(wǎng)絡(luò)節(jié)點(diǎn)驗(yàn)證后,新生成的征信元數(shù)據(jù)或征信交易數(shù)據(jù)將存入到底層區(qū)塊鏈系統(tǒng)中。
如圖6所示,所述征信數(shù)據(jù)共享平臺包含數(shù)據(jù)共享模塊、數(shù)據(jù)查詢交易模塊、數(shù)據(jù)評價(jià)模塊、成員管理模塊、密鑰管理分發(fā)模塊以及區(qū)塊鏈適配層。采用區(qū)塊鏈適配層用于適配不同的底層區(qū)塊鏈技術(shù)實(shí)現(xiàn),使得系統(tǒng)可以不依賴于底層具體的區(qū)塊鏈技術(shù)。
本發(fā)明的征信數(shù)據(jù)共享與交易系統(tǒng)最核心模塊包括:數(shù)據(jù)共享模塊以及數(shù)據(jù)查詢交易模塊,其是整個系統(tǒng)的核心。其次,數(shù)據(jù)評價(jià)模塊用于對數(shù)據(jù)進(jìn)行評價(jià),能夠提高平臺的數(shù)據(jù)質(zhì)量。成員管理模塊和密鑰管理分發(fā)模塊是基礎(chǔ)模塊,而區(qū)塊鏈適配層模塊可以使得本方案不依賴于具體的底層區(qū)塊鏈技術(shù)實(shí)現(xiàn)方式。
優(yōu)選地,所述征信數(shù)據(jù)共享平臺還包括密鑰管理分發(fā)模塊,所述密鑰管理分發(fā)模塊用于管理用戶ID(包括數(shù)據(jù)提供者,數(shù)據(jù)需求者或者數(shù)據(jù)評價(jià)者)與公鑰之間的對應(yīng)關(guān)系,同時它還能夠生成密鑰對,并安全分發(fā)給相關(guān)用戶。
所述區(qū)塊鏈適配層包括共識算法適配模塊、數(shù)據(jù)適配模塊以及智能合約適配模塊。優(yōu)選地,所述共識算法適配模塊采用抽象共識算法抽象出一套共識算法的公共接口,并根據(jù)底層算法匹配適配器;所述適配器至少包括工作證明算法適配器、權(quán)益證明算法適配器。平臺會抽象出一套共識算法的公共接口,同時使用不同的適配器適配不同的底層算法,如圖7所示。
所述抽象共識算法主要包括兩個抽象接口:
a)ProofgenerateProof():該接口用于生成證明,該證明會用于生成區(qū)塊;
b)Block generateBlock(Proof p,...args):根據(jù)證明生成區(qū)塊。
以脫胎于比特幣的區(qū)塊鏈技術(shù)為例,其生成證明就是一個“挖礦”的過程。“挖礦”就是找到一個具有以下特征的值:用SHA-256進(jìn)行兩次散列計(jì)算后,得到散列值以若干個0開頭。那比特幣區(qū)塊鏈技術(shù)的generateProof適配實(shí)現(xiàn)就是找到這樣的值。而比特幣區(qū)塊鏈的generateBlock實(shí)現(xiàn)就是根據(jù)挖到的散列值及其他數(shù)據(jù)組成一個區(qū)塊并存放到區(qū)塊鏈中。
優(yōu)選地,所述數(shù)據(jù)適配模塊定義區(qū)塊鏈數(shù)據(jù)的抽象模型,并根據(jù)區(qū)塊鏈數(shù)據(jù)格式進(jìn)行適配。底層區(qū)塊鏈數(shù)據(jù)也存在不同實(shí)現(xiàn),通過定義區(qū)塊鏈數(shù)據(jù)的抽象模型,屏蔽底層的差異。同時定義不同的適配模塊適配不同的區(qū)塊鏈數(shù)據(jù)格式,例如比特幣的區(qū)塊鏈數(shù)據(jù)格式、以太坊的區(qū)塊鏈數(shù)據(jù)格式。
優(yōu)選地,所述智能合約適配模塊定義智能合約的抽象模型,并根據(jù)智能合約的實(shí)現(xiàn)方式進(jìn)行適配。同樣的,底層智能合約也存在不同的實(shí)現(xiàn),通過定義智能合約的抽象模型,屏蔽底層的差異。同時定義不同的適配模塊適配不同的智能合約實(shí)現(xiàn)技術(shù),例如以太坊的智能合約。
存儲在底層區(qū)塊鏈中主要有三類數(shù)據(jù):征信元數(shù)據(jù)、征信交易數(shù)據(jù)以及征信評價(jià)數(shù)據(jù)。大致的數(shù)據(jù)結(jié)構(gòu)如下:
[類型,數(shù)據(jù)]
其中,類型用于標(biāo)識該數(shù)據(jù)的類型,可以用數(shù)據(jù)字典表示。數(shù)據(jù)則是征信元數(shù)據(jù)、征信交易數(shù)據(jù)或者征信評價(jià)數(shù)據(jù),其示意圖如圖8所示。
為了確保數(shù)據(jù)擁有者的權(quán)益,存儲在征信數(shù)據(jù)共享平臺的征信數(shù)據(jù)將會是征信元數(shù)據(jù),格式如下:
[類型,主標(biāo)識散列值,完整數(shù)據(jù)散列值,數(shù)據(jù)生成時間戳,數(shù)據(jù)版本號,數(shù)據(jù)提供者ID,數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口列表信息,數(shù)據(jù)提供者簽名]
例如:[001(類型),d84ec802c340723837c20aff27b8cafd(主標(biāo)識散列值),73f56896e2be166695e47d6f91da80f7(完整數(shù)據(jù)散列值),61436073600000(數(shù)據(jù)生成時間戳),v0.0.1(版本號),15Xgq5xjUf77ibHZkJu9qKPbw9jPKNeCt1(數(shù)據(jù)提供者ID),https://www.madailicai.com/api/users/{id}/edu(數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口列表信息),iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i(數(shù)據(jù)提供者簽名)]
其中,d84ec802c340723837c20aff27b8cafd是某人的身份證號碼的MD5散列值。
73f56896e2be166695e47d6f91da80f7是“身份證號碼:畢業(yè)學(xué)?!钡腗D5散列值。
61436073600000時間戳代表了2016-10-1 00:00:00。
iEYEARECAAYFAjdYCQoACgkQJ9S6ULt1dqz6IwCfQ7wP6i是數(shù)據(jù)提供者使用私鑰對該條征信元數(shù)據(jù)內(nèi)容(不包括簽名部分)進(jìn)行簽名操作后得到的值,第三方可以使用數(shù)據(jù)提供者的公鑰進(jìn)行驗(yàn)證數(shù)據(jù)是否有該數(shù)據(jù)提供者提供。
以下為征信元數(shù)據(jù)類型說明:
類型:可以用數(shù)據(jù)字典來表示該征信數(shù)據(jù)的類型,例如0001代表個人最高學(xué)歷。
主標(biāo)識散列值:主標(biāo)識用于唯一標(biāo)記該數(shù)據(jù)所有者,例如個人身份證ID,姓名加手機(jī)號碼,企業(yè)注冊號或者統(tǒng)一社會信用代碼等。主標(biāo)識用標(biāo)準(zhǔn)的散列函數(shù)(例如MD5)得到唯一標(biāo)識,該唯一標(biāo)識不可逆,即從唯一標(biāo)識反推出主標(biāo)識。
完整數(shù)據(jù)散列值:數(shù)據(jù)提供者會將征信完整數(shù)據(jù)用標(biāo)準(zhǔn)散列函數(shù)(例如MD5)得到一個散列值,用作數(shù)字簽名,數(shù)據(jù)訪問者可以用這個散列值來驗(yàn)證數(shù)據(jù)提供者之后提供的原始數(shù)據(jù)是否發(fā)生過變化。
數(shù)據(jù)生成時間戳:用于標(biāo)明數(shù)據(jù)生成時的時間,方便用戶進(jìn)行選擇。
數(shù)據(jù)版本號:因?yàn)橥粋€數(shù)據(jù)提供者提供的同一原始數(shù)據(jù)隨著時間的變化,數(shù)據(jù)可能發(fā)生變化,因此用版本號來進(jìn)行區(qū)分,用于標(biāo)明修改的順序。
數(shù)據(jù)提供者ID:相當(dāng)于比特幣錢包地址,用于在平臺內(nèi)唯一標(biāo)識數(shù)據(jù)提供者。
數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口列表信息:數(shù)據(jù)使用方為了獲取完整原始數(shù)據(jù),需要通過調(diào)用數(shù)據(jù)提供者提供的接口,這個接口信息包括輸入?yún)?shù),接口訪問方法和輸出結(jié)果。同時查詢過程中涉及到交易過程,因此也會包含數(shù)據(jù)交易接口信息。
數(shù)據(jù)提供者簽名:數(shù)據(jù)提供者會使用自己的密鑰對共享的征信元數(shù)據(jù)進(jìn)行簽名,而數(shù)據(jù)使用者可以使用數(shù)據(jù)提供者的公鑰來進(jìn)行驗(yàn)證。
所述征信數(shù)據(jù)共享平臺運(yùn)行在底層區(qū)塊鏈系統(tǒng)上,通過區(qū)塊鏈適配層調(diào)用底層區(qū)塊鏈系統(tǒng)的功能。其中,數(shù)據(jù)共享模塊會提供一系列的接口供數(shù)據(jù)提供者共享征信元數(shù)據(jù),其具體流程如圖9所示,具體步驟如下:
a)數(shù)據(jù)提供者按照上述定義的格式組裝征信元數(shù)據(jù)。
b)數(shù)據(jù)提供者調(diào)用數(shù)據(jù)共享模塊的上傳接口上傳征信元數(shù)據(jù)。
c)所述數(shù)據(jù)共享模塊調(diào)用共識算法適配模塊進(jìn)行數(shù)據(jù)記錄。
d)所述共識算法適配模塊根據(jù)選定的共識算法,定期得到區(qū)塊。
e)同時共識算法適配模塊會將征信元數(shù)據(jù)進(jìn)行廣播,在得到大于50%的網(wǎng)絡(luò)節(jié)點(diǎn)驗(yàn)證后,就會把新生成的征信元數(shù)據(jù)存入到新生成的區(qū)塊中。
f)新生成的區(qū)塊最后會調(diào)用數(shù)據(jù)適配模塊寫入到區(qū)塊鏈中。
g)共識算法適配模塊將最終的區(qū)塊信息返回到數(shù)據(jù)共享模塊。
h)數(shù)據(jù)共享模塊將最終的區(qū)塊信息返回到數(shù)據(jù)提供者。
進(jìn)一步,數(shù)據(jù)查詢交易模塊會提供一系列的接口供數(shù)據(jù)需求者查詢征信元數(shù)據(jù),并和數(shù)據(jù)提供者進(jìn)行交易,交易結(jié)果也會存入到底層區(qū)塊鏈系統(tǒng)中。交易數(shù)據(jù)的格式如下:
[數(shù)據(jù)提供者ID,數(shù)據(jù)需求者ID,完整數(shù)據(jù)散列值,數(shù)據(jù)交易時間戳,交易價(jià)格,數(shù)據(jù)提供者簽名,數(shù)據(jù)需求者簽名]
數(shù)據(jù)提供者ID:相當(dāng)于比特幣錢包地址,用于在平臺內(nèi)唯一標(biāo)識數(shù)據(jù)提供者。
數(shù)據(jù)需求者ID:相當(dāng)于比特幣錢包地址,用于在平臺內(nèi)唯一標(biāo)識數(shù)據(jù)需求者。
完整數(shù)據(jù)散列值:數(shù)據(jù)提供者提供的完整征信數(shù)據(jù)的散列值。
數(shù)據(jù)交易時間戳:交易發(fā)生的時間。
交易價(jià)格:數(shù)據(jù)交易的價(jià)格。
數(shù)據(jù)提供者簽名:數(shù)據(jù)提供者會使用自己的密鑰對交易數(shù)據(jù)(不包括數(shù)據(jù)提供者簽名和數(shù)據(jù)需求者簽名)進(jìn)行簽名。
數(shù)據(jù)需求者簽名:數(shù)據(jù)需求者會使用自己的密鑰對交易數(shù)據(jù)(不包括數(shù)據(jù)提供者簽名和數(shù)據(jù)需求者簽名)進(jìn)行簽名。
優(yōu)選地,所述數(shù)據(jù)需求者進(jìn)行數(shù)據(jù)查詢交易的步驟如圖10所示,其具體流程如下:
a)數(shù)據(jù)需求者根據(jù)需求數(shù)據(jù)的主標(biāo)識(如身份證、企業(yè)社會信用統(tǒng)一代碼等),生成散列值。
b)數(shù)據(jù)需求者根據(jù)主標(biāo)識的散列值和需求數(shù)據(jù)的類型,調(diào)用數(shù)據(jù)查詢交易模塊上的查詢接口。
c)數(shù)據(jù)查詢交易模塊調(diào)用數(shù)據(jù)適配模塊,所述數(shù)據(jù)適配模塊根據(jù)主標(biāo)識的散列值和需求數(shù)據(jù)的類型,查詢保存在本地區(qū)塊鏈上的征信元數(shù)據(jù)。
d)如果查詢到對應(yīng)的征信元數(shù)據(jù),區(qū)塊鏈數(shù)據(jù)適配模塊會將征信元數(shù)據(jù)返回給數(shù)據(jù)查詢交易模塊。
e)數(shù)據(jù)查詢交易模塊會將征信元數(shù)據(jù)返回給數(shù)據(jù)需求者。
f)所述數(shù)據(jù)需求者根據(jù)返回的征信元數(shù)據(jù)中的數(shù)據(jù)提供者ID得到數(shù)據(jù)提供者的公鑰;具體地,所述公鑰可通過密鑰管理分發(fā)模塊得到。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)知曉,所述公鑰也可以通過人工輸入或郵件等常規(guī)方式得到。
g)數(shù)據(jù)需求者根據(jù)數(shù)據(jù)提供者的公鑰驗(yàn)證征信元數(shù)據(jù)中數(shù)據(jù)提供者的簽名。
h)在數(shù)據(jù)驗(yàn)證正確之后,數(shù)據(jù)需求者從征信元數(shù)據(jù)中提取數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口的列表信息。
i)數(shù)據(jù)需求者根據(jù)數(shù)據(jù)提供者完整數(shù)據(jù)訪問接口發(fā)送訪問請求,所述訪問請求的數(shù)據(jù)中包含了主標(biāo)識、數(shù)據(jù)類型、數(shù)據(jù)需求者ID及數(shù)據(jù)需求者簽名,訪問請求的數(shù)據(jù)會用數(shù)據(jù)提供者的公鑰進(jìn)行加密。
j)數(shù)據(jù)提供者收到查詢請求后,用私鑰進(jìn)行解密。
k)數(shù)據(jù)提供者提取查詢請求中的數(shù)據(jù)需求者ID,然后從密鑰管理分發(fā)模塊中獲取數(shù)據(jù)需求者的公鑰。相同地,數(shù)據(jù)提供者也可以通過人工輸入或郵件等常規(guī)方式得到數(shù)據(jù)需求者的公鑰。
l)數(shù)據(jù)提供者根據(jù)數(shù)據(jù)需求者的公鑰驗(yàn)證查詢數(shù)據(jù)中數(shù)據(jù)需求者的簽名。
m)數(shù)據(jù)提供者驗(yàn)證通過之后,用完整征信數(shù)據(jù)、交易價(jià)格以及數(shù)據(jù)提供者簽名等信息調(diào)用智能合約適配模塊生成一個交易的智能合約。
n)數(shù)據(jù)提供者將智能合約發(fā)給數(shù)據(jù)需求者。
o)數(shù)據(jù)需求者在對價(jià)格進(jìn)行確認(rèn)后,使用私鑰對交易的智能合約簽名確認(rèn)。
p)所述智能合約將生成一個交易數(shù)據(jù),廣播到每一個網(wǎng)絡(luò)節(jié)點(diǎn),待51%的節(jié)點(diǎn)確認(rèn)后,在得到大于50%的網(wǎng)絡(luò)節(jié)點(diǎn)驗(yàn)證后,調(diào)用所述數(shù)據(jù)適配模塊寫入到區(qū)塊鏈中。
q)同時所述智能合約會將完整數(shù)據(jù)發(fā)給數(shù)據(jù)需求者,并從數(shù)據(jù)需求者賬戶中轉(zhuǎn)約定金額到數(shù)據(jù)提供者賬戶中,完成交易。
所述征信數(shù)據(jù)共享平臺還包括數(shù)據(jù)評價(jià)模塊,所述數(shù)據(jù)評價(jià)模塊會提供一系列接口,用于對數(shù)據(jù)提供者提供的單條數(shù)據(jù)或者某個類型的數(shù)據(jù)進(jìn)行評價(jià),生成征信評價(jià)數(shù)據(jù)。
進(jìn)一步,所述征信數(shù)據(jù)共享平臺還包括成員管理模塊,所述成員管理模塊主要負(fù)責(zé)成員的加入和離開,同時其還將提供平臺安裝包的安全分發(fā)。
本發(fā)明的征信數(shù)據(jù)共享與交易系統(tǒng)使用區(qū)塊鏈技術(shù)構(gòu)建了一個可信的征信數(shù)據(jù)共享與交易平臺,所述征信數(shù)據(jù)共享與交易系統(tǒng)使用特殊的數(shù)據(jù)共享機(jī)制,數(shù)據(jù)查詢機(jī)制,數(shù)據(jù)交易機(jī)制,能夠吸引征信數(shù)據(jù)擁有者和征信數(shù)據(jù)需求者使用,以使得征信數(shù)據(jù)提供者在數(shù)據(jù)被保護(hù)的情況下可以獲得一定的經(jīng)濟(jì)補(bǔ)償,征信數(shù)據(jù)查詢方則可以獲取征信數(shù)據(jù),完善自己的風(fēng)控水平。
本發(fā)明的征信數(shù)據(jù)共享與交易系統(tǒng)可以與現(xiàn)有的征信數(shù)據(jù)形成互補(bǔ),有效的擴(kuò)大征信數(shù)據(jù)范圍及覆蓋的人群。所述征信數(shù)據(jù)共享與交易系統(tǒng)建設(shè)成功后,可以部分解決目前征信體系不完善的問題,能夠起到很好的補(bǔ)充作用,可以更好地為銀行、小貸公司、消費(fèi)金融、網(wǎng)絡(luò)借貸、大數(shù)據(jù)公司和其他互聯(lián)網(wǎng)金融機(jī)構(gòu)服務(wù)降低因征信數(shù)據(jù)不完全引起的逾期率,提高業(yè)務(wù)運(yùn)作效率。
最后應(yīng)當(dāng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制;盡管參照較佳實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:依然可以對本發(fā)明的具體實(shí)施方式進(jìn)行修改或者對部分技術(shù)特征進(jìn)行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請求保護(hù)的技術(shù)方案范圍當(dāng)中。