2018年11月13日,2018中國(guó)數(shù)字資產(chǎn)安全高峰論壇在京召開(kāi),會(huì)上,業(yè)內(nèi)眾多專(zhuān)家學(xué)者、企業(yè)、投資人各抒己見(jiàn)。北京郵電大學(xué)區(qū)塊鏈實(shí)驗(yàn)室主任馬兆豐發(fā)表了以《區(qū)塊鏈安全技術(shù)挑戰(zhàn)與機(jī)遇》為標(biāo)題的主題演講。以下為演講內(nèi)容,經(jīng)金色財(cái)經(jīng)整理。
區(qū)塊鏈發(fā)展背景
各位嘉賓,下午好!我是北京郵電大學(xué)馬兆豐。我今天給大家?guī)?lái)的演講主題是《區(qū)塊鏈安全技術(shù)挑戰(zhàn)及機(jī)遇》,我簡(jiǎn)單從幾個(gè)方面來(lái)做一個(gè)說(shuō)明。
我們?cè)诒本┼]電大學(xué),我現(xiàn)在是在網(wǎng)絡(luò)空間安全學(xué)院。報(bào)告從這么幾個(gè)方面,區(qū)塊鏈基本應(yīng)用背景、面臨的安全挑戰(zhàn)、區(qū)塊鏈關(guān)鍵的安全需求、區(qū)塊鏈安全分層架構(gòu)、區(qū)塊鏈核心保障技術(shù)、區(qū)塊鏈技術(shù)安全發(fā)展機(jī)遇。
區(qū)塊鏈技術(shù)本身,在座的各位我想都非常了解區(qū)塊鏈這個(gè)概念,但是從技術(shù)本身來(lái)講和大家再次回顧一下區(qū)塊鏈的基本背景。
其實(shí)區(qū)塊鏈的背景,2008年一些年輕人不太了解,在國(guó)際上金融領(lǐng)域發(fā)生了什么事情,2008年那時(shí)候是朱熔基總理,東南亞,包括印度、俄羅斯、中國(guó),東南亞金融危機(jī)爆發(fā),索羅斯發(fā)起了一些監(jiān)管金融的對(duì)手交易,使得全球化金融風(fēng)險(xiǎn)劇增,出現(xiàn)了金融擠兌等等問(wèn)題,在跨境結(jié)算以及相關(guān)的數(shù)字,包括不同幣種法幣的兌換之間存在了一些問(wèn)題,2008中本聰發(fā)表了點(diǎn)對(duì)點(diǎn)的系統(tǒng)。
傳統(tǒng)的計(jì)算方式,中心化處理的方式,處理過(guò)程是完全依賴(lài)于中心化單點(diǎn)失效的問(wèn)題。主要存在三方面可能的問(wèn)題,中心化業(yè)務(wù)處理過(guò)程當(dāng)中,業(yè)務(wù)處理過(guò)于集中,新的中心往往不總是可靠的,同時(shí)跨境結(jié)算處理方式當(dāng)中增加了交易的成本和代價(jià)。
比特幣是基于共識(shí)機(jī)制,工作量證明的機(jī)制,由中心化處理方式轉(zhuǎn)變?yōu)橛?個(gè)以上的節(jié)點(diǎn)或者區(qū)塊進(jìn)行確認(rèn),使得做一種交易,這種交易是兩種,挖礦和轉(zhuǎn)帳,比特幣核心功能是貨幣。這張圖右邊,做一次交易往往是6個(gè)以上的區(qū)塊或者6個(gè)以上的節(jié)點(diǎn),要確認(rèn),確認(rèn)以后所有相關(guān)的數(shù)據(jù)同步到區(qū)塊鏈不同的帳號(hào)當(dāng)中,最后形成永久性的交易,當(dāng)然這個(gè)交易關(guān)系是非最終確定的,包括BCH最近的分杈也是這樣發(fā)生的。
在座的媒體朋友可以看一下這張圖,我自己總結(jié)的,這是中心化處理方式,中心化處理過(guò)程當(dāng)中,用戶(hù)不管是后臺(tái)管理員還是雙11的用戶(hù),還是阿里、京東的后臺(tái),實(shí)際都面臨中心化處理的方式,一旦中心化處理方式中心節(jié)點(diǎn)出現(xiàn)宕機(jī),前段說(shuō)騰訊一個(gè)中心化主機(jī)出了一些問(wèn)題,如果中心化服務(wù)器出現(xiàn)宕機(jī),用戶(hù)的訪問(wèn)就會(huì)被拒絕。
區(qū)塊鏈從從業(yè)專(zhuān)業(yè)層面有兩個(gè)誤區(qū),要么說(shuō)是草根,要么是騙人,為什么很多中國(guó)人把好的技術(shù)做歪了。區(qū)塊鏈解決什么問(wèn)題?希望各位媒體跟我一起看一看這個(gè)圖,區(qū)塊鏈一般涉及三個(gè)層次,核心層,包括共識(shí)算法,準(zhǔn)入層,就是用戶(hù)比如通過(guò)地址或者賬戶(hù)進(jìn)入,客戶(hù)端就是代理或者錢(qián)包等等工具。用戶(hù)使用區(qū)塊鏈的時(shí)候可以看到,比如交易或者挖礦,這個(gè)工作一旦開(kāi)始會(huì)廣播一個(gè)消息過(guò)來(lái),這個(gè)時(shí)候可以看一下轉(zhuǎn)動(dòng)的齒輪,往后退一下大家看一下,這個(gè)轉(zhuǎn)動(dòng)的齒輪實(shí)際是在做共識(shí),這個(gè)工作過(guò)程當(dāng)中可以看到接下來(lái)的問(wèn)題,工作過(guò)程當(dāng)中如果通過(guò)共識(shí)產(chǎn)生區(qū)塊,這個(gè)區(qū)塊一旦產(chǎn)生將被多個(gè)節(jié)點(diǎn)驗(yàn)證的,比如某個(gè)節(jié)點(diǎn)擁有了區(qū)塊的情況,這個(gè)時(shí)候可以進(jìn)一步看,這個(gè)時(shí)候會(huì)把下面產(chǎn)生的區(qū)塊廣播和同步到其他節(jié)點(diǎn)當(dāng)中去,這個(gè)過(guò)程就可以看到和傳統(tǒng)的計(jì)算方式不同的地方在于,傳統(tǒng)的方式是中心化方式處理,區(qū)塊鏈?zhǔn)且苑侵行幕姆绞竭M(jìn)行工作,有以下的特點(diǎn),它是沒(méi)有中心的平臺(tái),這個(gè)過(guò)程當(dāng)中通過(guò)共識(shí)機(jī)制達(dá)成工作一致性的結(jié)果。
同時(shí)這個(gè)過(guò)程當(dāng)中具有同步數(shù)據(jù)分散存儲(chǔ)的特性,安全機(jī)制決定于算法和共識(shí),而不決定于中心化的平臺(tái)。這個(gè)區(qū)塊里的數(shù)據(jù)和所有節(jié)點(diǎn)區(qū)塊的數(shù)據(jù)是一致的,在正常情況下。
從本質(zhì)理解區(qū)塊鏈應(yīng)用
區(qū)塊鏈的基本概念,本質(zhì)上是分布式的信任基礎(chǔ)設(shè)施。它本質(zhì)上是不可篡改的可信帳本,無(wú)需新的中心構(gòu)建可信任的業(yè)務(wù)處理,在上一張圖大家可以看到,在產(chǎn)生區(qū)塊的時(shí)候獲得了區(qū)塊的權(quán)利,這個(gè)區(qū)塊權(quán)利可能是數(shù)字資產(chǎn),可能是交易,可能是挖礦的結(jié)果,也可能是不同節(jié)點(diǎn)下不同數(shù)據(jù)的分布式的存儲(chǔ),可信的安全管理。區(qū)塊鏈具有五個(gè)特征,去中心化、高度透明、集體維護(hù)、不可篡篡改、安全可信性。
區(qū)塊鏈有公有鏈、聯(lián)盟鏈、私有鏈,公有鏈從2008的比特幣、到以太坊到對(duì)于發(fā)布的聯(lián)盟鏈,其中聯(lián)盟鏈在這里面不涉及數(shù)字資產(chǎn),但是要知道聯(lián)盟鏈也有具備數(shù)字資產(chǎn)轉(zhuǎn)移管理的能力,只不過(guò)要有許可才可以進(jìn)入的,通過(guò)深耕、節(jié)點(diǎn)、排序、驗(yàn)證代碼的管理。
在區(qū)塊鏈這個(gè)領(lǐng)域的應(yīng)用也非常廣泛,從供應(yīng)鏈金融、移動(dòng)電商、文化娛樂(lè)、智能制造、慈善公益、征信體系,在很多領(lǐng)域都有應(yīng)用,數(shù)字資產(chǎn)是區(qū)塊鏈的第一代,比特幣主要的目標(biāo)是用于數(shù)字資產(chǎn)的挖礦、交易、轉(zhuǎn)帳,它的核心就是數(shù)字資產(chǎn)。
先到了以太坊以后,創(chuàng)造的一種機(jī)制,ETH作為生態(tài)的血液,由此可以看到,在這個(gè)過(guò)程中區(qū)塊鏈經(jīng)歷了四個(gè)環(huán)節(jié),白皮書(shū)、募資、開(kāi)發(fā)、交易所交易,在這個(gè)過(guò)程當(dāng)中交易所進(jìn)行交易流通,在過(guò)程當(dāng)中ETH創(chuàng)造了智能合約開(kāi)放式的區(qū)塊鏈平臺(tái),我們科研團(tuán)隊(duì)做了基于比特幣原始代碼全部?jī)?nèi)容的開(kāi)發(fā),你需要在源碼級(jí),以太坊通過(guò)智能合約,發(fā)布一個(gè)智能合約,在這里實(shí)現(xiàn)短暫交易,3分鐘就可以創(chuàng)建你的資產(chǎn),在這個(gè)過(guò)程當(dāng)中還可以實(shí)現(xiàn)轉(zhuǎn)帳、交易、鎖定,以太坊提供了以ETH為血液的平臺(tái)幣。
在這個(gè)過(guò)程當(dāng)中出現(xiàn)了聯(lián)盟鏈,我們把從比特幣、以太坊全部源碼編輯過(guò)了,我們也發(fā)現(xiàn)了不同的特點(diǎn)。國(guó)際上區(qū)塊鏈相關(guān)技術(shù)發(fā)展,包括中國(guó)人民銀行、中國(guó)銀行做了很多研究。區(qū)塊鏈面臨的技術(shù)優(yōu)勢(shì)也很明確,比如數(shù)據(jù)的完整性不可篡改性以及抗DDS攻擊。
區(qū)塊鏈面臨安全問(wèn)題綜述
從安全風(fēng)險(xiǎn)角度來(lái)講存在什么問(wèn)題呢?我們現(xiàn)在的問(wèn)題在于,在傳統(tǒng)的圖靈計(jì)算模式之下,都是基于數(shù)學(xué)難題的,是安全的,未來(lái)不一定安全,未來(lái)如果有了量子計(jì)算機(jī)可能是巨大挑戰(zhàn),如果量子計(jì)算成為現(xiàn)實(shí)常態(tài)化生活時(shí),我覺(jué)得區(qū)塊鏈時(shí)代體系要發(fā)生改變。
因此,未來(lái)在算法安全性、數(shù)據(jù)安全性、使用安全、系統(tǒng)安全方面都需要進(jìn)一步考慮。
安全需求我們認(rèn)為是五個(gè)層面,一個(gè)是數(shù)據(jù)層面的安全,另外是網(wǎng)絡(luò)層面安全性,像門(mén)頭溝事件某種程度是社交工程安全的問(wèn)題,一定程度上涉及到雙花問(wèn)題,這涉及到共識(shí)層面安全的問(wèn)題,還有激勵(lì)層面、合約層面的,現(xiàn)在以太坊智能合約有48種典型安全問(wèn)題,我們實(shí)驗(yàn)室把48種問(wèn)題做了分析,這48種安全發(fā)現(xiàn)的現(xiàn)象、原因、后果是什么,在此基礎(chǔ)上,我們做了正確安全的合約怎么編寫(xiě),合約安全每列一條代碼損失60多億人民幣,當(dāng)?shù)刂吩浇缫院髷?shù)值轉(zhuǎn)變?yōu)?。
數(shù)據(jù)層面安全涉及惡意信息攻擊、濫用攻擊、生日攻擊、查分攻擊。網(wǎng)絡(luò)層次的供給,像日食攻擊、拒絕服務(wù)攻擊,比如交易所這個(gè)模式面臨的是傳統(tǒng)的中心化的數(shù)據(jù)庫(kù)的問(wèn)題。共識(shí)層面的問(wèn)題,像工作量證明、權(quán)益證明、Dpos權(quán)益證明,以及PFBT拜占廷容錯(cuò)。
激勵(lì)層面也有安全問(wèn)題,避免中心化的問(wèn)題,21個(gè)超級(jí)節(jié)點(diǎn)中的15個(gè)節(jié)點(diǎn)聯(lián)合起來(lái),就可能對(duì)用戶(hù)資產(chǎn)、交易安全造成威脅,同時(shí)吸引數(shù)據(jù)的節(jié)點(diǎn),這里BT的模式在超級(jí)節(jié)點(diǎn)可能就會(huì)出現(xiàn)問(wèn)題。
合約層面的問(wèn)題,典型的有48種,但是主要問(wèn)題是六個(gè)層面,一個(gè)是整數(shù)的益處、信息泄露、越權(quán)訪問(wèn)、邏輯措施、函數(shù)誤用、拒絕服務(wù)。這些里面并不以為這有這樣的協(xié)議就一定安全。
交易所的安全就是DDOS攻擊、支付漏洞、惡意程序的感染,以及認(rèn)為內(nèi)部訪問(wèn)權(quán)限的控制等等,都可能造成這樣的事件,比如mtgo事件,7000個(gè)幣丟失,宣稱(chēng)65萬(wàn),另外的比特幣去哪兒了?所以資產(chǎn)管理、自身數(shù)據(jù)安全管理方面非常重要,神魚(yú)今天講完以后我也在仔細(xì)聽(tīng)每個(gè)嘉賓的內(nèi)容,很大程度是滿(mǎn)足區(qū)塊鏈核心的需求,就是數(shù)字資產(chǎn)的管理要求。
分層體系,這個(gè)體系涉及算法的共識(shí)、驗(yàn)證機(jī)制,以及對(duì)應(yīng)的錢(qián)包的安全,中心化錢(qián)包、多種類(lèi)錢(qián)包、網(wǎng)絡(luò)錢(qián)包、本地錢(qián)包、硬件錢(qián)包的問(wèn)題,從分層體系架構(gòu)來(lái)講涉及五個(gè)層面,交易層面、賬戶(hù)層面、分布式組織層次、網(wǎng)絡(luò)層次、賬戶(hù)層次的。
從保障技術(shù)來(lái)講,從增強(qiáng)系統(tǒng)安全性進(jìn)行網(wǎng)絡(luò)的隔離、選擇優(yōu)質(zhì)的服務(wù)商、完善治理機(jī)制、完善應(yīng)急機(jī)制、提高安全意識(shí)都是非常重要的。
從安全的維度涉及算法的安全、協(xié)議的安全、實(shí)現(xiàn)安全、使用安全、綜合安全性,這是我們認(rèn)為重要的層面。特別是使用安全方面,我記得在很多人中,我們數(shù)字錢(qián)包很多人不備份,我曾經(jīng)做了這樣的一個(gè)事情。數(shù)字資產(chǎn)的安全性方面,密鑰的保存、錢(qián)包的備份,Keystore的導(dǎo)出以及轉(zhuǎn)帳過(guò)程的安全、策略制定都是非常重要的事情。
從用戶(hù)隱私的角度,我們認(rèn)為區(qū)塊鏈?zhǔn)褂卯?dāng)中,比如數(shù)字資產(chǎn)或者交易所,用戶(hù)的保護(hù)性、數(shù)字保護(hù)性、交易保密性、系統(tǒng)的保密、安全防護(hù)都是核心的安全因素。
錢(qián)包安全
對(duì)于Cobo錢(qián)包,國(guó)內(nèi)還有其他錢(qián)包,都是重要的硬件設(shè)施,國(guó)際上對(duì)標(biāo)哪一些?trezor keepkey Ledger、bitgo,這些錢(qián)包我用過(guò)三個(gè),今天在座的各位嘉賓,特別是Cobo,我覺(jué)得是典型的機(jī)遇,Cobo融資了接近兩千萬(wàn)美元,大家可以做一些借鑒。區(qū)塊鏈發(fā)展角度來(lái)講,加密機(jī)制問(wèn)題、效率問(wèn)題、博弈都是關(guān)鍵的問(wèn)題,在外延和內(nèi)涵,從安全角度來(lái)講問(wèn)題非常多,機(jī)遇也如此巨大。
未來(lái)做區(qū)塊鏈的角度來(lái)講,區(qū)塊鏈數(shù)字資產(chǎn)的安全管理、區(qū)塊鏈數(shù)字資產(chǎn)安全的使用、區(qū)塊鏈數(shù)字資產(chǎn)安全的保護(hù),這個(gè)為未來(lái)的商業(yè)生產(chǎn)生活提供了很大的機(jī)遇。去中心化的應(yīng)用,從DApp開(kāi)發(fā),DApp+ABCD,人工智能、云計(jì)算、大數(shù)據(jù)這些結(jié)合起來(lái),區(qū)塊鏈更有廣闊的前景,應(yīng)用在銀行、保險(xiǎn)、供應(yīng)鏈、醫(yī)療保障、投票和身份證明,包括公安部一所我也注意到。
未來(lái)區(qū)塊鏈的應(yīng)用,區(qū)塊鏈的核心從數(shù)字代幣到記錄保全、存證、智能合約,還有拓展的應(yīng)用,從區(qū)塊鏈的底層到交易所、錢(qián)包,比如供應(yīng)鏈金融、版權(quán)管理、核心身份認(rèn)證等等具有廣闊而重要的應(yīng)用前景。