盧 玄,葛 燕,王電升
(廣州市信息化服務(wù)中心,廣州 510635)
隨著各行業(yè)各領(lǐng)域的信息化水平不斷提高以及信用檔案管理工作日益受到重視,信用檔案管理信息化的重要意義和作用越來越被廣泛認(rèn)同。目前全國各地積極推進信用檔案管理信息化和公共信用信息系統(tǒng)建設(shè),上海、廣州、杭州、惠州等多個城市已構(gòu)建自然人、法人信用信用檔案庫,并已開展城市范圍內(nèi)的信用檔案管理、公共信用服務(wù)和信用監(jiān)管業(yè)務(wù)。但是,隨著經(jīng)濟社會的不斷發(fā)展,作為信用主體的法人和自然人都越來越頻繁地進行跨地域、跨領(lǐng)域活動,迫切需要一種新型的信用檔案、信用監(jiān)管和服務(wù)機制,支撐對同一信用主體在不同地區(qū)、不同領(lǐng)域的可靠監(jiān)管和安全服務(wù),同時信用檔案管理對信用信息系統(tǒng)的安全性提出越來越高的要求。
所謂區(qū)塊鏈,是指一串累積不斷的記錄,一列記錄可以捆綁成為區(qū)塊,由密碼學(xué)方法相連并加密,故命名。每一個區(qū)塊中通常內(nèi)嵌前一個區(qū)塊的散列碼、時間戳、交割數(shù)據(jù)等信息。區(qū)塊鏈的設(shè)計天生不容數(shù)據(jù)篡改,作為“一種公開、分布式賬本,可以有效記錄雙方的交易行為,此記錄可以核實并永存”。
可編寫智能合約的區(qū)塊鏈具有去中心化、不可篡改、可信任性、可追溯、全網(wǎng)記賬等優(yōu)勢,具備顛覆傳統(tǒng)信用領(lǐng)域的可能,使得相關(guān)信用信息公開化、透明化、公正化,推動信用體系的重構(gòu),將來的信用、信用產(chǎn)業(yè)、各行各業(yè)對信用的應(yīng)用,乃至整個社會的信用體系可能都會與現(xiàn)在大不相同。
本問針對傳統(tǒng)信用檔案系統(tǒng)管理過程中信息采集、登記錄入、管理維護、后期操作的效率及安全、以及數(shù)據(jù)共享問題,基于區(qū)塊鏈技術(shù),對信用檔案系統(tǒng)平臺進行重新設(shè)計,系統(tǒng)架構(gòu)將由基礎(chǔ)層、網(wǎng)絡(luò)層、記錄層、訪問控制層、合約層等組成,各層之間相互協(xié)調(diào),最終完成建立、轉(zhuǎn)移、驗證、修改等智能合約的功能。具體系統(tǒng)架構(gòu)與功能模塊如下圖1所示:
(1)訪問控制層。訪問控制層針對智能合約和用戶的權(quán)限進行管理,包括對合約之間相互調(diào)用的控制,提供合約內(nèi)部權(quán)限控制的編程接口,對用戶的權(quán)限進行管理,保證用戶對合約及狀態(tài)的訪問權(quán)限的合理劃分,同時對區(qū)塊鏈中各類智能合約的操作進行了有效地管理,防止聯(lián)盟中惡意合約對其他合約的調(diào)用,并提供了方便其他智能合約開發(fā)自己訪問控制的接口,使得區(qū)塊鏈中的智能合約可以方便、快速地實現(xiàn)自己的訪問控制模型。
(2)應(yīng)用層。具體的是指機構(gòu)內(nèi)部使用的應(yīng)用系統(tǒng),需要獲取他們的業(yè)務(wù)事件以及相應(yīng)的數(shù)據(jù),通過這些業(yè)務(wù)數(shù)據(jù)以及業(yè)務(wù)事件對機構(gòu)信用信息進行采集的過程。這個過程需要進行對接的。通過系統(tǒng)對接來獲取每個機構(gòu)的業(yè)務(wù)信息以及事件,而這些業(yè)務(wù)事件是和其他的機構(gòu)的業(yè)務(wù)事件是有關(guān)聯(lián),這些事件可以通過區(qū)塊鏈的基礎(chǔ)層對接區(qū)塊鏈合作方進行核實的。
(3)合約層。為智能合約提供數(shù)據(jù)存儲、合約調(diào)用等基礎(chǔ)性功能,為智能合約的開發(fā)提供接口。并為應(yīng)用層提供基于智能合約的基礎(chǔ)功能,可以在接口上進行擴展。能合約采用高級語言進行開發(fā),為智能合約的多樣性提供了可能。同時各個合約均在不同的容器里運行,也為其提供了一定的安全性,也為信用檔案信息鏈條的存儲與查詢提供了基礎(chǔ)功能。
圖1 信用檔案管理系統(tǒng)架構(gòu)示意圖
(4)記錄層。針對合約調(diào)用、狀態(tài)改變等數(shù)據(jù)信息進行存儲,包括調(diào)用參數(shù)的記錄,相應(yīng)狀態(tài)的改變等信息。系統(tǒng)中針對一個區(qū)塊時間內(nèi)的交易集維持一個當(dāng)前狀態(tài)的改變量,結(jié)合基礎(chǔ)層中的桶默克爾樹,為每一個智能合約的每一次交易所改變的狀態(tài)信息提供高效的存儲于查詢。同時結(jié)合智能合約的有限狀態(tài)機,可以保證交易執(zhí)行失敗后其相關(guān)的狀態(tài)信息可以及時的回滾,而這一系列操作都在網(wǎng)絡(luò)共識層的保證下所有節(jié)點達成一致。
(5)業(yè)務(wù)對接層。業(yè)務(wù)對接層主要的功能是對機構(gòu)自有的業(yè)務(wù)系統(tǒng),以及以上申報單位提供的業(yè)務(wù)系統(tǒng)對接區(qū)塊鏈基礎(chǔ)層的對接管理的模塊。這里提高了應(yīng)用系統(tǒng)使用的廣泛性的系統(tǒng)邏輯結(jié)構(gòu)。主要提供了業(yè)務(wù)事件引擎,以及區(qū)塊鏈通訊網(wǎng)關(guān),可以讓符合區(qū)塊鏈應(yīng)用進行對接。
(6)區(qū)塊鏈通訊網(wǎng)關(guān)。提供業(yè)務(wù)事件引擎向區(qū)塊鏈基礎(chǔ)層的兩種接口進行調(diào)用,以及數(shù)據(jù)轉(zhuǎn)換功能,并且根據(jù)業(yè)務(wù)事件的類型對區(qū)塊鏈基礎(chǔ)提供的API進行編排。主要是應(yīng)對每個業(yè)務(wù)應(yīng)用以及業(yè)務(wù)事件采用不同調(diào)用的區(qū)塊鏈API接口。
(7)基礎(chǔ)層。負責(zé)管理分布式賬本,對于每一筆交易,采用時間戳的方式以保證交易的真實性。為了方便聯(lián)盟中各個節(jié)點高效地對其所維護的賬本,包括區(qū)塊數(shù)據(jù)和對應(yīng)的狀態(tài)數(shù)據(jù)達成一致,采用了預(yù)定桶和默克爾樹相結(jié)合的方式,節(jié)點之間可以快速驗證整個狀態(tài)數(shù)據(jù)的某個分支是否一致,為接下來的拉取數(shù)據(jù)或者達成共識提供決策依據(jù)。同時,聯(lián)盟中各個節(jié)點之間的消息均采用protobuf進行序列化和反序列化,較大程度上壓縮了數(shù)據(jù),減少了節(jié)點間傳輸數(shù)據(jù)的消耗,同時也減少了各個節(jié)點的存儲消耗。
本系統(tǒng)將鏈條上的信用檔案流動看作資產(chǎn)的轉(zhuǎn)移,引入?yún)^(qū)塊鏈數(shù)字貨幣的賬戶模型和UTXO模型來記錄信用檔案的流動。系統(tǒng)中每個角色都擁有自己的賬戶,賬戶里存有該角色當(dāng)前信用檔案信息。信用檔案由一個UTXO標(biāo)識,不同角色擁有生成、轉(zhuǎn)讓、拆分或合并UTXO的權(quán)力。UTXO在系統(tǒng)中的流轉(zhuǎn)都需要所有者的簽名,也就是每次信用檔案的流轉(zhuǎn)都會有相應(yīng)的負責(zé)人確認(rèn),從而增加了整個系統(tǒng)的可信性;同時,UTXO具有可追溯性,也就可以明確整個流通過程中各方的責(zé)任;UTXO還很好地防止了雙花問題,即同一個信用檔案一個時間只能被記錄一次,不會出現(xiàn)信用檔案被人惡意篡改的情況。
基于區(qū)塊鏈的信用檔案管理系統(tǒng)主要通過API服務(wù),CLI服務(wù),成員服務(wù)、區(qū)塊鏈服務(wù)、安全鏈服務(wù)、事件引擎、P2P消息服務(wù)等模塊向用戶提供服務(wù)。系統(tǒng)中信用檔案數(shù)據(jù)上鏈處理流程如圖2所示。當(dāng)收到每份需要上鏈的數(shù)據(jù)后,對中央消息進行發(fā)出更新通知,可以讓區(qū)塊鏈各聯(lián)盟知道有新的業(yè)務(wù)行為產(chǎn)生。為了減少拜占庭現(xiàn)象的產(chǎn)生,在消息服務(wù)總線當(dāng)中產(chǎn)生一個更新消息,可以讓區(qū)塊鏈各聯(lián)盟節(jié)點獲取到相關(guān)區(qū)塊鏈變更消息,同時減少端到端之間的頻繁消息傳遞,而且也對于端到端的一個有效的補充。
圖2 基于區(qū)塊鏈技術(shù)的信用檔案數(shù)據(jù)流向示意圖
本系統(tǒng)在技術(shù)上主要創(chuàng)新點如下:
(1)采用預(yù)定桶和默克爾樹相結(jié)合的方式實現(xiàn)區(qū)塊鏈各節(jié)點維護信用檔案數(shù)據(jù)的高效性。節(jié)點之間可以快速驗證整個狀態(tài)檔案的某個分支是否一致,為接下來的拉取數(shù)據(jù)或者達成共識提供決策依據(jù)。
(2)采用模塊化共識方法管理聯(lián)盟節(jié)點間的共識構(gòu)建問題。對于默認(rèn)的拜占庭容錯算法,各個節(jié)點會保存與其通訊的節(jié)點的基本信息,在節(jié)點宕機的情況下也可以此為基礎(chǔ)重新加入?yún)^(qū)塊鏈網(wǎng)絡(luò)之中。在此基礎(chǔ)上,實現(xiàn)了新節(jié)點加入和非正常宕機節(jié)點的狀態(tài)回滾。提出了一種新型的聯(lián)盟鏈共識機制,在保證安全的前提下,還能夠?qū)崿F(xiàn)較高的性能。
(3)多鏈交互解決了跨連數(shù)據(jù)孤島問題。在傳統(tǒng)基于查詢模式信息流通模式之上進行了改進,提高了信息交互的效率。在鏈間數(shù)據(jù)流通方案上,設(shè)計一種新型體系架構(gòu),保證傳輸中的數(shù)據(jù)仍然具有區(qū)塊鏈本身不可篡改的特性,確保了數(shù)據(jù)完整性。
(4)提出一種基于屬性的訪問控制以及適合在區(qū)塊鏈上用智能合約方式實現(xiàn)的訪問控制模型。提出一種基于投票的訪問控制元數(shù)據(jù)管理機制,保障訪問控制絕對嚴(yán)格。同時,提供了方便被其他智能合約調(diào)用的接口,使得其他合約簡單實現(xiàn)自己的訪問控制模型,解決了智能合約的訪問控制問題。
(5)智能合約安全性的解決方法
提出了多方機密的處理機制來制定合約的保密性的解決方法。讓合約可以通過多方加解密后,進行合約制定過程,以及通過業(yè)務(wù)事件的處理機制可以讓合約執(zhí)行過程中,利用跨鏈數(shù)據(jù)處理方式,來形成信用鏈。
基于區(qū)塊鏈技術(shù)的信用檔案管理,可極大推動信用信息進行整合,形成統(tǒng)一的信用信息共享平臺,依法向社會有序開放。推動政府部門在開展經(jīng)濟社會管理和提供公共服務(wù)過程中,強化使用信用信息和信用產(chǎn)品,并作為政府管理和服務(wù)的必備要件。建立健全社會信用獎懲聯(lián)動機制,使守信者得到激勵和獎勵,失信者受到制約和懲戒。對違法違規(guī)等典型失信行為予以公開,對嚴(yán)重失信行為加大打擊力度。探索建立地方政府信用評價標(biāo)準(zhǔn)和方法,在發(fā)行地方政府債券等符合法律法規(guī)規(guī)定的信用融資活動中試行開展地方政府綜合信用評價。
同時通過基于區(qū)塊鏈技術(shù)的信用檔案管理,可以全面支撐區(qū)域信用建設(shè)合作。探索建立區(qū)域信用聯(lián)動機制,開展區(qū)域信用體系建設(shè)創(chuàng)新示范,推進信用信息交換共享,實現(xiàn)跨地區(qū)信用獎懲聯(lián)動,優(yōu)化區(qū)域信用環(huán)境。并同時支撐重點領(lǐng)域和行業(yè)信用信息應(yīng)用。在食品藥品安全、環(huán)境保護、安全生產(chǎn)、產(chǎn)品質(zhì)量、工程建設(shè)、電子商務(wù)、證券期貨、融資擔(dān)保、政府采購、招標(biāo)投標(biāo)等領(lǐng)域,推行信用管理新模式。
信用檔案數(shù)據(jù)呈現(xiàn)分布式存儲,有不可篡改刪除、可驗證等重要特點,本文通過設(shè)計創(chuàng)新性的區(qū)塊鏈技術(shù)下的信用檔案管理系統(tǒng)架構(gòu),可以有效解決區(qū)塊鏈入鏈源數(shù)據(jù)的可信問題,解決入鏈前的數(shù)據(jù)安全可靠以及跨鏈數(shù)據(jù)的共識保證機制建立問題,防止信用檔案被篡改,同時實現(xiàn)了多鏈場景下多部門跨連數(shù)據(jù)的交互與共享問題以及人工信用檔案創(chuàng)建、管理、查詢的低效率、高成本問題?;趨^(qū)塊鏈技術(shù)下的信用檔案管理系統(tǒng),將有助于區(qū)塊鏈將開啟新的信用時代,各行業(yè)都可以基于區(qū)塊鏈安全透明、多方確認(rèn)、不可篡改等特性探索更為適合的技術(shù)方案,信用將更加堅固。