曾光輝 高一然
摘 要:目前,從國(guó)家到各地市的紅黑名單歸集采用中心化、層層直報(bào)的形式,存在數(shù)據(jù)共享不充分、同步性較差、查詢應(yīng)用不方便等問(wèn)題。為改進(jìn)當(dāng)前我國(guó)紅黑名單在歸集應(yīng)用存在的問(wèn)題,基于區(qū)塊鏈技術(shù),構(gòu)建基于區(qū)塊鏈的紅黑名單共享管理系統(tǒng)。該系統(tǒng)依托區(qū)塊鏈去中心化、可靠數(shù)據(jù)庫(kù)、可追溯性等特點(diǎn),將國(guó)家、各省構(gòu)建為主鏈,省內(nèi)各地市構(gòu)建為側(cè)鏈,利用消息服務(wù)總線解決主側(cè)鏈之間的互通,形成覆蓋國(guó)省市三級(jí)的、業(yè)務(wù)完備的信息化系統(tǒng)。從而解決紅黑名單共享難題,提升紅黑名單利用效率,助力社會(huì)信用體系建設(shè)。
關(guān)鍵字:紅黑名單;區(qū)塊鏈;共享管理;數(shù)據(jù)庫(kù);信用信息;數(shù)據(jù)共享
0 引 言
紅黑名單本質(zhì)上是一種名錄,包括紅名單和黑名單。具體而言,紅黑名單是指行政機(jī)關(guān)、司法機(jī)關(guān)、行業(yè)協(xié)會(huì)、企業(yè)等社會(huì)組織依照法律、行政法規(guī)等法律依據(jù),將誠(chéng)實(shí)守信、嚴(yán)重違法失信的自然人、法人或其他組織的信息進(jìn)行歸集后形成的,并向社會(huì)公示的名錄或數(shù)據(jù)庫(kù)。紅黑名單為行業(yè)的監(jiān)管起到了示范作用,是信用監(jiān)管的有效手段,對(duì)構(gòu)建社會(huì)誠(chéng)信體系以及促進(jìn)社會(huì)文明進(jìn)步起到了重要的作用。
當(dāng)前,紅黑名單信息采用文件報(bào)送或名單庫(kù)形式歸集到中心化的信用信息系統(tǒng),普遍存在以下問(wèn)題。
(1)數(shù)據(jù)共享不充分。不同的行政管理領(lǐng)域缺乏縱向、橫向共享手段,容易形成“信息孤島”。
(2)數(shù)據(jù)同步性能有待提升。黑名單信息的共享和流轉(zhuǎn),因?yàn)橐斯みM(jìn)行報(bào)送操作,客觀上存在時(shí)間滯后,準(zhǔn)確性也有影響。
(3)查詢應(yīng)用不方便。當(dāng)前紅黑名單在“信用中國(guó)”或各政府網(wǎng)站上登出,實(shí)際應(yīng)用時(shí)需人工下載并自行查找,極為不便。
區(qū)塊鏈(Blockchain)是分布式數(shù)據(jù)存儲(chǔ)、點(diǎn)對(duì)點(diǎn)傳輸、共識(shí)機(jī)制、加密算法等多種計(jì)算機(jī)技術(shù)以特定的方式組合的結(jié)果。區(qū)塊鏈技術(shù)的出現(xiàn),對(duì)紅黑名單信息的共享、同步、安全提供了一個(gè)新的解決思路。本文以區(qū)塊鏈為技術(shù)基礎(chǔ),設(shè)計(jì)了覆蓋國(guó)家層面到地市層面的紅黑名單共享管理系統(tǒng)。
1 區(qū)塊鏈技術(shù)
1.1 區(qū)塊鏈技術(shù)概述
區(qū)塊鏈?zhǔn)且环N去中心化的、不可篡改的、可信的、分布式賬本,它提供了一套安全、穩(wěn)定、透明、可審計(jì)且高效的記錄交易以及數(shù)據(jù)信息交互的方式[1]。區(qū)塊鏈技術(shù)創(chuàng)造了一個(gè)不可消磨的記錄,能抵抗任何一個(gè)組織或個(gè)人的篡改[2]。
1.2 區(qū)塊鏈技術(shù)特點(diǎn)
區(qū)塊鏈技術(shù)具有去中心化、安全可信、可追溯性等主要特點(diǎn)。
1.2.1 去中心化
與中心化的系統(tǒng)不同,在去中心化的結(jié)構(gòu)中,不存在“主控”地位的節(jié)點(diǎn)。區(qū)塊鏈系統(tǒng)中,每個(gè)節(jié)點(diǎn)都是平等的,系統(tǒng)決策由所有參與節(jié)點(diǎn)在共識(shí)機(jī)制(Consensus Mechanism)作用下共同決定[3]。作為區(qū)塊鏈的一種部署模式,公有鏈網(wǎng)絡(luò)中所有參與節(jié)點(diǎn)的權(quán)利和義務(wù)都相等,任何一個(gè)節(jié)點(diǎn)停止工作都不會(huì)影響系統(tǒng)整體的運(yùn)行。
1.2.2 安全可信
(1)存儲(chǔ)方面。區(qū)塊鏈系統(tǒng)的數(shù)據(jù)庫(kù)采用分布式存儲(chǔ),每個(gè)節(jié)點(diǎn)都可以記錄整個(gè)系統(tǒng)的交易,當(dāng)需要變動(dòng)原始數(shù)據(jù)時(shí),需要至少修改51%的節(jié)點(diǎn)數(shù)據(jù)。正因如此,參與系統(tǒng)的節(jié)點(diǎn)越多,數(shù)據(jù)庫(kù)的安全性越高,防御破壞和攻擊的能力也就越強(qiáng)。另外,該類存儲(chǔ)機(jī)制同樣也使得數(shù)據(jù)不可篡改和不可偽造。
(2)維護(hù)方面。區(qū)塊鏈系統(tǒng)中的數(shù)據(jù)塊對(duì)系統(tǒng)中所有參與記錄的節(jié)點(diǎn)進(jìn)行記錄。由于有不止一個(gè)節(jié)點(diǎn)同時(shí)記錄,所以當(dāng)某一節(jié)點(diǎn)遭到損壞甚至直接撤出均不會(huì)對(duì)整體數(shù)據(jù)有影響。
(3)安全加密方面。區(qū)塊鏈系統(tǒng)對(duì)交易進(jìn)行簽名時(shí)采用的是非對(duì)稱加密技術(shù),該技術(shù)使簽名不易被偽造。借助分布式系統(tǒng)各節(jié)點(diǎn)的工作量證明機(jī)制等共識(shí)算法形成強(qiáng)大的算法來(lái)防御破壞者的攻擊,保證區(qū)塊鏈中的區(qū)塊以及區(qū)塊內(nèi)的交易數(shù)據(jù)不可篡改和不可偽造,具有極高的安全性。
1.2.3 可追溯性
在區(qū)塊鏈系統(tǒng)中,一個(gè)區(qū)塊擁有前一區(qū)塊的一個(gè)哈希值,這種形式就像鎖鏈一環(huán)扣一環(huán),任何數(shù)據(jù)塊均無(wú)法單獨(dú)存在。此外,區(qū)塊鏈數(shù)據(jù)的存儲(chǔ)還帶有時(shí)間戳,為數(shù)據(jù)添加了時(shí)間維度??勺匪菪粤硪粌?yōu)點(diǎn)在于便于數(shù)據(jù)查詢,區(qū)塊鏈可利用時(shí)間節(jié)點(diǎn)篩選數(shù)據(jù)塊,再進(jìn)行尋址,使得速度和效率都大大提高。
1.3 聯(lián)盟鏈
聯(lián)盟鏈通常會(huì)為一個(gè)特定的組織或群體所使用。聯(lián)盟鏈一個(gè)最顯著的特點(diǎn)就是各個(gè)節(jié)點(diǎn)都對(duì)應(yīng)一個(gè)實(shí)體機(jī)構(gòu),任何實(shí)體機(jī)構(gòu)節(jié)點(diǎn)想要加入聯(lián)盟鏈,需要得到聯(lián)盟的許可[4]。聯(lián)盟鏈具備區(qū)塊鏈多節(jié)點(diǎn)運(yùn)行的通用結(jié)構(gòu),適用于多個(gè)機(jī)構(gòu)的業(yè)務(wù)協(xié)作。
鑒于紅黑名單共享管理系統(tǒng)技術(shù)要求的特點(diǎn):需要數(shù)據(jù)庫(kù)、存在多方寫(xiě)入且利益不一致、不信任第三方、需要系統(tǒng)控制權(quán),本系統(tǒng)選取聯(lián)盟鏈作為底層技術(shù)支撐。
2 系統(tǒng)整體架構(gòu)
2.1 紅黑名單管理系統(tǒng)架構(gòu)
紅黑名單共享管理系統(tǒng)的架構(gòu)包含5個(gè)層級(jí):基礎(chǔ)資源、數(shù)據(jù)源、區(qū)塊鏈支撐平臺(tái)、數(shù)據(jù)分析應(yīng)用層服務(wù)、服務(wù)對(duì)象。紅黑名單管理系統(tǒng)架構(gòu)如圖1所示。
基礎(chǔ)資源:系統(tǒng)的最底層,包含整個(gè)系統(tǒng)部署的物理資源。
數(shù)據(jù)源:主要來(lái)源于各個(gè)政府部門(mén)機(jī)構(gòu)提供的可信數(shù)據(jù),區(qū)塊鏈支撐系統(tǒng)提供接口接入。
區(qū)塊鏈支撐平臺(tái):系統(tǒng)核心部分,整個(gè)數(shù)據(jù)的流轉(zhuǎn)通過(guò)數(shù)據(jù)支撐層實(shí)現(xiàn),包括數(shù)據(jù)源的接入、數(shù)據(jù)的整合規(guī)則制定等。
數(shù)據(jù)分析應(yīng)用層服務(wù):對(duì)業(yè)務(wù)封裝,包括數(shù)據(jù)的分析引擎、根據(jù)信用模型實(shí)現(xiàn)的智能合約,以及提供的黑名單查詢。
服務(wù)對(duì)象:通過(guò)系統(tǒng)提供的接口,獲取黑名單共享數(shù)據(jù)。
2.2 區(qū)塊鏈網(wǎng)絡(luò)架構(gòu)
考慮到我國(guó)城市眾多,如果國(guó)家、省、市均構(gòu)建一個(gè)區(qū)塊鏈網(wǎng)絡(luò),將使得整個(gè)網(wǎng)絡(luò)擁擠不堪,數(shù)據(jù)過(guò)度膨脹,節(jié)點(diǎn)不堪重負(fù)。為此,本系統(tǒng)采用“多聯(lián)盟鏈級(jí)聯(lián)”的方式,搭建區(qū)塊鏈網(wǎng)絡(luò)。
本系統(tǒng)以“多聯(lián)盟鏈級(jí)聯(lián)”的形式,搭建覆蓋“國(guó)家—省—市”三級(jí)的區(qū)塊鏈網(wǎng)絡(luò)。其中,“國(guó)家—省”包括了國(guó)家級(jí)的節(jié)點(diǎn)、各個(gè)省節(jié)點(diǎn),形成一個(gè)聯(lián)盟鏈;“省—市”包含省級(jí)節(jié)點(diǎn)、省內(nèi)各地市節(jié)點(diǎn),形成一個(gè)聯(lián)盟鏈。這兩個(gè)聯(lián)盟鏈以省級(jí)節(jié)點(diǎn)作為關(guān)聯(lián)節(jié)點(diǎn),以消息服務(wù)總線技術(shù)進(jìn)行跨鏈數(shù)據(jù)同步,如圖2所示。以此形成完整的黑名單共享系統(tǒng)。
國(guó)家級(jí)節(jié)點(diǎn):該節(jié)點(diǎn)擁有最高權(quán)限,可匯聚、查詢其他節(jié)點(diǎn)的黑名單數(shù)據(jù),并將數(shù)據(jù)落地。
省級(jí)節(jié)點(diǎn):省級(jí)節(jié)點(diǎn)具有三重身份。一是在“國(guó)家—省”聯(lián)盟鏈中,省級(jí)節(jié)點(diǎn)作為業(yè)務(wù)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)上傳、查詢工作;二是在“省—市”聯(lián)盟鏈中,省級(jí)節(jié)點(diǎn)擁有最高權(quán)限,可匯聚、查詢其他節(jié)點(diǎn)的黑名單數(shù)據(jù),并將數(shù)據(jù)落地;三是作為“國(guó)家—省”聯(lián)盟鏈和“省—市”聯(lián)盟鏈的連接點(diǎn),部署專用服務(wù)器,用作消息分發(fā)服務(wù),省級(jí)節(jié)點(diǎn)內(nèi)部要將數(shù)據(jù)落地,并將數(shù)據(jù)和業(yè)務(wù)需求轉(zhuǎn)發(fā)到另一聯(lián)盟鏈上。
市級(jí)節(jié)點(diǎn):在智能合約的基礎(chǔ)上,進(jìn)行數(shù)據(jù)上傳、查詢工作的節(jié)點(diǎn)。該類節(jié)點(diǎn)一般是業(yè)務(wù)部門(mén)。
運(yùn)維節(jié)點(diǎn):對(duì)黑名單具有目錄控制、有效期限、公開(kāi)屬性、數(shù)據(jù)校驗(yàn)及加密等信息控制的節(jié)點(diǎn)。該類節(jié)點(diǎn)一般是系統(tǒng)管理單位中的運(yùn)維部門(mén)。
業(yè)務(wù)節(jié)點(diǎn):鏈接對(duì)黑名單有業(yè)務(wù)需求的第三方機(jī)構(gòu),為其提供查詢服務(wù)的節(jié)點(diǎn)。
3 功能設(shè)計(jì)
3.1 數(shù)據(jù)上鏈流程
數(shù)據(jù)上鏈共享流程如圖3所示。
數(shù)據(jù)于部門(mén)業(yè)務(wù)系統(tǒng)生成,通過(guò)共享平臺(tái)SDK送到本系統(tǒng),系統(tǒng)接收到數(shù)據(jù)后,再進(jìn)行跨鏈同步。整個(gè)流程具體包括:
(1)業(yè)務(wù)部門(mén)生成黑名單數(shù)據(jù),按照要求進(jìn)行打包;
(2)調(diào)用SDK,按照預(yù)先設(shè)定的數(shù)據(jù)提交方法,向節(jié)點(diǎn)傳入主體ID;
(3)區(qū)塊鏈節(jié)點(diǎn)根據(jù)主體ID查找對(duì)應(yīng)的公鑰,并返回SDK;
(4)SDK用公鑰加密數(shù)據(jù),并用私鑰對(duì)主體ID和加密數(shù)據(jù)簽名,結(jié)束后提交數(shù)據(jù)至區(qū)塊鏈節(jié)點(diǎn);
(5)區(qū)塊鏈節(jié)點(diǎn)收到數(shù)據(jù)并記賬,同時(shí)數(shù)據(jù)也同步至省級(jí)節(jié)點(diǎn);
(6)省級(jí)節(jié)點(diǎn)利用消息服務(wù)總線同步至主鏈,使國(guó)家主管機(jī)構(gòu)獲得黑名單更新信息,至此流程結(jié)束。
3.2 數(shù)據(jù)共享查詢
該功能用于向用戶提供一個(gè)全面的、多角度的黑名單查詢功能??刹樵儺?dāng)前及歷史黑名單、黑名單的歷史變動(dòng)、黑名單的發(fā)布情況等。區(qū)塊鏈數(shù)據(jù)共享查詢流程如圖4所示。
第三方機(jī)構(gòu)通過(guò)業(yè)務(wù)節(jié)點(diǎn)查詢黑名單數(shù)據(jù)時(shí),需要用到該功能。一般地,區(qū)塊鏈節(jié)點(diǎn)在接收到查詢需求后,先判斷該需求是否符合查詢條件,若符合,再判斷是否跨省查詢,查詢到數(shù)據(jù)之后,將數(shù)據(jù)返回業(yè)務(wù)節(jié)點(diǎn)。整個(gè)流程具體包括:
(1)部門(mén)業(yè)務(wù)系統(tǒng)打包查詢需求數(shù)據(jù);
(2)調(diào)用SDK,按照預(yù)先設(shè)定的數(shù)據(jù)查詢方法,用私鑰對(duì)主體ID和查詢需求進(jìn)行簽名,并通過(guò)區(qū)塊鏈接口提交
數(shù)據(jù);
(3)區(qū)塊鏈判斷是否符合查詢需求,若不符合,則返回拒絕信息,若符合,繼續(xù)判斷是否跨省查詢;
(4)若非跨省查詢,則直接在當(dāng)前區(qū)塊鏈內(nèi)查詢數(shù)據(jù),并返回SDK;
(5)若跨省查詢,則由省級(jí)節(jié)點(diǎn)同步至主鏈,主鏈查詢完成后加密返回至省級(jí)節(jié)點(diǎn),進(jìn)而返回SDK;
(6)SDK返回查詢結(jié)果至業(yè)務(wù)系統(tǒng)。
3.3 數(shù)據(jù)同步應(yīng)用
該功能用于實(shí)現(xiàn)省、市節(jié)點(diǎn)和業(yè)務(wù)節(jié)點(diǎn)之間的數(shù)據(jù)同步。
假定節(jié)點(diǎn)A產(chǎn)生了數(shù)據(jù)變動(dòng)事件,以圖5所示流程闡述了節(jié)點(diǎn)B如何正確同步這些數(shù)據(jù)變動(dòng)。
3.3.1 智能合約設(shè)計(jì)
按照需求,本文設(shè)計(jì)了一套智能合約,該合約維護(hù)黑名單數(shù)據(jù)共享賬本,賬本記錄共享黑名單的最終狀態(tài)(Status)及事件日志(Event Logs)。在最終狀態(tài)中記錄每條黑名單數(shù)據(jù)的最新Hash值,用于同步節(jié)點(diǎn)進(jìn)行數(shù)據(jù)對(duì)比,從而防止黑名單數(shù)據(jù)不一致。同時(shí),事件日志記錄了所有黑名單數(shù)據(jù)的變動(dòng)記錄,一條黑名單最終狀態(tài)數(shù)據(jù)可能對(duì)應(yīng)多次事件日志。
所有節(jié)點(diǎn)可以在第一時(shí)間獲得合約事件推送,用于同步節(jié)點(diǎn)數(shù)據(jù)庫(kù),也可以主動(dòng)向賬本定期對(duì)賬,保證各個(gè)節(jié)點(diǎn)數(shù)據(jù)庫(kù)和區(qū)塊鏈賬本一致。
3.3.2 標(biāo)準(zhǔn)協(xié)作流程
(1)節(jié)點(diǎn)A產(chǎn)生了對(duì)某條黑名單的數(shù)據(jù)變動(dòng)操作,該節(jié)點(diǎn)首先生成該黑名單數(shù)據(jù)的校驗(yàn)Hash值,通過(guò)智能合約API接口寫(xiě)入智能合約中。
(2)智能合約將這條黑名單狀態(tài)記錄(包括不限于索引號(hào)、校驗(yàn)Hash值、原數(shù)據(jù)獲取地址Source_link等)寫(xiě)入到一致性賬本中,并同步記錄了一條操作日志Event Log。該操作日志被同步到所有區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)。
(3)節(jié)點(diǎn)B收到了這個(gè)事件推送,通過(guò)原數(shù)據(jù)獲取地址Source_link,在區(qū)塊鏈外通過(guò)系統(tǒng)接口獲得原數(shù)據(jù),并通過(guò)標(biāo)準(zhǔn)的Hash算法對(duì)原數(shù)據(jù)計(jì)算Hash值。
(4)節(jié)點(diǎn)B向合約請(qǐng)求這條黑名單數(shù)據(jù)的最終狀態(tài)(Status),檢查與其校驗(yàn)值Hash是否一致,如果一致則說(shuō)明數(shù)據(jù)無(wú)誤;反之則說(shuō)明數(shù)據(jù)狀態(tài)存在異常,可能要進(jìn)行對(duì)賬處理。
3.3.3 對(duì)賬處理流程
在某種情況下,比如某條黑名單數(shù)據(jù)由多個(gè)節(jié)點(diǎn)多次修改,節(jié)點(diǎn)B(同步節(jié)點(diǎn))未獲得最終狀態(tài)的數(shù)據(jù),此時(shí)Hash值校驗(yàn)將不一致。節(jié)點(diǎn)B需要向合約賬本追尋與這條黑名單相關(guān)的所有事件,并確定是否遺漏了某次數(shù)據(jù)變動(dòng)記錄的同步,此時(shí)僅需要按照3.3.2節(jié)步驟(3)和步驟(4)操作即可完成狀態(tài)同步。
4 結(jié) 語(yǔ)
隨著國(guó)內(nèi)外對(duì)區(qū)塊鏈的研究與應(yīng)用,區(qū)塊鏈在金融業(yè)、服務(wù)業(yè)等行業(yè)的應(yīng)用更加廣泛。本文利用區(qū)塊鏈的分布式、可靠數(shù)據(jù)庫(kù)、安全可信等特點(diǎn),構(gòu)建了基于區(qū)塊鏈的紅黑名單共享管理系統(tǒng),解決了以往中心化系統(tǒng)中數(shù)據(jù)共享不充分、同步性較差、安全性較差等缺陷。本文主要介紹底層架構(gòu),實(shí)際應(yīng)用中,前端功能可視具體需求進(jìn)行開(kāi)發(fā)利用。
參考文獻(xiàn)
[1]黃步添,蔡亮. 區(qū)塊鏈解密:構(gòu)建基于信用的下一代互聯(lián)網(wǎng)[M].北京:清華大學(xué)出版社,2016.
[2] SCOTT Brett. How can cryptocurrency and blockchain technology play a role in building social and solidarity finance? [R]. UNRISD:Working paper,2016.
[3]孫國(guó)茂.區(qū)塊鏈技術(shù)的本質(zhì)特征及其金融領(lǐng)域應(yīng)用研究[J].理論學(xué)刊,2017(2):58-67.
[4]周輝,王麗丹,鐘成躍.區(qū)塊鏈助力電子醫(yī)療數(shù)據(jù)共享[J].解放軍醫(yī)院管理雜志,2019,26(7):645-647.
[5]韓家平.關(guān)于加快社會(huì)信用立法的思考與建議[J].征信,2019,37(5):1-6.
[6]和亞娟.“黑名單”制度的屬性、功能及其邊界控制[J].貴州警官職業(yè)學(xué)院學(xué)報(bào),2019,31(5):27-35.
[7]馬佳悅.信用監(jiān)管視角下的黑名單制度研究[D].蘇州:蘇州大學(xué),2017.
[8]佚名.工信部信息化和軟件服務(wù)業(yè)司參加2016云棲大會(huì)[J].電子世界,2016(20):4.
[9]李儀.大數(shù)據(jù)下個(gè)人信息共享的風(fēng)險(xiǎn)及其知識(shí)治理對(duì)策[J].管理現(xiàn)代化,2019(6):79-82.
[10]陳平剛,蔡利華,王玲麗.政務(wù)大數(shù)據(jù)支撐的政府輿情預(yù)警研究[J].現(xiàn)代商貿(mào)工業(yè),2019,40(34):141-142.
[11] ELTAYIEB Nabeil,ELHABOB Rashad,HASSAN Alzubair,et al. A blockchain-based attribute-based signcryption scheme to secure data sharing in the cloud [J]. Journal of systems architecture,2020,102:101653.