国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的內河執(zhí)法管理系統(tǒng)的研究和設計

2020-02-19 17:53孟憲偉
數(shù)字通信世界 2020年1期
關鍵詞:賬本管理系統(tǒng)區(qū)塊

葉 梓,孟憲偉

(安徽四創(chuàng)電子股份有限公司,合肥 230031)

0 引言

2018年11月20日,交通運輸部、國家發(fā)改委共同發(fā)布了24個第三批“多式聯(lián)運示范項目”??梢钥闯觥瓣懜乃?,散改集”已經(jīng)是大勢所趨,長江中航行的船舶也日益增多,內河海事執(zhí)法部門的責任也隨之增大。但是內河執(zhí)法信息化建設相對滯后,信息化系統(tǒng)孤島現(xiàn)象仍未改變,系統(tǒng)之間互相調用的安全性存在問題,也存在業(yè)務人員因為人情關系篡改執(zhí)法結果的現(xiàn)象[1]。

區(qū)塊鏈技術起源于中本聰2008年提出的比特幣,隨著比特幣的應用人們發(fā)現(xiàn)點對點的網(wǎng)絡、工作量證明、時間戳、加密技術等不僅僅可以運用于數(shù)字貨幣,也可以運用于其他領域。把這些技術綜合提煉起來就提出了區(qū)塊鏈的概念,可見區(qū)塊鏈不是單一的技術,而是一系列技術的集合。因為區(qū)塊鏈的不可篡改、價值傳遞和安全可信等特點[2],可以將區(qū)塊鏈技術與內河航運相結合,解決執(zhí)法過程中的安全性問題以及可審計問題

1 相關技術

1.1 微服務

為了解決單體程序代碼可讀性、維護性差以及持續(xù)交付能力差的缺點,微服務技術主張將單一程序進行服務分割,拆分成一個個微型服務,每個微型服務之間互相沒有影響,并使用輕量級機制通信(HTTP或者TCP)。服務按照業(yè)務功能劃分架構,并統(tǒng)一進行部署和維護。這些微型服務可以使用不同的編程語言,以及不同的數(shù)據(jù)存儲技術,以保證最低限度的集中式管理[3]。

微服務的主要體現(xiàn)以下方面的優(yōu)勢:一是將一個復雜的業(yè)務分解成若干小的業(yè)務,為每個服務拆成一個服務,將復雜的問題簡單化。二是微服務系統(tǒng)具有強大的橫向和縱向擴展能力,對于功能來說可以無限增加不同功能模塊,對于性能來說可以增加相同的功能模塊增強負載能力。三是微服務之間可以通過HTTP或者其他基于TCP的高效通信協(xié)議來進行通信,使得微服務可以采用任何的開發(fā)語言和技術來實現(xiàn)??梢赃x擇最適合自己的開發(fā)語言和技術,提高開發(fā)效率,降低開發(fā)成本。四是減少了測試和部署的時間。每個服務單獨部署,測試時只需要部署修改的那個服務,不用像單體應用一樣部署整個應用。五是微服務在CAP理論中采用的時AP架構,即具有高可用和分區(qū)容錯的特點。高可用體現(xiàn)在大量的微服務集群,實現(xiàn)了7*24小時不間斷的服務。另外,分期容錯也使得系統(tǒng)更加的健壯。

1.2 Hyperledger Fabric

隨著比特幣、以太坊等區(qū)塊鏈項目的落地,區(qū)塊鏈共有鏈已經(jīng)得到了充分的應用。但是私有鏈、聯(lián)盟鏈等還沒有推廣起來,為了推動區(qū)塊鏈跨行業(yè)的應用,2015年12月,Linux基金會宣布Hyperledger項目啟動。超級賬本自啟動以來就吸引了廣大的會員,不乏Cisco、IBM、Intel、Swift等重量級的企業(yè)。在這些會員的貢獻下,超級賬本項目也得到了快速的發(fā)展。目前來說超級賬本的頂級開源項目包括Fabric(底層基礎核心平臺)、Blockchain Explorer(區(qū)塊鏈瀏覽器)、Sawtooth(支持PoET的區(qū)塊鏈平臺)、Composer(面向鏈碼的高級語言框架)以及Caliper(區(qū)塊鏈平臺性能測試工具)。

Hyperledger Fabric作為超級賬本的第一個項目,是區(qū)塊鏈的底層基礎平臺,包括會員制服務、區(qū)塊鏈服務以及鏈碼服務等。會員制服務為區(qū)塊鏈的節(jié)點成員提供權限管理,包括注冊、身份管理以及身份審核,從而將區(qū)塊鏈的應用提升到企業(yè)、政府等私有或者聯(lián)盟環(huán)境中。區(qū)塊鏈服務為架構中的核心服務,包括區(qū)塊生成、區(qū)塊上鏈、點對點通信、賬本管理、共識管理、信息加密等一系列區(qū)塊鏈技術。鏈碼服務,也就是以太坊中的智能合約,可以將業(yè)務與區(qū)塊鏈相結合,可以用go或者java進行開發(fā)。同時fabric提供一系列開發(fā)語言包供開發(fā)者選擇,包括java,python,go,js等。

2 總體框架及流程

圖1 基于Hyperledger Fabric的內河航運執(zhí)法管理系統(tǒng)總體架構圖

2.1 總體框架

內河航運執(zhí)法管理系統(tǒng)系統(tǒng)架構如圖1所示,包含賬戶管理模塊、基礎功能模塊、智能合約模塊、審計模塊以及微服務網(wǎng)關五大模塊。

(1)微服務網(wǎng)關。由于各地海事監(jiān)管執(zhí)法部門具有一定的獨立性,除去共有的安全性較高的一部分數(shù)據(jù)(如執(zhí)法數(shù)據(jù))上鏈以外,大部分業(yè)務數(shù)據(jù)、基礎信息數(shù)據(jù)都保持在各自的業(yè)務數(shù)據(jù)庫中。

基于Hyperledger Fabric的內河航運執(zhí)法管理系統(tǒng)將每個模塊按照微服務模式進行開發(fā),各自在各自的沙盒中運行,模塊之間保證各自的獨立性,每個微服務再通過微服務網(wǎng)關進行發(fā)布和維護。同時與各省海事部門業(yè)務系統(tǒng)的交互也通過微服務網(wǎng)關來完成。

(2)賬戶管理模塊。其主要功能是管理內河航運執(zhí)法聯(lián)盟鏈中的成員。成員服務提供者(MSP)是一個為超級賬本提供成員管理服務的組件。MSP抽象出了發(fā)行證書,驗證證書,身份認證背后的加密機制和協(xié)議。一個MSP可以定義自身,以及驗證與簽名規(guī)則。一個Hyperledger Fabric區(qū)塊鏈網(wǎng)絡可以被一個或多個MSP管理。并提供了模塊化的成員操作,以及兼容不同成員標準與架構之間的操作。

此外,該模塊可以對不同身份的節(jié)點進行權限控制,權限可分為“公開”、“保密”或者其他密級等不同權限。聯(lián)盟鏈上的成員通過預先設置好的權限,可以訪問不同密級的通道信息。比如對于超級管理者節(jié)點來說,可以訪問所有權限的通道信息,對于授權的節(jié)點則可以訪問所授權的通道信息,對于普通的節(jié)點,則只可以訪問訂閱權限為公開的通道。

(3)基礎功能模塊。其主要實現(xiàn)了內河航運管理系統(tǒng)的核心功能,包括執(zhí)法數(shù)據(jù)的上傳、執(zhí)法數(shù)據(jù)的下載、執(zhí)法數(shù)據(jù)的查詢以及執(zhí)法數(shù)據(jù)的更新,所有的操作會通過聯(lián)盟鏈進行行為存證。執(zhí)法數(shù)據(jù)可以查詢通過查詢聯(lián)盟鏈中的K-V數(shù)據(jù)庫得到執(zhí)法的當前狀態(tài)信息,執(zhí)法數(shù)據(jù)的下載則通過查詢到的哈希值在各地的業(yè)務數(shù)據(jù)庫中下載對應的執(zhí)法數(shù)據(jù)(如執(zhí)法過程的音頻視頻等),執(zhí)法數(shù)據(jù)上傳和更新則會將對應的執(zhí)法過程(如執(zhí)法地點、執(zhí)法時間、執(zhí)法人員、違法人員、執(zhí)法結果等)進行打包,形成區(qū)塊,然后連接成鏈,具體過程在下文會具體描述。

(4)智能合約管理模塊。其主要是用來實現(xiàn)鏈上代碼的存儲、編譯、執(zhí)行以及更新。該模塊使用Docker來存放鏈上代碼,不需要依靠特定的虛擬機或編程語言,并作為一個容器為鏈上代碼的執(zhí)行提供了一個安全、輕便的環(huán)境。智能合約模塊是內河航運執(zhí)法業(yè)務與區(qū)塊鏈的橋梁,有了該模塊,具體業(yè)務就可以跑在區(qū)塊鏈上。

(5)審計模塊。其負載執(zhí)法聯(lián)盟鏈的核心操作,也就是操作記錄的存儲、查詢及審計。首先執(zhí)法信息的所有操作行為(包括查詢、修改、增加和刪除)按照一定規(guī)模進行統(tǒng)一打包上鏈,并在所有的節(jié)點上存證。對日志的審計行為則按照鏈檢索的方法返回指定的操作行為,實現(xiàn)執(zhí)法案件電子數(shù)據(jù)的事后審計。同時審計模塊還承擔執(zhí)法數(shù)據(jù)操作的監(jiān)管功能,會驗證提交者的身份,檢驗該操作是否合法,對于沒有群賢的操作行為,審計模塊將予以禁止。

2.2 總體流程

系統(tǒng)的總體執(zhí)行流程如圖2所示:

圖2 基于Hyperledger Fabric的內河航運執(zhí)法管理系統(tǒng)總體流程

(1)系統(tǒng)需要部署省際跨區(qū)域執(zhí)法結果共享的聯(lián)盟鏈,以省級海事局執(zhí)法支隊創(chuàng)建節(jié)點,并作為海事執(zhí)法聯(lián)盟鏈的聯(lián)盟成員。聯(lián)盟鏈的節(jié)點接入需要相應的權限,也就是省海事局執(zhí)法單位接入聯(lián)盟鏈需要節(jié)點證書來進行成員審核,從而實現(xiàn)了節(jié)點的接入控制。

(2)在聯(lián)盟鏈上需要部署智能合約(fabric上面也稱為鏈碼),根據(jù)省際跨區(qū)域、營運船舶數(shù)據(jù),形成記錄省際跨區(qū)域執(zhí)法的區(qū)塊鏈智能合約,所述智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。

(3)當聯(lián)盟鏈節(jié)點的發(fā)出執(zhí)法結果數(shù)據(jù)更新請求時,智能合約將更新數(shù)據(jù)作為交易發(fā)送至共識服務打包成區(qū)塊更新聯(lián)盟鏈賬本。

(4)根據(jù)各省的營運車輛數(shù)據(jù),智能合約根據(jù)調用請求在聯(lián)盟鏈節(jié)點存儲的鍵值數(shù)據(jù)庫中查找相關執(zhí)法結果。

3 執(zhí)法業(yè)務提交流程分析

hyperledger中的節(jié)點分為三種:客戶端(client)、對等節(jié)點(peer)以及排序節(jié)點(order)[6]。執(zhí)法業(yè)務提交的處理步驟如圖3所示:

圖3 執(zhí)法數(shù)據(jù)提交流程

(1)客戶端(這里指執(zhí)法終端App或者業(yè)務系統(tǒng)網(wǎng)頁)發(fā)起提交違法案件處理狀態(tài)的提案,之后每個對等節(jié)點上都會有一套賬本,提案會在每個對等節(jié)點上基于該節(jié)點的賬本進行模擬執(zhí)行。

(2)模擬執(zhí)行完畢后的結果會簽名并返回給客戶端,返回的內容叫做背書(endorsorment response),在這個環(huán)節(jié)中可以設定節(jié)點的背書策略(Endorsement policy),客戶端收到足夠的背書后,按照預先設定的背書策略,就會知道本次提案是否成功。

(3)如提案通過,則客戶端通過sdk向排序節(jié)點發(fā)起更新申請。

(4)排序節(jié)點將更新申請按照賬本狀態(tài)排序,

排序完了沒有問題,則會生成區(qū)塊,實際上是一個確認更新的操作,這個操作會發(fā)給所有的節(jié)點,每個節(jié)點收到該操作后會同步數(shù)據(jù),這樣則把案件的更新處理狀態(tài)進行上鏈。

在本系統(tǒng)設計中賬本是有兩套賬的,一個是交易記錄,也就是案件狀態(tài)的更新過程;另一個是世界狀態(tài),也就是所有案件的當前處理結果。

系統(tǒng)中的內河航運執(zhí)法數(shù)據(jù)包括執(zhí)法的過程數(shù)據(jù)以及執(zhí)法的狀態(tài)數(shù)據(jù),其中執(zhí)法的過程數(shù)據(jù)包括執(zhí)法編號、執(zhí)法上傳時間、執(zhí)法地點、執(zhí)法證據(jù)、執(zhí)法人、違法依據(jù)、違法船只、違法企業(yè)、處罰結果等,而執(zhí)法的狀態(tài)數(shù)據(jù)字段與過程數(shù)據(jù)相同,但是執(zhí)法過程數(shù)據(jù)對應著區(qū)塊鏈中的區(qū)塊數(shù)據(jù)(可以理解為區(qū)塊鏈中的交易記錄,比如甲的違法行為由發(fā)現(xiàn)變?yōu)榱競刹椋?,表示?zhí)法的過程(比如案件的發(fā)現(xiàn)、立案、取證、處罰等過程),而執(zhí)法的狀態(tài)數(shù)據(jù)則對應著區(qū)塊鏈中的狀態(tài)數(shù)據(jù)(可以理解為區(qū)塊鏈中的賬戶余額),表示了執(zhí)法的當前處理結果。

4 結束語

本文提出一種新的基于Fabric的內河執(zhí)法管理系統(tǒng)架構,詳細分析了總體架構中的各個模塊設計以及執(zhí)法的總體流程,最后通過對某個核心業(yè)務的流程描述,避免了傳統(tǒng)內河執(zhí)法系統(tǒng)中心化結構帶來的諸多安全隱患,系統(tǒng)操作數(shù)據(jù)以交易的形式存儲在區(qū)塊鏈賬本中保證了數(shù)據(jù)的安全完整性以及可回溯性。由于區(qū)塊鏈技術較新,發(fā)展較快,未來將繼續(xù)深入開展區(qū)塊鏈底層技術研究,將位置作為索引的一部分加入?yún)^(qū)塊哈希中,可以利用位置對區(qū)塊進行快速索引,從而對內河航運執(zhí)法管理系統(tǒng)進行完善。

猜你喜歡
賬本管理系統(tǒng)區(qū)塊
基于James的院內郵件管理系統(tǒng)的實現(xiàn)
《紅樓夢》的數(shù)字化述評——兼及區(qū)塊鏈的啟示
數(shù)說:重慶70年“賬本”展示
區(qū)塊鏈助跑財資管理
丟失的紅色賬本
大樹爺爺?shù)馁~本
一場區(qū)塊鏈引發(fā)的全民狂歡
區(qū)塊鏈助力企業(yè)創(chuàng)新
停車場尋車管理系統(tǒng)
生產(chǎn)管理系統(tǒng)概述