Parity
除了導入新塊之外,Warp 同步之後 Parity 還在做什麼?
我注意到 Parity 在 warp 同步後仍然忙於處理舊塊 - 但它並沒有真正說明原因。例如
2018-06-07 08:38:14 UTC Imported #5746763 098a…98f4 (37 txs, 1.69 Mgas, 137.63 ms, 8.11 KiB) 2018-06-07 08:38:34 UTC Syncing #5746763 098a…98f4 0 blk/s 0 tx/s 0 Mgas/s 0+ 0 Qed #5746764 6/100 peers 5 MiB chain 117 MiB db 0 bytes queue 10 MiB sync RPC: 0 conn, 22 req/s, 115 µs 2018-06-07 08:39:05 UTC Syncing #5746764 e094…7fb0 0 blk/s 0 tx/s 0 Mgas/s 0+ 0 Qed #5746760 11/100 peers 315 KiB chain 117 MiB db 0 bytes queue 6 MiB sync RPC: 0 conn, 57 req/s, 91 µs 2018-06-07 08:39:05 UTC Syncing #5746764 e094…7fb0 0 blk/s 0 tx/s 0 Mgas/s 0+ 0 Qed #5746760 11/100 peers 2 MiB chain 117 MiB db 0 bytes queue 6 MiB sync RPC: 0 conn, 57 req/s, 91 µs 2018-06-07 08:39:47 UTC #5101162 1/100 peers 40 KiB chain 117 MiB db 0 bytes queue 8 MiB sync RPC: 0 conn, 10 req/s, 43 µs 2018-06-07 08:39:47 UTC #5101162 1/100 peers 53 KiB chain 117 MiB db 0 bytes queue 8 MiB sync RPC: 0 conn, 11 req/s, 98 µs 2018-06-07 08:39:47 UTC #5101162 1/100 peers 53 KiB chain 117 MiB db 0 bytes queue 8 MiB sync RPC: 0 conn, 18 req/s, 631 µs 2018-06-07 08:39:47 UTC #5101162 1/100 peers 53 KiB chain 117 MiB db 0 bytes queue 8 MiB sync RPC: 0 conn, 18 req/s, 631 µs 2018-06-07 08:40:32 UTC Imported #5746771 564f…171e (139 txs, 7.99 Mgas, 851.06 ms, 27.05 KiB) + another 1 block(s) containing 241 tx(s) 2018-06-07 08:40:32 UTC #5101480 1/100 peers 5 MiB chain 118 MiB db 0 bytes queue 15 MiB sync RPC: 0 conn, 11 req/s, 8792769 µs 2018-06-07 08:40:32 UTC #5101480 1/100 peers 5 MiB chain 118 MiB db 0 bytes queue 15 MiB sync RPC: 0 conn, 11 req/s, 8792769 µs 2018-06-07 08:40:32 UTC #5101480 1/100 peers 5 MiB chain 118 MiB db 0 bytes queue 15 MiB sync RPC: 0 conn, 10 req/s, 1569665 µs 2018-06-07 08:40:32 UTC #5101480 1/100 peers 5 MiB chain 118 MiB db 0 bytes queue 15 MiB sync RPC: 0 conn, 10 req/s, 1569665 µs
前幾行是可以理解的 - #5746763 和 #5746764 是來自網路的新塊。但之後它仍在使用#5101480 做一些事情 - 顯然,這花費了 >8.7 秒,這導致 Parity 節點暫時對 RPC 呼叫無響應。
這裡發生了什麼事?
當您進行扭曲同步時,它會獲取所有帳戶目前狀態的快照。但這怎麼是正確的快照呢?它沒有。它暫時假設它是,但返回並下載導致此快照的所有塊,並驗證它們(或至少驗證它們的工作證明)。這就是舊塊的用途。