Scalability

為什麼沒有更多關注乙太坊達到 1TB?我們應該擔心嗎?

  • June 13, 2018

我已經閱讀了以前的答案,例如 user: eth發布的答案,其中突出了一些EIP,例如103: Serenity105: Sharding。這些是更長期的解決方案,但從現在開始,這是一個緊急問題

我不知道區塊鏈大小的理論上限?有人擔心區塊鏈會超過**1TB**。這是在消費筆記型電腦的儲存邊界上,這將大大減少全節點對大眾的訪問。

不需要有很多完整的客戶端節點。

現在你可以下載輕客戶端版本,它實現了 Merkle Tree 結構,讓節點不必將所有數據儲存在它的硬碟上。

完全輕客戶端的一些案例,以及輕客戶端如何滿足這些案例,包括:

  • 輕客戶端想知道特定時間的帳戶狀態(隨機數、餘額、程式碼或儲存索引)。輕客戶端可以簡單地從狀態根遞歸下載 trie 節點,直到它達到所需的值。
  • 輕客戶端想要檢查交易是否已確認。輕客戶端可以簡單地向網路詢問該交易的索引和塊號,並遞歸下載交易 Trie 節點以檢查可用性。

前三個輕客戶端協議需要對數數量的數據訪問和計算;第四個需要〜O(sqrt(N)),因為布隆過濾器只是一個兩級結構,儘管如果輕客戶端願意依賴多個提供者指向“,這可以改進為O(log(N))有趣的“交易指數和退役提供者,如果他們被發現錯過了交易。第一個協議用於簡單地檢查狀態,而第二個協議在消費者-商家場景中用於檢查交易是否經過驗證。第三個協議允許乙太坊輕客戶端以非常低的信任度集體驗證區塊。

  • 例如,在比特幣中,礦工可以創建一個區塊,給礦工過多的交易費用,而輕節點自己無法檢測到這一點,或者在看到誠實的全節點檢測到時,它會驗證無效。在乙太坊中,如果一個塊是無效的,它必須在某個索引處包含一個無效的狀態轉換,因此恰好正在驗證該索引的輕客戶端可以看到某些錯誤,或者是因為證明步驟沒有檢查出來,或者因為數據不可用,然後該客戶端可以發出警報。

在這裡,您可以獲得有關如何使用 Merkle 樹實現輕客戶端的完整資訊:

https://github.com/ethereum/wiki/blob/master/Light-client-protocol.md

https://en.wikipedia.org/wiki/Merkle_tree

希望能幫助到你!

引用自:https://ethereum.stackexchange.com/questions/49534