文/Joseph Bonneau a16z Crypto研究員
性能和可擴展性是加密世界面臨的挑戰,一直是一個激烈討論的話題,與L1項目(獨立區塊鏈)和L2解決方案(如rollup和鏈下通道)密切相關。然而,我們還沒有標準化的指標或基準進行衡量。數據報告往往不一致且不完整,這使得項目間的準確比較變得非常困難,而且常常使實踐中最重要的內容模糊不清。
我們需要一種更細致、徹底的方法來衡量和比較區塊鏈性能——應將性能分解為多個組件,并在多個軸上進行比較權衡。在本文中,我定義了基本術語,概述了困難挑戰,并提供了評估區塊鏈性能需要謹記的指導方針和關鍵原則。
首先,讓我們先定義兩個術語,那就是可擴展性和性能,它們具有標準的計算機科學含義,在區塊鏈背景下經常被誤用。性能用來衡量系統當前能夠實現的目標。正如我們下面將要討論的,性能指標可能包括每秒交易數量或交易確認時間中位數。另一方面,可擴展性則用來衡量系統通過添加資源來提升性能的能力。
這個區別是很重要的:如果定義正確,很多提高性能的方法是根本不能提高可擴展性的。一個簡單的例子就是使用更有效的數字簽名機制,例如BLS簽名,其長度約是Schnorr或ECDSA簽名的一半。如果比特幣從ECDSA簽名切換到BLS,每個區塊的交易數量可能會增加20-30%,一夜之間就能提高性能。但我們只能這樣做一次——再沒有其他更節省空間的簽名機制可供切換(BLS簽名也可以聚合以節省更多空間,但這是另一個一次性的技巧)。
在區塊鏈中還有其他一些一次性技巧可以使用(如SegWit),但你需要一個可擴展的體系架構來實現持續的性能優化,添加更多的資源可以隨著時間的推移提升性能。這也是許多其他計算機系統的傳統智慧,比如構建一個網絡服務器。通過一些常見技巧,你可以構建一個速度非常快的服務器;但最終,你需要一個多服務器體系架構,通過不斷添加新的服務器來滿足不斷增長的需求。
金色午報|12月31日午間重要動態一覽:7:00-12:00關鍵詞:以太坊、宮崎駿、Efinity
1.以太坊社區提出新的ETH2.0分片方案;
2.元宇宙商標申請量達1.2萬枚;
3.宮崎駿的十部畫作首次以NFT結合形式發售;
4.NFT公鏈Efinity贏得波卡第6次平行鏈插槽拍賣;
5.Coinbase發布2022年Web和加密經濟的10個預測;
6.EOS網絡Core+藍皮書計劃在1月下旬發布;
7.被標記為第三大比特幣巨鯨地址在12月29日增加120 個BTC;
8.美國SEC任命新的加密貨幣高級顧問;[2021/12/31 8:16:20]
懂得這個區別還有助于避免語句中出現的常見類別錯誤,比如“區塊鏈X是高度可擴展的,它每秒可以處理Y個交易!”后半句說法可能令人印象深刻,但它是一個性能指標,而非可擴展性指標。它說的并不是通過添加資源來提升性能的能力。
可擴展性本質上要求利用并行性。在區塊鏈世界中,L1擴展明顯需要分片或類似于分片的支持。分片的基本概念是將狀態分割成一系列分區,以便不同的驗證者可以獨立處理,此概念與可擴展性的定義非常匹配。在L2上還有更多選項,L2允許添加并行處理,包括鏈下通道、rollup服務器和側鏈。
通常,區塊鏈系統性能是通過兩個維度進行評估的,即延遲和吞吐量:延遲用以衡量確認單個交易的速度,而吞吐量用以衡量隨著時間的推移交易的總速率。這些度量軸既適用于L1和L2系統,也適用于許多其他類型的計算機系統(如數據庫查詢引擎和web服務器)。
金色財經挖礦數據播報:ETH今日全網算力下降1.71%:金色財經報道,據蜘蛛礦池數據顯示:
BTC全網算力156.940EH/s,挖礦難度21.45T,目前區塊高度675244,理論收益0.00000672/T/天。
ETH全網算力442.529TH/s,挖礦難度5621.29T,目前區塊高度12066262,理論收益0.00621647/100MH/天。
BSV全網算力0.494EH/s,挖礦難度0.07T,目前區塊高度679042,理論收益0.00182241/T/天。
BCH全網算力1.227EH/s,挖礦難度0.17,目前區塊高度679316,理論收益0.00073361/T/天。[2021/3/19 18:59:17]
遺憾的是,對延遲和吞吐量的衡量和比較都很復雜。此外,個人用戶實際上并不關心吞吐量(這是一個系統范圍的衡量指標)。個人用戶真正關心的是延遲和交易費——更具體地說,就是他們的交易盡可能快、盡可能低成本地得到確認。盡管許多其他計算機系統也以成本/性能為基礎進行評估,但交易費是區塊鏈系統的一個新的性能軸,并不真實存在于傳統計算機系統中。
延遲一開始看起來簡單明了:交易需要多長時間才能得到確認?但總是有幾種不同的方法來回答這個問題。
首先,我們可以在不同時間點衡量延遲,得到的結果也不同。例如,我們什么時候開始計時衡量?是當用戶在本地點擊“提交”按鈕時,還是當交易進入內存池時?我們又在什么時候停止計時呢?是當交易進入提議區塊中,還是當一個區塊被后續一個或六個區塊確認時?
最常用的方法是從驗證者角度出發,衡量從一個客戶端第一次廣播交易到合理“確認”交易的時間(在此意義上,相當于現實世界里的商家認為已收到客戶付款,然后發出商品)。當然,不同的商家可能采用不同的驗收標準,甚至同一個商家也可能根據交易金額的不同采用不同的標準。
金色財經行情播報丨BTC連漲5日最高漲幅23.3% MACD雙線穿越零軸:據火幣行情顯示,截至18:30,BTC已經連漲5日,自3月30日低點5860USDT至4月2日最高7225USDT,最高漲幅達23.3%。
目前,在BTC 12小時圖中,MACD雙線自2月下旬起首次實現上穿零軸線,在得到布林帶中軌支撐后,逐漸向上軌逼近,且開口不斷收窄。市場整體受BTC牽引上行,主流幣全部小幅上漲。[2020/4/3]
以驗證者為中心的方法忽略了在實踐中的一些重要事項。首先,它忽略了點對點網絡上的延遲(從客戶端廣播一個交易直到大多數節點聽到這個交易消息需要多長時間?),也忽略了客戶端延遲(在客戶端的本地機器上準備一個交易需要多長時間?)客戶端延遲可能非常小,對于簽署以太坊支付等簡單的交易來說是可以預測的,但對于更復雜的情況延遲問題則可能變得非常顯著,如證明一個被屏蔽的Zcash交易是正確的。
即使我們將試圖衡量延遲的時間窗口標準化,答案也幾乎總是視情況而定。迄今為止,還沒有哪個加密貨幣系統能提供固定的交易延遲。要記住一個基本的經驗法則:
延遲是一個分布,而非一個數字。
網絡研究界早就明白這一點。對分布的“長尾”進行了特別強調,因為即使是0.1%的交易(或web服務器查詢)的延遲也會給終端用戶帶來嚴重影響。
在區塊鏈中,延遲確認可因多種原因發生變化:
批處理:大多數系統都以某種方式進行交易批處理,例如,在大多數L1系統上交易被批處理到區塊中。這將導致延遲變數,因為一些交易將不得不排隊等候,直到這批交易填滿區塊。其他交易可能比較幸運,因最后加入該批交易而無需等待。這些交易會立即得到確認,不會經歷任何額外延遲。
金色快評丨礦機價格下跌或將促進行業洗牌:近日,比特幣價格大幅下跌,伴隨礦機價格也大幅下跌。比特幣全網算力持續走高,相對應的比特幣價格大跌,礦工的收益也在驟減。許多型號的礦機每天的產出和電費比幾乎持平或利潤極低。以能耗比較低的螞蟻S9 13.5T礦機為例,按照當前的全網算力,單臺礦機每天的收益約為29元,而每天的功耗大約為1350W。螞蟻T9+ 10.5T礦機每天的收益約為23元,功耗大約為1450W。所以除去電力成本,礦工的收益幾乎所剩無幾。去年牛市時神馬M3礦機每臺最高價格愈一萬多,而如今價格直線下跌,加之每天大量的電力成本,許多牛市進來的投機者損失慘重,這也或降促進行業洗牌,越來越多的投機者黯然離場,大量礦機關機,每名礦工獲得的收益增加,能促進行業更好發展。[2018/7/3]
擁堵變量:大多數系統都會出現擁堵,也就是發布的交易量(至少在某些時候)大于系統能夠立即處理的交易量。當交易在不可預測的時間(通常被抽象為泊松過程)進行廣播時,或者當新交易在一天或一周內的交易速度發生變化時,亦或在響應外部事件時(如發行一個受歡迎的NFT),擁堵程度會發生變化。
共識層差異:在L1上確認交易通常需要一組分布式節點來達成對一個區塊的共識,無論擁堵情況如何,都可能會增加可變的延遲。工作量證明系統在不可預測的時間(也是抽象的泊松過程)找到區塊。權益證明系統也可以添加各種延遲(例如,如果在線節點數量不足,不能在一輪中組成一個委員會,或者需要一個view?change視圖變換機制來應對leader節點崩潰)。
基于這些原因,一個極價的指導原則就是:
關于延遲的聲明應該顯示確認時間的分布(或直方圖),而不是平均值或中位數這樣的單個數字。
金色財經現場報道 中國銀行原行長、中國互聯網金融協會區塊鏈工作組組長李禮輝:技術性信任可以一定程度上取代商業信用:金色財經6月2日現場報道,在今日召開的中國區塊鏈技術創新發展論壇上,中國銀行原行長、中國互聯網金融協會區塊鏈工作組組長李禮輝在會上表示,可持續的金融科技發展之道應該是勇于創新但固守金融本源,敢于變革但不觸金融安全底線,善于構建捷徑但不走旁門左道。他說,區塊鏈通過“共識協議”和編程化的“智能合約”,可以嵌入相應的編程腳本,從而實現價值交換的針對性和篩選性,以及價值交換的限制性或條件性,實現價值的特定用途。他強調,在區塊鏈金融應用場景中,技術性信任可以在一定范圍內、一定程度取代商業信用。但并非否定或去除傳統的信任方式,是用技術信任加持商業信用。這樣有利于維護和執行契約關系和契約原則,有利于維護金融誠信,十分契合市場經濟的需求。更多內容請關注金色財經的后續報道。[2018/6/2]
雖然像平均值、中位數或百分位數這樣的匯總統計數據提供了部分情況,但準確評估一個系統需要考慮整個分布。在某些應用程序中,如果延遲分布相對簡單(例如高斯分布),則平均延遲可以提供很好的洞察。但在加密貨幣中,幾乎從來都不是這樣:通常情況下,確認時間非常緩慢。
支付渠道網絡(如閃電網絡)就是一個很好的例子。這是一個經典的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去中心化科學 (DeSci) 是一項旨在建立公共基礎設施的運動,用于使用 Web3 工具公平和平等地資助、創造、審查、信用、存儲和傳播科學知識.
1900/1/1 0:00:00法庭文件:Voyager和Binance.US交易需在4月13日之前得到解決:金色財經報道,根據周一提交的法律文件,如果美國政府提出的法律異議不能在4月13日之前得到解決.
1900/1/1 0:00:00在幣問上看到一個好問題:對于一個沒有編程、區塊鏈等相關基礎的普通人,怎樣可以在區塊鏈快速發展的今天也享受到區塊鏈的紅利呢?我的回答是:相比于ARVR\人工智能\基因科技等前沿領域.
1900/1/1 0:00:00創造者經濟、新興的在線趨勢和新的加密經濟為創造者提供了更多的機會。各種平臺、協議和數字市場都在爭奪用戶的注意和他們提供的創造力。這引領了高度的獨立性,尤其是在年輕的數字原生代Z世代之間.
1900/1/1 0:00:00比特幣的出現是一場全球數字貨幣啟蒙的開端,之后,中本聰的繼承者們不斷改進虛擬幣,有的改進大,有的改進小,比如LTC,只是小參數上的調整,比如BCH,區塊大小的調整,對其改進最大的當屬ETH.
1900/1/1 0:00:00