我們需要什么樣的區(qū)塊鏈
題圖攝于Lake Powell
本文節(jié)選自《區(qū)塊鏈核心技術(shù)與應(yīng)用》 。作者簡介:
邵周,中國計算機(jī)學(xué)會區(qū)塊鏈專委會委員、中關(guān)村區(qū)塊鏈聯(lián)盟金融專委會專家、TOGAF認(rèn)證企業(yè)架構(gòu)師、信息安全與風(fēng)險管理專家。研究方向有高性能區(qū)塊鏈、分布式存儲、分布式算力、跨鏈協(xié)同、加密資產(chǎn)錨定等,著有數(shù)本科技書籍。目前就職于亞洲基礎(chǔ)設(shè)施投資銀行。
一.
區(qū)塊鏈架構(gòu)存在的問題和挑戰(zhàn)
現(xiàn)實(shí)世界不可能是完美的,我們往往在各種三元悖論的權(quán)衡之中尋找平衡點(diǎn)。在經(jīng)濟(jì)學(xué)上有個“蒙代爾不可能三角”(Mundellian Trilemma),指的是一個國家不可能把獨(dú)立貨幣政策(Monetary Policy)、固定匯率(Exchange Rate)和資本自由流動(Capital Mobility)三者兼顧到,往往只能三取二舍一。在分布式計算領(lǐng)域,也有人們認(rèn)可并熟知的CAP理論,即一致性(Consistence)、可用性(Availability)和分區(qū)容錯性(Network Partitioning)三者不能得兼,只能三選二,如圖10-1所示。
蒙代爾不可能三角和CAP理論
而在區(qū)塊鏈領(lǐng)域,目前公認(rèn)的一個“不可能三角”是在去中心化(Decentralization)、安全性(Security)和擴(kuò)展性(Scalability)上也只能三者選其二,如圖10-2所示。完全去中心的區(qū)塊鏈架構(gòu)會帶來性能和安全性方面的問題。傳統(tǒng)的分布式架構(gòu),例如云計算,是通過把一個任務(wù)切片,分發(fā)到多個節(jié)點(diǎn)來并行計算,最后將結(jié)果匯總回單一節(jié)點(diǎn),因此效率很高,但中心化程度也很高。完全去中心的區(qū)塊鏈架構(gòu)是把同一個任務(wù)放在多個節(jié)點(diǎn)同時運(yùn)行,結(jié)果最后進(jìn)行共識,共識的結(jié)果成為最終狀態(tài)。可想而知,其效率會遠(yuǎn)遠(yuǎn)低于前者,但在安全性和可信任程度上又遠(yuǎn)遠(yuǎn)高于前者。
區(qū)塊鏈不可能三角理論
根據(jù)區(qū)塊鏈的不可能三角理論,很明顯目前以太坊架構(gòu)是以犧牲擴(kuò)展性來換取去中心和安全性的。以太坊上平均每秒大約能做15筆交易,所以至今為止,除了ICO或數(shù)字資產(chǎn)發(fā)行這種應(yīng)用外,以太坊還沒有出現(xiàn)上規(guī)模的應(yīng)用。2017年出現(xiàn)的一個區(qū)塊鏈養(yǎng)貓游戲“CryptoKitties”就造成了以太坊網(wǎng)絡(luò)的擁堵。因此,標(biāo)榜區(qū)塊鏈3.0的其他各類區(qū)塊鏈平臺項(xiàng)目,紛紛針對比特幣、以太坊的性能問題提出了自己的改進(jìn)方案。然而,目前區(qū)塊鏈落地應(yīng)用少,卻不只是因?yàn)閰^(qū)塊鏈性能上的問題。我們首先來看看當(dāng)前區(qū)塊鏈平臺的問題和痛點(diǎn)。
- 交易性能限制:比特幣的理論設(shè)計限制了其每秒只能完成7筆交易,通常每秒只能完成1~2筆;以太坊大約每秒處理10~20筆交易。另外,PoW這種最終一致性共識算法,使得如比特幣的交易需要獲得6個以上的確認(rèn)才能在很大概率上保證交易的最終確定性,因此交易確認(rèn)的時間也長
- 擴(kuò)展性限制:在需要立即交易確定性的場景,例如聯(lián)盟鏈或私有鏈的場景中,一般節(jié)點(diǎn)數(shù)會受限。例如使用基于Paxos或BFT(拜占庭容錯)等基于狀態(tài)機(jī)復(fù)制(SMR)共識算法的區(qū)塊鏈平臺,參與共識的節(jié)點(diǎn)數(shù)一般不能超過兩位數(shù)。
- 易用性:目前智能合約的開發(fā)、部署和調(diào)用都需要由專業(yè)區(qū)塊鏈編程人員進(jìn)行,區(qū)塊鏈在易用性和對應(yīng)用的支持上還存在較大障礙。
- 兼容性和互操作性:目前大部分的區(qū)塊鏈平臺都是獨(dú)立系統(tǒng),不支持區(qū)塊鏈上的資產(chǎn)在不同鏈之間的流轉(zhuǎn),不同鏈上的應(yīng)用也沒有辦法做到跨鏈的集成和整合。
- 數(shù)據(jù)存儲:區(qū)塊鏈上數(shù)據(jù)存儲容量有限制,特別是每個全節(jié)點(diǎn)需要存儲的數(shù)據(jù)量越來越大,急需更低成本和高效的分布式存儲方案。
- 智能合約形式化證明:形式化證明(Formal Verification),出于成本的考慮,以前往往只應(yīng)用在硬件設(shè)計中,后來慢慢被引入軟件行業(yè)。形式化證明通過數(shù)學(xué)方法來證明代碼中是否存在漏洞或缺陷。與傳統(tǒng)的軟件測試不同,形式化證明能夠證明一個系統(tǒng)沒有任何可以想到的缺陷,這可以從根本上杜絕軟件漏洞。由于區(qū)塊鏈上的智能合約一經(jīng)部署就不能修改,安全性至關(guān)重要,一旦有未被檢測出的漏洞和缺陷,就會給黑客大肆作惡的機(jī)會。形式化證明是在未部署合約前對智能合約代碼做邏輯上的證明,證明合約的執(zhí)行具有正確性。形式化的證明一般要求編程語言具備嚴(yán)格的邏輯完備性和自動推理能力。目前以太坊的智能合約編程語言Solidity并不具備這種能力,而傳統(tǒng)上的一些形式證明工具和編程語言還沒有和區(qū)塊鏈做有效結(jié)合。
- 數(shù)據(jù)同步性能限制:鏈上數(shù)據(jù)每時每刻的增長,帶來的問題就是網(wǎng)絡(luò)上數(shù)據(jù)同步的負(fù)擔(dān)越來越大,同步速度也越來越慢。
- 共識機(jī)制數(shù)學(xué)證明:很多區(qū)塊鏈平臺使用的共識算法并沒有給出嚴(yán)格的數(shù)學(xué)證明,證明其在假設(shè)的網(wǎng)絡(luò)通信環(huán)境內(nèi),能夠在少數(shù)故障節(jié)點(diǎn)存在的情況下,依然能夠在有限的時間內(nèi)達(dá)成共識,并保證共識結(jié)果的正確性。特別是在公有鏈情況下,很多共識算法,特別是基于權(quán)益的PoS共識,缺少嚴(yán)格的數(shù)學(xué)證明。
二.
區(qū)塊鏈平臺的典型需求和發(fā)展方向
1、區(qū)塊鏈平臺的典型需求
區(qū)塊鏈上的應(yīng)用根據(jù)場景不同,有以下不同維度的需求。
- 隱私保護(hù):交易參與方和交易的細(xì)節(jié)不能泄露給交易無關(guān)方。目前比特幣、以太坊等只是提供半匿名機(jī)制,不能保證在大數(shù)據(jù)分析下隱私交易信息不被泄露。
- 鏈上安全性:在區(qū)塊鏈網(wǎng)絡(luò),特別是公有鏈場景下如何容錯,特別是拜占庭容錯,防止女巫、重放、DDoS等攻擊是一個十分重要的需求。
- 數(shù)據(jù)真實(shí)性:雖然在區(qū)塊鏈上的數(shù)據(jù)不可篡改,但現(xiàn)實(shí)的數(shù)據(jù)卻沒有辦法防止人為造假。如何保障鏈下數(shù)據(jù)真實(shí)上鏈,又不重回到中心化的Oracle(預(yù)言機(jī))機(jī)制,也是非常關(guān)鍵的需求。Oracle是一個連接鏈下鏈上的數(shù)據(jù)真實(shí)性保障機(jī)制,通常需要由權(quán)威性機(jī)構(gòu)來做Oracle,但如何防止Oracle的中心化是未來預(yù)言機(jī)機(jī)制設(shè)計的關(guān)鍵考慮點(diǎn)。
- 有用工作量證明:比特幣挖礦造成能源的浪費(fèi)巨大,有人估算目前比特幣一年挖礦所耗費(fèi)的電量已經(jīng)相當(dāng)于愛爾蘭一年的用電量。比特幣的工作量證明只是不停地做哈希運(yùn)算,計算結(jié)果也沒有什么實(shí)際用途。如果既能做有用的工作量,又能提供一個比較穩(wěn)定的共識機(jī)制,是非常有吸引力,但也是比較難的研究方向。
- 密碼安全性:量子計算目前雖然還是起步的初始階段,離發(fā)展到商用可能還要一大段距離,但量子計算的Shor算法已經(jīng)在理論上能破解公鑰加密系統(tǒng),區(qū)塊鏈所基于的公鑰簽名系統(tǒng)都將面臨被量子計算破解的威脅。另一方面,量子計算的Grover算法雖然不能在數(shù)量級上降低破解哈希算法的難度,但也能減少一部分破解哈希算法的計算量。因此,抗量子密碼算法也成為目前區(qū)塊鏈的一個研究方向。
- 治理和監(jiān)管:很多區(qū)塊鏈項(xiàng)目目前都是依靠幾個核心開發(fā)人員維護(hù)。一些關(guān)鍵參數(shù)的修改和平臺發(fā)展方向的決策還是由幾個人決定,缺少一個比較透明、嚴(yán)格的治理架構(gòu)和監(jiān)管體系。如何設(shè)計一套適合于區(qū)塊鏈的治理和監(jiān)管體系,使得區(qū)塊鏈平臺能健康發(fā)展,是當(dāng)下很多區(qū)塊鏈項(xiàng)目面臨的一個問題。另一方面,一些采用常規(guī)計算的破解現(xiàn)有密碼學(xué)技術(shù)的算法也會被發(fā)現(xiàn),像2017年谷歌成功實(shí)現(xiàn)對SHA-1的有效碰撞,也說明即使不考慮量子計算的威脅,密碼安全性也是一個需要重點(diǎn)關(guān)注的問題。
- 智能合約升級、監(jiān)控:智能合約一經(jīng)部署就不能更改,但傳統(tǒng)軟件都需要不斷完善和升級。另外在很多場景下,智能合約的邏輯也需要適應(yīng)需求的變化。因此如何對智能合約升級,以及如何監(jiān)控智能合約的運(yùn)行,也是一個比較常見的需求,特別是對企業(yè)客戶來說。
- 防止算力中心化:由于比特幣的價格攀升,利益驅(qū)使比特幣挖礦成為一場算力的軍備競爭。比特幣挖礦的算力不斷趨于中心化,目前五大礦池的算力已經(jīng)超過全網(wǎng)算力的70%。防止算力集中,目前常用的方法是設(shè)計需要存儲量大的工作量證明機(jī)制,這樣在成本上抵抗做專門的算力挖礦芯片(ASIC),使得普通人仍然可以用通用處理器,像CPU、GPU來參與挖礦共識。
- 身份認(rèn)證及權(quán)限控制:很多區(qū)塊鏈的應(yīng)用,特別是企業(yè)級的聯(lián)盟鏈應(yīng)用,需要確認(rèn)用戶的身份,并根據(jù)其身份來授予不同的權(quán)限。安全高效的身份ID管理、身份認(rèn)證和權(quán)限控制是一個重要的需求。
- 移動區(qū)塊鏈:目前區(qū)塊鏈系統(tǒng)都是運(yùn)行在服務(wù)器節(jié)點(diǎn)上,手機(jī)上只是錢包或輕節(jié)點(diǎn)。但未來隨著移動設(shè)備算力以及存儲能力的提升,直接在移動設(shè)備組成的去中心化網(wǎng)絡(luò)成為可能,成為真正意義上的移動區(qū)塊鏈平臺。
2、區(qū)塊鏈平臺的發(fā)展方向
上述對區(qū)塊鏈平臺的行業(yè)需求,驅(qū)動著區(qū)塊鏈向?qū)嵱眯苑€(wěn)定性和安全性方向發(fā)展,而具體的技術(shù)創(chuàng)新則是在以下一些方向上拓展。
- 區(qū)塊鏈操作系統(tǒng):類似傳統(tǒng)電腦操作系統(tǒng)給電腦使用者和應(yīng)用開發(fā)提供底層服務(wù)一樣,區(qū)塊鏈操作系統(tǒng)也給上層去中心化應(yīng)用的開發(fā)和運(yùn)行提供支撐的功能和環(huán)境,這些功能包括認(rèn)證、權(quán)限控制、數(shù)據(jù)存取、合約編譯、測試級部署等支撐性功能。操作系統(tǒng)提供易用性,降低使用區(qū)塊鏈以及開發(fā)DApp的門檻。
- 區(qū)塊鏈中間件:和傳統(tǒng)中間件一樣,區(qū)塊鏈中間件屏蔽不同區(qū)塊鏈平臺的接口差異,使得應(yīng)用能夠方便地開發(fā)支持不同區(qū)塊鏈的DApp,另外也提供跨鏈整合功能,使得應(yīng)用能夠集成整合多個區(qū)塊鏈平臺。
- 區(qū)塊鏈網(wǎng)絡(luò)(多鏈):和比特幣或以太坊的單鏈技術(shù)不一樣,區(qū)塊鏈網(wǎng)絡(luò)提供一個網(wǎng)絡(luò)平臺。在該平臺下有多條鏈,每個鏈上都可以發(fā)行自己的虛擬資產(chǎn),鏈與鏈之間也可以通過區(qū)塊鏈網(wǎng)絡(luò)平臺中的主鏈或中繼來實(shí)現(xiàn)跨鏈互連。
- 側(cè)鏈技術(shù):側(cè)鏈最早來自于一個無須改變主鏈(原指比特幣的主鏈),但又能通過建立一個側(cè)鏈來擴(kuò)展主鏈功能的概念。主鏈的資產(chǎn)可以安全轉(zhuǎn)移到側(cè)鏈上流通,最好也能安全地回到主鏈。
- 區(qū)塊擴(kuò)容:區(qū)塊容量和能打包的交易多少有關(guān),由于區(qū)塊鏈的出塊頻率相對固定,因此當(dāng)區(qū)塊擴(kuò)容之后,每秒交易量(TPS)也會相應(yīng)提高。
- 鏈下計算:區(qū)塊鏈的鏈上計算雖然能安全可靠,但是共識開銷很大,因此把有些計算移到鏈下來處理,從而提升交易速度是一個必然的選擇。
- 分區(qū)共識、分片:以太坊的性能問題讓以太坊的開發(fā)社區(qū)也意識到,當(dāng)每個交易、每步智能合約的執(zhí)行都需要在所有的共識節(jié)點(diǎn)去完成的時候,其擴(kuò)展性是無法支撐應(yīng)用的。因此,分片處理、采用局部共識代替全局共識不可避免。
- 區(qū)塊鏈存儲:區(qū)塊鏈上能存儲的空間有限,一般來說只是存儲數(shù)據(jù)的哈希值,也就是數(shù)據(jù)的指紋。因此如何解決區(qū)塊鏈數(shù)據(jù),特別是代碼或狀態(tài)數(shù)據(jù)的存儲是當(dāng)今區(qū)塊鏈平臺都面臨的一個問題。
- 共識機(jī)制:區(qū)塊鏈最核心的部分是其共識機(jī)制。不同的共識機(jī)制有著不同的共識屬性,同時也決定其每秒交易量,因此共識機(jī)制的設(shè)計也成為區(qū)塊鏈底層平臺設(shè)計的一個關(guān)鍵環(huán)節(jié)。
責(zé)任編輯:售電衡衡
-
5大重點(diǎn)任務(wù)11個重點(diǎn)細(xì)分 河北加快構(gòu)建省級能源大數(shù)據(jù)中心
-
能源互聯(lián)網(wǎng)注入數(shù)字經(jīng)濟(jì)新動能 電力大數(shù)據(jù)實(shí)現(xiàn)更多價值
-
中國首個100%利用清潔能源運(yùn)營的大數(shù)據(jù)產(chǎn)業(yè)園投運(yùn)
2020-07-21清潔能源,清潔能源消納,青海
-
探索大數(shù)據(jù) 區(qū)塊鏈實(shí)現(xiàn)與能源互聯(lián)網(wǎng)良好契合
2020-06-09區(qū)塊鏈,電力行業(yè),能源互聯(lián)網(wǎng) -
基于區(qū)塊鏈的含安全約束分布式電力交易方法
-
區(qū)塊鏈在能源交易與協(xié)同調(diào)度的應(yīng)用前景:提升電力交易的自由度和實(shí)時響應(yīng)效率
2019-11-04區(qū)塊鏈在能源交易與協(xié)同