風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情

a16z:為什麼鏈的性能難以衡量?

Katie 辜
Odaily资深作者
2022-08-10 03:31
本文約4907字,閱讀全文需要約8分鐘
刨根問底,這些性能指標到底怎麼用、怎麼比較。

本文來自 a16z本文來自

本文來自

我們需要一種更細緻和徹底的方法來衡量和比較性能——將性能分解為多個組件,並在多個數據軸上比較權衡。本文定義了區塊鏈性能基本含義和概述了其存在的挑戰,並提供了評估區塊鏈性能時需要牢記的指導原則和關鍵原則。

二級標題

二級標題

二級標題

可擴展性vs. 性能

首先,可擴展性和性能具有標準的計算機科學含義,在區塊鏈中經常被誤用。性能度量系統當前能夠實現的目標。正如我們下面將要討論的,性能指標可能包括每秒交易數或交易確認時間中位數。另一方面,可擴展性衡量系統通過添加資源來提高性能的能力。

可擴展性本質上要求利用並行性。在區塊鏈空間中,L1 擴展似乎需要分叉或類似於分叉的東西。分叉的基本概念是將狀態分割成塊,以便不同的驗證器可以獨立處理,與可擴展性的定義非常匹配。在L2 還有更多的選項,允許添加並行處理,包括鏈下通道、Rollup 服務器和側鏈。

二級標題

二級標題

但是延遲和吞吐量的測量和比較都很複雜。此外,個人用戶實際上並不關心吞吐量(這是一個系統範圍的度量)。他們真正關心的是延遲和交易費用。更具體地說,他們的交易盡可能快、盡可能通過便宜的價格得到確認。儘管許多其他計算機系統也以成本/性能為基礎進行評估,但交易費用是區塊鏈系統的一個新的性能軸,這在傳統計算機系統中並不真正存在。

二級標題

二級標題

二級標題

測量延遲的挑戰

延遲一開始看起來很簡單:交易需要多長時間才能得到確認?但有幾種不同的方法來回答這個問題。

首先,我們可以測量不同時間點之間的延遲,得到不同的結果。例如,當用戶在本地點擊“提交”按鈕時,還是當交易到達內存池時,我們開始測量延遲?當交易在一個提議的區塊中,或者當一個區塊被一個或六個後續區塊確認時,我們才停止計算時間嗎?

最常見的方法是從驗證者的角度,測量從用戶第一次廣播交易到合理地“確認”交易的時間。當然,不同的商家可能採用不同的驗收標準,甚至單個商家也可能根據交易金額的不同採用不同的標準。

以驗證器為中心的方法在實踐中忽略了一些重要的事情。首先,它忽略了點對點網絡上的延遲(從客戶端廣播一個交易到大多數節點聽到它需要多長時間?)和客戶端延遲(在客戶端的本地機器上準備一個交易需要多長時間?)客戶端延遲可能性非常小,對於簽署以太坊支付等簡單的交易來說是可以預測的,但對於更複雜的情況,如證明屏蔽的Zcash 交易是正確的,則可能非常重要。

即使我們將試圖測量延遲的時間窗口標準化,答案也是視情況而定。迄今為止,還沒有一個加密貨幣系統提供固定的交易延遲。一個基本的經驗法則是:

延遲是一個分佈狀態,而不是一個數字。網絡研究界早就明白這一點。特別強調的是分佈的“長尾”,因為即使0.1% 的交易(或web 服務器查詢)的高延遲也會嚴重影響最終用戶。

在區塊鏈中,確認延遲的變化有很多原因:批處理:

大多數係統以某種方式將交易批處理,例如,在大多數L1 系統上將交易批處理到區塊中。這將導致可變的延遲,因為一些交易將不得不等待,直到批處理填滿。其他人可能會幸運地最後加入。這些交易立即得到確認,並且不會經歷任何額外的延遲。可變擁塞:

大多數係統都會出現擁塞,這意味著發布的交易比系統能夠立即處理的交易要多。當交易在不可預測的時間進行廣播時,或者當新交易在一天或一周內的速度發生變化時,或者在對像熱門NFT 啟動這樣的外部事件時響應,擁塞的程度會發生變化。

共識層差異:

在L1 確認交易通常需要一組分佈式節點來達成對一個區塊的共識,這可能會增加可變的延遲,無論擁塞情況如何。工作量證明系統在不可預測的時間找到區塊。 PoS 系統還可以添加各種延遲(例如,如果在線節點數量不足,不能在一輪中組成一個委員會,或者如果需要改變觀點以應對領導者的崩潰)。

基於這些原因,一個好的指導原則應該是:

關於延遲的聲明應該顯示確認時間的分佈,而不是像平均值或中位數這樣的單個數字。

雖然像平均值、中位數或百分位數這樣的匯總統計提供了部分情況,但準確地評估一個系統需要考慮整個分佈。在某些應用程序中,如果延遲分佈相對簡單,則平均延遲可以提供很好的洞察。但在加密貨幣中,這種情況幾乎從未發生過。通常情況下,確認時間很長。

延遲是複雜的。報告的數據越多越好。理想情況下,應該在不同的擁塞條件下測量完整的延遲分佈。將延遲分解為不同的組件(本地、網絡、批處理、共識延遲)也是有幫助的。

二級標題

二級標題

二級標題

表面上看吞吐量似乎也很簡單:一個系統每秒可以處理多少交易?但有兩個主要的困難:究竟什麼是“交易”,以及我們是否在度量一個系統今天做什麼或者它可能做什麼?

不是所有的交易都是平等的。

雖然“每秒交易數”(tps)是度量區塊鏈性能的實際標準,但作為度量單位的交易存在問題的。對於提供通用可編程性(智能合約)或甚至有限功能的系統,如比特幣的多路交易或多信號驗證選項,其基本問題是:

不是所有的交易都是平等的。

這在以太坊中明顯是正確的,在以太坊中,交易可以包括任意代碼和任意修改狀態。以太坊中的gas 概念用於量化(並收取費用)交易正在進行的總體工作量,但這與EVM 執行環境高度相關。沒有簡單的方法來比較一組EVM 交易與一組使用BPF 環境的Solana 交易所做的工作總量。將兩者與一組比特幣交易進行比較同樣令人擔憂。

將交易層劃分為共識層和執行層的區塊鏈可以使這一點更加明確。在(純)共識層,吞吐量可以用每單位時間添加到鏈上的字節來衡量。執行層更複雜。

吞吐量聲明需要仔細解釋交易工作負載和驗證器的數量(它們的數量、實現和網絡連接)。在沒有任何明確標準的情況下,來自以太坊等流行網絡的歷史工作量就足夠了。

二級標題

二級標題

二級標題

交易費用

交易費用

  1. 交易費用

  2. 交易費用

  3. 可以理解的是,終端用戶更關心延遲和費用之間的權衡,而不是延遲和吞吐量之間的權衡。用戶根本沒有關心吞吐量的直接原因,他們只關心能夠以盡可能低的費用快速確認交易(有些用戶更關心費用,而有些用戶更關心延遲)。高額收費受多種因素影響:

  4. 有多少市場需求進行交易?

系統實現的總體吞吐量是多少?

系統提供給驗證者或礦工的總收入是多少?

二級標題

二級標題

結論

結論

結論

a16z