比特幣區塊鍊和瑞波賬本的區別?
比特幣區塊鏈儲存交易歷史。區塊鏈塊通過指向先前雜湊的指針互連。
同時,Ripple 賬本而不是交易儲存賬戶資訊,例如餘額。Ripple 賬本有一個賬本編號。
Ripple 賬本是儲存賬本 0 到 N 的歷史還是只儲存 N?每個 Ripple 分類帳是否儲存每個帳戶資訊或僅儲存最近發生交易的帳戶?
瑞波賬本儲存賬本 0 到 N 的歷史記錄,還是只儲存 N?
這只是一個定義問題。您可以將分類帳定義為具有單個序列號的網路的單個狀態。或者,您也可以將分類帳定義為網路的每個過去狀態。
最常見的是,我們使用術語“賬本”來指代網路的單一狀態。
每個 Ripple 分類帳儲存每個帳戶資訊或僅儲存最近發生交易的帳戶?
同樣,這只是定義問題。最常見的是,我們使用術語“賬本”來指代在特定時間點連接的所有狀態條目(帳戶、報價、信任線等)。
分類帳設計是被動的。也就是說,一個特定的條目可以在賬本 10,000,000 到 20,000,000 中,而不會發生任何特殊情況,也不需要任何處理,因為它只是位於賬本中並且不做任何事情。
如果一個新的 rippled 伺服器啟動時根本沒有數據,它不會開始處理,直到它知道每個目前有效/可訪問的分類帳條目。這通常需要大約兩分鐘(因為分類帳的結構是專門為提高效率而設計的)。那時,即使它沒有任何網路歷史記錄,它也可以處理事務並執行正常功能。當然,它不能告訴你過去發生了什麼。
據我了解,主要區別在於,每個新的賬本 Ripple 伺服器都提供了整個“賬戶狀態”(每個賬戶、餘額等)的 Merkle Tree 雜湊根,包括新交易。這樣,節點可以比較默克爾樹雜湊並確保它們擁有目前的賬本。
由於目前賬本是由驗證者簽署根雜湊的驗證,因此不需要伺服器節點儲存從 0 到 N 的每個賬本(除非您想審計賬本)。
因為默克爾樹雜湊包括所有賬戶,伺服器節點只接收新交易並在本地更新賬戶。然後他們生成根雜湊並與收到的雜湊進行比較以確保它們具有目前狀態。