塊間隔、塊大小和有效吞吐量如何相關?
我有兩個問題:
- 為什麼當塊間隔減小時有效吞吐量(如下定義)會降低?
- 塊大小的減小如何導致保持較高的有效吞吐量?
這些問題的由來如下。首先,這篇關於擴展去中心化區塊鏈的論文說:
為了改善系統的延遲,我們原則上可以簡單地減少塊間隔。然而,要在保持高效吞吐量的同時這樣做,還需要減小塊大小。
這意味著當塊間隔減小時,有效吞吐量會降低。這導致了我的第一個問題。
其次,他們將有效吞吐量定義如下:
X% effective throughput := (block size)/(X% block propagation delay)
這個公式表明當塊大小減小時有效吞吐量會降低,而他們的目標是相反的,即保持高有效吞吐量(通過減小塊大小)。這是我的第二個問題。
首先,值得注意的是:本文不僅討論“事務/秒”意義上的吞吐量,還討論了塊大小和間隔對網路延遲的影響(這是擴展區塊鍊網路的一個重要因素) )。作者將“有效吞吐量”定義為:
我們的結果取決於覆蓋網路中有效吞吐量的關鍵指標,我們在這裡將其定義為 哪些塊在平均塊間隔期間傳播節點的百分比。
我發現這寫得令人困惑,但理解它的意思是*“在平均塊間隔定義的時間段內,有多少百分比的網路節點將接收並驗證最近的塊”*。
舉個簡單的例子來說明為什麼這個指標很重要:如果只有 50% 的節點可以在被探勘
blockheight X
之前下載和驗證blockheight X+1
,那麼其他 50% 的節點將不斷追趕,並且無法對挖礦做出有意義的貢獻。網路。這損害了網路的去中心化,因為能夠直接參與網路的使用者將減少。為什麼當塊間隔減小時有效吞吐量(如下定義)會降低?
為了理解這一點,考慮一個極端的例子:每 10 分鐘有 1GB 個塊的區塊鏈。為了使網路上的節點與鏈保持同步,它們需要每 10 分鐘下載並驗證價值 1GB 的塊數據的有效性。任何不能做到這一點的節點都會降低網路的“有效吞吐量”。
所以現在,考慮一下如果將塊間隔減少到 1 分鐘會發生什麼。突然之間,許多可以在 10 分鐘內下載和處理數據的節點將不再能夠跟上網路的其餘部分,因為他們現在只有 1 分鐘的時間來做同樣的事情。因此,我們的“有效吞吐量”下降了,因為能夠參與網路並為網路做出貢獻的節點比例要小得多。
塊大小的減小如何導致保持較高的有效吞吐量?
我認為您在這裡的困惑來自於以“事務/秒”來考慮吞吐量。減小塊大小將導致每秒事務更少,但這也意味著節點必須在每個塊間隔下載和驗證更少的數據。關於作者對“有效吞吐量”的定義,我們看到降低一個節點的資源需求將允許更多的節點加入網路。
其次,他們將有效吞吐量定義如下:
X% effective throughput := (block size)/(X% block propagation delay)
這個公式表明當塊大小減小時有效吞吐量會降低,而他們的目標是相反的,即保持高有效吞吐量(通過減小塊大小)。
減小
block size
變數也會影響X% block propagation delay
變數。因此,如果較低block size
的吞吐量會導致更高的吞吐量,我們預計X% block propagation delay
會看到比塊大小的減少更大的相對減少。