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