周正南,陸安江
(貴州大學(xué),貴州 貴陽 550025)
將合同、協(xié)議、收益證明、版權(quán)證書、發(fā)票以及資產(chǎn)總額等重要文件電子化后,這些電子數(shù)據(jù)將具有便于攜帶、可復(fù)制、易存儲(chǔ)等優(yōu)點(diǎn),而這也會(huì)暴露出電子數(shù)據(jù)的缺點(diǎn)。例如,電子數(shù)據(jù)易篡改、易偽造以及其他缺點(diǎn)。如何讓電子數(shù)據(jù)可信、可溯源、難篡改,是當(dāng)前亟需解決的問題。
區(qū)塊鏈技術(shù)具有分布式、去中心、公開透明、記錄不可篡改以及信息安全等特性?;谝陨咸匦裕瑓^(qū)塊鏈能安全存儲(chǔ)各種電子數(shù)據(jù)。例如,電子合同、協(xié)議、收益證明、版權(quán)證書、發(fā)票、許可證、登記表、執(zhí)照以及證明等。區(qū)塊鏈有時(shí)間戳,方便記錄其時(shí)間點(diǎn),也方便對數(shù)據(jù)進(jìn)行溯源。
2018年10月15日,索尼宣布開發(fā)了一個(gè)使用區(qū)塊鏈技術(shù)來存儲(chǔ)和處理權(quán)力信息的系統(tǒng)[1]。利用區(qū)塊鏈難以篡改技術(shù)的特點(diǎn)證明音樂和視頻等數(shù)字內(nèi)容的創(chuàng)建者、創(chuàng)作日期和時(shí)間等。通過區(qū)塊鏈?zhǔn)侄蝸肀Wo(hù)所有者的合法權(quán)益。
區(qū)塊鏈應(yīng)用于數(shù)據(jù)存證領(lǐng)域,大大減少了文件記錄、獨(dú)立審計(jì)以及遵守監(jiān)管條例的成本和難度,提升了系統(tǒng)的安全性和效率。
區(qū)塊鏈?zhǔn)怯晒?jié)點(diǎn)參與的去中心化、去信任化、由各個(gè)節(jié)點(diǎn)共同維護(hù)的分布式數(shù)據(jù)庫系統(tǒng)。它采用新型的共識(shí)機(jī)制,能夠快速安全地存儲(chǔ)區(qū)塊鏈的交易數(shù)據(jù)或其他數(shù)據(jù)(電子證書、電子合同、電子發(fā)票以及網(wǎng)絡(luò)交易數(shù)據(jù)等數(shù)字資產(chǎn)),存入?yún)^(qū)塊鏈的數(shù)據(jù)具有不可篡改和難偽造等特點(diǎn),且無需任何第三方或者任何中心化機(jī)構(gòu)的許可[2]。
區(qū)塊鏈技術(shù)核心組件包括智能合約、共識(shí)機(jī)制、密碼學(xué)技術(shù)、分布式賬本以及時(shí)間戳等組件[3]。
共識(shí)機(jī)制是能夠讓所有參與節(jié)點(diǎn)形成共同認(rèn)識(shí)的一套方法論。形象的說法如投票選出人大代表一樣,整個(gè)投票選舉的過程和方法論的集合就相當(dāng)于一種共識(shí)機(jī)制,讓所有的參選者對誰來當(dāng)人大代表這件事達(dá)成一個(gè)共識(shí)?!肮沧R(shí)機(jī)制”又叫做一種共識(shí)算法?,F(xiàn)今區(qū)塊鏈的共識(shí)機(jī)制可分為4大類:工作量證明機(jī)制(Proof Of Work,PoW)、權(quán)益證明機(jī)制(Proof of Stake,PoS)、股份授權(quán)證明機(jī)制(Delegated Proof of Stake,DPoS)和Pool驗(yàn)證池。工作量證明是通過計(jì)算來猜測一個(gè)數(shù)值(Nonce),得以解決規(guī)定的哈希問題,保證在一段時(shí)間內(nèi),系統(tǒng)中只能出現(xiàn)少數(shù)合法提案。權(quán)益證明機(jī)制最早在2012年被Sunny King的網(wǎng)友在Peercoin系統(tǒng)中提出,類似于現(xiàn)實(shí)生活中的投票選舉機(jī)制。擁有選票數(shù)較多的人,越容易獲得記賬權(quán)。權(quán)益證明機(jī)制是試圖解決在工作量證明中大量資源被浪費(fèi)的缺點(diǎn)而提出的。由于權(quán)益證明機(jī)制本質(zhì)上仍然需要網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行挖礦運(yùn)算,因此PoS機(jī)制并沒有從根本上解決PoW機(jī)制難以應(yīng)用于商業(yè)領(lǐng)域的問題。股份授權(quán)證明機(jī)制擁有一個(gè)內(nèi)置的實(shí)時(shí)股權(quán)人投票系統(tǒng),就像系統(tǒng)隨時(shí)都在召開一個(gè)永不散場的股東大會(huì),所有股東都在這里投票決定公司決策。Pool驗(yàn)證池在一些較為成熟的分布式一致性算法(Pasox、Raft)基礎(chǔ)之上,可以在極短時(shí)間內(nèi)達(dá)成共識(shí)驗(yàn)證,更適合有多方參與的多中心商業(yè)模式。共識(shí)機(jī)制有很多,每一種都對應(yīng)一種或者一類應(yīng)用場景。各共識(shí)機(jī)制都有優(yōu)缺點(diǎn),沒有一種共識(shí)機(jī)制是完美無缺的。
密碼學(xué)是研究如何把消息隱秘可靠傳遞的學(xué)科。密碼是通信雙方提前按照一定的規(guī)則進(jìn)行信息特殊變換的常見手段。最常見的是莫爾斯電碼,常常出現(xiàn)在以前的一些諜戰(zhàn)劇里。密碼學(xué)在計(jì)算機(jī)領(lǐng)域和信息技術(shù)領(lǐng)域的重要地位無可替代。如果沒有現(xiàn)代密碼學(xué)為信息時(shí)代保駕護(hù)航,那么很多技術(shù)都不可能在生活中得到應(yīng)用,如遠(yuǎn)程傳輸文件、刷臉支付以及數(shù)據(jù)庫等。密碼學(xué)領(lǐng)域涵蓋的面非常廣,包括Hash算法與摘要、數(shù)字簽名和證書、加密算法、PKI體系以及Merkle樹等。有了這些技術(shù),信息的完整性、可認(rèn)證性、機(jī)密性和不可抵賴性就有了保障[4]。在計(jì)算機(jī)技術(shù)和信息技術(shù)等領(lǐng)域,Hash(哈?;蛏⒘校┧惴@得尤為重要。Hash算法最大的特點(diǎn)是能將任意長度的二進(jìn)制值(明文)映射為較短的固定長度的二進(jìn)制值(Hash值),且不同的明文不可能映射為相同的Hash值。同時(shí),整個(gè)過程還擁有正向快速、輸入敏感以及幾乎不可逆等特點(diǎn)。
分布式賬本是一種在網(wǎng)絡(luò)成員之間共享、復(fù)制和同步的數(shù)據(jù)庫。分布式賬本記錄網(wǎng)絡(luò)參與者之間的交易,如資產(chǎn)或數(shù)據(jù)的交換[5]。分布式賬本與傳統(tǒng)中心化賬本不同。傳統(tǒng)賬本是高度集中在一個(gè)地方,而分布式賬本不一樣。簡單地說,傳統(tǒng)的賬本就好像只有一個(gè)賬本,而分布式賬本有很多且分布在各地。在英國國民健康保險(xiǎn)制度(National Health Service,NHS)里,分布式賬本技術(shù)通過進(jìn)一步提高和驗(yàn)證服務(wù)的送達(dá)以及按照相應(yīng)的精確標(biāo)準(zhǔn)去安全有條不紊地分享交易記錄。對于改善當(dāng)前的醫(yī)療保健系統(tǒng),區(qū)塊鏈技術(shù)表現(xiàn)出強(qiáng)大的潛力。分布式賬本技術(shù)有足夠的潛力幫助政府在發(fā)放福利、登記土地所有權(quán)、征稅、保證貨物供應(yīng)以及發(fā)行護(hù)照上的安全運(yùn)行,并從總體上全面確保政府記錄數(shù)據(jù)和服務(wù)的正確性和準(zhǔn)確性[6]。站在消費(fèi)者的角度,這項(xiàng)技術(shù)根據(jù)不同的情況,有足夠的潛力讓消費(fèi)者按照自己的意愿控制個(gè)人記錄的訪問權(quán),并獲得第三方機(jī)構(gòu)對其記錄數(shù)據(jù)的訪問情況,從而消除消費(fèi)者對自己數(shù)據(jù)安全的顧慮[7]。為了使分布式賬本中所有的交易記錄變得可審計(jì),賬本中的每條交易記錄都有一個(gè)時(shí)間戳和唯一的數(shù)字密碼簽名。
智能合約是代碼和數(shù)據(jù)的集合,存在于區(qū)塊鏈特定地址,簡單說就是傳統(tǒng)合約數(shù)字化網(wǎng)絡(luò)化版本。合約參與方首先達(dá)成合約,然后合約編寫,一旦合約編寫好就不會(huì)被更改,且任何人不能修改,最后執(zhí)行智能合約[8]。
時(shí)間戳(Time-stamp)是指字符串或編碼信息用于辨識(shí)記錄下來的時(shí)間日期,包括3個(gè)部分:
(1)需加時(shí)間戳的文件的摘要(Digest);
(2)數(shù)字時(shí)間戳服務(wù)(Digital Time-stamp Service,DTS)收到文件的日期和時(shí)間;
(3)DTS的數(shù)字簽名。
一般來說,時(shí)間戳產(chǎn)生的過程分為兩部分:第一部分是用戶將想要加時(shí)間戳的文件上傳,然后用Hash算法加密得到摘要;第二部分將得到的摘要發(fā)送到數(shù)字時(shí)間戳服務(wù),數(shù)字時(shí)間戳服務(wù)在收到文件摘要的詳細(xì)信息(含有時(shí)間和日期信息)后,再對該文件加密(數(shù)字簽名),最后將含有時(shí)間戳的文件發(fā)回用戶。
時(shí)間戳范例:
①Wed 01-01-2009 6:00
②2005-10-30 T 10:45 UTC
③2007-11-09 T 11:20 UTC
④Sat Jul 23 02:16:57 2005
⑤1256953732 (Unix time)
⑥07:38, 11 December 2012(UTC)
⑦1985-102 T 10:15 UTC(year 1985, day 102 =12 April 1985)
⑧20180203073000(02/03/2018 7:30:00)[9]。
圖片存證分為應(yīng)用客戶端和區(qū)塊鏈網(wǎng)絡(luò)端。應(yīng)用客戶端主要實(shí)現(xiàn)用戶賬戶和圖片版權(quán)等功能。區(qū)塊鏈網(wǎng)絡(luò)端則實(shí)現(xiàn)解析智能合約、驗(yàn)證用戶證書和上鏈等功能。
用戶打開應(yīng)用客戶端后,用戶在客戶端進(jìn)行注冊,客戶端需要對用戶的身份進(jìn)行實(shí)名認(rèn)證才可以進(jìn)行下一步操作。用戶在注冊時(shí)要求詳細(xì)填寫用戶信息,包括用戶姓名、電話號碼、身份證號碼、常駐住址以及銀行卡號等信息。填寫完個(gè)人信息后將生成私鑰以及證書,然后導(dǎo)出私鑰及證書。用戶將證書離線提交給區(qū)塊鏈節(jié)點(diǎn),節(jié)點(diǎn)驗(yàn)證通過后將用戶證書加入信任列表中。若通過,則跳轉(zhuǎn)至登錄頁面;否則,返回重新注冊。
在登陸頁面內(nèi)填寫賬號和密碼,登錄驗(yàn)證用戶的密碼和私鑰。驗(yàn)證通過,則進(jìn)入圖片存證界面,然后提交圖片并且填寫相應(yīng)信息。系統(tǒng)判斷圖片是否為首次提交,若是,則應(yīng)用端調(diào)用存證智能合約提交交易請求,區(qū)塊鏈網(wǎng)絡(luò)端解析合約,驗(yàn)證用戶證書及簽名是否正確,并且向應(yīng)用端返回處理結(jié)果。驗(yàn)證正確則交易成功,將圖片存入?yún)^(qū)塊鏈,并向應(yīng)用返回出塊通知,向用戶告知存證成功。如圖1所示。
區(qū)塊鏈技術(shù)在存證中的優(yōu)勢:
(1)用戶注冊及身份認(rèn)證,首次存證頒發(fā)圖片版權(quán)登記證書,確定電子發(fā)票、許可證、登記表、執(zhí)照以及電子合同等票據(jù)所有者的身份。
(2)存證便捷即時(shí),用戶無需線下簽約,無需紙質(zhì)合同。
(3)應(yīng)用非對稱加密算法和數(shù)字簽名等技術(shù),確保用戶身份無誤和用戶數(shù)據(jù)不泄露。
(4)電子發(fā)票、許可證、登記表以及執(zhí)照等內(nèi)容不可更改,任何修改都能通過哈希值體現(xiàn)。
(5)所有用戶存儲(chǔ)的文件均分布式存儲(chǔ)在各區(qū)塊鏈節(jié)點(diǎn)安全可靠。
(6)比對兩份文件的哈希值,若相同,確認(rèn)文件一致;否則,文件相異,實(shí)現(xiàn)鑒別文件真?zhèn)巍?/p>
如圖2和圖3所示,用戶可以通過應(yīng)用端注冊和登錄,查看已經(jīng)上鏈的圖片等。
如圖4和圖5所示,用戶可以通過應(yīng)用客戶端文件上傳界面,上傳需要驗(yàn)證的文件。應(yīng)用端將比對區(qū)塊鏈上的已有文件Hash值,確定其文件的是否與已有的一致,不一致則有效。
圖1 區(qū)塊鏈存證核心流程
圖2 用戶注冊
圖3 查看上鏈圖
圖4 文件上傳
圖5 文件查詢
通過計(jì)算機(jī)終端連接節(jié)點(diǎn)服務(wù)器,可查詢注冊用戶、證據(jù)文件哈希值以及區(qū)塊高度、區(qū)塊產(chǎn)生時(shí)間等信息,如圖6所示。
圖6 存證區(qū)塊鏈瀏覽
區(qū)塊鏈網(wǎng)絡(luò)端通過API接口與應(yīng)用客戶端通信。其中,區(qū)塊鏈網(wǎng)絡(luò)服務(wù)端URL地址設(shè)置接口,如表1所示。通過提供平臺(tái)服務(wù)URL地址設(shè)置接口,可以靈活部署基礎(chǔ)區(qū)塊鏈平臺(tái),并方便應(yīng)用對接區(qū)塊鏈平臺(tái)。
表1 區(qū)塊鏈網(wǎng)絡(luò)服務(wù)端URL地址設(shè)置接口
注冊用戶接口,提供用戶注冊功能,如表2所示。
表2 注冊用戶接口
如表3所示,記錄Hash接口,將證據(jù)文件的Hash值記錄寫入?yún)^(qū)塊鏈。
表3 記錄Hash接口
區(qū)塊鏈技術(shù)在圖片存證中的應(yīng)用,將用戶賬戶、證據(jù)文件的哈希值等關(guān)鍵信息寫入?yún)^(qū)塊鏈,實(shí)現(xiàn)數(shù)據(jù)存證中重要證據(jù)文件的存證。
通過比對待鑒定文件與區(qū)塊鏈上存證文件的Hash值是否一致,實(shí)現(xiàn)文件一致性及文件真?zhèn)蔚蔫b證。
本系統(tǒng)目前主要實(shí)現(xiàn)圖片上傳功能。數(shù)據(jù)形式多種多樣,如音頻文件和視頻文件等暫不支持。以后希望能完善其他數(shù)據(jù)形式的存證。
區(qū)塊鏈由于具有去中心化、數(shù)據(jù)可靠、共同維護(hù)、去信任以及隱私保護(hù)等特性,率先在銀行業(yè)得到了極大推廣,現(xiàn)在各個(gè)領(lǐng)域都在積極探索和布局區(qū)塊鏈,投入了大量的研發(fā)力量進(jìn)行研究,希望能夠擴(kuò)大與同行的優(yōu)勢,而在電子數(shù)據(jù)存證領(lǐng)域的應(yīng)用探索也剛剛開始。
基于區(qū)塊鏈的圖片存證系統(tǒng),不僅可以應(yīng)用到各種版權(quán)領(lǐng)域,而且適用于需要為重要證據(jù)文件存證的所有業(yè)務(wù)領(lǐng)域[10]。