近日區(qū)塊鏈圈子吹起一股“無用論”熱議,起因是鼎鼎有名的密碼學與信息安全大師 Bruce Schneier,在《連線》雜志發(fā)表一篇長文,從信任與安全的角度,強烈質(zhì)疑區(qū)塊鏈技術的價值。他指出區(qū)塊鏈的驗證(verification)并不等于信任(trust),毫無用處。Bruce Schneier 是許多區(qū)塊鏈開發(fā)者擁護的“密碼朋克”代表性人物,從他之口說出區(qū)塊鏈“無用”,對行業(yè)人士來說有如當頭棒喝。
“共識”(consensus)是區(qū)塊鏈最重要的核心概念之一,但若說人們對于區(qū)塊鏈這一技術的發(fā)展有什么“共識”,那么很可惜的,區(qū)塊鏈的性能很差,使用體驗更是糟糕至極,絕對是為數(shù)不多的答案之一。然而問題出在哪?
在本周 DeepHash 專欄,創(chuàng)新工場執(zhí)行董事、分布式系統(tǒng)專家王嘉平指出,以比特幣、以太坊為首的當前主流區(qū)塊鏈公鏈(public blockchain)技術,有速度、容量、分片等 3 大性能難點,以及包含交易隱私、硬件安全執(zhí)行環(huán)境、中心化的輔助設施、交易確認延遲、私鑰管理的 5 大體驗障礙,嚴重限制著這項技術發(fā)揮它的實際用處。這些問題,其中一些方向已被廣為關注,但也有一些方向仍未受到足夠的注意,值得更多討論。
今天這里分享一些區(qū)塊鏈公鏈技術發(fā)展的思考。公鏈作為區(qū)塊鏈世界的基礎設施中的基石,極大地影響著上層應用的效率、成本以及用戶體驗。如果從比特幣開始算起,公鏈一路走來已經(jīng) 10 年了,但至今為止還遠未到技術收斂的階段。在這第 11 個年頭,我細數(shù)一下已經(jīng)被大家廣為關注的方向,和一些尚未被大家關注的方向。
性能難點 1——速度
性能問題從區(qū)塊鏈最開始就被大家意識到,直觀的體驗就是速度,也就是一個交易多久能被確認。最初這個瓶頸是共識算法,Nakamoto 共識最初 10 分鐘一次出塊,平均交易確認延遲是 5 分鐘。而后以太坊將出塊間隔降到了 15 秒,期望平均交易確認延遲是 7 秒。但真的是 7 秒就能被確認了嗎?其實并不是。這時,性能的瓶頸變成了吞吐量,雖然交易確認延遲是 7 秒,但是大多數(shù)交易在排隊,除非給出很高的交易手續(xù)費來插隊。
吞吐量之所以受到限制,是因為普通全節(jié)點的帶寬,也就是互聯(lián)網(wǎng)的平均帶寬。這個限制和共識算法是本質(zhì)無關的。很高興這一點終于被很多團隊認識到,避免設計出一些只能運行在本地數(shù)據(jù)中心內(nèi)部的高吞吐量系統(tǒng)。要突破這個限制,唯一的出路是切分吞吐量,讓不同的全節(jié)點負責不同的部分。分片(Sharding)就是完成這種切分的有效方案,當然未來也可能有其它的方案。
在吞吐量問題解決之后,速度上的體驗又會回到交易確認延遲這個事情上。當然這個時候的要求就不是要達到幾十秒,而是應用會希望可以達到更低的延遲,比如 1 秒甚至以下。計算機系統(tǒng),在同一個層面的設計上,吞吐量和延遲通常會有矛盾。例如區(qū)塊鏈這種分批交易確認方式,一個批次越大,也就是 block 越大,吞吐量就會越大,而這時出塊的間隔就需要更長,也就使得交易確認延遲變大。
公鏈的 Layer 1 技術將工作量切分之后,吞吐量將獲得幾個數(shù)量級的提升,然而其交易確認延遲卻沒有顯著的改善。我自己的預判是,這里才是 Layer 2 的側(cè)鏈真正發(fā)揮作用的地方,而不是像現(xiàn)在很多側(cè)鏈項目宣稱的那樣,所要攻克的問題幾乎和 Layer 1 要攻克的問題完全一樣。
性能難點 2——容量
容量問題受到關注就少了很多。其實容量問題包含兩個方面,一個是內(nèi)存中的賬簿狀態(tài),每個用戶的余額以及智能合約的狀態(tài),另一個是磁盤中歸檔的歷史交易記錄。
比特幣幾乎沒有被擴展用戶狀態(tài),并且吞吐量又很低,所以在那個時候,這個容量完全不是問題。但是在吞吐量提升,并且 DApp 開始逐漸繁榮之后,容量問題便逐漸凸顯出來。和吞吐量類似,這個問題之所以受到限制,是因為普通全節(jié)點的內(nèi)存和硬盤的容量限制所致。這個限制也是和共識算法本質(zhì)無關的。
突破這個限制,唯一的出路也是切分容量的負擔,讓不同的全節(jié)點負責不同部分的賬簿狀態(tài)以及交易歸檔。分片(Sharding)就是完成這種切分的有效方案,當然未來也可能有其他的方案。賬簿狀態(tài)壓縮,歷史交易壓縮都是很好的實踐,可以和分片方案一起用。但是這些方向始終受限于單個全節(jié)點的本地資源限制,能提高幾倍已經(jīng)是非常不易,而設計良好的分片系統(tǒng)可以提高成百上千倍。
性能難點 3——分片
我最初來到這個領域,看其中的性能問題。按說分片是非常靠譜并且直接的解決方案。在區(qū)塊鏈以外的計算系統(tǒng),哪個不是通過劃分工作量,分散到不同的計算單元,從而獲得幾個數(shù)量級的性能提升?GPU、Mapreduce、CDN 哪個商用高性能體系不是用這樣的架構?當然最初是源自數(shù)據(jù)庫領域。然而,當時圈子里的人卻和我說分片是個偽科學,是一個不切實際的方案,無法為區(qū)塊鏈擴容提供任何幫助。我當時是驚了,這區(qū)塊鏈有什么特殊之處,使得切分工作量變得不可行了?
最后我發(fā)現(xiàn)了問題所在。并不是區(qū)塊鏈有什么特別之處,而是有個叫 Z 的項目,做了一個不完整的分片方案,僅僅切分了交易處理的工作量,而交易仍舊需要廣播給全網(wǎng)所有節(jié)點,每個節(jié)點仍舊需要維護全網(wǎng)的賬簿狀態(tài),每個交易的對賬簿狀態(tài)更新計算,所有節(jié)點也都仍要算一遍。這意味著完全沒有實現(xiàn)分片的好處,也沒有吞吐量和容量的提升,同時還引入了額外的開銷,導致其實際性能比不分片的系統(tǒng)還差。
但是,這個系統(tǒng)總體上安全性是沒問題的,繼承了之前共識算法的安全特性,所以他們的論文會被 ACM CCS 這樣專注計算和通訊安全的會議接受,倒也不令人驚訝。而真正在性能和容量上有突破的工作,為什么要找安全領域?qū)<胰ピu審,難道不應該是找性能領域的專家去評審嗎?例如 ACM SIGCOMM、OSDI、SOSP、NSDI 那樣的網(wǎng)絡系統(tǒng)的會議。當然,在那個空氣幣都飚上天的年份,Z 出來用這樣的技術方案,發(fā)個幣毫無壓力。
所以這里還是要給分片技術正名,這是公鏈 Layer 1 最靠譜的高性能發(fā)展方向。雖然有相當難度,但這是正途。
體驗障礙 1——交易隱私
自 Zcash 以來,交易隱私成為公鏈技術中非常重要的特性。和性能不同,這個特性是密碼學的主要陣地。其中零知識證明及其相關的延伸算法,是解決這個問題的主流方案。當前的缺陷是算法計算代價比較大,并且僅適用于較簡單的驗證計算問題,可以滿足匿名支付,但是離通用計算還有很大距離。這個也會是一個很重要的方向。
當然,并不是說隱私特性必須要支持通用計算,我覺得只要滿足主流應用即可。不過這個方向上,我的一個擔憂是在當下這個監(jiān)管主導的時代,這種強反監(jiān)管技術,對其上應用的發(fā)展可能會有很大的負面影響。
同時隱私有兩個方面的內(nèi)涵,一是用戶的狀態(tài),例如用戶的賬戶余額,二是用戶之間的活動記錄,例如 A 給 B 轉(zhuǎn)了 X 個幣。監(jiān)管和隱私也許可以在這兩個方面分開找到權衡的點。
但是,如果我們從聯(lián)盟鏈的角度去看這一塊內(nèi)容,就是另一番情形了。聯(lián)盟鏈是有準入機制的平臺,而不像公鏈那樣是完 全 permissionless 的。這個準入機制可以是監(jiān)管的切入點,同時其實各個商業(yè)實體的業(yè)務私密性可以得到很好的保障。這是一個意義非凡的方向。
體驗障礙 2——硬件安全執(zhí)行環(huán)境
硬件安全執(zhí)行環(huán)境芯片(TEE)的出現(xiàn),使得公允計算、隱私計算變得可以很簡單地實現(xiàn)??雌饋?,我們都可以不需要共識算法了,也不需要零知識證明了。很不幸,這個不是靈丹妙藥。暫且不提其計算效率低,內(nèi)存容量小的問題,最致命的是,一個號稱使用 TEE 的節(jié)點,沒法獨立證明他的計算是在 TEE 芯片中完成的,而需要依賴芯片廠商所提供的中心化的背書服務(Attestation Service)。這一點,對于 permissionless 的公鏈系統(tǒng)來說,是無法接受的。因為至少這些芯片廠商,可以凌駕于運行在 TEE 芯片中的共識邏輯和加密防護,而給出偽造的共識結果,探視隱私數(shù)據(jù)。
當然,在聯(lián)盟鏈這種有準入門檻的應用場景來說,TEE 芯片會是一個事半功倍的解決方案。將 TEE 芯片應用于聯(lián)盟鏈的共識機制和隱私計算機制,將是一個很有前景的方向。
體驗障礙 3——中心化的輔助設施
公鏈系統(tǒng)的正確運行不能依賴于任何中心化的設施,但是中心化的輔助設施可以為公鏈系統(tǒng)所支持的應用生態(tài),提供有益的優(yōu)化和用戶體驗提升。雖然可行,但是現(xiàn)階段大部分用戶并不直接部署全節(jié)點來參與網(wǎng)絡,而是通過依賴一個或多個可信賴的全節(jié)點服務提供商,來完成交互。這個環(huán)節(jié)的機制和安全性,會極大地影響最終用戶使用區(qū)塊鏈系統(tǒng)的實際體驗。尤其是移動端用戶的體驗。而這里可以有三個方向上的發(fā)展。
一是公共信息服務?,F(xiàn)在典型的例子是類似 Block Explorer 或者 Etherscan 這樣的數(shù)據(jù)服務網(wǎng)站和 Web 服務。這些服務使得應用可以很方便地獲取鏈上的狀態(tài),而避免承擔一個全節(jié)點的工作量。但是美中不足的是需要依賴服務提供商的信譽,同時服務提供商有作惡的可能。但是對于不敏感的業(yè)務,這些問題尚不構成嚴重的威脅。
二是交易狀態(tài)的鏈上證明。這種證明使得應用可以通過任何一個網(wǎng)上的全節(jié)點獲取可驗證的狀態(tài)信息,而不需要信任該節(jié)點。例如 Ethereum 的 MPT 樹(Merkle Patricia Tree)給出可被驗證的狀態(tài)。這種方式也可以提供上述的應用層的好處。并且不需要依賴其它節(jié)點的信譽,其它節(jié)點也沒有作惡的可能性。有待改善的是,這種可被驗證的信息類型非常有限。
三是讓用戶可以低成本地自行運行一個免維護的全節(jié)點,各個應用的客戶端通過信任并依賴用戶自己的全節(jié)點來完成鏈上的交互。這個方向,同時也是硬件的機會,一個面向普通用戶的、好用的全節(jié)點設備,會是一個很有意義的方向。并且這個做法更有助于公鏈系統(tǒng)本身的健壯性和去中心化。
體驗障礙 4——交易確認延遲
交易確認的等待是一個非常影響體驗的問題。對于支付應用來說,現(xiàn)在可以降到十幾秒確認,用戶尚可將就。而對于往復頻次更高的應用,如游戲,則需要更低的確認時間,例如百毫秒級。公鏈本身,首要保證安全性和去中心化,同時也由于批量確認交易才能獲得比較高的吞吐量,這使得很難再同時兼顧到交易的確認延遲。前面已經(jīng)提到,這個 Layer 1 無法解決的問題,才是 Layer 2 應該去攻克。
既然我們分了層,那么各個層應該有明確的差異和目標。Layer 1 用統(tǒng)一的方式承載全網(wǎng)的共識需求,那么就無法利用到特定應用的交易結構來優(yōu)化。而 Layer 2 是可以分開垂直做的,多個 Layer 2 技術可以在同一個公鏈上并存,服務于不同的垂直業(yè)務。這使得 Layer 2 技術可以利用特定類型應用的交易結構,來彌補 Layer 1 的不足之處,最明顯的機會便是交易延遲。
體驗障礙 5——私鑰管理
軟件時代用戶對個人數(shù)據(jù)管理毫無負擔,數(shù)據(jù)都在本地,在物理層面保護好自己的電腦就可以了。然后到了在線服務的時代,郵件系統(tǒng)首次大規(guī)模地教育了用戶,要對自己的個人數(shù)據(jù)負責,管理好自己的密碼。
在那個時代,中心化的服務給為用戶提供兜底的保護,提供一系列的方案,幫用戶找回遺忘的密碼。而今,在去中心化的應用面前,用戶承受了更大的負擔和責任,保護好自己的數(shù)據(jù)和資產(chǎn)權益。這個東西是私鑰。教育用戶保護好私鑰,比上一個時代的密碼管理要困難得多。
首先,私鑰不是一個人類可以記憶的東西,每個人的私鑰可以自主生成,但是其內(nèi)容是一個相當長的隨機比特串,不是用戶自己可以選擇的內(nèi)容。雖然很多錢包支持助記詞,甚至中文助記詞,但是依舊是需要用戶抄下來,而對于大多數(shù)人來說無法記在腦子里。其次,在去中心化的體系中,如果用戶丟失,將沒有任何一方可以提供找回服務,而永遠失去對賬戶和資產(chǎn)的控制權。
因此,在公鏈系統(tǒng)中,私鑰管理是否能提供更好的體驗將是一個重要方向。比如利用本身的共識存儲機制,或利用附加的 p2p 存儲功能,以類似互聯(lián)網(wǎng)服務的方式將用戶的私鑰管理起來,從而減輕用戶的記憶負擔和遺忘風險,但同時不失安全保障和去中心化的要求。相信這會是一個在使用便利性和安全可靠程度之間權衡的方案,適用于不同的場景和用戶群體。
以上隨筆,相信大家看到更多的更重要的方向,歡迎一起來討論。
本文為作者個人觀點,與就職單位無關。
王嘉平
王嘉平博士為微軟總部研究院前主管研究員,專注分布式系統(tǒng),計算機圖形學和視覺以及用于機器學習的 GPU 集群等領域的研究,有數(shù)十項研究成果發(fā)表于 ACM/ToG 頂級期刊以及已授權的美國專利。他師從沈向洋博士,在中科院計算所獲得博士學位。他的博士論文獲得 2009 年度全國百篇優(yōu)秀博士論文獎,是該年唯一一名計算機科學專業(yè)的獲獎者。王嘉平博士現(xiàn)任創(chuàng)新工場執(zhí)行董事,投資方向為區(qū)塊鏈和人工智能。他曾主導了對比特大陸的首輪機構投資,成為其首輪三大主要投資方之一。
關于DeepHash 專欄/每周二
文/林佳誼
“區(qū)塊鏈技術非常復雜,而且有很多誤解。更可怕的是,很多人自認為了解區(qū)塊鏈技術,但表現(xiàn)出的卻是無知。學術機構有著巨大的責任去培養(yǎng)下一代的創(chuàng)新者?!痹诙趴舜髮W商學院開設區(qū)塊鏈課程的教授 Campbell Harvey 曾經(jīng)有感而發(fā)地說。
每項新興技術發(fā)展都有它的周期,愈是可能帶來重大變革的技術,這個周期往往也愈明顯。就在區(qū)塊鏈技術步入所謂“幻滅的低谷”之時,DeepTech 深科技認為,下一個產(chǎn)業(yè)風口,如今正在每個頂尖高校的實驗室、在各國央行與監(jiān)管機構的研究室,在行業(yè)組織的研討會中醞釀著。
DeepTech 深科技認為,此時才是關鍵時刻,身為一家堅持深入報道科學科技產(chǎn)業(yè)的專業(yè)媒體與科技服務提供者,我們有責任也有必要,在這個時點上有帶領讀者去撥開迷霧、厘清誤解,培養(yǎng)對區(qū)塊鏈技術的更深刻認知。
因為此我們于每周二固定推出 DeepHash 專欄,由 DeepTech 資深編輯林佳誼,邀集千人學者兼天德鏈創(chuàng)始人蔡維德、分布式系統(tǒng)專家王嘉平、物聯(lián)網(wǎng)區(qū)塊鏈初創(chuàng) Biilabs 創(chuàng)始人朱宜振等專家學者共同維護,每周一次,帶領讀者在技術研發(fā)、在法規(guī)政策、在行業(yè)標準,在國際趨勢,方方面面深入挖掘未來 3-5 年真正具有產(chǎn)業(yè)化潛力的區(qū)塊鏈知識。
-
互聯(lián)網(wǎng)
+關注
關注
54文章
11148瀏覽量
103222 -
區(qū)塊鏈
+關注
關注
111文章
15562瀏覽量
105922 -
比特幣
+關注
關注
57文章
7005瀏覽量
140507
原文標題:怎么讓區(qū)塊鏈變”有用”?談公鏈的3大性能難點、5大體驗障礙|DeepHash 專欄
文章出處:【微信號:deeptechchina,微信公眾號:deeptechchina】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論