華為面對(duì)區(qū)塊鏈時(shí)的選擇、創(chuàng)新與策略
10月28日,超級(jí)賬本Meetup在北京舉辦,華為云區(qū)塊鏈架構(gòu)師張子怡分享了華為在面對(duì)區(qū)塊鏈時(shí)的選擇、創(chuàng)新與策略。
以下為張子怡演講精編,由巴比特整理。
華為面對(duì)區(qū)塊鏈做出的三個(gè)選擇
第一個(gè)選擇是要不要做區(qū)塊鏈?
我們當(dāng)時(shí)問(wèn)了自己四個(gè)問(wèn)題:一是有利可圖嗎?很多報(bào)告顯示,2020年基于區(qū)塊鏈的業(yè)務(wù)將達(dá)到1000億美元。二是政府支持嗎?各國(guó)政府態(tài)度積極,鼓勵(lì)探索應(yīng)用場(chǎng)景。三是社區(qū)和標(biāo)準(zhǔn)組織支持力度如何?可以看到,18年是區(qū)塊鏈應(yīng)用元年,開(kāi)源和標(biāo)準(zhǔn)加速,產(chǎn)業(yè)逐漸成熟。四是有應(yīng)用場(chǎng)景嗎?區(qū)塊鏈也許會(huì)誕生創(chuàng)新新市場(chǎng)或許將重構(gòu)和優(yōu)化現(xiàn)有市場(chǎng),比如房屋租賃是中心化的,未來(lái)也許是每個(gè)人把自己的房屋信息放在鏈上,形成一種p2p的去中心化模式。
基于這四個(gè)自問(wèn)自答,我們看到了區(qū)塊鏈的前景。我們得出了自己的判斷:區(qū)塊鏈行業(yè)應(yīng)用將加速推進(jìn),從數(shù)字貨幣向金融和社會(huì)各領(lǐng)域滲透擴(kuò)散。
第二個(gè)選擇是做什么?聯(lián)盟鏈or公有鏈?
2009年中本聰發(fā)表了比特幣白皮書(shū),開(kāi)啟了區(qū)塊鏈1.0時(shí)代,但因?yàn)槭芟抻诮灰仔阅芎徒灰坠δ艿膯我?,它的?yīng)用只能是數(shù)字貨幣的形式。伴隨著以太坊智能合約的出現(xiàn),區(qū)塊鏈迎來(lái)2.0時(shí)代,區(qū)塊鏈的交易能力大幅度提升,但性能還是不夠高,只能用于高價(jià)值低頻次的交易場(chǎng)景。2017年,超級(jí)賬本的出現(xiàn),迎來(lái)了聯(lián)盟鏈的到來(lái),整體交易性能進(jìn)一步提高,可以在一些更為復(fù)雜的場(chǎng)景上應(yīng)用,我們認(rèn)為這是可編程的區(qū)塊鏈3.0時(shí)代?;谶@種的考慮,我們覺(jué)得聯(lián)盟鏈/私有鏈會(huì)是企業(yè)級(jí)應(yīng)用的主戰(zhàn)場(chǎng)。
第三個(gè)選擇是怎么做?BaaS平臺(tái)為最終選擇
我們結(jié)合區(qū)塊鏈的落地場(chǎng)景,文化、娛樂(lè)、金融、醫(yī)療、版權(quán)、教育等,經(jīng)過(guò)了一系列的考慮,最終認(rèn)為公有云是區(qū)塊鏈的最佳載體。因?yàn)樵扑陨淼拈_(kāi)放性、網(wǎng)絡(luò)性能以及資源的易獲得性,符合區(qū)塊鏈自身的一些特性。而且聯(lián)盟鏈要想提高它的性能,其實(shí)需要自身有一定節(jié)點(diǎn)可信、可靠、可控,在公有云上實(shí)現(xiàn)安全更簡(jiǎn)單。因此我們得出結(jié)論:區(qū)塊鏈與云計(jì)算的結(jié)合越發(fā)緊密,BaaS有望成為公共信任基礎(chǔ)設(shè)施。
華為區(qū)塊鏈BCS的三點(diǎn)創(chuàng)新設(shè)計(jì)
這是華為云區(qū)塊鏈服務(wù)的一個(gè)邏輯架構(gòu)。據(jù)張子怡介紹,華為區(qū)塊鏈BCS是構(gòu)建于Docker和Kubermates之上,具有較高的擴(kuò)展性,并且會(huì)與其他云服務(wù)完全打通,提供成員動(dòng)態(tài)加入來(lái)構(gòu)建,節(jié)點(diǎn)彈性伸縮,支持私有鏈和聯(lián)盟鏈靈活部署,和現(xiàn)有的IT基礎(chǔ)設(shè)施互聯(lián)互通。與此同時(shí),張子怡講解了華為基于超級(jí)賬本所做的三點(diǎn)創(chuàng)新設(shè)計(jì)。
一、高性能拜占庭容錯(cuò)共識(shí)算法,解決吞吐率過(guò)低問(wèn)題
如何提高共識(shí)效率是大家都會(huì)遇到的問(wèn)題,目前開(kāi)源的hyperledger fabric只適合放在私有鏈動(dòng)作,它可以在kafka上達(dá)到一定的性能,構(gòu)建聯(lián)盟鏈的時(shí)候,需要一個(gè)拜占庭式的算法。hyperledger fabric在0.6的版本中提供了一個(gè)PBFT算法,但是性能非常差,華為提出了一個(gè)快速拜占庭算法來(lái)解決這個(gè)問(wèn)題。我們因?yàn)槭腔谌A為云的相對(duì)可靠節(jié)點(diǎn),通過(guò)對(duì)主節(jié)點(diǎn)的監(jiān)控,我們?cè)诠餐院涂捎眯灾衅鋵?shí)向可用性傾斜。
我們把共識(shí)算法分為兩類,一類是證明類的共識(shí),一類是投票類的共識(shí)。如何簡(jiǎn)單的理解呢,共識(shí)算法解決的問(wèn)題就是多人共同記賬,以誰(shuí)記得為準(zhǔn)的問(wèn)題。出個(gè)謎題誰(shuí)先猜出來(lái)給誰(shuí)?是比特幣工作量證明機(jī)制POW;誰(shuí)的股份多誰(shuí)記賬的概率大?是股權(quán)證明POS機(jī)制;由股份多的人選舉代言人進(jìn)行記賬?是DPOS機(jī)制;每隔一段時(shí)間選個(gè)組長(zhǎng),大家舉手表決是否同意組長(zhǎng)的記賬?是實(shí)用拜占庭容錯(cuò)協(xié)議;利用可信硬件擲骰子,選數(shù)字最小的?是最小幸運(yùn)數(shù)算法。
華為的共識(shí)算法有兩點(diǎn)創(chuàng)新:一是簽名+兩階段提交,二是多實(shí)例共識(shí)互相監(jiān)督監(jiān)督,保證公平性。我們基于PBFT算法,減少了不必要的信息通信和簽名消耗。使得信息數(shù)量的復(fù)雜度由n^2 降到了n,提高了算法效率。早前測(cè)試的性能達(dá)到了5000TPS,現(xiàn)在更高,目前還沒(méi)有公布。
二、基于關(guān)系模型的區(qū)塊鏈,提升易用性和查詢性能
華為平臺(tái)上有三種區(qū)塊鏈部署模式,第一種是全華為硬件+華為BCS軟件,也就是中性化部署,所有業(yè)務(wù)部署在華為云。華為云平臺(tái)支持多租的區(qū)塊鏈服務(wù)部署,各個(gè)租戶有自己的VPC,彼此之間網(wǎng)絡(luò)和數(shù)據(jù)是隔離的,只有通過(guò)外網(wǎng)才能互通,所以其實(shí)并不存在中心化。第二種是線上線下的方式,部分華為硬件+華為BCS軟件,也就是混合部署,允許線下的數(shù)據(jù)中心放你的區(qū)塊鏈服務(wù)節(jié)點(diǎn),線下線上打通。一部分業(yè)務(wù)部署在華為公有云,另一部分業(yè)務(wù)部署在客戶私有數(shù)據(jù)中心。第三種方式是去中心化部署,完全放在線下,私有硬件+華為BCS軟件,業(yè)務(wù)部署在客戶私有數(shù)據(jù)中心,。
我們基于關(guān)系模型區(qū)塊鏈,提升易用性,主要有三個(gè)出發(fā)點(diǎn),一是能不能像使用數(shù)據(jù)庫(kù)一樣使用區(qū)塊鏈?二是能不能低成本將現(xiàn)有應(yīng)用從數(shù)據(jù)庫(kù)切換到區(qū)塊鏈?三是能不能支持高效復(fù)雜查詢?為了降低大家的學(xué)習(xí)成本,我們做了一個(gè)底層是關(guān)系型數(shù)據(jù)庫(kù)的存儲(chǔ),大家可以無(wú)縫切換到熟悉的代碼書(shū)寫(xiě)方式。首先你可以進(jìn)行數(shù)據(jù)分析。其次,它還支持高效的復(fù)雜產(chǎn)品??傮w來(lái)講,我們的設(shè)計(jì)分為三部分:一是SQL的區(qū)塊鏈訪問(wèn);而是基于SQL的智能合約開(kāi)發(fā)框架;三是基于關(guān)系數(shù)據(jù)庫(kù)的區(qū)塊鏈數(shù)據(jù)管理。
三、從三個(gè)層級(jí)五大模塊對(duì)區(qū)塊鏈進(jìn)行全面防護(hù)
安全設(shè)計(jì)層面,我們從三個(gè)層級(jí)、五大模塊對(duì)區(qū)塊鏈進(jìn)行了全面的防護(hù)。比如說(shuō)云上面的安全,我們過(guò)了等保四級(jí)。然后身份管理,我們提供了國(guó)密算法、標(biāo)準(zhǔn)的加密算法、同態(tài)加密算法,還有就是安全容器的能力,鏈碼沙箱,以及惡意代碼檢測(cè),然后鏈碼的形式化驗(yàn)證,自適應(yīng)的控制算法。
比如其中的國(guó)密算法是金融行業(yè)必備,在華為云部署的時(shí)候你可選擇。如何解決區(qū)塊鏈技術(shù)應(yīng)用于金融的隱私和可用性?我們的方案一是引入同態(tài)加密解決隱私問(wèn)題;二是提出范圍證明/等式證明解決金融業(yè)務(wù)可用問(wèn)題。這是一種范圍可驗(yàn)證同態(tài)加密方法。其實(shí)同態(tài)加密技術(shù)它就實(shí)現(xiàn)了無(wú)秘鑰對(duì)秘文的計(jì)算,既可以減少通訊代價(jià),又可以完成計(jì)算任務(wù)。利用同態(tài)加密技術(shù)可以讓解密方只獲得最后的結(jié)果而無(wú)法獲得每一個(gè)秘文,提高安全性。
云+網(wǎng)絡(luò)+終端三位一體的區(qū)塊鏈端到端解決方案
最后說(shuō)一下華為云的思考,我們希望做到的是什么?
我們的策略是聚焦四大價(jià)值方向(數(shù)據(jù)、LOT、金融、運(yùn)營(yíng)商),以區(qū)塊鏈平臺(tái)為核心,結(jié)合網(wǎng)絡(luò)和芯片,形成三位一體的端到端的解決方案。
通過(guò)BaaS(BCS)平臺(tái)為核心,構(gòu)建BCS+華為公有云的策略。網(wǎng)絡(luò)節(jié)點(diǎn)和邊緣計(jì)算也應(yīng)該成為區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點(diǎn),保障區(qū)塊鏈網(wǎng)絡(luò)的真實(shí)性和安全。
終端是一個(gè)芯片,內(nèi)置區(qū)塊鏈SDK及API,它可以通過(guò)華為的電信網(wǎng)絡(luò),傳輸?shù)饺A為的BCS平臺(tái)上來(lái),集成手機(jī)端或邊緣端的一些信息,進(jìn)行可信數(shù)據(jù)采集,構(gòu)建整體的區(qū)塊鏈解決方案,為客戶打造真實(shí)的區(qū)塊鏈應(yīng)用場(chǎng)景。