編者按:本文來自王嘉平,作者:王嘉平,林佳誼,Odaily星球日報經授權轉載。
今天這里分享一些區塊鏈公鏈技術發展的思考。公鏈作為區塊鏈世界的基礎設施中的基石,極大地影響著上層應用的效率、成本以及用戶體驗。如果從比特幣開始算起,公鏈一路走來已經10年了,但至今為止還遠未到技術收斂的階段。在這第11個年頭,我細數一下已經被大家廣為關注的方向,和一些尚未被大家關注的方向。性能難點1——速度性能問題從區塊鏈最開始就被大家意識到,直觀的體驗就是速度,也就是一個交易多久能被確認。最初這個瓶頸是共識算法,Nakamoto共識最初10分鐘一次出塊,平均交易確認延遲是5分鐘。而后以太坊將出塊間隔降到了15秒,期望平均交易確認延遲是7秒。但真的是7秒就能被確認了嗎?其實并不是。這時,性能的瓶頸變成了吞吐量,雖然交易確認延遲是7秒,但是大多數交易在排隊,除非給出很高的交易手續費來插隊。吞吐量之所以受到限制,是因為普通全節點的帶寬,也就是互聯網的平均帶寬。這個限制和共識算法是本質無關的。很高興這一點終于被很多團隊認識到,避免設計出一些只能運行在本地數據中心內部的高吞吐量系統。要突破這個限制,唯一的出路是切分吞吐量,讓不同的全節點負責不同的部分。分片就是完成這種切分的有效方案,當然未來也可能有其它的方案。在吞吐量問題解決之后,速度上的體驗又會回到交易確認延遲這個事情上。當然這個時候的要求就不是要達到幾十秒,而是應用會希望可以達到更低的延遲,比如1秒甚至以下。計算機系統,在同一個層面的設計上,吞吐量和延遲通常會有矛盾。例如區塊鏈這種分批交易確認方式,一個批次越大,也就是block越大,吞吐量就會越大,而這時出塊的間隔就需要更長,也就使得交易確認延遲變大。公鏈的Layer1技術將工作量切分之后,吞吐量將獲得幾個數量級的提升,然而其交易確認延遲卻沒有顯著的改善。我自己的預判是,這里才是Layer2的側鏈真正發揮作用的地方,而不是像現在很多側鏈項目宣稱的那樣,所要攻克的問題幾乎和Layer1要攻克的問題完全一樣。性能難點2——容量容量問題受到關注就少了很多。其實容量問題包含兩個方面,一個是內存中的賬簿狀態,每個用戶的余額以及智能合約的狀態,另一個是磁盤中歸檔的歷史交易記錄。比特幣幾乎沒有被擴展用戶狀態,并且吞吐量又很低,所以在那個時候,這個容量完全不是問題。但是在吞吐量提升,并且DApp開始逐漸繁榮之后,容量問題便逐漸凸顯出來。和吞吐量類似,這個問題之所以受到限制,是因為普通全節點的內存和硬盤的容量限制所致。這個限制也是和共識算法本質無關的。突破這個限制,唯一的出路也是切分容量的負擔,讓不同的全節點負責不同部分的賬簿狀態以及交易歸檔。分片就是完成這種切分的有效方案,當然未來也可能有其他的方案。賬簿狀態壓縮,歷史交易壓縮都是很好的實踐,可以和分片方案一起用。但是這些方向始終受限于單個全節點的本地資源限制,能提高幾倍已經是非常不易,而設計良好的分片系統可以提高成百上千倍。性能難點3——分片我最初來到這個領域,看其中的性能問題。按說分片是非常靠譜并且直接的解決方案。在區塊鏈以外的計算系統,哪個不是通過劃分工作量,分散到不同的計算單元,從而獲得幾個數量級的性能提升?GPU、Mapreduce、CDN哪個商用高性能體系不是用這樣的架構?當然最初是源自數據庫領域。然而,當時圈子里的人卻和我說分片是個偽科學,是一個不切實際的方案,無法為區塊鏈擴容提供任何幫助。我當時是驚了,這區塊鏈有什么特殊之處,使得切分工作量變得不可行了?最后我發現了問題所在。并不是區塊鏈有什么特別之處,而是有個叫Z的項目,做了一個不完整的分片方案,僅僅切分了交易處理的工作量,而交易仍舊需要廣播給全網所有節點,每個節點仍舊需要維護全網的賬簿狀態,每個交易的對賬簿狀態更新計算,所有節點也都仍要算一遍。這意味著完全沒有實現分片的好處,也沒有吞吐量和容量的提升,同時還引入了額外的開銷,導致其實際性能比不分片的系統還差。但是,這個系統總體上安全性是沒問題的,繼承了之前共識算法的安全特性,所以他們的論文會被ACMCCS這樣專注計算和通訊安全的會議接受,倒也不令人驚訝。而真正在性能和容量上有突破的工作,為什么要找安全領域專家去評審,難道不應該是找性能領域的專家去評審嗎?例如ACMSIGCOMM、OSDI、SOSP、NSDI那樣的網絡系統的會議。當然,在那個空氣幣都飚上天的年份,Z出來用這樣的技術方案,發個幣毫無壓力。所以這里還是要給分片技術正名,這是公鏈Layer1最靠譜的高性能發展方向。雖然有相當難度,但這是正途。體驗障礙1——交易隱私自Zcash以來,交易隱私成為公鏈技術中非常重要的特性。和性能不同,這個特性是密碼學的主要陣地。其中零知識證明及其相關的延伸算法,是解決這個問題的主流方案。當前的缺陷是算法計算代價比較大,并且僅適用于較簡單的驗證計算問題,可以滿足匿名支付,但是離通用計算還有很大距離。這個也會是一個很重要的方向。當然,并不是說隱私特性必須要支持通用計算,我覺得只要滿足主流應用即可。不過這個方向上,我的一個擔憂是在當下這個監管主導的時代,這種強反監管技術,對其上應用的發展可能會有很大的負面影響。同時隱私有兩個方面的內涵,一是用戶的狀態,例如用戶的賬戶余額,二是用戶之間的活動記錄,例如A給B轉了X個幣。監管和隱私也許可以在這兩個方面分開找到權衡的點。但是,如果我們從聯盟鏈的角度去看這一塊內容,就是另一番情形了。聯盟鏈是有準入機制的平臺,而不像公鏈那樣是完全permissionless的。這個準入機制可以是監管的切入點,同時其實各個商業實體的業務私密性可以得到很好的保障。這是一個意義非凡的方向。體驗障礙2——硬件安全執行環境硬件安全執行環境芯片的出現,使得公允計算、隱私計算變得可以很簡單地實現。看起來,我們都可以不需要共識算法了,也不需要零知識證明了。很不幸,這個不是靈丹妙藥。暫且不提其計算效率低,內存容量小的問題,最致命的是,一個號稱使用TEE的節點,沒法獨立證明他的計算是在TEE芯片中完成的,而需要依賴芯片廠商所提供的中心化的背書服務。這一點,對于permissionless的公鏈系統來說,是無法接受的。因為至少這些芯片廠商,可以凌駕于運行在TEE芯片中的共識邏輯和加密防護,而給出偽造的共識結果,探視隱私數據。當然,在聯盟鏈這種有準入門檻的應用場景來說,TEE芯片會是一個事半功倍的解決方案。將TEE芯片應用于聯盟鏈的共識機制和隱私計算機制,將是一個很有前景的方向。體驗障礙3——中心化的輔助設施公鏈系統的正確運行不能依賴于任何中心化的設施,但是中心化的輔助設施可以為公鏈系統所支持的應用生態,提供有益的優化和用戶體驗提升。雖然可行,但是現階段大部分用戶并不直接部署全節點來參與網絡,而是通過依賴一個或多個可信賴的全節點服務提供商,來完成交互。這個環節的機制和安全性,會極大地影響最終用戶使用區塊鏈系統的實際體驗。尤其是移動端用戶的體驗。而這里可以有三個方向上的發展。一是公共信息服務。現在典型的例子是類似BlockExplorer或者Etherscan這樣的數據服務網站和Web服務。這些服務使得應用可以很方便地獲取鏈上的狀態,而避免承擔一個全節點的工作量。但是美中不足的是需要依賴服務提供商的信譽,同時服務提供商有作惡的可能。但是對于不敏感的業務,這些問題尚不構成嚴重的威脅。二是交易狀態的鏈上證明。這種證明使得應用可以通過任何一個網上的全節點獲取可驗證的狀態信息,而不需要信任該節點。例如Ethereum的MPT樹給出可被驗證的狀態。這種方式也可以提供上述的應用層的好處。并且不需要依賴其它節點的信譽,其它節點也沒有作惡的可能性。有待改善的是,這種可被驗證的信息類型非常有限。三是讓用戶可以低成本地自行運行一個免維護的全節點,各個應用的客戶端通過信任并依賴用戶自己的全節點來完成鏈上的交互。這個方向,同時也是硬件的機會,一個面向普通用戶的、好用的全節點設備,會是一個很有意義的方向。并且這個做法更有助于公鏈系統本身的健壯性和去中心化。體驗障礙4——交易確認延遲交易確認的等待是一個非常影響體驗的問題。對于支付應用來說,現在可以降到十幾秒確認,用戶尚可將就。而對于往復頻次更高的應用,如游戲,則需要更低的確認時間,例如百毫秒級。公鏈本身,首要保證安全性和去中心化,同時也由于批量確認交易才能獲得比較高的吞吐量,這使得很難再同時兼顧到交易的確認延遲。前面已經提到,這個Layer1無法解決的問題,才是Layer2應該去攻克。既然我們分了層,那么各個層應該有明確的差異和目標。Layer1用統一的方式承載全網的共識需求,那么就無法利用到特定應用的交易結構來優化。而Layer2是可以分開垂直做的,多個Layer2技術可以在同一個公鏈上并存,服務于不同的垂直業務。這使得Layer2技術可以利用特定類型應用的交易結構,來彌補Layer1的不足之處,最明顯的機會便是交易延遲。體驗障礙5——私鑰管理軟件時代用戶對個人數據管理毫無負擔,數據都在本地,在物理層面保護好自己的電腦就可以了。然后到了在線服務的時代,郵件系統首次大規模地教育了用戶,要對自己的個人數據負責,管理好自己的密碼。在那個時代,中心化的服務給為用戶提供兜底的保護,提供一系列的方案,幫用戶找回遺忘的密碼。而今,在去中心化的應用面前,用戶承受了更大的負擔和責任,保護好自己的數據和資產權益。這個東西是私鑰。教育用戶保護好私鑰,比上一個時代的密碼管理要困難得多。首先,私鑰不是一個人類可以記憶的東西,每個人的私鑰可以自主生成,但是其內容是一個相當長的隨機比特串,不是用戶自己可以選擇的內容。雖然很多錢包支持助記詞,甚至中文助記詞,但是依舊是需要用戶抄下來,而對于大多數人來說無法記在腦子里。其次,在去中心化的體系中,如果用戶丟失,將沒有任何一方可以提供找回服務,而永遠失去對賬戶和資產的控制權。因此,在公鏈系統中,私鑰管理是否能提供更好的體驗將是一個重要方向。比如利用本身的共識存儲機制,或利用附加的p2p存儲功能,以類似互聯網服務的方式將用戶的私鑰管理起來,從而減輕用戶的記憶負擔和遺忘風險,但同時不失安全保障和去中心化的要求。相信這會是一個在使用便利性和安全可靠程度之間權衡的方案,適用于不同的場景和用戶群體。以上隨筆,相信大家看到更多的更重要的方向,歡迎一起來討論。本文為作者個人觀點,與就職單位無關。
Alnn幣談:BTC這輪上漲后市怎么看?:4月24日17:00,行情大V Alnn幣談做客金色財經《幣情觀察室》直播間,將分享《BTC這輪上漲后市怎么看?》,欲觀看直播掃描下圖二維碼即可!
?[2020/4/24]
Cardano創始人:我知道怎么找出中本聰:Cardano創始人、IOHK首席執行官Charles Hoskinson在接受采訪時談到了一種或可揭開中本聰身份疑云的方法。Charles提出的方法源于“文體學(Stylometry)”即通過研究個人寫作習慣,分析個人寫作特點,進而確定作者身份。而Charles在此基礎上又提到了一個新的名詞“代碼文體學(Code Stylometry)”即通過分析代碼特征以判斷編寫者身份。鑒于最早期的比特幣代碼均為中本聰本人編寫,通過上述方法,可以將早期比特幣代碼與所有開源項目中的代碼進行比對,有很大概率可以找出“代碼文體學”意義上由同一個人編寫的其他項目代碼,隨后,再去跟蹤這些被找出的項目,便有可能最終定向至中本聰的真身。(U.Today)[2020/4/6]
聲音 | OK副總裁徐坤:區塊鏈產業最核心的是業務體系怎么健全:OK副總裁徐坤接受采訪時表示,目前來看,區塊鏈產業最核心的地方是,公司的業務體系怎么去健全,每個業務條線怎么夯實,這是一家公司的靈魂。而研究是輔助性的,是內部支持的功能,不是向外拓展的關鍵。[2019/5/15]
馬化騰:科技變革到了新風口,區塊鏈不錯但關鍵在于怎么用:今日晚間,馬化騰在媒體溝通會上被問對區塊鏈的看法時,馬化騰表示:“近來區塊鏈大熱,甚至有人說區塊鏈之前的互聯網是古典互聯網,區塊鏈技術是好的,但關鍵在于怎么用。這雖然很熱,但我們沒有考慮參與其中。”馬化騰認為,區塊鏈可以用于很多領域,尤其在內部票據的認證中,區塊鏈解決了很大的問題。[2018/3/3]
真格基金徐小平:區塊鏈帶來的影響怎么強調都不為過:真格基金官方微信訂閱號今日刊登了真格基金創始人徐小平在昨日的黑馬成長營上的演講,在現場,徐小平稱,區塊鏈帶來的影響怎么強調都不為過。[2018/1/14]
在數字資產市場處于底部的震蕩階段,多個數字資產領域的資管團隊為用戶提供了合適的存儲保障,幫助不少用戶度過了艱難的時期.
1900/1/1 0:00:00透過屏幕,無數雙眼睛正窺探著你的生活。處于蠻荒時代的用戶信息與大數據應用,是否因為谷歌剛剛收到的那張5000萬歐元的侵害用戶隱私權大罰單而感到忌憚?區塊鏈的非對稱加密技術,或許是解決用戶隱私保護.
1900/1/1 0:00:00編者按:本文來自碳鏈價值,作者:白魚,編輯:唐晗,校對:Conflux研究總監、密碼學專家楊光博士,Odaily星球日報經授權轉載.
1900/1/1 0:00:00摩根幣是基于法幣的數字貨幣,即穩定幣,而比特幣是沒有任何資產支撐的純粹的虛擬貨幣,是純粹的價值傳遞物,類似于黃金,能生存下來的應該是某種形式的穩定幣.
1900/1/1 0:00:00編者按:本文來自區塊律動BlockBeats,|作者:區塊律動BlockBeats0x29,星球日報經授權發布.
1900/1/1 0:00:00導讀韓國是目前世界上最熱衷于區塊鏈及通證的國家之一,其法定貨幣韓元曾一度占據通證交易量世界前三的位置。并且韓國擁有多家全球排名前列的通證交易平臺,也為其國內投資者進行通證交易提供了諸多便利.
1900/1/1 0:00:00