LOCUS CHAIN 技術系列 5:可驗證剪枝第 1 章
原文標題:《LOCUS CHAIN TECH SERIES 5: Verifiable Pruning Chapter 1.》
作者:LOCUS CHAIN FOUNDATION
編譯:ChainCatcher
利用數據局部性:賬本分片和可驗證修剪
分片數據局部性:賬本分片
傳統意義上的區塊鏈,賬本是一條單鏈的形式。 每個節點都必須保存所有分類帳數據以檢查數據的完整性,包括現有數據和新數據。
但是,holding-all-ledger 模型不適用於分片賬本。 從本質上講,每個獨立的分片應該對其他分片的了解為零。 節點僅驗證包含在當前分片中的交易。 分片共識只處理分片中賬戶發出的交易。
此屬性還意味著節點可以安全地刪除(或"修剪")有關其他分片的數據。 雖然像分片間交易這樣的通信將關於其他分片的數據傳送到一個節點,但這些數據是臨時的,不必長期保存在本地存儲中。
分類帳分片有效地減少了每個節點本地存儲的大小,減少了分片的數量。
基於興趣的數據局部性
數據(如交易和區塊)的完整性根據分類帳進行檢查。 實際上,驗證需要(非常)小部分的賬本數據。 例如,每條新數據在實踐中只與鏈上最近驗證過的數據進行驗證。 較舊的數據在那裡保持安全鏈,但一旦最新數據的完整性得到保護,它們主要處於非活動狀態。
這個屬性提出了一個有趣的問題; 如果我們可以暫時刪除舊數據會怎樣? Locus Chain 將問題闡述為可驗證剪枝的概念。 通過可驗證修剪,Locus Chain 節點可以從本地存儲中刪除(或修剪)大部分不感興趣的交易和區塊。
可驗證修剪
可驗證剪枝是一種在不影響區塊鏈數據驗證功能的情況下,在本地環境中刪除(剪枝)過去某個時間段的先前數據的技術。
如果一個節點刪除了一个數據塊並稍後再次獲取它,則該節點還必須再次驗證數據。 在傳統區塊鏈的意義上,驗證一塊數據需要鏈上所有處理的數據塊,這需要大量的計算。
Locus Chain 的可驗證剪枝是關於在不掃描所有先前數據塊的情況下有效地驗證數據塊。 Verifiable Pruning 使用 Hierarchical Skewed Merkle Tree (H-SMT),這是一種獲得專利的獨特數據結構,可成倍減少數據驗證的開銷。 使用可驗證修剪,驗證數據塊只需要少量的先前數據塊,大約 log10 (N) 左右。 所需數據的數量很少,可以在不到一秒的時間內驗證所有需要的塊。
例如,當 Locus Chain 節點識別出不感興趣的舊交易時,該節點可以識別驗證該交易所需的一組其他交易。 交易集可能足夠小,可以在下一次達成共識之前獲取和驗證。
可驗證修剪可以節省賬本存儲空間。 此外,可驗證剪枝支持節點的快速啟動。 在 Locus Chain 中,節點僅使用一小部分先前的塊來驗證當前頭部的完整性。 新節點可以在幾輪共識中參與分片。
數據所有權和責任
可驗證修剪可以修剪不感興趣的數據。 換句話說,節點不得修剪感興趣的數據。 典型的不可修剪數據是關於節點所有者賬戶和懸空賬戶的交易。
每個節點都有一個所有者帳戶。 節點可能有未操作節點的懸空帳戶。 節點必須跟蹤有關相關帳戶的數據,並在需要時將數據提供給其他節點。
修剪是所有節點的基本操作。 特別是物聯網模塊等低容量節點可以利用修剪。 另一方面,具有足夠存儲空間的節點可以作為成就節點為其他節點做出貢獻。














