【深度解讀】區塊鏈這樣火了,你還不知道TPS嗎?

powerx_yc發表於2018-07-05

眾所周知,比特幣每秒只能進行大約7筆交易,以太坊每秒大概7-15的交易量。但鏈圈人經常如下表述:比特幣的TPS能力大約是7筆/秒,太坊的TPS能力是7-15筆/秒。這時就有人蒙圈了,TPS是什麼意思?非技術人員不知道TPS是什麼其實無可厚非,但以TPS作為重要標準衡量公鏈的同志,不知道TPS是什麼,那就真令人唏噓了,今天小編帶著大家聊聊TPS。

什麼是TPS?

12407907-8c11f8820a3a9c27

TPS(Transactions Per Second)又稱“系統的吞吐量”,再說的專業點就是:“系統每秒鐘能夠處理的業務數量”。

TPS是衡量區塊鏈系統效能的重要指標,主要是衡量一個系統對交易的處理效能。估計大部分人只是理解表面的定義,這其實遠遠不夠!

TPS併發低會造成什麼問題?

TPS每秒併發太低,容易造成網路擁堵嚴重,從而使得區塊鏈在高價值的高併發業務在區塊鏈領域無法落地

由於TPS每秒併發太低,比特幣和以太坊都存在交易費用高、確認時間長、擴充套件性差的問題,比特幣社群因此產生分裂,硬分叉成為常態

究竟TPS是不是越快越好?

12407907-9e3b05fe2e3a4b7d

故名思意,TPS越高,系統對交易的處理能力越強,但實際真的如此嗎?我們先了解一下TPS是如何計算的。


TPS用人為擷取的一段時間除以這段時間的總秒數,得出的平均每秒處理的業務數量。

在區塊鏈中,一般取最小模組兒,也就是出塊時間,目前比特幣網路中大概是10分鐘,每個打包塊裡大概包括4000條交易資料,這樣得出TPS=4000/(10*60)≈6.67

由此我們可以看出TPS還和出塊時間、交易數量有關。從公式來看,提升交易數量或者減少出塊時間,就可以提升TPS。但是出塊時間太短,可能會導致區塊的資料不滿,甚至可能是空塊,其實這反而會浪費系統,造成IO壓力過大。


再來看提升交易數量是否可行。區塊的大小其實是固定的,而一條交易數量所需要的大小也是固定。那提升交易數量就意味著要增加區塊大小,增加區塊大小就意味著增加硬碟和寬頻。這就相當於將技術上的需求轉加到硬體上,其實本質問題還是沒有解決。

由此可見,TPS要快,但是夠用就行。另外TPS也不是評判底層區塊鏈好壞的唯一標準,速度快了,有可能會影響去中心化效能,節點少了,安全問題卻嚴重,這就有點得不償失了,所以我們還是要綜合考量區塊鏈的其他方面因素。

該如何看待高TPS的專案?

12407907-1c3a56af73217f59

按照目前市場倆看,有些所謂的高TPS區塊鏈系統是值得懷疑的。

沒有統一的測試標準和統一的測試規則

沒有實際的測試過程與可靠的測試結果公佈給使用者

不開源的區塊鏈系統無法明確其實際處理流程,單方面宣佈高TPS無法被驗證

看到專案方宣稱自己的專案有百萬TPS時,我們深入挖掘更加重要的資訊:

專案方出塊時間多少和計算TPS公式是什麼?

要知道比特幣為代表的POW共識演算法是不可能支援很高的TPS的,所以要專門看下專案方是什麼共識機制

並不能一味追求TPS級別高,重點要關注TPS、併發量、區塊鏈結構、安全效能等綜合優化

相關文章