• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      面向電子證照共享的區(qū)塊鏈技術方案研究與實現(xiàn)

      2020-08-19 07:01:06王浩亮廉玉忠王麗莉
      計算機工程 2020年8期
      關鍵詞:以太證照合約

      王浩亮,廉玉忠,王麗莉

      (東莞理工學院城市學院 計算機與信息學院,廣東 東莞 523000)

      0 概述

      電子證照庫系統(tǒng)以信息技術作為中介取代持證方的中介作用,解放持證方的保管與攜帶證照負擔,為用證方提供及時、準確、全面的信息,是智慧城市建設的重要組成部分,已成為公民活動辦事的電子憑證,可助力電子證照資源跨地區(qū)、跨部門、跨層級共享。然而,傳統(tǒng)智慧城市建設以各自城市為中心,缺少頂層設計與統(tǒng)籌協(xié)調(diào),制約了電子證照庫信息手段效能發(fā)揮,其存在的主要問題如下:電子證照數(shù)據(jù)來源各地區(qū)或部門組織,信息采集和應用過程中權(quán)責不分,一旦數(shù)據(jù)信息有誤,對數(shù)據(jù)追溯困難;電子證照存儲在各管理部門的數(shù)據(jù)庫中,信息存儲分散,獨立性強,產(chǎn)生大量“數(shù)據(jù)孤島”,由于采用各區(qū)域中心化架構(gòu),信息泄露安全隱患大,存在數(shù)據(jù)存儲不完整和人為篡改的可能性,信息的真實性和完整性不易分辨,使得各參與主體間的信任度大幅降低;電子證照庫的數(shù)字證書和電子簽章來自于各部門業(yè)務應用系統(tǒng),沒有統(tǒng)一標準且不互通互認,難以統(tǒng)一,而且跨層級、跨部門、跨業(yè)務的數(shù)據(jù)共享和開發(fā)力度不夠,電子證照信息難以全面歸集與快速檢索。

      區(qū)塊鏈[1]被認為是第5個最有潛力引發(fā)顛覆性革命的核心技術之一,逐漸被世界各國認可[2],區(qū)塊鏈對鏈上信息分區(qū)塊存儲,將前后區(qū)塊運用加密驗證方式進行鏈接[3],從而形成不可篡改的鏈式數(shù)據(jù)存儲方式,然后將鏈式數(shù)據(jù)分散在組網(wǎng)內(nèi)所有節(jié)點上[4],有效防止單個節(jié)點數(shù)據(jù)遭到篡改或遺失,實現(xiàn)去中心化的分布式數(shù)據(jù)管理和不完全可信環(huán)境中的可信數(shù)據(jù)管理[5],具有防篡改、不可抵賴、強一致和完整性等特性[6]。2018年11月,國家市場監(jiān)督管理總局、國家標準化管理委員會、國家電子文件管理部際聯(lián)席會議辦公室(國家密碼管理局)、國務院辦公廳電子政務辦公室聯(lián)合發(fā)布電子證照系列國家標準,為國家電子證照庫和基礎平臺建設,實現(xiàn)跨層級、跨部門電子證照互認共享、資源整合等提供了標準支撐,也是新型智慧城市建設由從單點布局向全局規(guī)劃的拓展,但同時電子證照的應用還處于起步階段。

      針對上述傳統(tǒng)電子證照研究存在的不足,本文運用區(qū)塊鏈技術實現(xiàn)電子證照數(shù)據(jù)的鏈上、鏈下存儲和查詢,依靠智能合約進行鏈上證照交易,為電子政務提供便利。

      1 相關技術

      1.1 區(qū)塊鏈技術

      區(qū)塊鏈來自于中本聰提出的比特幣(Bitcoin),成為以數(shù)字貨幣為代表的區(qū)塊鏈1.0[7]。以太坊(Ethereum)平臺以去中心化的特性解決了比特幣擴展性不足問題,成為以智能合約功能為代表的區(qū)塊鏈2.0[8]。目前,應用于金融、科學、政務、醫(yī)療、教育等領域區(qū)塊鏈3.0時代已經(jīng)到來。

      區(qū)塊鏈是一種分布式的、不斷增長的、共享的區(qū)塊分類賬[9],整個區(qū)塊鏈由多個區(qū)塊(Block)組成,各區(qū)塊包括區(qū)塊頭(BlockHead)和區(qū)塊體(BlockBody)。區(qū)塊頭記錄著識別區(qū)塊的唯一標志,多個區(qū)塊組成完整的區(qū)塊鏈,結(jié)構(gòu)如圖1所示。

      圖1 區(qū)塊鏈結(jié)構(gòu)Fig.1 Blockchain structure

      各區(qū)塊通過哈希函數(shù)生成的數(shù)字指紋以加密方式密封。每個塊通過引用其散列值[10]“鏈接”到前一個塊,綜合運用點對點傳輸、加密算法、共識機制、分布式數(shù)據(jù)存儲等技術,形成不可篡改的區(qū)塊鏈數(shù)據(jù)存儲方式,將鏈式數(shù)據(jù)及時共享到所有節(jié)點服務器中,有效防止單個節(jié)點數(shù)據(jù)遭到篡改或遺失。因此,通過區(qū)塊鏈多中心提供存儲和服務的技術,實現(xiàn)電子證照信息真實不可篡改的可行性,充分利用區(qū)塊鏈的可追溯、共享賬本、不對稱加密的特征來建設電子證照庫,具有更好的真實性、安全性和可行性。綜合上述特點可有效應對電子證照應用面臨的問題。

      1.2 以太坊

      以太坊是一個具有智能合約的開源公共區(qū)塊鏈平臺[11]。智能合約相當于以太坊中的法律,是區(qū)塊鏈上的去中心化、可復制可信共享程序代碼[12-13]。在以太坊中,所有的交易都按照合約定義的操作執(zhí)行。

      基于以太坊的建鏈過程,根據(jù)開發(fā)程度[14]可分為公有鏈、聯(lián)盟鏈和私有鏈。國家機關針對全民開發(fā)共享的證照可以采用公有鏈,地方政府或各企業(yè)部門之間對特定的群體開放的電子證照可以采用聯(lián)盟鏈,各組織內(nèi)部對各部門之間共享的電子證照可以采用私有鏈[15]。

      1.3 以太坊應用

      自以太坊誕生以來,學者對區(qū)塊鏈應用進行了大量的研究與探討,文獻[16-17]將以太坊應用在電子拍賣系統(tǒng),通過精心設計的智能合約防止操縱拍賣和用戶出價隱私,實現(xiàn)了在沒有可信第三方的情況下安全交易。文獻[18]提出基于區(qū)塊鏈和以太坊的物聯(lián)網(wǎng)安全和隱私問題的一些可能解決方案。文獻[19]設計了基于區(qū)塊鏈的分布式賬本,以防篡改的方式存儲從物聯(lián)網(wǎng)智能計量設備收集的能源消耗信息,用于智能電網(wǎng)層面的能源需求與生產(chǎn)匹配,并在以太坊平臺上實現(xiàn)了原型驗證。文獻[20]實現(xiàn)了去中心化眾籌平臺,提供多個基于以太坊平臺的智能合約模板,方便用戶創(chuàng)建符合自身的眾籌項目。隨著人工智能和深度學習技術的興起,假數(shù)字內(nèi)容大量出現(xiàn),人們采用一種基于Ethereum智能合約的解決方案和總體框架,即使數(shù)字內(nèi)容被多次復制,也能追蹤和跟蹤數(shù)字內(nèi)容的來源和歷史[21]。

      區(qū)塊鏈技術在金融、物聯(lián)網(wǎng)、能源等領域得到眾多學者關注,并通過以太坊平臺驗證了其原型系統(tǒng)的數(shù)據(jù)加密、防篡改和可追溯等特性。但是,區(qū)塊鏈在電子證照相關領域的學術文獻較少且主要為理論研究[22],缺少可行的技術方案研究。因此,本文通過搭建基于以太坊的區(qū)塊鏈環(huán)境研究電子證照庫原型系統(tǒng)的實現(xiàn)方案。

      本文的主要貢獻如下:

      1)基于區(qū)塊鏈技術,通過以太坊平臺建立分布式多賬本,對電子證照信息分區(qū)塊存儲,對前后區(qū)塊鏈接通過加密驗證,保證了信息真實不可篡改,實現(xiàn)了電子證照數(shù)據(jù)的可信、可追溯。

      2)采用區(qū)塊鏈技術的不對稱加密方式,發(fā)證方將每條電子證件信息通過公鑰加密上鏈共享,每條信息對應有單獨的解密私鑰并由持證方保管,可有效防止信息泄露,保證隱私安全。

      3)基于區(qū)塊鏈技術的平權(quán)、共建的特點,構(gòu)建歸屬各部門的目錄體系,以共建共享的原則對各參與主體的上鏈信息全面歸集、共享,同時在建立電子證照信息鏈的基礎上增加索引信息,從而實現(xiàn)快速檢索功能。

      2 電子證照庫系統(tǒng)構(gòu)建

      系統(tǒng)基于以太坊智能合約平臺構(gòu)建私有鏈,將電子證照庫與區(qū)塊鏈技術相結(jié)合,主要功能為證照數(shù)據(jù)鏈上鏈下存儲,電子證照信息溯源檢索采用交易功能。

      2.1 系統(tǒng)流程

      基于區(qū)塊鏈的電子證照庫參與主體分為頒證方、持證方和用證方,不同主體對應界面不同。系統(tǒng)流程如圖2所示。

      圖2 系統(tǒng)流程Fig.2 System procedure

      頒證方登錄平臺可以頒發(fā)證照,在填入證照名稱、編號、所屬人、期效等信息后,通過智能合約將證照信息加密上傳到信息鏈上,其中信息鏈、證照名稱和編號組成檢索信息上傳到檢索鏈,本地數(shù)據(jù)庫保存一份所屬人和檢索信息的數(shù)據(jù)便于檢索持有人所有證照。

      持證方登錄平臺通過數(shù)據(jù)庫查找自己所屬的證照檢索信息,并且可以快捷定位到信息鏈上找到對應的證照區(qū)塊,用于查看和出示電子證照。出示電子證照時持證方會得到一個經(jīng)過自己公鑰加密后的二維碼用于出示。用證方掃碼后需經(jīng)過持證方授權(quán)確認,通過持證方的私鑰解密并且返回證照信息到用證方。

      用證方登錄平臺根據(jù)需要可以掃取二維碼,經(jīng)過持證方授權(quán)后查詢證照信息,從鏈上驗證數(shù)據(jù)的真實性,并獲得數(shù)據(jù)信息保存在部門系統(tǒng)。

      2.2 系統(tǒng)架構(gòu)

      在區(qū)塊鏈以太坊平臺上建立電子證照目錄索引信息和證照信息鏈,各行業(yè)部門可以建立自己的電子證照子鏈,通過上傳證書請求,申請加入電子證照主鏈。電子證照數(shù)據(jù)加密后寫入?yún)^(qū)塊鏈,并生成密鑰。

      電子證照庫系統(tǒng)的體系結(jié)構(gòu)如圖3所示,主要包含區(qū)塊鏈模塊、智能合約模塊、數(shù)據(jù)庫模塊和客戶端模塊4個模塊。

      3 電子證照庫系統(tǒng)功能模塊

      3.1 區(qū)塊鏈模塊

      區(qū)塊鏈模塊的主要功能是將用戶提交的上鏈數(shù)據(jù)打包進區(qū)塊,由網(wǎng)絡中參與的節(jié)點通過共識機制確認后將區(qū)塊鏈接到鏈末端區(qū)塊,用來實現(xiàn)數(shù)據(jù)存儲以及數(shù)據(jù)溯源查詢,確保數(shù)據(jù)的安全性和完整性。

      3.1.1 身份驗證

      首先確保各參與方身份的真實性。系統(tǒng)采用了RSA非對稱加密算法,為保證安全使用2 048位的密鑰,公鑰用于標識系統(tǒng)內(nèi)用戶的身份,私鑰用于數(shù)字簽名,確保用戶身份的真實性。數(shù)據(jù)完整性利用 Keccak 256哈希算法解決,與區(qū)塊鏈采用的SHA-256算法相比安全性高,效率明顯提升。

      在頒證方進行上鏈操作前,核實和驗證證照信息的真實性,用戶將已認證的證照信息進行公鑰加密,使用證照時需要通過私鑰解密,Hash函數(shù)通過使用的Keccak 256算法形成摘要,將上一個區(qū)塊的Hash、隨機數(shù)、timeStamp傳入數(shù)據(jù)進行加密得到一個長度為256位的字符作為Hash地址。

      密鑰通過密鑰派生樹來生成、管理。各個子鏈的數(shù)據(jù)密鑰由根密鑰派生出,子鏈間的數(shù)據(jù)互不可見,根密鑰擁有者可以查看各個子鏈的數(shù)據(jù)。管理部門只需保管根密鑰,即可根據(jù)派生路徑實時派生出各個節(jié)點具體的加密密鑰。再通過對證照數(shù)據(jù)進行歸類,一類數(shù)據(jù)的密鑰由具體的一個派生路徑派生出,并通過分享派生路徑上的密鑰實現(xiàn)對密鑰加密范圍內(nèi)數(shù)據(jù)的共享。

      3.1.2 驗證機制

      當數(shù)據(jù)發(fā)生變化(新增、被惡意修改)時,會觸發(fā)驗證機制。如果是數(shù)據(jù)新增會驗證計算提交的Hash是否正確、上一個區(qū)塊Hash是否正確、自身是否為最后一個區(qū)塊。如果是數(shù)據(jù)被惡意修改,會重新計算Hash是否正確、驗證上一個區(qū)塊Hash是否正確、下一個區(qū)塊的前一個區(qū)塊Hash是否與當前Hash一致。

      3.2 智能合約模塊

      以太坊作為區(qū)塊鏈應用上最早提出智能合約的平臺,提供支持了圖靈完備的腳本語言,允許開發(fā)者在平臺上開發(fā)去中心化應用,創(chuàng)建和執(zhí)行智能合約。

      電子證照庫系統(tǒng)在以太坊平臺上建立私有鏈,提供給相關部門訪問節(jié)點,通過許可對各部門保持中心化。系統(tǒng)提供對應交互接口給不同身份用戶,用戶提交的數(shù)據(jù)經(jīng)過智能合約進行上鏈存儲,通過非對稱加密方式保證數(shù)據(jù)的合法性。在智能合約模式設計方面編寫交互接口,將各參與主體所產(chǎn)生的數(shù)據(jù)進行上鏈存儲、查詢和用證交易。

      3.2.1 電子證照上鏈存儲查詢

      頒證方認證電子證照的真實性后對審核通過的數(shù)據(jù)進行提交,智能合約執(zhí)行電子證照信息加密并寫入鏈上區(qū)塊生成密鑰,完成電子證照數(shù)據(jù)上鏈。系統(tǒng)根據(jù)生成區(qū)塊的哈希索引、私鑰以及證照提交方的信息存儲在關系型數(shù)據(jù)庫中。數(shù)據(jù)上鏈存儲查詢部分由結(jié)構(gòu)體和存儲查詢函數(shù)組成,結(jié)構(gòu)體中的屬性包括電子證照唯一標識 ID 和各參與主體需提交數(shù)據(jù)的屬性。數(shù)據(jù)上鏈存儲智能合約的部分solidity代碼如下:

      contract ElectronicLicenseChain {//智能合約

      struct ElectronicLicense{

      uint license_id;//電子證照唯一標識ID

      //頒證用戶需提交的數(shù)據(jù)

      uint certificate_institution_id;

      bytes32 certificate_institution_name;

      //用證用戶需提交的數(shù)據(jù)

      uint certification_body_id;

      bytes32 certification_body_name;

      //持證用戶需提交的數(shù)據(jù)

      uint certificate_account_id;

      bytes32 certificate_account_name;

      //其他數(shù)據(jù)

      }

      //從電子證照id到結(jié)構(gòu)體數(shù)據(jù)的映射

      mapping(uint => ElectronicLicense)electroniclicense;

      //存儲電子證照相關數(shù)據(jù)

      function setElectronicLicense(uint license_id,bytes32 certificate_institution_name,…){

      ElectronicLicense storage license_real = electroniclicense[license_id];

      license_real.license_id = license_id;

      license_real.certificate_institution_name = certificate_institution_name;

      }

      function setCertificateInstitution(…){…}//存儲頒證用

      //戶的相關數(shù)據(jù)

      function setCertificationBody(…){…}//存儲用證用戶

      //的相關數(shù)據(jù)

      //查詢電子證照相關數(shù)據(jù)

      function getElectronicLicense(uint license_id,uint certification_body_id)constant returns(uint,bytes32,…){

      ElectronicLicense storage license_real = electroniclicense[license_id];

      return (electroniclicense[license_id].license_id

      certificate_institution_name,

      …);

      }

      3.2.2 電子證照使用

      將傳統(tǒng)電子證照使用認證的過程轉(zhuǎn)移到通過以太坊區(qū)塊鏈網(wǎng)絡中部署的智能合約來進行,持證用戶通過用戶交互接口獲取持有證照的信息提交給用證方。為了提高證照信息的檢索交易效率,增加索引信息,將電子證照的信息使用外部數(shù)據(jù)庫進行存儲,并使用倒排索引對用戶持有的電子證照進行索引。

      倒排索引將電子證照名稱與電子證照編號集合進行映射,通過名稱能夠快速定位到電子證照編號,從而進一步查詢證照的詳細信息。索引結(jié)構(gòu)如圖4所示。

      圖4 電子證照查詢倒排索引結(jié)構(gòu)Fig.4 Inverted index structure of electronic certificate inquiry

      通過用證機構(gòu)中的各參與主體來共同制定智能合約,用證方提交信息并調(diào)用執(zhí)行智能合約。根據(jù)索引值,在區(qū)塊鏈上檢索區(qū)塊并使用持證方的私鑰驗證電子證照信息的真實性。用證方在區(qū)塊鏈上進行證照驗證操作,同時作為一個交易被智能合約執(zhí)行并記錄在區(qū)塊上。部分代碼如下:

      contract LicensesTransaction {

      //持證用戶使用電子證照

      function useLicense(uint license_id,uint certificate_account_id,uint certification_body_id,uint price){

      balances[msg.sender]-=price;

      balances[receiver]+=price;

      certificationRecord[license_id]= msg.sender;

      } }

      3.3 數(shù)據(jù)庫模塊

      系統(tǒng)采用由區(qū)塊鏈系統(tǒng)構(gòu)建的分布式數(shù)據(jù)存儲環(huán)境和Web應用需要的關系型數(shù)據(jù)存儲環(huán)境?;趨^(qū)塊鏈系統(tǒng)以太坊技術可視為一個數(shù)據(jù)庫,數(shù)據(jù)的變更由交易催化。一筆或多筆交易組成一個數(shù)據(jù)塊提交到數(shù)據(jù)庫中,使以太坊客戶端為一個去中心化的網(wǎng)絡。眾多節(jié)點對交易的驗證共同維護數(shù)據(jù)的真實性,保證數(shù)據(jù)的不可篡改。但是分布式數(shù)據(jù)在區(qū)塊鏈上的持久化仍存在交易開銷高、數(shù)據(jù)存儲量不足等缺點,為降低成本和提高效率,需要結(jié)合關系型數(shù)據(jù)庫系統(tǒng)進行交互。

      系統(tǒng)將網(wǎng)絡應用交互接口基于關系型數(shù)據(jù)來維持和運行,用于存儲各身份用戶賬號用戶名、哈希加密后的密碼和額外的相關信息,如持證用戶電子證照的密鑰、描述等信息,通過賬戶信息的關系映射可得到對應區(qū)塊鏈的加密信息,提高查詢檢索用戶持有證照的信息效率。圖5為存儲于MySQL云數(shù)據(jù)庫中的數(shù)據(jù)結(jié)構(gòu),主要包括用戶表、電子證照表和用戶證照索引表。

      圖5 數(shù)據(jù)庫結(jié)構(gòu)Fig.5 Database structure

      3.4 客戶端模塊

      本文系統(tǒng)使用Java語言對客戶端模塊進行開發(fā),利用Web3J進行智能合約的開發(fā)與部署和區(qū)塊鏈數(shù)據(jù)上鏈的操作,使用HTML+CSS+JS制作客戶端,為用戶提供可視化操作接口,使用戶能夠與智能合約進行交互。功能包括頒證方對證照的錄入、持證方對證照的查詢和用證方對證照的驗證。

      頒證用戶證照錄入以及進行合約交易在Web交互接口實現(xiàn)的部分代碼如下:

      //simpleStorage智能合約

      SimpleStorage simpleStorage = SimpleStorage.load

      (address,web3j,credentials,BigInteger.valueOf(200000),BigInteger.valueOf(20000000));

      byte[] byteValueLen32 = new byte[32];

      //cipherData加密的證照字節(jié)流

      System.arraycopy(cipherData,0,byteValueLen32,0,cipherData.length);

      //transactionReceipt上鏈信息

      TransactionReceipt transactionReceipt = simpleStorage.set(byteValueLen32).send();

      用證用戶證照認證以及進行合約交易在Web交互接口的實現(xiàn)部分代碼如下:

      //simpleStorage智能合約

      SimpleStorage simpleStorage = SimpleStorage.load(address,web3j,credentials,BigInteger.valueOf(200000),BigInteger.valueOf(20000000));

      //index索引

      BigInteger bigInteger = new BigInteger(index);

      //byte經(jīng)合約查詢的加密證照字節(jié)流

      byte[] bytes = simpleStorage.get(bigInteger).send();

      //plainData已解密的證照

      byte[] plainData = RSAUtil.decrypt(bytes,keyPair.getPrivate());

      4 實驗結(jié)果與分析

      4.1 實驗環(huán)境搭建

      本文系統(tǒng)基于以太坊開發(fā)環(huán)境搭建,操作系統(tǒng)采用Ubuntu的64位系統(tǒng)。建立私有鏈,提供給相關部門訪問節(jié)點,通過許可對各部門保持中心化,部門中用戶都可以加入其中成為參與節(jié)點讀取數(shù)據(jù)、發(fā)送交易、競爭記賬。智能合約的開發(fā)、編譯、測試和部署采用Truffle框架,區(qū)塊數(shù)據(jù)的分布式存儲采用Leveldb數(shù)據(jù)庫。實驗運用以太坊開發(fā)者測試網(wǎng)絡來配置模擬真實的以太坊網(wǎng)絡環(huán)境。前端應用基于Java進行開發(fā)與合約進行交互,實現(xiàn)對電子證照數(shù)據(jù)的存儲和查詢。

      4.2 實驗過程與結(jié)果分析

      本文基于Solidity語言編寫實現(xiàn)智能合約[23],通過客戶端將Solidity源碼文件上傳,在區(qū)塊鏈上進行合約的部署如圖6所示。合約編譯生成后,通過調(diào)用智能合約中的相應函數(shù)完成數(shù)據(jù)的存儲。頒證用戶在操作界面進行上鏈數(shù)據(jù)提交如圖7所示,因為電子證照的繁雜和信息不統(tǒng)一,系統(tǒng)輸入證照信息時根據(jù)數(shù)據(jù)不同,用戶可自行添加輸入數(shù)據(jù)項。

      圖6 智能合約部署Fig.6 Smart contracts deploy

      圖7 頒發(fā)證照的交互界面Fig.7 Certificate-issuing interactive interface

      通過測試網(wǎng)絡進行模擬頒證和用證流程,在頒發(fā)證照流程中,系統(tǒng)調(diào)用智能合約并將證照信息數(shù)據(jù)記錄到區(qū)塊鏈,證照信息成功上鏈后,得到摘要0x3443c68ac52b7eb3085ab76754d6d752fe6a97f82df0 a1379e655a7fb7613882,如圖8所示。通過Geth客戶端得到區(qū)塊上鏈過程數(shù)據(jù)如圖9所示。用證用戶用證查詢和提交的交互界面如圖10所示。用證單位通過持證用戶提交的數(shù)據(jù)信息,根據(jù)摘要信息查詢校驗證照數(shù)據(jù)信息的證照真實性。

      圖8 證照提交返回摘要過程Fig.8 Process of certificate submission return summary

      圖9 證照上鏈過程Fig.9 Process of certificate up chain

      圖10 用證查詢的交互界面Fig.10 Interactive interface of certificate query

      為對比用戶數(shù)據(jù)信息是否被篡改,系統(tǒng)后臺通過證照摘要調(diào)用合約執(zhí)行和溯源證照數(shù)據(jù),對比用戶提交的信息可以驗證數(shù)據(jù)信息是否被篡改,查詢過程如圖11所示。通過圖7和圖11的實驗對比顯示,溯源數(shù)據(jù)的數(shù)據(jù)信息與摘要查詢的數(shù)據(jù)信息哈希值一致,可證明數(shù)據(jù)未被篡改,說明本文提出方法的正確性。

      圖11 證照查詢過程Fig.11 Process of certificate query

      考慮數(shù)據(jù)有被篡改的可能,將圖7數(shù)據(jù)稍作修改并重新提交上傳。篡改的數(shù)據(jù)摘要為0d5ca27eb 3085ab76785acd5ca76fe6a97f82d2ea1e7665c62b5a71a 9082a,驗證從區(qū)塊鏈上查詢的證照信息為空,如圖12所示,可以看出輸入證照的數(shù)據(jù)不是有效的。

      圖12 被篡改證照信息查詢Fig.12 Query of tampered certificate information

      上述實驗在測試網(wǎng)絡上完成,說明了電子證照在基于以太坊區(qū)塊鏈上的數(shù)據(jù)安全和防止篡改具有可行性。對比傳統(tǒng)的證照系統(tǒng),使用基于以太坊區(qū)塊鏈的電子證照系統(tǒng)只通過Solidity智能合約部署和執(zhí)行支付少量的虛擬貨幣,而不需要較大的人力進行維護,簡化了操作流程,節(jié)省了成本,提高了效率。

      5 結(jié)束語

      本文提出一種面向電子證照共享的區(qū)塊鏈技術方案,該方案為基于以太坊的一個去中心化數(shù)據(jù)共享交易服務系統(tǒng)。將電子證照交易數(shù)據(jù)上鏈后打包入?yún)^(qū)塊中以保證數(shù)據(jù)可追溯性,鏈下數(shù)據(jù)存儲到數(shù)據(jù)庫降低交易成本。將頒證、用證各個環(huán)節(jié)的重要數(shù)據(jù)信息上傳存儲到區(qū)塊鏈中確保其不可篡改、真實可靠,通過智能合約的使用減少持證、用證過程中的人力損耗。實驗結(jié)果表明,本文電子證照的防篡改和溯源方案具有可行性,鏈上數(shù)據(jù)具有可溯源、防篡改等特性。正確運用區(qū)塊鏈技術可增強信任體系,有助于電子證照資源跨地區(qū)、跨層級共享及強化管理。下一步將繼續(xù)完善智能合約功能及以實現(xiàn)大規(guī)模證照交易數(shù)據(jù)的區(qū)塊鏈管理。

      猜你喜歡
      以太證照合約
      以太極為旗,開啟新時代“黃河大合唱”
      少林與太極(2023年7期)2023-08-25 05:27:52
      新建核電站項目前期的證照申請與核安全監(jiān)管淺析
      核安全(2022年3期)2022-06-29 09:17:42
      交通運輸部海事局公布第二批可在線辦理的電子證照清單
      水上消防(2022年1期)2022-06-16 08:07:28
      電子證照系列基礎標準
      車易鏈:做汽車業(yè)的“以太坊”
      汽車觀察(2018年9期)2018-10-23 05:46:24
      福州電子證照全流程應用開先河
      百通推出入門級快速工業(yè)以太網(wǎng)絡交換器系列
      以太互聯(lián) 高效便捷 經(jīng)濟、可靠、易用的小型可編程控制器
      自動化博覽(2014年6期)2014-05-29 09:40:16
      合約必守,誰能例外!——對“情勢變更”制度不可寄于過高期望
      堆龙德庆县| 兖州市| 太仆寺旗| 阜阳市| 无棣县| 花垣县| 东至县| 九龙坡区| 荥阳市| 大悟县| 吉安市| 桂林市| 临沧市| 屯昌县| 静海县| 雅安市| 汝南县| 南溪县| 长岭县| 凤凰县| 晴隆县| 漳州市| 昌江| 分宜县| 交城县| 比如县| 石城县| 内乡县| 唐河县| 新宁县| 临清市| 乡宁县| 庆元县| 合山市| 泉州市| 调兵山市| 康定县| 山丹县| 华容县| 黄梅县| 博罗县|