張寅
在現(xiàn)代企業(yè)檔案工作中,電子文件的管理逐漸成為重中之重。其核心的難題始終圍繞著如何保證電子文件在長期保存過程中的真實(shí)性。2008年比特幣橫空出世,其核心“區(qū)塊鏈”技術(shù)向世界展示了一種去中心且數(shù)據(jù)不可篡改的記錄方法,以更自由的方式為解決上述難題提供一種可能。本文嘗試結(jié)合區(qū)塊鏈與XML技術(shù)提出一種電子文件元數(shù)據(jù)存儲(chǔ)解決方案。
1 電子文件管理
企業(yè)電子文件是指在企業(yè)生產(chǎn)制造、運(yùn)營管理、客戶服務(wù)等各項(xiàng)業(yè)務(wù)活動(dòng)中通過計(jì)算機(jī)等電子設(shè)備形成、辦理、傳輸和存儲(chǔ)的作為證據(jù)和具有查考作用的信息,其管理目標(biāo)是要保證電子文件的真實(shí)(準(zhǔn)確)、完整、可用、安全。在這四點(diǎn)中真實(shí)性檢測一直是電子文件在單軌制歸檔中比較棘手的難題之一,具體表現(xiàn)在:
1)技術(shù)真實(shí)性,表現(xiàn)為電子文件在整個(gè)生命周期中未被誤改或篡改,在鑒定檢測的實(shí)現(xiàn)中多數(shù)基于對(duì)電子文件執(zhí)行散列算法(例如MD5)后進(jìn)行數(shù)字簽名,由可信算法保證其技術(shù)上的“真實(shí)”。
2)來源真實(shí)性,表現(xiàn)為電子文件客觀反映和真實(shí)記錄業(yè)務(wù)活動(dòng),依靠良好的元數(shù)據(jù)方案設(shè)計(jì),通過記錄文件的來源、結(jié)構(gòu)、背景來鑒別來源真實(shí)性。
在實(shí)際工作中主要通過以上兩個(gè)方面對(duì)電子文件真實(shí)性進(jìn)行檢測。作為長時(shí)期內(nèi)電子文件真實(shí)性憑證,元數(shù)據(jù)同樣需要使用數(shù)字簽名系技術(shù)來保證其內(nèi)的信息不被篡改。而數(shù)字簽名的技術(shù)特點(diǎn)是基于中心化的信用機(jī)構(gòu)即CA中心。雖然這種信任機(jī)制具備很高效率,但過度的中心化呈現(xiàn)出的如CA機(jī)構(gòu)的職責(zé)是否清晰、資質(zhì)是否完備、管理是否規(guī)范、存續(xù)時(shí)間長短、證書有效期限等一系列問題,給電子文件真實(shí)性檢測帶來許多不確定風(fēng)險(xiǎn)。
2 區(qū)塊鏈技術(shù)簡介
2.1 區(qū)塊鏈的概念與特性
從信息技術(shù)角度來講普遍認(rèn)為區(qū)塊鏈技術(shù)是一個(gè)分布式賬本,一種通過去中心化、去信任中介的方式,由“集體”維護(hù)一個(gè)可靠數(shù)據(jù)庫技術(shù)方案。簡單來說,筆者認(rèn)為區(qū)塊鏈本質(zhì)上是一種解決信任問題、降低信任成本的信息技術(shù)方案,它通過密碼學(xué)、集體協(xié)作等手段來實(shí)現(xiàn)了人們對(duì)自由公證渴望。因此區(qū)塊鏈為人們帶來的并不是某項(xiàng)嶄新的技術(shù),而是一種全新的信任與協(xié)作模式。
區(qū)塊鏈中的“區(qū)塊”指的是信息塊,是數(shù)據(jù)的集合體,結(jié)合實(shí)際工作可簡單理解為我們企業(yè)檔案管理中統(tǒng)計(jì)臺(tái)賬中的“頁”,一“頁”可以記錄許多檔案數(shù)據(jù)。而“鏈”就是按照時(shí)間順序?qū)^(qū)塊串聯(lián)在一起,通過可信的算法使參與者對(duì)全部記錄的時(shí)間順序和當(dāng)前狀態(tài)建立共識(shí)。區(qū)塊鏈技術(shù)包含許多特性:
1)開放性與共識(shí)性:任何人都可以參與到區(qū)塊鏈網(wǎng)絡(luò),每一臺(tái)設(shè)備都能作為一個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都允許獲得一份完整的數(shù)據(jù)庫拷貝。節(jié)點(diǎn)之間通過共識(shí)機(jī)制共同維護(hù)整個(gè)區(qū)塊鏈,任何一個(gè)節(jié)點(diǎn)失效不影響整個(gè)區(qū)塊鏈。
2)去中心、去信任中介:基于“端對(duì)端”網(wǎng)絡(luò)建立,不存在中心信任節(jié)點(diǎn),各節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)通過數(shù)字簽名技術(shù)進(jìn)行驗(yàn)證,基于共識(shí)機(jī)制無需相互信任,節(jié)點(diǎn)之間不能也無法欺騙其他節(jié)點(diǎn)。
3)公開透明:共識(shí)機(jī)制公開透明,對(duì)所有節(jié)點(diǎn)均可見。
4)可追溯,不可篡改:單個(gè)節(jié)點(diǎn)甚至多個(gè)節(jié)點(diǎn)對(duì)數(shù)據(jù)的修改無法影響其他節(jié)點(diǎn),如果區(qū)塊鏈中的各個(gè)節(jié)點(diǎn)始終保持運(yùn)行,理論上可以保證數(shù)據(jù)被“永久”保存。區(qū)塊鏈中的每一個(gè)區(qū)塊都通過密碼學(xué)方法與相鄰兩個(gè)區(qū)塊串聯(lián),區(qū)塊中的數(shù)據(jù)彼此相連,使得數(shù)據(jù)可追溯、可審計(jì)。
2.2 區(qū)塊鏈的“可信”算法簡介
1)分布式計(jì)算:利用多個(gè)互聯(lián)節(jié)點(diǎn)處理能力來解決大型計(jì)算問題。區(qū)塊鏈中的“分布式”既體現(xiàn)了分布式存儲(chǔ),也體現(xiàn)了分布式記賬(即所有節(jié)點(diǎn)參與新區(qū)塊的校驗(yàn)),通過“分布式”來達(dá)到去中心化的效果。
2)非對(duì)稱加密:在加、解密的過程使用私鑰、公鑰的加密方法,其特點(diǎn)是經(jīng)私鑰加密的數(shù)據(jù)僅僅能通過與之對(duì)應(yīng)的公鑰進(jìn)行解密(即私鑰加密卻無法解密)。應(yīng)用非對(duì)稱加密技術(shù)的數(shù)字簽名,能夠確保信息確實(shí)是由發(fā)送方簽名、發(fā)送,并且驗(yàn)證信息的完整性。
3)時(shí)間戳:數(shù)據(jù)存在的時(shí)間證明,在計(jì)算機(jī)中通常是一個(gè)字符序列,唯一標(biāo)識(shí)某一刻的時(shí)間。
4)Hash算法:將任何一段數(shù)據(jù)經(jīng)Hash算法得到一個(gè)值,其特點(diǎn)是相同的數(shù)據(jù)將得到相同結(jié)果,如果數(shù)據(jù)經(jīng)過哪怕一個(gè)字節(jié)的變化,得到的結(jié)果將千差萬別,且結(jié)果無法實(shí)現(xiàn)預(yù)知。因此它廣泛應(yīng)用于數(shù)據(jù)校驗(yàn)。區(qū)塊鏈中應(yīng)用的Hash算法為SHA256。
5)默克爾樹:一種用于快速校驗(yàn)大規(guī)模數(shù)據(jù)完整性的方法。在區(qū)塊鏈中它被用來歸納一個(gè)區(qū)塊中所有信息的根(root)Hash值,區(qū)塊中任何一段信息被更改都會(huì)導(dǎo)致默克爾樹的根值改變。默克爾樹根值可以唯一標(biāo)識(shí)一個(gè)區(qū)塊。
6)挖礦:區(qū)塊鏈的共識(shí)機(jī)制之一,所有節(jié)點(diǎn)通過運(yùn)算解特定題目的方式來創(chuàng)建區(qū)塊的過程。解題的過程節(jié)點(diǎn)會(huì)消耗時(shí)間,即工作量證明。最先計(jì)算出結(jié)果的節(jié)點(diǎn)會(huì)將廣播計(jì)算結(jié)果由其他節(jié)點(diǎn)進(jìn)行驗(yàn)證,驗(yàn)證通過后該節(jié)點(diǎn)即擁有生成新區(qū)塊的權(quán)利,比特幣中節(jié)點(diǎn)會(huì)對(duì)得到相應(yīng)獎(jiǎng)勵(lì)??梢哉f挖礦就是區(qū)塊鏈能夠讓各節(jié)點(diǎn)形成共識(shí),達(dá)到去中心化的信任機(jī)制的核心。
3 XML技術(shù)
XML即可擴(kuò)展標(biāo)記語言,通過標(biāo)記數(shù)據(jù)與定義數(shù)據(jù)類型,使計(jì)算機(jī)之間可以處理各種信息。它是Internet環(huán)境中跨平臺(tái)的、依賴于內(nèi)容的技術(shù),也是處理分布式結(jié)構(gòu)信息的有效工具。經(jīng)過多年的應(yīng)用與發(fā)展,它良好的可擴(kuò)展性、跨平臺(tái)性,使其在網(wǎng)絡(luò)服務(wù)、數(shù)據(jù)交換、電子商務(wù)、內(nèi)容管理等領(lǐng)域廣泛使用。在檔案管理領(lǐng)域國內(nèi)外更多地使用XML技術(shù)來實(shí)現(xiàn)對(duì)元數(shù)據(jù)的描述、結(jié)構(gòu)化存儲(chǔ)及交換,例如國內(nèi)的《基于XML的電子文件封裝規(guī)范》,國外的EAD、MODS等。
在XML常用技術(shù)中筆者認(rèn)為命名空間(namespace)、語法定義(xml schema)十分重要。XML允許用戶自定義描述對(duì)象的各種詞匯,這樣在數(shù)據(jù)互操作時(shí)就不必考慮諸如平臺(tái)、操作系統(tǒng)、語言等方面的差異,但這種互操作性同樣給數(shù)據(jù)帶來不可避免語義上的歧義。此外XML還承擔(dān)著網(wǎng)絡(luò)數(shù)據(jù)交換的重任,語義歧義可能直接降低數(shù)據(jù)處理的效率,這就要求XML既要嚴(yán)格遵守格式規(guī)范,同時(shí)還應(yīng)符合語義規(guī)范。為此XML中引入了命名空間與XML定義文件,兩者相結(jié)合,用戶便可以在互聯(lián)環(huán)境中保證XML文檔中所有的標(biāo)記名稱的唯一且能夠被有效驗(yàn)證?;谶@種特性使得XML技術(shù)對(duì)于解決異構(gòu)環(huán)境中數(shù)據(jù)交換,降低不同系統(tǒng)間集成接口開發(fā)難度、建立語義化的網(wǎng)絡(luò)環(huán)境具有十分重要的意義。