文/Joseph Bonneau a16z Crypto研究員
性能和可擴展性是加密世界面臨的挑戰,一直是一個激烈討論的話題,與L1項目(獨立區塊鏈)和L2解決方案(如rollup和鏈下通道)密切相關。然而,我們還沒有標準化的指標或基準進行衡量。數據報告往往不一致且不完整,這使得項目間的準確比較變得非常困難,而且常常使實踐中最重要的內容模糊不清。
我們需要一種更細致、徹底的方法來衡量和比較區塊鏈性能——應將性能分解為多個組件,并在多個軸上進行比較權衡。在本文中,我定義了基本術語,概述了困難挑戰,并提供了評估區塊鏈性能需要謹記的指導方針和關鍵原則。
首先,讓我們先定義兩個術語,那就是可擴展性和性能,它們具有標準的計算機科學含義,在區塊鏈背景下經常被誤用。性能用來衡量系統當前能夠實現的目標。正如我們下面將要討論的,性能指標可能包括每秒交易數量或交易確認時間中位數。另一方面,可擴展性則用來衡量系統通過添加資源來提升性能的能力。
這個區別是很重要的:如果定義正確,很多提高性能的方法是根本不能提高可擴展性的。一個簡單的例子就是使用更有效的數字簽名機制,例如BLS簽名,其長度約是Schnorr或ECDSA簽名的一半。如果比特幣從ECDSA簽名切換到BLS,每個區塊的交易數量可能會增加20-30%,一夜之間就能提高性能。但我們只能這樣做一次——再沒有其他更節省空間的簽名機制可供切換(BLS簽名也可以聚合以節省更多空間,但這是另一個一次性的技巧)。
在區塊鏈中還有其他一些一次性技巧可以使用(如SegWit),但你需要一個可擴展的體系架構來實現持續的性能優化,添加更多的資源可以隨著時間的推移提升性能。這也是許多其他計算機系統的傳統智慧,比如構建一個網絡服務器。通過一些常見技巧,你可以構建一個速度非常快的服務器;但最終,你需要一個多服務器體系架構,通過不斷添加新的服務器來滿足不斷增長的需求。
金色熱搜榜:GTC居于榜首:根據金色財經排行榜數據顯示,過去24小時內,GTC搜索量高居榜首。具體前五名單如下:GTC、OK、ARK、ENU、NANO。[2021/5/26 22:46:39]
懂得這個區別還有助于避免語句中出現的常見類別錯誤,比如“區塊鏈X是高度可擴展的,它每秒可以處理Y個交易!”后半句說法可能令人印象深刻,但它是一個性能指標,而非可擴展性指標。它說的并不是通過添加資源來提升性能的能力。
可擴展性本質上要求利用并行性。在區塊鏈世界中,L1擴展明顯需要分片或類似于分片的支持。分片的基本概念是將狀態分割成一系列分區,以便不同的驗證者可以獨立處理,此概念與可擴展性的定義非常匹配。在L2上還有更多選項,L2允許添加并行處理,包括鏈下通道、rollup服務器和側鏈。
通常,區塊鏈系統性能是通過兩個維度進行評估的,即延遲和吞吐量:延遲用以衡量確認單個交易的速度,而吞吐量用以衡量隨著時間的推移交易的總速率。這些度量軸既適用于L1和L2系統,也適用于許多其他類型的計算機系統(如數據庫查詢引擎和web服務器)。
遺憾的是,對延遲和吞吐量的衡量和比較都很復雜。此外,個人用戶實際上并不關心吞吐量(這是一個系統范圍的衡量指標)。個人用戶真正關心的是延遲和交易費——更具體地說,就是他們的交易盡可能快、盡可能低成本地得到確認。盡管許多其他計算機系統也以成本/性能為基礎進行評估,但交易費是區塊鏈系統的一個新的性能軸,并不真實存在于傳統計算機系統中。
延遲一開始看起來簡單明了:交易需要多長時間才能得到確認?但總是有幾種不同的方法來回答這個問題。
金色相對論 | 于佳寧:區塊鏈行業正進入“政策紅利期”:在今日舉行的金色相對論中,針對“兩會提案中區塊鏈相關領域觀察到了哪些方面變化”的問題,火幣大學校長于佳寧表示,例如,有代表委員的建議就強調了“通證經濟”、“鏈改”的重要性。再如,有代表提議用區塊鏈技術建立國家級的游戲防沉迷系統。事實上,如果能通過區塊鏈打通多款游戲,進而實現玩家數字身份化,就有機會實現游戲道具等虛擬財產地鏈上流轉,實現數字資產化。同時,也有代表委員提出了具體的產業區塊鏈落地構想,區塊鏈+智慧交通就是一個非常重要的領域。又如,有代表委員提出出臺國家級的區塊鏈產業發展規劃,設立政府主導的區塊鏈產業發展專項基金,這種提案落實的可能性相對較大,也是順應區塊鏈發展歷史趨勢。關于提案的效能,必須重視,因為對于代表委員的正式提案,相關的部委都必須進行研究并給出答復,很多提案都有機會納入正式的政策,因此提案實際上最前瞻的政策風向標。我個人認為,今年兩會有關區塊鏈的系列提案,實際上說明區塊鏈行業正在進入“政策紅利期”,產業區塊鏈即將迎來爆發。[2020/6/2]
首先,我們可以在不同時間點衡量延遲,得到的結果也不同。例如,我們什么時候開始計時衡量?是當用戶在本地點擊“提交”按鈕時,還是當交易進入內存池時?我們又在什么時候停止計時呢?是當交易進入提議區塊中,還是當一個區塊被后續一個或六個區塊確認時?
最常用的方法是從驗證者角度出發,衡量從一個客戶端第一次廣播交易到合理“確認”交易的時間(在此意義上,相當于現實世界里的商家認為已收到客戶付款,然后發出商品)。當然,不同的商家可能采用不同的驗收標準,甚至同一個商家也可能根據交易金額的不同采用不同的標準。
金色晨訊 | 澳大利亞政府推出Govpass區塊鏈技術系統 廣東稅務局升級“稅鏈”區塊鏈電子發票平臺:1.澳大利亞政府推出Govpass區塊鏈技術系統。
2.Brave已成為HTC Exodus手機的默認瀏覽器。
3.OKEx超越幣安成交易額排名第一交易所。
4.泰國政府鼓勵合規的區塊鏈公司在泰國發展。
5.阿布扎比國家石油公司與IBM合作并試行區塊鏈自動化系統。
6.廣東省稅務局升級“稅鏈”區塊鏈電子發票平臺。
7.杭州互聯網法院已立案88起通過司法區塊鏈維權案件。
8.華媒控股收購蕭文置業部分股權 將區塊鏈板塊導入“華媒智谷”項目。
9.北京西城區將對區塊鏈等技術創新最高給予1000萬元資金獎勵。[2018/12/10]
以驗證者為中心的方法忽略了在實踐中的一些重要事項。首先,它忽略了點對點網絡上的延遲(從客戶端廣播一個交易直到大多數節點聽到這個交易消息需要多長時間?),也忽略了客戶端延遲(在客戶端的本地機器上準備一個交易需要多長時間?)客戶端延遲可能非常小,對于簽署以太坊支付等簡單的交易來說是可以預測的,但對于更復雜的情況延遲問題則可能變得非常顯著,如證明一個被屏蔽的Zcash交易是正確的。
即使我們將試圖衡量延遲的時間窗口標準化,答案也幾乎總是視情況而定。迄今為止,還沒有哪個加密貨幣系統能提供固定的交易延遲。要記住一個基本的經驗法則:
延遲是一個分布,而非一個數字。
網絡研究界早就明白這一點。對分布的“長尾”進行了特別強調,因為即使是0.1%的交易(或web服務器查詢)的延遲也會給終端用戶帶來嚴重影響。
金色財經現場報道星瀚資本創始人楊歌:大數據的現存問題:金色財經現場報道,在2018中國區塊鏈高峰論壇峰會現場星瀚資本創始人楊歌表示,“大數據的現存問題有四個方面,數據收集競爭激烈,數據噪音大有效數據少,數據密集但孤立分布,總嘗試解決復雜問題。”[2018/5/20]
在區塊鏈中,延遲確認可因多種原因發生變化:
批處理:大多數系統都以某種方式進行交易批處理,例如,在大多數L1系統上交易被批處理到區塊中。這將導致延遲變數,因為一些交易將不得不排隊等候,直到這批交易填滿區塊。其他交易可能比較幸運,因最后加入該批交易而無需等待。這些交易會立即得到確認,不會經歷任何額外延遲。
擁堵變量:大多數系統都會出現擁堵,也就是發布的交易量(至少在某些時候)大于系統能夠立即處理的交易量。當交易在不可預測的時間(通常被抽象為泊松過程)進行廣播時,或者當新交易在一天或一周內的交易速度發生變化時,亦或在響應外部事件時(如發行一個受歡迎的NFT),擁堵程度會發生變化。
共識層差異:在L1上確認交易通常需要一組分布式節點來達成對一個區塊的共識,無論擁堵情況如何,都可能會增加可變的延遲。工作量證明系統在不可預測的時間(也是抽象的泊松過程)找到區塊。權益證明系統也可以添加各種延遲(例如,如果在線節點數量不足,不能在一輪中組成一個委員會,或者需要一個view?change視圖變換機制來應對leader節點崩潰)。
基于這些原因,一個極價的指導原則就是:
關于延遲的聲明應該顯示確認時間的分布(或直方圖),而不是平均值或中位數這樣的單個數字。
金色財經現場報道,Lyu Xinhao:區塊鏈應用在物聯網領域面臨很多挑戰:在2018年世界數字資產峰會(WDAS)暨FBG年會上,來自IoT Chain/ITC公司的Lyu Xinhao表示,區塊鏈技術應用在物聯網領域中,有著很多的難題需要解決,例如當前區塊鏈技術應用在物聯網領域中需要消耗極高的資源,而且對于硬件的要求極高,同時在擴展方面也存在一定的瓶頸。[2018/5/3]
雖然像平均值、中位數或百分位數這樣的匯總統計數據提供了部分情況,但準確評估一個系統需要考慮整個分布。在某些應用程序中,如果延遲分布相對簡單(例如高斯分布),則平均延遲可以提供很好的洞察。但在加密貨幣中,幾乎從來都不是這樣:通常情況下,確認時間非常緩慢。
支付渠道網絡(如閃電網絡)就是一個很好的例子。這是一個經典的L2擴展解決方案,這些網絡多數時候提供非常快速的支付確認,但偶爾需要重置通道,由此便會增加延遲的數量級。
即使我們對確切的延遲分布有充分的統計,也可能會隨著系統和系統需求的變化而變化。另外,關于如何比較競爭系統間的延遲分布也并不總是很清晰。例如,假設一個系統確認的交易延遲均勻分布在1到2分鐘之間(平均值和中位數均為90秒)。如果另一個競爭系統在1分鐘內準確確認95%的交易,而在11分鐘內確認另外5%的交易(平均值90秒,中位數60秒),那么哪個系統更好?答案可能是,有些應用程序更喜歡前者,而有些則更喜歡后者。
最后,需要注意的是,在大多數系統中,并非所有交易的優先級都是相同的。用戶可以通過支付更多錢來獲得更高的優先級,所以除了上述幾個因素外,延遲也取決于所支付的交易費。總而言之:
延遲是復雜的。報告的數據越多越好。理想情況下,應該在不同擁堵條件下衡量完整的延遲分布。將延遲分解為不同組件(本地、網絡、批處理、共識延遲)也會有所助益。
乍一看,吞吐量似乎也很簡單明了:一個系統每秒可以處理多少交易?這里存在兩個主要難點:究竟什么是“交易”,以及我們是在衡量一個系統今天正在做什么,還是未來可能做什么?
雖然“每秒交易量”(或tps)是衡量區塊鏈性能的實際標準,但交易量作為度量單位是有問題的。對于提供通用可編程性(“智能合約”)的系統或者甚至是有限功能的系統,如比特幣的多路交易或多信號驗證選項,存在的基本問題是:
并非所有的交易都是平等的。
以太坊明顯如此。在以太坊中,交易可以包括任意代碼和任意修改狀態。以太坊中的gas概念用于量化(并收取費用)一筆交易正在進行的總體工作量,但這與EVM執行環境高度相關。沒有簡單的方法可以比較一組EVM交易與一組應用BPF環境的Solana交易所處理的工作總量。將兩者與一組比特幣交易進行比較同樣令人擔憂。
將交易層劃分為共識層和執行層的區塊鏈可以讓這一點更加明確。在(純)共識層上,吞吐量可以用每單位時間添加到鏈上的字節來衡量。執行層的情況總是更加復雜。
例如只支持支付交易的rollup服務器這種比較簡單的執行層,避免了量化計算的困難。即使在這種情況下,支付也會因投入和產出的數量不同而變化。支付通道交易可能因所需的影響吞吐量的“跳數”而異。rollup服務器吞吐量可取決于將一批交易“聯網”到更小的匯總更改集的程度。
吞吐量的另一個挑戰是并非以經驗衡量今天的表現,而是評估其理論能力。這就引入了各種建模問題來評估潛在能力。首先,我們必須為執行層確定一個實際的交易工作負載。其次,實際系統幾乎從未達到理論容量,尤其是區塊鏈系統。出于運行強健的考慮,我們希望節點實施在實踐中是異構的、多樣化的(而不是所有客戶端運行一個單一軟件來實施)。這使得精確模擬區塊鏈吞吐量更加困難。
總之:
吞吐量聲明需要仔細說明交易工作負載和驗證者(驗證者的數量、實施和網絡連接)。在沒有任何明確標準的情況下,來自以太坊等主流網絡的歷史工作負載就足夠了。
延遲和吞吐量通常是一種權衡關系。正如Lefteris Kokoris-Kogias所描述的那樣,這種權衡通常不是一條順滑的線,存在一個拐點,即當系統負載接近最大吞吐量時,延遲會急劇增加。
零知識rollup系統是吞吐量/延遲權衡的一個天然例子。大批量的交易會增加證明時間,從而增加延遲。但無論是在證明大小還是在驗證成本方面,鏈上足跡將分攤到更大批、更多的交易中,進而增加吞吐量。
可以理解的是,終端用戶更關心延遲和費用之間的權衡,而不是延遲和吞吐量之間的權衡。用戶根本沒有關心吞吐量的直接原因,他們只關心是不是能夠以盡可能低的費用快速確認交易(有些用戶更關心費用,而有些用戶更關心延遲)。總結起來,費用受多重因素影響:
1、有多大市場需求支持交易?
2、系統能達到的總吞吐量有多大?
3、系統提供給驗證者或礦工的總收益有多少?
4、該收益中有多少是基于交易費或通貨膨脹獎勵?
前兩個因素大致構成導致市場出清價格的供應/需求曲線。在其他條件相同的情況下,更高的吞吐量應該會導致更低的費用,但還有更多的因素。
特別注意上面的第3點和第4點,是區塊鏈系統設計的基本問題,但是對它們我們還沒形成良好的原則。關于給予礦工通脹獎勵還是交易費的優缺點我們已有一定的了解。然而,盡管有許多關于區塊鏈共識協議的經濟分析,我們仍然沒有一個廣泛適用的模型來說明需要給驗證者多少收益。今天,大多數系統都內建一個有根據的猜測,即多少收益足以讓驗證者誠實作為,同時又不會妨礙系統的實際使用。
提高攻擊成本是一件好事,但我們也不知道多少安全措施才是“足夠的”。想象一下,你正在考慮去兩個游樂園。其中一個聲稱在游樂設施維護上比另一個少花50%的費用。去這個公園是個好主意嗎?可能因為這個公園的設施效用更高,用更少的錢就能獲得同等安全性。也許另一個公園花費超過正常所需費用來保證游樂設施的安全,但沒有額外好處。但也可能是第一個公園真的很危險。區塊鏈系統也類似。一旦剔除吞吐量,費用較低的區塊鏈之所以費用低,是因為它們對驗證者的獎勵較少(因此激勵也較少)。我們現在沒有得力工具來評估這樣是否可行,或者是否會讓系統更容易受到攻擊。總之:
在不同系統之間比較費用可能會產生誤導。雖然交易費對用戶來說很重要,但除了系統設計本身之外,費用還會受到很多因素的影響。吞吐量則是分析整個系統的更好指標。
公平準確地評估性能是很難的。就好比測量一輛汽車的性能。拿區塊鏈來說,不同的人會關心不同的方面。對于汽車,有些用戶會關心最高車速或加速性能,有些人會關心油耗,還有一些人會關心牽引力。所有這些都不容易評估。例如,美國環境保護署就制定了詳細的指導方針,規定如何評估汽油里程數,以及在經銷商處必須如何向用戶展示。
區塊鏈世界要達到這個級別的標準化還有很長的路要走。在某些領域,未來我們可能會使用標準化的工作負載來評估系統吞吐量,或者使用標準化的圖形來表示延遲分布。目前,對評估者和建設者來說,最好的辦法就是采集和公布盡可能多的數據,并對評估方法進行詳細描述,以便該方法能夠得以復制,與其他系統進行比較。
在前面的文章《向父母介紹區塊鏈的正確打開方式》中,我們向長輩們介紹完什么是區塊鏈后,若對方追問:"區塊鏈到底有什么用?能應用到什么領域?".
1900/1/1 0:00:00一直以來,由于中心化機構未能以安全、公平和透明的方式,完成對社會基礎設施和金融的監管,進而催生了Web3.
1900/1/1 0:00:00毫無疑問,區塊鏈是一項令人振奮的技術,具有變革許多行業的潛力。但是,由于媒體對區塊鏈技術大量夸大性地宣傳,因此,發掘其實際的日常應用就成了一件比較難的事情.
1900/1/1 0:00:00近期,白話區塊鏈社群小伙伴問道:“為啥區塊鏈行業的行情會出現同漲同跌的情況?”其實,只要投資者進入這個行業一段時間,就會發現這種現象:比特幣漲或者橫盤的時候,其他數字貨幣才會出現雞犬升天的現象.
1900/1/1 0:00:002021年,Solana、Avalanche等新公鏈的崛起加大了對公鏈敘事的想象空間。近期也有一批耀眼的公鏈獲得了高額的投資和極大的關注,比如Aptos、Sui等.
1900/1/1 0:00:00很多人至今還不懂如何注冊或競拍EOS賬號,而過去一年來,許多“精致”的 EOS 短賬號卻像域名一樣拍出了天價!今天,大白給大家簡單介紹下,如何競拍 EOS 短賬號.
1900/1/1 0:00:00