摘要:結(jié)合區(qū)塊鏈技術(shù)的特點和電子證照庫建設(shè)的需求,對區(qū)塊鏈技術(shù)在電子證照庫建設(shè)的應(yīng)用進行分析和研究,介紹了區(qū)塊鏈的定義和特征,簡述了數(shù)據(jù)加密、數(shù)字簽名、P2P網(wǎng)絡(luò)、默克爾樹、分布式數(shù)據(jù)庫、共識服務(wù)、智能合約等區(qū)塊鏈的主要技術(shù),提出了基于區(qū)塊鏈技術(shù)的電子證照共享平臺架構(gòu),列舉了電子證照共享平臺網(wǎng)絡(luò)層、數(shù)據(jù)層、服務(wù)層、應(yīng)用層、接入層的主要功能,支撐電子證照的共享和服務(wù)。
關(guān)鍵詞:區(qū)塊鏈;電子證照;分布式存儲;數(shù)據(jù)加密;共識機制
中圖分類號:TP311.13文獻標(biāo)識碼:A
文章編號:1009-3044(2020)22-0230-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
隨著“互聯(lián)網(wǎng)+政務(wù)服務(wù)”的快速推進,國家和各省、直轄市建設(shè)了網(wǎng)上政務(wù)服務(wù)平臺,充分利用部門之間共享的政務(wù)數(shù)據(jù),優(yōu)化業(yè)務(wù)流程,讓數(shù)據(jù)多跑路,群眾少跑腿,最終實現(xiàn)“一網(wǎng)通辦”的目標(biāo)。電子證照作為政務(wù)服務(wù)平臺的重要數(shù)據(jù),是提高網(wǎng)上政務(wù)服務(wù)辦事效率、增加辦事透明度、優(yōu)化辦事流程的關(guān)鍵。但是在建設(shè)電子證照庫的過程中也面臨著數(shù)據(jù)被篡改、數(shù)據(jù)來源不詳、數(shù)據(jù)不被信任等問題。而區(qū)塊鏈技術(shù)去中心化、去信任、不可篡改、可追溯等特點在一定程度上可解決目前電子證照庫建設(shè)的問題,可實現(xiàn)身份證、資格證、許可證等個人和企業(yè)證件的電子化管理和電子化應(yīng)用,進一步加快數(shù)字政府的建設(shè),提高政府治理能力現(xiàn)代化水平。
2 區(qū)塊鏈的理解
2.1 區(qū)塊鏈的定義和特征
從狹義來看,區(qū)塊鏈?zhǔn)抢脭?shù)據(jù)加密技術(shù),按照順序?qū)?shù)據(jù)區(qū)塊相連,組合形成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),是一種去中心化、去信任、不可篡改和不可偽造的分布式賬本。從廣義來看,區(qū)塊鏈以區(qū)塊結(jié)構(gòu)存儲數(shù)據(jù)、多方維護的、使用密碼學(xué)技術(shù)保證傳輸和訪問實現(xiàn)數(shù)據(jù)存儲的技術(shù)體系。區(qū)塊鏈主要有以下特征:
開放,共識。區(qū)塊鏈的數(shù)據(jù)對任何人都是開放的。任何人都可以加入整個區(qū)塊鏈所屬的網(wǎng)絡(luò),形成多個節(jié)點,每個節(jié)點都有一本相同的、完整的數(shù)據(jù)賬本。每個節(jié)點間基于共識機制,建立信任關(guān)系,共同維護整個區(qū)塊鏈,單點故障或失效不影響整體的工作。
交易透明,雙方匿名。區(qū)塊鏈的數(shù)據(jù)記錄和運行規(guī)則對每個節(jié)點都是公開透明的。每一筆交易產(chǎn)生的數(shù)據(jù)對每個節(jié)點也是公開的、可見的、可追溯的。節(jié)點與節(jié)點在去信任的基礎(chǔ)上,采用匿名的方式參與,無須公開身份。
去中心,去信任。區(qū)塊鏈不依賴中心來完成數(shù)據(jù)的統(tǒng)一存儲、統(tǒng)一更新,而是由多節(jié)點同時完成,形成多個相同的數(shù)據(jù)賬本。每個節(jié)點更新數(shù)據(jù)時,同時發(fā)送給其他節(jié)點,保持?jǐn)?shù)據(jù)賬本一致。節(jié)點之間數(shù)據(jù)交換通過數(shù)字簽名技術(shù)進行驗證,按照系統(tǒng)規(guī)則進行。節(jié)點之間節(jié)點之間無法相互欺騙。
不可篡改,可追溯。區(qū)塊鏈的每一個區(qū)塊都指向前一個區(qū)塊,并采用哈希算法識別對應(yīng)的區(qū)塊。如要修改某一塊數(shù)據(jù)時,其他節(jié)點數(shù)據(jù)需一起修改。為此單個或少于51%的節(jié)點的數(shù)據(jù)被惡意篡改時,不影響其他節(jié)點的數(shù)據(jù)。加上區(qū)塊鏈中的每一筆交易數(shù)據(jù)通過數(shù)據(jù)加密與相鄰兩個區(qū)塊串聯(lián)。每一筆交易都可追溯到前后交易的數(shù)據(jù)。
2.2 私有鏈、聯(lián)盟鏈、公有鏈
公有鏈:各個節(jié)點按照系統(tǒng)規(guī)則自由接入網(wǎng)絡(luò)參加鏈上數(shù)據(jù)讀寫,節(jié)點間以扁平的拓?fù)浣Y(jié)構(gòu)互聯(lián)互通,基于共識機制開展工作。
私有鏈:適用于單位內(nèi)部和特定機構(gòu)的數(shù)據(jù)管理。系統(tǒng)的運作規(guī)則根據(jù)要求進行設(shè)定,少數(shù)節(jié)點具備修改、讀取權(quán)限。
聯(lián)盟鏈:各個節(jié)點通常有與之對應(yīng)的實體機構(gòu)組織,通過授權(quán)后才能加入網(wǎng)絡(luò)。各機構(gòu)組織組成利益相關(guān)的聯(lián)盟,共同維護區(qū)塊鏈的運轉(zhuǎn)。
3 區(qū)塊鏈的主要技術(shù)
目前區(qū)塊鏈發(fā)展了三個階段,第一階段以比特幣為代表的貨幣區(qū)塊鏈技術(shù)。第二階段以太坊為代表的合同區(qū)塊鏈技術(shù);第三階段以實現(xiàn)完備權(quán)限控制和安全保障的Hyperledger項目為代表。
3.1 數(shù)據(jù)加密
區(qū)塊鏈?zhǔn)褂眉用芩惴?,使?shù)據(jù)在傳輸過程中不可能被更改。主要的加密算法有對稱加密和非對稱加密。對稱加密指加密和解密使用同一個秘鑰,常見的對稱加密算法有DES、AES、3DES等。非對稱加密指使用公鑰和私鑰對數(shù)據(jù)進行加解密,使用對方公鑰加密時,對方只有使用自己的私鑰才能解密。常見的非對稱加密算法有RSA、Elgamal、背包算法、Rabin、D-H、ECC。區(qū)塊鏈作為分布式賬本,通用采用的是非對稱加密技術(shù)。
3.2 數(shù)字簽名
數(shù)字簽名是非對稱加密算法和數(shù)字摘要技術(shù)的應(yīng)用,通常使用私鑰加密、公鑰解密的方式實現(xiàn)。數(shù)據(jù)發(fā)送者使用哈希算法成生數(shù)據(jù)摘要,使用私鑰對數(shù)據(jù)摘要進行加密。數(shù)據(jù)接收者用公鑰進行解密,鑒別數(shù)據(jù)發(fā)送者的身份。
3.3 P2P網(wǎng)絡(luò)
P2P網(wǎng)絡(luò)是一種分布式的對等網(wǎng)絡(luò),每個節(jié)點既可以從其他節(jié)點得到服務(wù),也可以向其他節(jié)點提供服務(wù)。區(qū)塊鏈網(wǎng)絡(luò)建立在P2P網(wǎng)絡(luò)上,所有網(wǎng)絡(luò)中的節(jié)點地位平等,以實現(xiàn)去中心化[1]。
3.4 默克爾樹
區(qū)塊鏈采用默克爾樹二叉樹,通過哈希算法生成數(shù)據(jù)憑證,將區(qū)塊鏈中的數(shù)據(jù)分組進行哈希運算,向上不斷遞歸運算產(chǎn)生新的哈希節(jié)點,最終只剩下一個默克爾根存人區(qū)塊頭中,每個哈希節(jié)點總是包含兩個相鄰的數(shù)據(jù)塊或其哈希值,用于快速歸納和校驗區(qū)塊鏈數(shù)據(jù)的完整性,以提高整個系統(tǒng)的運行效率增加可擴展性。
3.5 分布式數(shù)據(jù)庫
區(qū)塊鏈本身就是分布式數(shù)據(jù)庫,所有節(jié)點共同記錄,保證了數(shù)據(jù)庫的可靠性。
3.6 共識機制
區(qū)塊鏈由多個節(jié)點組成,各個節(jié)點之間彼此信任達(dá)成共識,保證各個節(jié)點的一致性。要維護區(qū)塊鏈系統(tǒng)的穩(wěn)定,需要共識機制確認(rèn)區(qū)塊的有效性、正確性[2]。常用共享機制包括:POW(工作證明)、POS(股權(quán)證明)、DPOS(委任權(quán)益證明)、Paxos(分布一致性算法)、PBFT(實用拜占庭容錯算法)。
POW:由節(jié)點所擁有的計算能力決定,節(jié)點計算能力占當(dāng)前網(wǎng)絡(luò)計算能力的百分比,決定了這個節(jié)點具有多大可能性找到區(qū)塊。
POS:類似銀行利息,這種模式會在未發(fā)現(xiàn)區(qū)塊鏈時,通過時間等計算出一個幣零來發(fā)放利息,發(fā)現(xiàn)區(qū)塊后將幣清零。
DPOS:通過投票產(chǎn)生代表,產(chǎn)生區(qū)塊,并不是所有的節(jié)點都能為代表,都能記賬,只有被選定的代表才獲得記賬權(quán)。
3.7 智能合約
智能合約是一種以信息化方式傳播、驗證或執(zhí)行合同的計算機協(xié)議。它允許在沒有第三方的情況下進行可信交易,并且這些交易可追蹤且不可逆轉(zhuǎn)。區(qū)塊鏈中將智能合約以數(shù)字化的形式寫入?yún)^(qū)塊鏈中,保障存儲、讀取、執(zhí)行整個過程透明可追蹤、不可篡改。
3.8 激勵機制
激勵機制是通過經(jīng)濟平衡的手段,鼓勵節(jié)點參與到維護區(qū)塊鏈系統(tǒng)安全運行中來,防止對總賬本進行篡改、是長期維持區(qū)塊鏈網(wǎng)絡(luò)運行的動力。
4 區(qū)塊鏈在電子證照研究現(xiàn)狀
針對區(qū)塊鏈技術(shù)在電子證照的應(yīng)用,國內(nèi)外研究者展開了大量的研究和應(yīng)用,文獻[3]研究了部分國家將區(qū)塊鏈技術(shù)在公共服務(wù)領(lǐng)域的應(yīng)用實踐,認(rèn)為區(qū)塊鏈技術(shù)具有去中心化安全認(rèn)證的特點,可廣泛應(yīng)用于房產(chǎn)登記及交易、選舉、專利、知識產(chǎn)權(quán)、品牌和健康數(shù)據(jù)等政府業(yè)務(wù)數(shù)據(jù)。文獻[4]詳細(xì)論述了區(qū)塊鏈技術(shù)的運行機制,認(rèn)為區(qū)塊鏈技術(shù)可以實現(xiàn)公民、企業(yè)和政府部門之間的安全數(shù)據(jù)平臺訪問驗證。文獻[5]結(jié)合“互聯(lián)網(wǎng)+政務(wù)服務(wù)”,通過分布式賬本實現(xiàn)數(shù)據(jù)共享和統(tǒng)一標(biāo)準(zhǔn),基于區(qū)塊鏈分布式和不對稱加密技術(shù),提出了基于區(qū)塊鏈的電子證照共享平臺新模型。文獻[6]提出了區(qū)塊鏈電子證照共享平臺總體架構(gòu)和電子證照數(shù)據(jù)共享流程。文獻[7]結(jié)合電子證照的業(yè)務(wù)需求,基于Hyerledger設(shè)計了電子證照共享平臺,將系統(tǒng)架構(gòu)分為區(qū)塊鏈管理、電子證照管理、平臺管理、區(qū)塊鏈節(jié)點、業(yè)務(wù)處理機,同時設(shè)計了電子證照上傳和查詢流程。文獻[8]利用區(qū)塊鏈技術(shù),從平臺架構(gòu)、業(yè)務(wù)流程、數(shù)據(jù)庫、證照照面等方面對不動產(chǎn)登記電子證照系統(tǒng)進行總體設(shè)計,利用區(qū)塊鏈技術(shù)保障電子證照的安全,構(gòu)建跨區(qū)域電子證照數(shù)據(jù)鏈。
總體來看,區(qū)塊鏈技術(shù)在數(shù)據(jù)共享、數(shù)據(jù)驗證、安全保障等方面處于研究和應(yīng)用階段,部分領(lǐng)域得到了很好的推廣。電子證照作為政府部門和企業(yè)、公民的重要數(shù)據(jù),結(jié)合區(qū)塊鏈技術(shù)加以研究和應(yīng)用,在國內(nèi)初步進行了平臺設(shè)計和建設(shè)模式。
5 區(qū)塊鏈在電子證照庫的應(yīng)用
區(qū)塊鏈技術(shù)在電子證照庫建設(shè)中,充分利用P2P網(wǎng)絡(luò)、區(qū)塊鏈數(shù)據(jù)安全交換協(xié)議、區(qū)塊鏈安全訪問協(xié)議進行數(shù)據(jù)傳輸,通過版本號、時間戳、數(shù)據(jù)證書、數(shù)據(jù)加密生成區(qū)塊,以分布式數(shù)據(jù)庫的方式建設(shè)電子證照庫、目錄體系庫、公共賬本,基于身份認(rèn)證系統(tǒng)、加密函數(shù)、共享服務(wù)、消息服務(wù)提供支撐,構(gòu)建具備電子證照目錄管理、頒發(fā)管理、上傳管理、格式管理、驗證服務(wù)、變更管理、查詢管理的應(yīng)用平臺,為各部門業(yè)務(wù)系統(tǒng)提供SDK接人服務(wù)(如圖l所示)。
網(wǎng)絡(luò)層:P2P網(wǎng)絡(luò)基于電子政務(wù)外網(wǎng)的網(wǎng)絡(luò)設(shè)備、安全設(shè)備及安全交換協(xié)議、安全訪問協(xié)議進行建設(shè)。區(qū)塊鏈網(wǎng)絡(luò)的每臺節(jié)點機保存全量數(shù)據(jù)。在區(qū)塊鏈共識機制保障下,每臺節(jié)點機保存的數(shù)據(jù)完全一致,節(jié)點服務(wù)器保存電子證照、目錄、公共賬本等數(shù)據(jù)。
數(shù)據(jù)層:由版本號、時間戳、數(shù)字證書等信息生成的區(qū)塊數(shù)據(jù)。電子證照庫按照《電子證照總體技術(shù)架構(gòu)》(GB/T 36901)、《國家電子證照目錄信息規(guī)范》(GB/T 36902)、《電子證照元數(shù)據(jù)規(guī)范》(GB/T 36903)、《電子證照文件技術(shù)要求》(GB/T36905)進行建設(shè),內(nèi)容包括個人身份證信息、駕駛證信息、畢業(yè)證信息、結(jié)婚證和離婚證等數(shù)據(jù)。企業(yè)方面的證照包括商品房預(yù)售許可證、工程設(shè)計單位資質(zhì)證、統(tǒng)一社會信用代碼證等數(shù)據(jù)。
服務(wù)層:通過統(tǒng)一身份認(rèn)證系統(tǒng),驗證用戶的合法性,鑒別用戶是否屬于聯(lián)盟鏈成員,并通共識服務(wù)授權(quán)哪個節(jié)點可以將數(shù)據(jù)上鏈。同時為應(yīng)用層提供數(shù)據(jù)加密、數(shù)據(jù)封裝、格式轉(zhuǎn)換、消息隊列機制等服務(wù)。
應(yīng)用層:實現(xiàn)電子證照的目錄創(chuàng)建、修改、刪除,利用電子印章生成電子證照版式文件,生成可視化的電子證照,并對電子證照的生命周期進行管理,按照流程登記電子證照的創(chuàng)建、變更、撤銷等操作,并提供可視化的查詢功能。電子證照上傳過程中,一是按照標(biāo)準(zhǔn)和規(guī)范將數(shù)據(jù)上傳到目錄體系中,同時驗證用戶上傳的權(quán)限;二是采用哈希算法將數(shù)據(jù)進行加密并保存在相應(yīng)的區(qū)塊鏈中;三是通過智能合約進行處理后將數(shù)據(jù)寫入?yún)^(qū)塊鏈公共賬本中。
接人層:按照《電子證照共享服務(wù)接口規(guī)范》( GB/T 36906)將封裝好調(diào)用區(qū)塊鏈接口的業(yè)務(wù)接口方法軟件開發(fā)工具包( SDK)。各部門的系統(tǒng)通過SDK提交查詢,并調(diào)用數(shù)據(jù)。
每個區(qū)塊細(xì)分為區(qū)塊頭和區(qū)塊體兩部分。其中,區(qū)塊當(dāng)前的版本號、上一個區(qū)塊的地址、時間戳、當(dāng)前區(qū)塊哈希值與隨機數(shù)封裝在區(qū)塊頭內(nèi);當(dāng)前區(qū)塊的交易數(shù)量以及經(jīng)過驗證的、區(qū)塊創(chuàng)建過程中生成的所有記錄封裝在區(qū)塊體中。區(qū)塊體由默克爾樹組成,在默克爾樹的葉子節(jié)點上,保存著每一筆發(fā)證、收證、查證和換證的記錄,這些數(shù)據(jù)通過兩兩Hash計算向上形成默克爾樹的根,并記人區(qū)塊頭。
區(qū)塊鏈的電子證照版式文件存儲步驟:第一,對存儲的電子證照進行編號;第二,將電子證照版式文件轉(zhuǎn)成圖片格式,定為母圖片格式;第三,對母圖片裁切成N張圖片;第四,將母圖片的編號與N張圖片的編號進行關(guān)聯(lián);第五,針對圖片創(chuàng)建N個存儲,將已關(guān)聯(lián)完畢后的圖片分布存儲在每個存儲塊中。
為了保證電子證照數(shù)據(jù)的私密性,共享數(shù)據(jù)不會直接存儲在區(qū)塊鏈上,而是通過智能合約將其錨定為區(qū)塊鏈上的數(shù)字資產(chǎn)。當(dāng)以數(shù)據(jù)庫方式提供時,將電子證照庫中共享的數(shù)據(jù)同步一份到其前置機的ODS中后,再將該部分共享數(shù)據(jù)在ODS中的訪問信息加密后作為數(shù)字資產(chǎn)的元數(shù)據(jù);當(dāng)以數(shù)據(jù)文件方式提供時,將電子證照庫中可共享的數(shù)據(jù)加密后,寫到ODS的文件系統(tǒng)中,形成一個共享數(shù)據(jù)文件,再將該共享數(shù)據(jù)文件的完整性哈希值作為數(shù)字資產(chǎn)的元數(shù)據(jù)存儲在區(qū)塊鏈上,而共享數(shù)據(jù)文件本身依然存儲在電子證照庫前置機的ODS中。
6 結(jié)束語
基于區(qū)塊鏈技術(shù)構(gòu)建的電子證照庫共享平臺,結(jié)合區(qū)塊鏈不可篡改、可追溯,去中心、去信任的特點,提供安全、可靠的電子證照管理手段,進一步推進政務(wù)服務(wù)“一網(wǎng)通辦”工作,加快數(shù)字政府建設(shè),推動政府治理現(xiàn)代化。本文以區(qū)塊鏈為核心,以電子證照庫管理為目標(biāo),提出了網(wǎng)絡(luò)層、數(shù)據(jù)層、服務(wù)層、應(yīng)用層、接人層的平臺架構(gòu),為區(qū)塊鏈在電子證照庫建設(shè)提供了理念基礎(chǔ)和構(gòu)建思路。
參考文獻:
[1]賈民政.區(qū)塊鏈技術(shù)及其應(yīng)用研究[Jl.數(shù)字技術(shù)與應(yīng)用,2018,36(1):189+192.
[2]王梓樺.區(qū)塊鏈技術(shù)在數(shù)據(jù)同步與交換應(yīng)用研究[C].中國指揮與控制學(xué)會.第六屆中國指揮控制大會論文集(下冊).中國指揮與控制學(xué)會:中國指揮與控制學(xué)會,2018:251-255.
[3] Swan M.Blockchain:blueprint for a new economy[M].USA, Reil-ly Media Inc,2015:35
[4] Williams-Grut O.Estonia is using the technology behind Bit-coin to secure l miⅡion health records[EB/OL].2016.
[5]黃佳.基于區(qū)塊鏈技術(shù)的跨區(qū)域電子證照共享平臺[J].科技與創(chuàng)新,2019(11):61-63.
[6]閔旭蓉,杜葵,戴逸聰.基于區(qū)塊鏈技術(shù)的電子證照共享平臺設(shè)計[Jl.指揮信息系統(tǒng)與技術(shù),2017,8(2):47-51.
[7]陳春梅.區(qū)塊鏈技術(shù)下的電子證照共享平臺設(shè)計與實現(xiàn)研究[Jl.自動化與儀器儀表,2019(4):80-83.
[8]張飛,韓歡歡,李冬青,基于區(qū)塊鏈與電子認(rèn)證的不動產(chǎn)登記電子證照系統(tǒng)的設(shè)計與實現(xiàn)[Jl.江蘇科技信息,2019,36(35):42-46.
【通聯(lián)編輯:王力】
作者簡介:韋杰(1982-),男,廣西南寧人,高級工程師,碩士,主要研究方向為大數(shù)據(jù)應(yīng)用與云計算。