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
我阅读文档和代码。
所以我猜想,如果嫩薄荷在一个回合中成功制造出方块,
timeout_propose + timeout_prevote + timeout_precommit = 5s,然后等待timeout_commit 5s ...
因此区块提交发生在5s〜10s之内,因此下一个区块共识在10s之后开始。
如果嫩薄荷在两轮中成功制造出方块,
(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之后开始。
我猜这是因为薄荷糖每轮都增加了超时时间。
我的猜测对吗?如果不是,那么配置文件中的超时到底是什么意思?
答案 0 :(得分:4)
感谢您的提问。
https://tendermint.com/docs/tendermint-core/running-in-production.html
中有许多有关超时的信息您还可以在规范中找到更详细的技术说明:https://arxiv.org/abs/1807.04938
请注意,在成功的回合中,无论timeout_commit
是什么,我们绝对等待的唯一超时。
这是超时的简短摘要: