摘要:文章首先簡(jiǎn)單介紹了區(qū)塊鏈技術(shù)和應(yīng)用以及區(qū)塊鏈技術(shù)設(shè)計(jì)政務(wù)數(shù)據(jù)平臺(tái)的動(dòng)因,然后分析了基于區(qū)塊鏈技術(shù)進(jìn)行政務(wù)數(shù)據(jù)共享平臺(tái)架構(gòu)設(shè)計(jì)的基本方法,同時(shí)解析了應(yīng)用區(qū)塊鏈技術(shù)進(jìn)行政務(wù)數(shù)據(jù)共享平臺(tái)設(shè)計(jì)時(shí)的關(guān)鍵機(jī)制構(gòu)設(shè)途徑,并從雙鏈結(jié)構(gòu)機(jī)制設(shè)計(jì)、智能合約獨(dú)立空間設(shè)置、平臺(tái)數(shù)據(jù)存儲(chǔ)機(jī)制等方面詳細(xì)論述,僅供參考。
關(guān)鍵詞:區(qū)塊鏈技術(shù);政務(wù)數(shù)據(jù);數(shù)據(jù)共享;共享設(shè)計(jì)
doi:10.3969/J.ISSN.1672-7274.2023.06.013
中圖分類號(hào):D 63,TP 311.13" " " " " "文獻(xiàn)標(biāo)志碼:A" " " " " " "文章編碼:1672-7274(2023)06-00-03
Abstract: This article first introduces the connotation and thrust of blockchain technology, further analyzes the motivation for designing a government data platform using blockchain technology, and then analyzes the basic methods for designing a government data sharing platform architecture based on blockchain technology. At the same time, it analyzes the key mechanism construction approaches for designing a government data sharing platform using blockchain technology, including dual chain structure mechanism design, smart contract independent space setting The platform data storage mechanism and other aspects are discussed in detail.
Key words: blockchain technology; government data; data sharing; shared design
1" 區(qū)塊鏈技術(shù)介紹
區(qū)塊鏈?zhǔn)侵敢环N數(shù)據(jù)結(jié)構(gòu),會(huì)依照時(shí)間順序在系統(tǒng)中將數(shù)據(jù)區(qū)塊以鏈條的形式連接起來(lái),該鏈條信息會(huì)被保存至系統(tǒng)中所有的服務(wù)器中,只要系統(tǒng)中的一臺(tái)服務(wù)器能夠工作,那么整個(gè)區(qū)塊鏈就是安全的。區(qū)塊鏈技術(shù)涵蓋了塊鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)驗(yàn)證與存儲(chǔ)技術(shù)、分布式節(jié)點(diǎn)共識(shí)算法技術(shù)、密碼學(xué)數(shù)據(jù)傳輸與訪問(wèn)技術(shù),能最大限度地保證信息數(shù)據(jù)的安全。通過(guò)運(yùn)用該技術(shù),不僅系統(tǒng)中的數(shù)據(jù)信息很難被篡改且運(yùn)作模式也實(shí)現(xiàn)了去中心化,而且使得各項(xiàng)信息數(shù)據(jù)更加真實(shí)可靠[1]。
2" 基于區(qū)塊鏈技術(shù)設(shè)計(jì)政務(wù)數(shù)據(jù)共享平" "臺(tái)動(dòng)因
(1)技術(shù)賦能,降低政府管理成本。在新時(shí)期,政務(wù)處理速度跟不上公眾響應(yīng)速度是當(dāng)前政務(wù)工作改革的一大難點(diǎn),在無(wú)法增添人力資源的前提下,可利用政務(wù)數(shù)據(jù)共享平臺(tái),提高工作人員的工作效率,加大組織內(nèi)部廉政督查。
(2)工具科學(xué),便于滿足公眾需求。以往企業(yè)和群眾在辦事的過(guò)程中存在難、慢、繁的障礙,而通過(guò)該平臺(tái)的構(gòu)建,能夠提升政府部門(mén)對(duì)外工作服務(wù)質(zhì)量,推動(dòng)跨部門(mén)無(wú)紙化審核機(jī)制的運(yùn)行,滿足群眾“最多跑一次”的辦事需求。
(3)社會(huì)互動(dòng),提升政府的公信力。政務(wù)數(shù)據(jù)共享平臺(tái)的建設(shè)能夠提高政府與社會(huì)公眾互動(dòng)力度,通過(guò)區(qū)塊鏈技術(shù)的加持,能夠?qū)崿F(xiàn)多主體監(jiān)管數(shù)據(jù)中心,有利于建成一個(gè)全新的社會(huì)信用體系,提升政府辦事的社會(huì)公信力。
3" 基于區(qū)塊鏈技術(shù)政務(wù)數(shù)據(jù)共享平臺(tái)架" "構(gòu)設(shè)計(jì)
在搭建政務(wù)數(shù)據(jù)共享平臺(tái)時(shí),首先要滿足數(shù)據(jù)共享的需求,同時(shí)要保證系統(tǒng)內(nèi)其他數(shù)據(jù)信息的安全性。因此,在設(shè)計(jì)基本框架時(shí),會(huì)通過(guò)數(shù)字證書(shū)身份認(rèn)證的形式,讓使用者進(jìn)入到數(shù)據(jù)共享網(wǎng)絡(luò)系統(tǒng)之中。而作為數(shù)據(jù)的供給方,僅需要將數(shù)據(jù)加密后的文件或者摘要值發(fā)布于區(qū)塊鏈中即可。
需要獲取數(shù)據(jù)信息的一方會(huì)從區(qū)塊鏈之中提取相應(yīng)的數(shù)據(jù)信息,并將相應(yīng)的數(shù)據(jù)信息請(qǐng)求發(fā)布于區(qū)塊鏈之中。提供數(shù)據(jù)方會(huì)依照區(qū)塊鏈中需要獲取數(shù)據(jù)信息方所發(fā)布的權(quán)限請(qǐng)求,對(duì)其進(jìn)行身份權(quán)限的認(rèn)證,當(dāng)權(quán)限通過(guò)以后,結(jié)果便會(huì)被發(fā)布于區(qū)塊鏈之中。
根據(jù)上述操作思路,需要數(shù)據(jù)信息的一方便可以擁有訪問(wèn)該數(shù)據(jù)信息的共享權(quán),最終平臺(tái)完成數(shù)據(jù)共享操作的整個(gè)流程。為進(jìn)一步提升政務(wù)處理的效率,Hyperledger Fabric網(wǎng)絡(luò)節(jié)點(diǎn)也必須經(jīng)過(guò)授權(quán)認(rèn)證以后才能夠加入系統(tǒng)之中,這樣可以有效避免PoW共識(shí)算法所造成的資源浪費(fèi)。
該平臺(tái)的共享系統(tǒng)是在Hyperledger Fabric1.4架構(gòu)之上建立起來(lái)的,其能夠依照各業(yè)務(wù)類型以及數(shù)據(jù)訪問(wèn)請(qǐng)求的不同,將區(qū)塊鏈劃分成若干個(gè)通道,每一區(qū)塊鏈都具備物理特性,能夠?qū)⑵渲械臄?shù)據(jù)與其他通道之間的數(shù)據(jù)有效隔離,最大程度地保證數(shù)據(jù)應(yīng)用的安全性,并能夠依照智能合約中的規(guī)則運(yùn)行訪問(wèn)。
4" 基于區(qū)塊鏈技術(shù)政務(wù)數(shù)據(jù)共享關(guān)鍵機(jī)" "制設(shè)計(jì)
4.1 雙鏈結(jié)構(gòu)機(jī)制設(shè)計(jì)
在設(shè)計(jì)政府?dāng)?shù)據(jù)共享平臺(tái)時(shí),在區(qū)塊鏈基礎(chǔ)架構(gòu)之上,延伸出了雙鏈條的結(jié)構(gòu)機(jī)制,應(yīng)用該結(jié)構(gòu)的目的是,主鏈結(jié)構(gòu)基本不變,但是子鏈結(jié)構(gòu)會(huì)具備一定的彈性特質(zhì),其所能夠解決的問(wèn)題有:一是防止系統(tǒng)的信息吞吐量無(wú)法達(dá)到實(shí)際應(yīng)用需求;二是保證區(qū)塊鏈能夠根據(jù)信息存儲(chǔ)量進(jìn)行自由伸縮;三是有效解決系統(tǒng)應(yīng)用過(guò)程中可能會(huì)存在的延遲問(wèn)題。
主鏈的結(jié)構(gòu)包括存儲(chǔ)賬本、資產(chǎn)信息等。信息存儲(chǔ)量較少,主要是負(fù)責(zé)系統(tǒng)的整體交易與配合子鏈,同時(shí)子鏈也可以通過(guò)智能合約與主鏈進(jìn)行業(yè)務(wù)通信。子鏈之中會(huì)有多個(gè)文件狀態(tài),其由存儲(chǔ)每一小塊的哈希以及原信息所構(gòu)成,主鏈會(huì)與多條子鏈對(duì)接,并形成共享交易賬本,通過(guò)該賬本能夠搜索到每一區(qū)塊的信息數(shù)據(jù),最后完成所需要使用的政務(wù)共享數(shù)據(jù)信息提取作業(yè)。
4.2 智能合約獨(dú)立空間
智能合約是區(qū)塊鏈技術(shù)的重要組成部分,其主要是起到了控制訪問(wèn)以及操作權(quán)限的作用,能夠確保系統(tǒng)依照一定的身份認(rèn)證規(guī)則運(yùn)行。而在實(shí)際設(shè)計(jì)的過(guò)程中,需要保證智能合約在每一個(gè)獨(dú)立的空間之中運(yùn)行,只有這樣才能夠?qū)φ麄€(gè)系統(tǒng)網(wǎng)絡(luò)的權(quán)限進(jìn)行合理控制。
在實(shí)際布設(shè)的過(guò)程中,系統(tǒng)是在Hyperledger Fabric架構(gòu)之上建立的,因此相關(guān)人員需要構(gòu)建一個(gè)自動(dòng)執(zhí)行代碼,其可以在網(wǎng)絡(luò)沒(méi)有狀態(tài)、事件驅(qū)動(dòng)以及圖靈完備的情況下,實(shí)現(xiàn)與賬本間的交互作業(yè)。這樣一是能夠達(dá)成數(shù)據(jù)與邏輯分隔的目標(biāo);二是能夠與系統(tǒng)底層之間的賬本有效分開(kāi),在日后智能合約模塊改造的過(guò)程中,無(wú)須再通過(guò)同步遷移賬本數(shù)據(jù)的方式開(kāi)展,能夠提高系統(tǒng)的實(shí)用性,便于維護(hù)。同時(shí),為能夠達(dá)成以上幾點(diǎn)作業(yè)需求,建議采用HLF架構(gòu),這樣能將智能合約在系統(tǒng)中的效能發(fā)揮至最大。為靈活控制該智能合約,應(yīng)設(shè)立一個(gè)單獨(dú)的應(yīng)用服務(wù)器,便于在前端的人機(jī)界面對(duì)相關(guān)數(shù)據(jù)結(jié)構(gòu)進(jìn)行反饋與分析。
如果要修改fabric賬本之中的相關(guān)數(shù)據(jù),則需要依靠相應(yīng)的鏈碼來(lái)完成,fabric-sdk-node是封裝完畢的nodeSDK,可以通過(guò)其對(duì)fabric上的智能合約進(jìn)行調(diào)控,這樣符合系統(tǒng)設(shè)計(jì)的相關(guān)業(yè)務(wù)操作邏輯。在實(shí)際應(yīng)用的過(guò)程中,會(huì)先調(diào)用install.js,并在其上安裝智能合約,然后再對(duì)instantiate.js進(jìn)行調(diào)用,這樣便可以設(shè)置一個(gè)實(shí)例化的智能合約,其中這兩個(gè)js文件均是依照語(yǔ)法進(jìn)行設(shè)計(jì)的,最后會(huì)以export的方式被導(dǎo)出。
4.3 平臺(tái)數(shù)據(jù)存儲(chǔ)機(jī)制
由于電子政務(wù)數(shù)據(jù)共享平臺(tái)在實(shí)際應(yīng)用的過(guò)程中會(huì)產(chǎn)生大量的數(shù)據(jù)信息,為減少其工作量,應(yīng)適當(dāng)?shù)貙?duì)其存儲(chǔ)結(jié)構(gòu)進(jìn)行簡(jiǎn)化。在設(shè)計(jì)的過(guò)程中,該區(qū)塊鏈上的賬本數(shù)據(jù)包含兩大模塊:一是狀態(tài)數(shù)據(jù);二是區(qū)塊鏈數(shù)據(jù),均采用了典型的塊鏈存儲(chǔ)結(jié)構(gòu)。每一區(qū)塊頭中均含有區(qū)塊的原信息和指向前一區(qū)塊的Hash值指針,這些指針主要是用于解決區(qū)塊鏈中N個(gè)隨著時(shí)間排列起來(lái)的數(shù)據(jù)鏈條,可能會(huì)存在被篡改的問(wèn)題。
除此之外,所有的數(shù)據(jù)信息都會(huì)被寫(xiě)入到區(qū)塊中,每一區(qū)塊中都包含了前一個(gè)區(qū)塊所記錄的數(shù)據(jù)Hash值。通過(guò)該種方式,所有更新的區(qū)塊鏈中均會(huì)包含之前區(qū)塊中所存儲(chǔ)的用戶交易信息,如果其中任意信息被改動(dòng)的話,其區(qū)塊Hash值也會(huì)發(fā)生相應(yīng)的變化,這樣用戶的身份將難以通過(guò)驗(yàn)證。在系統(tǒng)運(yùn)行的過(guò)程中,驗(yàn)證賬本只需要驗(yàn)證最后一個(gè)區(qū)塊的Hash值即可,這樣就會(huì)使得總賬本不能被輕易改動(dòng),并且也易于驗(yàn)證。
區(qū)塊中的Hash值需要利用前一個(gè)區(qū)塊的Hash、時(shí)間戳、Merkle根共同計(jì)算得出。其中,Merkle根的節(jié)點(diǎn)是由區(qū)塊所有業(yè)務(wù)數(shù)據(jù)信息所構(gòu)成的默克爾樹(shù)根Hash值。在生成Hash值時(shí),可以利用SHA3-256(Keccak256)散列算法計(jì)算,這樣既能夠完成任意長(zhǎng)度輸入與固定長(zhǎng)度輸出的轉(zhuǎn)化,又可以保證這一單向函數(shù)不被任意反推,且當(dāng)前在以區(qū)塊鏈技術(shù)為基礎(chǔ)所構(gòu)建起的數(shù)據(jù)網(wǎng)絡(luò)系統(tǒng)中較為常用。
4.4 數(shù)據(jù)的寫(xiě)入與檢索
在進(jìn)行數(shù)據(jù)寫(xiě)入與檢索環(huán)節(jié)設(shè)置時(shí),該系統(tǒng)的整體數(shù)據(jù)存儲(chǔ)都是由HLF來(lái)完成的,其是由多個(gè)普通文件與kv數(shù)據(jù)庫(kù)所構(gòu)成的,每一區(qū)塊鏈通道都會(huì)生成相應(yīng)的賬本。而這些賬本的目錄則是由以blockfile_000000、blockfile_000001所命名的多個(gè)64 MBytes所構(gòu)成的,其能夠方便系統(tǒng)在使用的過(guò)程中被快速檢索。
同時(shí),每一個(gè)區(qū)塊數(shù)據(jù)也都會(huì)通過(guò)二進(jìn)制字節(jié)碼序列形式,被寫(xiě)入進(jìn)blockfile文件中。其在被序列化時(shí),應(yīng)用程序會(huì)通過(guò)append的形式打開(kāi)blockfile文件,然后將區(qū)塊數(shù)據(jù)以及大小寫(xiě)入到blockfile文件中,如果檢測(cè)過(guò)程中發(fā)現(xiàn)文件的尺寸與區(qū)塊尺寸相加超過(guò)了64 MB,系統(tǒng)則會(huì)自動(dòng)生成一個(gè)datwen文件。具體的數(shù)據(jù)寫(xiě)入流程可以參考如下內(nèi)容。
首先,進(jìn)行區(qū)塊頭數(shù)據(jù)的寫(xiě)入,其中包含了該區(qū)塊至區(qū)塊鏈區(qū)塊頭的具體區(qū)塊數(shù)量,也可以稱之為區(qū)塊的高度、交易Hash值、前一區(qū)塊的Hash值等。
其次,寫(xiě)入交易數(shù)據(jù)信息,依照時(shí)間順序?qū)?shù)據(jù)依次寫(xiě)入?yún)^(qū)塊之中,其中包括每筆的交易數(shù)據(jù)以及交易量。
最后,為方便HLF的查詢,并提高查詢的速率,將區(qū)塊與交易在blockfile文件中的索引信息保留在kv的數(shù)據(jù)庫(kù)中。該索引主要由kv數(shù)據(jù)庫(kù)中所存儲(chǔ)的最終區(qū)塊hash以及LevelKey值所構(gòu)成。LevelKey值則由chaincode_nam、chaincode、channel_name中的key值所構(gòu)成。LevelValue值取決于偏移列表中的交易文件、本地文件信息以及區(qū)塊Hash值。
4.5 身份認(rèn)證權(quán)限管理
為有效識(shí)別身份,并便于系統(tǒng)對(duì)權(quán)限的有序管理,在開(kāi)發(fā)過(guò)程中,應(yīng)用了數(shù)字證書(shū)CA技術(shù)作為身份認(rèn)證的憑證,其中主要包括用戶的數(shù)字簽名、人臉識(shí)別、身份信息、公鑰信息等。
為提高公鑰的管理質(zhì)量,則利用了PKI作為管理CA數(shù)字證書(shū)的主要技術(shù),這樣不僅能夠合理管控公鑰,還能利用通信的形式來(lái)認(rèn)證雙方的身份信息,最大限度地保證通信過(guò)程中信息的安全性。
由于該系統(tǒng)還要與政府其他主管機(jī)構(gòu)系統(tǒng)進(jìn)行銜接,因此需要構(gòu)建起一個(gè)聯(lián)盟制的大數(shù)據(jù)網(wǎng)絡(luò),而其中的聯(lián)盟鏈成員證書(shū)管理則選擇了Membership Service Provider,其能夠幫助系統(tǒng)判斷RCA與ICA鏈中的信息哪些可以被信任,同時(shí)也定義了channel合作者。
而在系統(tǒng)設(shè)計(jì)的過(guò)程中,通過(guò)HLF的應(yīng)用,提高了其隱私保護(hù)能力,不僅可以幫助同一企業(yè)在網(wǎng)絡(luò)上建立多個(gè)不同的通道(channel),還可以讓每一通道生成屬于自己獨(dú)有的區(qū)塊鏈以及訪問(wèn)機(jī)制,并且不會(huì)對(duì)其他的子鏈通道造成影響。
同時(shí),這些通道又都是和每一個(gè)對(duì)應(yīng)的賬本相關(guān)聯(lián)的,通道能夠用來(lái)限制信息數(shù)據(jù)的傳播范圍,而系統(tǒng)在交易的過(guò)程中,能夠與指定的通道進(jìn)行關(guān)聯(lián),并可以明確地定義出哪一些節(jié)點(diǎn)的交易信息能夠被獲取,哪一些不能夠被索取,在整個(gè)區(qū)塊鏈網(wǎng)絡(luò)中多個(gè)政務(wù)辦理部門(mén)都屬于子鏈。
通過(guò)對(duì)通道數(shù)據(jù)信息的權(quán)限設(shè)定,系統(tǒng)能夠?qū)崟r(shí)截獲通道所生成的交易信息、區(qū)塊數(shù)據(jù)的讀取時(shí)間、通道發(fā)起交易寫(xiě)入操作時(shí)間以及加入通道、修改通道配置管理,這些策略均可以通過(guò)mod_policy的方式進(jìn)行控制。
除此之外,用戶不論是簽名組合還是人臉識(shí)別都需要遵照相應(yīng)的身份規(guī)則策略,只有這樣系統(tǒng)才能允許其執(zhí)行下一步的操作,系統(tǒng)能夠?qū)τ脩舻纳矸菪畔⒁勒蘸霞s規(guī)則進(jìn)行復(fù)核。如果能夠和該策略規(guī)程保持一致,則可以執(zhí)行相關(guān)操作,如果不符合相關(guān)規(guī)定,則會(huì)終止其進(jìn)行后續(xù)相關(guān)操作。
在進(jìn)行策略數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)時(shí),應(yīng)用了三種數(shù)據(jù)結(jié)構(gòu),包括內(nèi)嵌式的SignaturePolicy結(jié)構(gòu)、Poily結(jié)構(gòu)、ImplicitMetaPolicy結(jié)構(gòu),以上三種結(jié)構(gòu)均可以在protos/common/policies.proto文件之中被定義。
5" 結(jié)束語(yǔ)
綜上所述,在信息時(shí)代背景之下,傳統(tǒng)的政務(wù)處理方式受到審批流程過(guò)長(zhǎng)、人力資源不足等客觀因素的影響,其工作效率很難滿足公眾的實(shí)際需求,為全面提升數(shù)字政府集約化建設(shè)水平,并實(shí)現(xiàn)技術(shù)融合、業(yè)務(wù)融合以及數(shù)據(jù)融合的目標(biāo),相關(guān)政府部門(mén)應(yīng)加大對(duì)政務(wù)數(shù)據(jù)共享平臺(tái)的開(kāi)發(fā)力度,并在其中引入?yún)^(qū)塊鏈等先進(jìn)的信息技術(shù),以此實(shí)現(xiàn)政務(wù)管理與服務(wù)的跨層級(jí)、地域、部門(mén)綜合發(fā)展。
參考文獻(xiàn)
[1] 李文鋒,李林勇.基于區(qū)塊鏈的政務(wù)數(shù)據(jù)共享交換平臺(tái)設(shè)計(jì)與應(yīng)用[J].電腦與信息技術(shù),2022(5):64-68.