看區塊鏈分片如何解決區塊鏈可擴展性問題
區塊鏈技術徹底改變了企業存儲數據和執行分布式交易的方式。即使在公共網絡,區塊鏈也可以確保所有參與者都可訪問安全、可靠和可驗證的記錄。但區塊鏈面臨的重大限制是:可擴展性。隨著交易數量的增加,系統會變得更慢更昂貴,并且從長期來看,可持續發展性會降低。
對于可擴展性問題,解決方法之一是分片,在分片過程中,數據被分解為可管理塊,分布在不同節點上。目前區塊鏈分片已經應用于私有區塊鏈網絡。而在公共網絡部署分片技術會帶來挑戰,因此,在公共系統可有效擴展前我們必須解決這些挑戰。
區塊鏈困境
區塊鏈是一種分布式分類帳技術,用于記錄一個或多個參與者之間的交易。在傳統配置中,分類帳分布在多個節點,每個節點都保持完整的副本。區塊鏈按時間順序將每個交易記錄到分類帳中,然后同步和驗證交易,這些交易在所有節點上都是透明且可驗證的。
隨著交易數量的增加,分類帳的大小也會增加,從而導致在每個節點上處理和存儲更多數據。然而,部署額外的節點會使問題變得更糟,因為驗證將需要更多時間。由于每個節點必須處理每個交易,因此,隨著延遲增加、吞吐量降低和存儲成本上升,用戶將不可避免地面臨性能和可靠性問題。
顯然,這里需要更好的方法來擴展公共區塊鏈系統。對于可擴展性,區塊鏈分片是最流行的方法之一,它提供了方法來分散工作負載處理和數據存儲,因而不會迫使某個節點處理整個交易負載。數據被分區為單獨的桶,而每個節點分配到特定的分區。通過這種方式,節點僅需處理和存儲與該節點所屬的分區或分片相關的交易。
區塊鏈分片戰略
分片的概念源于數據庫系統–將數據分割到多臺服務器以改進交易處理。通過類似的方式,區塊鏈處理可以分配到多個節點,以實現并行執行模型,該模型可以提高性能,同時減少每個節點必須處理和存儲的數據量。在這種方法中,必須調整驗證交易數據塊的方法,這樣做可以實現更高的吞吐量和更低的延遲性。
分片數據的確切方法因應用程序而異,并沒有相同的最佳戰略。即便如此,基本概念是相同的。每個節點都分配到單獨的分片,負責驗證該分片中的交易,而不是驗證整個區塊鏈網絡中的每個交易。
同時,分片結合交易冗余以確保數據的有效性和可靠性。在將數據分割到多個分片后,每個分片將分布到多個節點。例如,如果區塊鏈網絡支持1,000個節點,則數據可能被劃分到10個分片,每個分片分配到100個節點。通過這種方式,每個節點僅處理和存儲十分之一的數據,但數據仍然可以跨100個節點得以驗證。
區塊鏈分片的優勢很快就會顯現出來。交易可以并行處理,并且,每秒可以處理更多交易,這是是傳統區塊鏈方法的10倍。并且,處理和存儲成本要低得多,因為每個節點只處理十分之一的數據。
分片面臨的4個挑戰
在私有企業區塊鏈部署中,分片可能是有效策略,但在公共區塊鏈網絡使用區塊鏈分片并不容易。最大的挑戰之一是分片間的通信。
當節點分配給分片時,與該節點相關的用戶和應用程序會將分片視為獨立的區塊鏈系統,而不是大型系統的一部分。分片之間的通信可能難以建立,并且需要特定的開發工作來部署通信機制。即使有這種機制,分片間通信也會導致更大的開銷,這會讓分片的優勢大打折扣。
分片也可能破壞更傳統的區塊鏈接帶來的制衡。通過分片,用戶不再下載和驗證整個交易歷史記錄,因此他們無法確定數據的可靠性和不變性–這通常是根據交易塊的鏈式序列來確定。如果沒有這些安全機制,黑客就可更容易操縱或控制分片,這種情況被稱為單一分片攻擊,可能導致數據丟失或受損。
區塊鏈分片的另一個挑戰是共識和驗證。不同的區塊鏈方法依賴于不同的算法來跨節點達成共識。兩種常見的算法是工作量證明(PoW)和權益證明(PoS)。這兩者都可確定如何在分布式網絡中驗證交易,但它們是以不同方式完成驗證。
雖然這些算法的對比不在本文討論范圍,但重點是它們都會影響分片的部署方式。一般來說,PoS被認為比PoW更適合分片,有些人認為PoW不合適是因為它驗證交易的方式。然而,很多區塊鏈平臺依靠PoW來提供服務。
這些算法的差異也帶來另一個挑戰:對于如何部署分片,缺乏標準化。我們通過不同的方法來進行分片,并且,很多方法仍然在研究、開發或測試中。每種分片方法都有其優點和缺點,這使得難以確定行業標準。
分片的未來
對于公共區塊鏈部署,可擴展性仍然是重大挑戰,而分片正在成為解決此問題的主要方法之一。但我們必須謹慎應用分片技術,以確保它不會對區塊鏈過程產生負面影響或使數據置于風險之中。
事實證明,區塊鏈分片必須與其他技術結合使用以提供必要的可擴展性,例如支持分片通信的新協議。在此之前,公共區塊鏈存儲可能仍然保持目前的整體性,直到隨著它變得越來越大,性能逐漸下降。