快速同步

优质
小牛编辑
131浏览
2023-12-01

在工作区块链的证明中,与链同步的过程与共识保持最新是相同的:下载块,并寻找工作总量最多的块。在权益证明中,共识过程更为复杂,因为它涉及到节点之间的轮询通信,以确定下一步应该提交哪个块。从头开始使用这个过程来同步区块链可能需要很长时间。只下载块并检查验证者的默克尔树要比运行实时共识 gossip 协议快得多。

使用快速同步

为了支持更快的同步,tendermint 提供了一种 fast-sync 模式,默认情况下是启用的,可以在 config.toml 中或者通过 --fast_sync=false 切换。

在这种模式下,tendermint 守护进程的同步速度将比使用实时共识进程快数百倍。一旦被捕获,守护进程将从快速同步切换到正常的共识模式。 运行一段时间后,如果至少有一个节点,并且节点的高度至少与所报告的最大节点高度相同,则节点将被视为 caught up。参见IsCaughtUp 方法

如果我们很落后,我们应该回到快速同步,但这是一个打开的问题