Tendermint 似乎缺少对块创建时间的描述......
他们将默认配置文件创建为
timeout_propose = 3000
timeout_propose_delta = 500
timeout_prevote = 1000
timeout_prevote_delta = 500
timeout_precommit = 1000
timeout_precommit_delta = 500
timeout_commit = 5000
我阅读文档和代码。
所以在我的猜测中,如果tendermint 在一轮内成功创建区块,
timeout_propose + timeout_prevote + timeout_precommit = 5s 并等待 timeout_commit 5s ......
所以区块提交发生在 5s~10s 因此下一个区块共识在 10s 之后开始。
如果tendermint在两轮中成功创建块,
(timeout_propose + timeout_prevote + timeout_precommit) + (timeout_propose + timeout_propose_delta + timeout_prevote + timeout_prevot_delta + timeout_precommit + timeout_precommit_delta) = 5s + 6.5s = 11.5s 并等待 timeout_commit 5s...
所以块提交发生在 11.5s~16.5s 之间,因此下一个区块共识在 16.5s 之后开始。我猜tendermint 会为每一轮添加增量超时。
我的猜测对吗?如果不是,配置文件中的超时究竟是什么意思?