分片之間分割後的驗證節點

2021-10-09 05:17:21 字數 941 閱讀 8587

分片經常被視為一種可以隨著網路中節點數的增加而無限擴充套件的方案。雖然從理論上看,人們是有可能設計出這種方案的,但任何使用信標鏈概念的方案都不可能無限擴充套件。為了理解其原因,我們要意識到,信標鏈要做一些記賬的計算工作,例如給分片分配驗證節點,或快照分片鏈區塊,而這些都與系統中的分片數量成比例關係。因為信標鏈本身只是一條單獨的鏈,計算量受限於執行節點的算力,因此分片數量自然就受到了限制。

然而,分片網路的結構確實對節點的改進產生了倍增的效果。想象一下這樣乙個場景,對網路中節點效率作出一定量的改進,從而使得節點處理交易的時間縮短。

如果節點(包括信標鏈中的節點)執行網路的速度提高了四倍,那麼,每個分片都可以處理原先交易量的四倍多,而信標鏈也可以維持原先分片數量的四倍多。整個系統吞吐量的將提公升:4 × 4 = 16 倍,這就是二次方分片名稱的由來。

當前,對於究竟能支援多少分片,很難提供精確的度量。但是,在可以預見的未來,區塊鏈使用者的吞吐量需求不太可能超過二次方分片的能力。執行如此眾多的分片所需要的節點數,可能比當今所有區塊鏈節點數的總和還要高出幾個數量級。

illiqa是最廣為人知的對交易處理而不是儲存進行分片的專案。對處理分片相對容易:因為每個節點都有完整的狀態,意味著乙個合約可以自由呼叫其他合約,從鏈上讀取任何資料。為了確保對狀態同一部分進行更新的多個分片不會產生衝突,還需要一些細緻的技術工作。從這方面來說,zilliqa的方法有些簡單 (2)。

儘管之前有提出過對儲存分片但不對處理分片的方案,但這是極不尋常的情況。在實踐中,對儲存分片,也就是狀態分片,幾乎總是隱含了對處理分片和網路分片。

實際上,狀態分片中,每個分片中的節點都在構建他們自己分片的區塊鏈,這條鏈僅包含那些對被分配給該分片的全域性狀態的本地部分產生影響的交易。因此,分片的驗證節點只需要儲存全域性狀態的本地(分片)部分,也僅僅執行和中繼那些影響到這些本地狀態的交易。這種分割槽線性地減少了所有包括算力、儲存、頻寬的需求。但是這也帶來了新的問題,例如資料可用性和跨分片交易的問題。這兩個問題我們會在下文闡述。

70後80後和90後之間的 差距

70後 穿七匹狼或者猛龍牌子的衣服.80後 喜歡穿g star之類的衣服.90後 乞丐服,越花越好,乙個洞時尚,兩個洞潮流,三個洞個性.70後 我們是工作狂 80後 我們拒絕加班.90後 拒絕上班.70後 唱卡拉ok的時候只會亂吼,然後就拼命的拉著你唱歌,不讓你唱.80後 麥霸一般就是我們.90後 ...

DOM節點之間的關係,與節點的基本操作

以下獲取節點都會獲取所有的節點型別,不只是包括元素節點,還有文字型別等 獲取乙個元素節點的所有子節點 元素節點物件.childnodes 獲取到的是乙個類陣列nodelist 獲取乙個元素節點的第乙個子節點 元素節點物件.firstchild 獲取乙個元素節點的最後乙個子節點 元素節點物件.last...

xpath 軸,節點之間的關係

測試軸可定義相對於當前節點的節點集。軸名稱結果 ancestor 選取當前節點的所有先輩 父 祖父等 ancestor or self 選取當前節點的所有先輩 父 祖父等 以及當前節點本身。attribute 選取當前節點的所有屬性。child 選取當前節點的所有子元素。descendant 選取當...