郭慧茹 賀珊 謝冬 劉曉碩 趙寧
【摘 要】大數(shù)據(jù)時代背景下,網(wǎng)絡(luò)爬蟲、人肉搜索等手段的問世,將人們的生活置于各種顯微鏡下,個人隱私信息保護(hù)就顯得尤為重要。區(qū)塊鏈技術(shù)憑借無需中介參與,過程高度透明,數(shù)據(jù)高度安全等優(yōu)勢成為了數(shù)據(jù)保護(hù)領(lǐng)域關(guān)鍵技術(shù)之一。本文介紹了區(qū)塊鏈核心問題:拜占庭將軍問題及其解決方案,通過拜占庭問題解析區(qū)塊鏈共識機(jī)制保護(hù)信息安全并將區(qū)塊鏈技術(shù)應(yīng)用到日常生活,從而加強(qiáng)對個人信息的保護(hù)。
【關(guān)鍵詞】區(qū)塊鏈;Distributed Consensus;工作量證明機(jī)制
一、引言
2017年9月美國著名信貸機(jī)構(gòu)equifax公開披露,該公司網(wǎng)站在5月中旬至7月間遭到黑客攻擊,直接導(dǎo)致1.43億美國人的信息數(shù)據(jù)被披露。身份保護(hù)是當(dāng)今數(shù)字化世界中的一個必須面對的問題。網(wǎng)絡(luò)爬蟲、人肉搜索等手段的問世,將人們的生活置于各種顯微鏡下。如何保護(hù)個人隱私成為公眾最為關(guān)注的話題之一。
二、拜占庭問題
(一)問題描述
拜占庭問題是來為描述分布式系統(tǒng)共識問題的一個著名故事。
拜占庭帝國想派了10名士兵攻擊一個強(qiáng)大的敵人。這個敵人雖不比拜占庭帝國強(qiáng),但也足以抵擋拜占庭五支正規(guī)軍的同時進(jìn)攻。除非至少有六支軍隊(duì)同時進(jìn)攻,否則他們單獨(dú)進(jìn)攻都沒有獲勝的機(jī)會。他們分散在敵國各地,依靠通信兵之間的通信來協(xié)商攻擊意圖和攻擊時間。如果一個或幾個部隊(duì)自己同意一起進(jìn)攻,但實(shí)際的過程是背叛,那么他們都可能失敗。這就是拜占庭的普遍問題。在這種情況下,拜占庭將軍能找到一個分布式協(xié)議,通過遠(yuǎn)程談判達(dá)成協(xié)議,贏得戰(zhàn)爭嗎?
(二)問題分析
在拜占庭問題上,最重要的是使將軍們能夠在不可信的環(huán)境中與叛徒建立對作戰(zhàn)計劃的共識。然而,達(dá)成共識并不容易。如果有叛徒,叛徒可能通過讓其他將軍接受不一致的信息來迷惑他們,可能欺騙一些將軍自己采取進(jìn)攻行動。
拜占庭問題目標(biāo)就是忠誠的將軍能夠達(dá)成一致,對這些忠心耿耿的將軍來說只要能夠達(dá)成一致就行。如果萬事俱備,客觀上每個忠誠的將軍只要進(jìn)攻了就一定能夠勝利,卻因?yàn)榕淹降拇嬖谒麄兌肌耙恢碌摹睕]有進(jìn)攻;反之,條件不利,卻因?yàn)榕淹降拇嬖谒腥硕肌耙恢碌摹边M(jìn)攻了??梢园l(fā)現(xiàn),只有“一致性”是不足以解決問題的,還需要“正確性”要求。
(三)問題解決算法
1.簽字協(xié)議
書面協(xié)議是在將軍模型中加了個隱含條件:假設(shè)10個國家,每個國家都可以派人向各個國家派信,一起約定一個事件。收到信的國家如果同意信內(nèi)容的話,就可以在原信上簽名蓋章。將軍們能夠使用簽名技術(shù),簽名不可偽造,同時任何人都可以驗(yàn)證簽名的可靠性。所有的消息都是有記錄的,解決了追根溯源的問題。
簽字協(xié)議在現(xiàn)實(shí)中仍然可能面臨各種問題:不信任的系統(tǒng)中,物理距離導(dǎo)致信息傳輸延遲。真正可信的簽名體系難以構(gòu)造。不可避免簽名造假的問題。簽名消息記錄的保存依舊依附中心化的機(jī)構(gòu)。如果能夠依賴中心化可信的機(jī)構(gòu),也許能通過多方的簽名記錄整合在一起,更容易地實(shí)現(xiàn)10個國家的意見統(tǒng)一,但這是個偽假設(shè),因?yàn)榍疤崾沁@個網(wǎng)絡(luò)就是互不信任的。在這種異步通信的條件下,要能協(xié)商一致是個大問題。
2.區(qū)塊鏈技術(shù)
互聯(lián)網(wǎng)的存在,首先降低了信息的流通成本。每個將軍配一臺電腦,如果10個將軍中的幾個同時發(fā)起消息,勢必會造成系統(tǒng)的混亂,造成各說各的攻擊時間方案,行動難以一致。為此中本聰開創(chuàng)性的提出了工作量證明機(jī)制,一舉解決了單點(diǎn)一致性和系統(tǒng)一致性問題。
工作量認(rèn)證機(jī)制是對工作量的認(rèn)證。在比特幣網(wǎng)絡(luò)中要做的就是全網(wǎng)節(jié)點(diǎn)要共同算一道題,誰先算對,誰就能獲得發(fā)出一條消息的權(quán)利,并且系統(tǒng)還會給算對的節(jié)點(diǎn)額外的獎勵;然后全網(wǎng)節(jié)點(diǎn)在這條信息之后開始計算新的數(shù)學(xué)題。它加入的成本就是“工作量”即節(jié)點(diǎn)必須完成一個計算工作才能向各城邦傳播消息。當(dāng)某個節(jié)點(diǎn)發(fā)出統(tǒng)一進(jìn)攻的消息后,各個節(jié)點(diǎn)收到發(fā)起者的消息必須簽名蓋章,確認(rèn)各自的身份。
引用現(xiàn)代加密技術(shù)為這個信息簽名,這種加密技術(shù)能夠確認(rèn)身份,確保消息傳送的私密性,簽名不可偽造、篡改。非對稱加密算法的加密和解密使用不同的兩個密鑰.即:"公開密鑰"(公鑰)和"私有密鑰"(私鑰).如果消息使用公鑰加密,那么需要該公鑰對應(yīng)的私鑰才能解密;同樣,如果消息使用私鑰加密,那么需要該私鑰對應(yīng)的公鑰才能解密.非對稱加密的作用是:保護(hù)消息內(nèi)容,并且讓消息接收方確定發(fā)送方的身份.由此,一個不信任的分布式網(wǎng)絡(luò)變成了一個可信的網(wǎng)絡(luò)。
基于互聯(lián)網(wǎng)的區(qū)塊鏈技術(shù),克服了口頭協(xié)議和簽字協(xié)議的種種缺點(diǎn),使用公平的工作量證明機(jī)制,完美的解決拜占庭將軍問題。
三、區(qū)塊鏈的發(fā)展
(一)市場相關(guān)
ShoCard是一家在區(qū)塊鏈之上開發(fā)身份管理平臺的創(chuàng)業(yè)公司。用戶可以通過該公司提供的App創(chuàng)建數(shù)字身份,所有的數(shù)據(jù)都是加密后本地存儲,哈希后存儲在區(qū)塊鏈上。第三方機(jī)構(gòu)也需要使用該公司的App來通過區(qū)塊鏈驗(yàn)證用戶的身份。
Blockstack一個開源項(xiàng)目,提供分布式的DNS,分布式的PKI,以及身份管理。Blockstack提供一個分布式的平臺,用戶對自己的身份和數(shù)據(jù)擁有絕對的控制權(quán),而開發(fā)者在這之上可以開發(fā)分布式App,本地運(yùn)行,調(diào)用用戶提供的API。
Certcoin是MIT的學(xué)生開發(fā)的基于Namecoin的開源項(xiàng)目,是一個分散式的認(rèn)證系統(tǒng)。
(二)未來信息保護(hù)案例
情景一:在登錄時,只需要掃描一下來自你的app的銀行網(wǎng)頁上的二維碼即可。然后,會向app推送一個通知,要求提供指紋驗(yàn)證,自動登錄。
情景二:如果因?yàn)橘~戶問題需要呼叫銀行客服。通知將被發(fā)送到您的應(yīng)用程序,同時與銀行運(yùn)營商通話:通知將要求一個指紋來驗(yàn)證你是誰。指紋驗(yàn)證之后,銀行就會確定本人。
情景三:使用APP上傳他們的所有文件。這些文件然后會在區(qū)塊鏈上進(jìn)行密封和加密,任何人都可以使用公共密鑰來驗(yàn)證它們的真實(shí)性。
四、總結(jié)
身份保護(hù)服務(wù)業(yè)將在未來十年內(nèi)出現(xiàn)巨大的變化。墨水簽名很容易偽造,中心化密鑰服務(wù)器非常危險,雙因素授權(quán)服務(wù)往往是不可靠和不便捷的。區(qū)塊鏈技術(shù)并非能夠解決一切問題,像Shocard, Solidx,和Civic 這樣的公司處于這種創(chuàng)新的前沿,而這種創(chuàng)新可能會為整個行業(yè)帶來顛覆性變化。
理論上,區(qū)塊鏈?zhǔn)遣荒芨淖兊?,它承?dān)關(guān)鍵的基礎(chǔ)設(shè)施角色。區(qū)塊鏈只存在于數(shù)字世界,且不能保證用戶的物理身份,這也是給企業(yè)帶來了驗(yàn)證,鏈接還有導(dǎo)航的負(fù)擔(dān)。
這些問題再次加強(qiáng)了強(qiáng)大的私人基礎(chǔ)設(shè)施的需求。一個完整的控制,在缺乏法律先例的情況下,還涉及到基于區(qū)塊鏈身份生態(tài)系統(tǒng)的實(shí)體對象就不得不接受風(fēng)險,不確定性,和無限責(zé)任。
【參考文獻(xiàn)】
[1] Marshall Pease和Robert Shostak《在存在缺陷的情況下達(dá)成協(xié)議》 計算機(jī)協(xié)會雜志 27,2 (1980年4月)
[2]J S. Moore《程序驗(yàn)證:可靠硬件和軟件的方法》美國核學(xué)會交易35(1980年11月),252-253
[3] Michael Fische《拜占庭將軍和交易提交協(xié)議》1982年4月
[4]Michael Melliar-Smith《拜占庭時鐘同步》第三屆ACM分布式計算原理研討會論文集(1984年8月),68-74