作為一種新事物,人們通常對(duì)區(qū)塊鏈都存在或多或少的誤解,其中最具爭(zhēng)議的莫過于區(qū)塊鏈的安全性。有些人認(rèn)為區(qū)塊鏈?zhǔn)莿潟r(shí)代的創(chuàng)造,通過一系
作為一種新事物,人們通常對(duì)區(qū)塊鏈都存在或多或少的誤解,其中最具爭(zhēng)議的莫過于區(qū)塊鏈的安全性。
有些人認(rèn)為區(qū)塊鏈?zhǔn)莿潟r(shí)代的創(chuàng)造,通過一系列先進(jìn)的密碼學(xué)機(jī)制保障了整個(gè)系統(tǒng)的安全性;而有些人則認(rèn)為,區(qū)塊鏈只具有化名性而沒有匿名性,所以區(qū)塊鏈?zhǔn)遣话踩摹?/p>
為什么會(huì)產(chǎn)生這種撕裂呢?因?yàn)榇?ldquo;安全”非彼“安全”,這些人對(duì)區(qū)塊鏈安全的定義是不同的,自然得不到統(tǒng)一的結(jié)論。
那什么才是區(qū)塊鏈的安全?區(qū)塊鏈又是否安全,讓“互聯(lián)網(wǎng)安全教母”,加州大學(xué)伯克利分校計(jì)算機(jī)系教授 Dawn Song 為你揭開區(qū)塊鏈安全的神秘面紗。
Dawn Song,加州大學(xué)伯克利分校計(jì)算機(jī)系教授,Oasis Labs創(chuàng)始人兼CEO,被媒體譽(yù)為“互聯(lián)網(wǎng)安全教母”。研究方向包括深度學(xué)習(xí)、機(jī)算機(jī)和網(wǎng)絡(luò)安全、區(qū)塊鏈等。
曾獲麥克阿瑟獎(jiǎng) (MacArthur Fellowship),古根海姆獎(jiǎng)(GuggenheimFellowship),斯隆研究獎(jiǎng) (Alfred P. Sloan Research Fellowship),《麻省理工科技評(píng)論》“35歲以下科技創(chuàng)新35人”獎(jiǎng) (TR-35 Award)等;是計(jì)算機(jī)安全領(lǐng)域中論文被引用次數(shù)最多的學(xué)者(AMinerAward)。
針對(duì)上文人們對(duì)于“安全”定義的感官撕裂,作為安全教母,Dawn Song和她的團(tuán)隊(duì)不久前發(fā)表了一篇博文,力求撥亂反正,讓開發(fā)者真正了解區(qū)塊鏈安全的本質(zhì)。
下面我們就一起跟著Dawn Song教授和她的團(tuán)隊(duì),一起看看她的思考。原文雖然只有短短2000來字,卻一語道破了區(qū)塊鏈安全面臨的尷尬處境。
以下為原文。
安全是計(jì)算機(jī)科學(xué)體系中老生常談的一個(gè)話題,尤其在區(qū)塊鏈領(lǐng)域中。當(dāng)一個(gè)項(xiàng)目大肆宣傳安全性時(shí),它提供了怎樣的安全保證呢?換句話說,現(xiàn)有的區(qū)塊鏈?zhǔn)欠裨诤诵牡陌踩苑矫嫒源嫒缓芮啡?
要回答這些問題,首先我們需要清晰地定義什么是安全性。
在這篇文章中,我們主要討論以下3個(gè)話題:
當(dāng)前區(qū)塊鏈的安全性;
為什么說保密性和隱私性是當(dāng)前區(qū)塊鏈最核心但也是最欠缺的屬性,以及,
我們?cè)撊绾蝸硗晟茀^(qū)塊鏈。
安全性的經(jīng)典定義
在安全性的經(jīng)典定義中,我們假設(shè) Alice 和 Bob 想要共同運(yùn)行程序 f(x,y)。該程序的輸入是保密的:其中 Alice 僅知道 x ,Bob 僅知道 y 。
這里的挑戰(zhàn)在于 Alice 和 Bob 都希望在不讓對(duì)方知曉自己輸入數(shù)據(jù)的情況下得到計(jì)算的結(jié)果。
如果我們有一個(gè)想象中的可信第三方( Trusted Third Party,TTP )存在,這個(gè)問題就會(huì)簡(jiǎn)單地多,這個(gè)可信第三方會(huì)同時(shí)接收 Alice 和 Bob 的輸入數(shù)據(jù),誠實(shí)地執(zhí)行該程序,并可靠地向雙方返回計(jì)算結(jié)果。
除了這些操作之外,這個(gè)可信第三方不會(huì)做任何其他事情,特別是,可信第三方不會(huì)告訴別人任何有關(guān) x 和 y 的信息。
Alice 和 Bob 在可信第三方(TTP)的幫助下使用保密的輸入運(yùn)行程序 f(x,y)
所以,定義協(xié)議安全性的一種方法,就是將其與這個(gè)可信第三方進(jìn)行比較。上述可信第三方定義的安全性具有以下三個(gè)關(guān)鍵屬性(有時(shí)它們被稱為 CIA 屬性):
保密性( Confidentiality ):Alice 和 Bob 除了各自的輸入數(shù)據(jù)和計(jì)算的結(jié)果之外,得不到任何有關(guān)計(jì)算的信息;
誠實(shí)性( Integrity ):可信第三方返回的結(jié)果是程序 f(x,y) 在給定輸入下的正確計(jì)算;
可用性( Availability ):Alice 和 Bob 可以隨時(shí)訪問這個(gè)可信第三方。
但在現(xiàn)實(shí)世界中是否真的存在我們想象中的可信第三方呢?事實(shí)上,并不存在。
但如果我們做出一些具體的假設(shè),就可以近似得到一些可信第三方。比如說,銀行和政府部門的聲譽(yù)、社會(huì)地位以及其他相關(guān)因素,讓許多人將他們視為可信第三方。
另一方面,智能合約是在不需要信任中心化實(shí)體的情況下實(shí)現(xiàn)可信第三方的核心手段。但智能合約并不是萬能的,在有些情況下,智能合約面對(duì)某些情況也無能無力。
智能合約的短板
當(dāng)人們談?wù)摫忍貛藕鸵蕴坏陌踩詴r(shí),實(shí)際上他們只是在談?wù)搮^(qū)塊鏈的誠實(shí)性( integrity )和可用性( availability ),而不是保密性( confidentiality )和隱私性( privacy )。
比如說,以太坊擁有一個(gè)由數(shù)千個(gè)節(jié)點(diǎn)組成的區(qū)塊鏈網(wǎng)絡(luò),每個(gè)節(jié)點(diǎn)都獨(dú)立維護(hù)著以太坊區(qū)塊鏈的完整備份。當(dāng)你通過以太坊網(wǎng)絡(luò)上的某一賬戶執(zhí)行智能合約時(shí),在智能合約被記錄在區(qū)塊鏈中之前,它的執(zhí)行將被所有挖礦節(jié)點(diǎn)驗(yàn)證。
因此,如果大多數(shù)的哈希算力都由遵守以太坊協(xié)議的誠實(shí)節(jié)點(diǎn)掌控,那么你智能合約的運(yùn)行結(jié)果將會(huì)是正確的,這種正確計(jì)算實(shí)現(xiàn)了區(qū)塊鏈的誠實(shí)性。
以太坊網(wǎng)絡(luò)還提供了一些可用性保證:與中心化實(shí)體(多臺(tái)服務(wù)器可能位于同一個(gè)數(shù)據(jù)中心中)不同,以太坊網(wǎng)絡(luò)的“服務(wù)器”去中心化地分布在世界各地。因此,雖然說某些節(jié)點(diǎn)可能會(huì)因?yàn)槟承┩话l(fā)情況宕機(jī),但所有節(jié)點(diǎn)同時(shí)宕機(jī)的情況不太可能發(fā)生。
但以太坊和許多其他區(qū)塊鏈項(xiàng)目缺乏的都是保密性和隱私性。
人們通常都對(duì)區(qū)塊鏈存在一個(gè)錯(cuò)誤的認(rèn)識(shí),就是說因?yàn)閰⑴c到區(qū)塊鏈網(wǎng)絡(luò)中不需要提供姓名和身份證號(hào),所以它是隱私的。不幸的是,這是一種極具誤導(dǎo)性甚至是危險(xiǎn)性的謬論。
僅僅因?yàn)槿藗兪褂眉倜⒉灰馕吨麄冊(cè)趨^(qū)塊鏈上的活動(dòng)是不可見的。實(shí)際上,由于交易活動(dòng)中的每一個(gè)數(shù)據(jù)(例如在以太坊上:交易雙方的地址,交易金額,燃料價(jià)格等信息)都被記錄在公共賬本之上并向所有人公開,因此有一些方法可以用來推斷出用戶的隱私信息(就比如說,使用交易網(wǎng)絡(luò)結(jié)構(gòu)來檢索明文交易信息)。
此外,隨著越來越多復(fù)雜的去中心化應(yīng)用程序的上線,用戶的數(shù)據(jù)逐漸成為信用評(píng)分,保險(xiǎn)業(yè)務(wù)和身份管理等去中心化應(yīng)用的重要推動(dòng)力,而在以太坊上,智能合約的輸入數(shù)據(jù)需要被保存在區(qū)塊鏈上并向所有人公開,因?yàn)橹挥羞@樣所有節(jié)點(diǎn)才可以執(zhí)行交易的驗(yàn)證。
在過去的幾年中,許多加密貨幣項(xiàng)目試圖通過使用諸如零知識(shí)證明之類的密碼學(xué)技術(shù)來解決區(qū)塊鏈上數(shù)據(jù)保密性不足的問題。但其中許多項(xiàng)目都聚焦于簡(jiǎn)單的支付交易,而不是像機(jī)器學(xué)習(xí)和數(shù)據(jù)分析這類更為復(fù)雜的應(yīng)用。
數(shù)據(jù)隱私性如何實(shí)現(xiàn)?
上文中提到的保密性是實(shí)現(xiàn)數(shù)據(jù)隱私性的重要先決條件,但需要指出的一點(diǎn)是保密性通常不足以實(shí)現(xiàn)數(shù)據(jù)的隱私性。
具體而言,保密性側(cè)重于保護(hù)在計(jì)算過程中不泄漏敏感信息,它保證除了計(jì)算的輸出之外,計(jì)算過程中不會(huì)泄露任何內(nèi)容。但是它并沒有解決計(jì)算輸出中存在的潛在數(shù)據(jù)泄漏。
換句話說,即使有完全保密的計(jì)算過程,攻擊者仍可能會(huì)從其輸出中復(fù)原出有關(guān)敏感輸入的信息。
再回到上文中提到的 Alice 和 Bob 的例子,保密性意味著 Alice 和 Bob 只能得到計(jì)算的結(jié)果 f(x,y) ,而攻擊者什么都得不到。除此之外,數(shù)據(jù)的隱私性還要求,不能從計(jì)算結(jié)果 f(x,y) 中復(fù)原出 x 和/或 y 。
一個(gè)簡(jiǎn)單的反例是 f(x,y)= x + y ,其中 Alice (知道她的輸入 x )可以在給定結(jié)果 x + y 的情況下立即推算出 Bob 的輸入 y 。舉一個(gè)我們最近和Google一起研究的例子,機(jī)器學(xué)習(xí)模型可能會(huì)泄漏出訓(xùn)練數(shù)據(jù)中的敏感信息。我們將那些不會(huì)通過計(jì)算結(jié)果泄漏出輸入數(shù)據(jù)的計(jì)算稱為隱私性的計(jì)算。例如,差分隱私( Differential Privacy , DP )是實(shí)現(xiàn)隱私性計(jì)算的一種方法。
那么區(qū)塊鏈上的數(shù)據(jù)隱私性該如何實(shí)現(xiàn)呢?一個(gè)想法是,在區(qū)塊鏈上構(gòu)建一個(gè)隱私第一的云計(jì)算平臺(tái)。為了實(shí)現(xiàn)數(shù)據(jù)的隱私性,開發(fā)者可以在云計(jì)算平臺(tái)的每一層都建立了隱私保護(hù)措施,在計(jì)算層中啟用了保密性措施保護(hù)智能合約的執(zhí)行,以防止在計(jì)算過程中泄漏任何敏感信息,并在應(yīng)用層中實(shí)現(xiàn)了隱私保護(hù)的數(shù)據(jù)分析和機(jī)器學(xué)習(xí),包括差分隱私,以防止在計(jì)算輸出中泄露敏感的輸入信息。
關(guān)鍵詞: 區(qū)塊鏈 數(shù)據(jù)泄漏 差分隱私