區塊鏈的性能優化是一個很熱的話題。然而,由于區塊鏈系統的復雜性,系統性理解性能優化門檻很高,這就為“性能虛標”提供了空間
前有“百萬tps”大躍進,后有“80萬tps”宕機鏈
所以,我希望展開來講一下決定區塊鏈各模塊的性能瓶頸和挑戰,看看那些漂亮數據背后的水分
1.網絡模塊
作為一個去中心化的系統,網絡通信是整個系統的基礎,也有人將其稱為Layer0
我將網絡模塊抽象為三層:網絡設施層、節點連結層、廣播協議層。每一層都是下一層的基礎,每一層的性能都是下一層性能的上限
網絡模塊的帶寬和延遲構成了區塊鏈系統tps和finality延遲的基礎
1.1網絡設施層
Basis Cash已決定與Cover Protocol續保 并將啟動護盾挖礦:12月28日,去中心化保險協議Cover Protocol官方宣布,DeFi算法穩定幣項目Basis Cash已決定續保。隨后官方將為Basis Cash確定新的保險有效期。與此同時,護盾挖礦將于2021年2月28日啟動。而在此前12月24日,Cover Protocol曾宣布計劃在12月底保險到期后暫停為穩定幣項目Basis承保。[2020/12/28 15:52:24]
帶寬:主要取決于網絡基礎設施的發展,以及區塊鏈節點的配置要求。前幾年公鏈的網絡配置要求一般在20Mbps到100Mbps.到2022年,Aptos已經要求1Gbps網絡帶寬了。總之,帶寬要求越高,節點門檻越高,越中心化
延遲:延遲有一個優化的極限,就是光速。互聯網中的傳輸延遲比光速延遲要更大一些。Conflux曾經測得的洲際節點延遲可達200-300ms。如果是那種所有節點都在一個數據中心的“機房鏈”,延遲可以忽略不計
KyberDAO投票決定網絡費用分配比例:KyberDAO發起新投票,決定KyberNetwork網絡費用如何在銷毀KNC代幣、返還和投票獎勵這三者間進行分配。截至目前在四種分配方案當中得票最高的是選項A:6.2%用于銷毀代幣,67.32%用于投票獎勵,26.48%返還,投票還將持續3天時間。用戶質押一定的KNC代幣參與治理將獲得以太坊獎勵。[2020/11/24 21:56:13]
1.2節點連結層
節點連結層主要通過鄰居節點間的通信實現網絡中的消息廣播
帶寬:一般情況下,節點連結層可以獲得接近于網絡設施層的帶寬。也可以選擇犧牲帶寬來降低延遲:例如,當要廣播一條消息時,同時發給所有鄰居,而不是發完一個再發下一個
延遲:消息廣播延遲和節點數量有關,節點越多,延遲越高
目前比特幣和以太坊大概有幾千個節點。根據我們的實驗,如果全網有一萬個世界各地的節點,廣播延遲中位數3~6秒,最大可至15秒。通過一些協議優化,最大延遲可以再降低一半
聲音 | 胡錫進:在惡補區塊鏈知識,或許將決定我們的未來:《環球時報》總編輯胡錫進發微博稱,今天在惡補區塊鏈的知識。是不是大家都不太懂區塊鏈是怎么回事,即使看了相關解說,也模模糊糊的?但有什么辦法,很可能正是這些模模糊糊的東西將決定我們的未來。區塊鏈算什么,它也許只相當于高速公路上的80邁。老胡見過外國不限速的高速公路上,汽車跑到240邁。有什么辦法,碰上了,只有跟上那樣的速度。[2019/10/29]
而一些宣稱確認延遲1~2秒的公鏈,顯然只能支撐更少的節點
1.3廣播協議層
節點連結層只負責轉發數據塊,而不管數據是什么。而廣播協議層則定義具體的區塊、交易轉發規則
帶寬:主要在于如何減少冗余傳輸。試想,如果每個鄰居都給你發了同一筆交易,是不是很浪費?Conflux設計的轉發協議Shrec,就通過減少冗余,在同等網絡帶寬下將廣播交易的tps提升了6倍
不過,只要網絡設施層帶寬足夠高,即使不優化,這里也不會成為瓶頸
金色晨訊 | 中國首家媒體接受比特幣訂閱 歐盟將于今年決定是否制定虛擬貨幣監管法規:1.歐盟委員會副主席:歐盟年底前將決定是否制定新法規監管虛擬貨幣
2.火幣收購桐成之路再起波瀾,收購委托方被監管調查
3.北京科技報《科技生活》接受比特幣訂閱
4.中國國家地理小程序推出“地理幣”支持小程序支付
5.密蘇拉縣拒絕暫停加密貨幣運營的提議
6.塞拉利昂通過聯合國伙伴關系開發基于區塊鏈的身份識別平臺
7.蘇州設立10億區塊鏈引導基金,欲將高鐵新城變“鏈谷”
8.穩定幣每日交易總量中約98%來自Tether
9.馬耳他總理:加密貨幣是不可避免的未來[2018/10/1]
延遲:一些共識協議會將廣播協議層的延遲放大若干倍,例如,比特幣的出塊間隔需要5倍于廣播協議層的延遲,而確認需要6個塊。因此,優化這里的延遲至關重要。2016年,比特幣通過緊湊區塊的設計,將區塊廣播延遲從120秒降低到了不到10秒
緊湊區塊不包含完整交易,只包含交易哈希前6字節,因為這些交易已經在網絡中被廣播過并被多數節點收到。這可以加速區塊廣播,使廣播協議層獲得接近節點連結層的延遲。2017年后,高性能公鏈基本都采取了這一設計
動態 | 以太坊團隊例會上決定實行康斯坦丁堡硬分叉:根據Cointelegraph消息,以太坊核心開發團隊于本周五在YouTube上舉行例會,討論客戶端更新和為即將到來的康斯坦丁堡硬分叉做準備。 對于即將到來的康斯坦丁堡硬分叉,團隊將測試企業集成模式(EIPs)試點。團隊決定在康斯坦丁堡硬分叉后,每8個月發布一次新的硬分叉。 據悉,團隊決定不急于推出新的EIPs或推遲計劃的實施。一切將按計劃進行,及時實施硬分叉。[2018/8/25]
2.共識模塊
共識協議是區塊鏈系統中最復雜、最精巧的部分,它協調各個互不信任的節點,并為上層應用提供提供可信的去中心化服務。很長一段時間內,對共識模塊的性能優化都是熱點
帶寬:中本聰共識自身的缺陷導致它的共識帶寬必須處于一個非常低的水平,否則會增加網絡分叉,降低系統安全性
2017年后的新協議基本都可以充分利用帶寬了,這不再是一個難題
不過,有些項目混淆了共識模塊的tps和區塊鏈系統的tps,把充分利用帶寬稱為“無限可擴展”,仿佛網絡帶寬是無限的
延遲:共識的延遲指區塊從產生到finalize需要多久。中本聰共識的確認延遲很差,大概需要30~60倍廣播協議層延遲,后續PoW協議例如Bitcoin-NG,OHIE等也沒有優化這一延遲
Prism將延遲優化到了23倍,Conflux優化到了3倍。PoS協議我了解得有限,估算大概需要5倍延遲
不過PoW和PoS協議有一個很大的不同:PoW參考最大延遲,PoS參考中位數延遲,而最大延遲和中位數延遲可能有3倍差異,所以PoS共識普遍延遲表現更好一些。節點少的話,進入10秒也不是不可能。至于以太坊這種上了PoS共識反而更慢的,只能說是一個奇葩吧
共識模塊是“參數虛標”最嚴重的地方。比如,明明需要等6個區塊才能達到安全性要求,項目方告訴你1個區塊就行,反正沒人攻擊就不會露餡,沒資產就沒人攻擊
還有一種叫分片的技術:給節點分組,把交易分給各組,每組只處理自己的交易、相信其他小組。這種技術通過增加小組數量,容易獲得一個很高的tps用于吹噓,但相信其他小組會帶來安全風險。所以分片適用于對安全性要求不高的場景,如國產聯盟鏈
3.執行模塊
以太坊之所以能在比特幣外開辟一片天地,在于它創造了可編程的數字資產。因此交易執行模塊也是區塊鏈系統的重要的一環。也是在早期的性能優化中被忽視的一環
執行不再區分帶寬和延遲,只關心單位時間內處理的交易或計算任務數量。
執行模塊的效率受到計算機系統各個資源的限制
3.1CPU資源
在串行執行中,CPU的性能瓶頸是非常明顯的。在過去5年內,CPU單核性能提升了不到1倍。在EVM中,如果不考慮存儲訪問,最快的CPU大概1秒能執行1億gas,是現在以太坊性能的80倍
并行執行是利用CPU資源的關鍵一步。一些項目在嘗試提出更利于并行的語言模型,例如Move
在Conflux一項關于EVM并行化的研究表示,目前以太坊鏈上交易的并行化潛力是9倍tps
但是,并行化VM有很多的挑戰。比如,理想情形下,交易高度并行;最差情形下,交易相互依賴,只能串行。那如何設計gas定價與gaslimit,使得理想情況可以充分利用并行優化,而最差情況又不至于跟不上執行?
3.2存儲訪問資源
和網絡設施層一樣,這里的性能主要取決于硬件的發展和區塊鏈節點的最低配置。除非數據被緩存在內存里,執行交易時的讀寫性能不可能超越硬盤的讀寫性能
還拿Aptos舉例,他們節點的存儲要求是40KIOPS,而一筆交易可能涉及到發送者和接受者兩個賬戶的狀態修改,也就是最差情況下網絡只能支持2萬tps
但他們的宣稱tps是16萬,可想而知這后面有多少不公開的前提條件了
3.3可驗證存儲結構
可驗證存儲結構是區塊鏈存儲的一個重要數據結構。它允許一個輕節點向一個它不信任的全節點查詢鏈上狀態,是區塊鏈trustless里的最重要一環
在以太坊中,訪問可驗證存儲結構MPT比直接訪問數據庫慢10倍。所以,有些區塊鏈干脆去除了可驗證存儲結構,以換取更好的性能
最后做個總結,區塊鏈的性能優化不是一個追求極限的過程,而是在各種限制下對安全、效率、去中心化程度的取舍
有些取舍是可以被優化的,比如中本聰共識中,共識帶寬與安全性的矛盾后來被解決了
有些取舍是不可避免的,如果你要求每個節點配備256GB的內存,就注定了獨立參與者的數量不會太多
一味地去追求紙面上的高性能,只會得到一個中心化的宕機鏈。只有真正去面對和解決性能優化中的問題,才是性能提升的正途
希望這篇文章對大家有一定的幫助,有想跟作者聊聊的歡迎私信!
Tags:區塊鏈以太坊CPU區塊鏈工程專業學什么區塊鏈存證怎么弄區塊鏈技術發展現狀和趨勢以太坊幣是什么幣CPU幣CPU價格
存儲是Web3中的一個大問題。Computecoin的首席執行官MaxLi博士說,人類是數據生產爆炸式增長的罪魁禍首,而這些數據必須存在于某個地方.
1900/1/1 0:00:00較高時間框架的市場結構仍然看跌短期圖表顯示看漲勢頭——但這能否打破之前的下跌趨勢? 比特幣回到了自去年11月以來一直處于的阻力區域.
1900/1/1 0:00:00TLDR 與Sui類似,Aptos是由Meta(FaceBook)的前員工開發的,Diem鏈是Meta的最初區塊鏈計劃,于今年1月被放棄.
1900/1/1 0:00:00一段時間以來,按市值計算的第二大加密貨幣以太坊一直陷入拉高拋售交易。盡管該貨幣已成功收回1,300美元,但多頭無法在該區間內保持更長時間,從而導致崩盤.
1900/1/1 0:00:00接下來值得關注的利好 1.FTX新管理團隊:目前為止已恢復約70億美元流動資產。4月份就說重啟的事情,兩個月的發展來看,雖然跟85億美元負債有出入,但整體從得到資產來看相差不是很大,后續只要行情.
1900/1/1 0:00:00加密貨幣市場對爭議并不陌生,最近針對幣安的指控再次引發了關于市場誠信的爭論。與此同時,Chainlink(LINK)和RenQFinance(RENQ)是兩個令人興奮的項目,已經引起了投資者的極.
1900/1/1 0:00:00