<p>Thanks for the Question.</p>

<p>There's a variety of information about timeouts in <a href="https://tendermint.com/docs/tendermint-core/running-in-production.html" rel="noreferrer">https://tendermint.com/docs/tendermint-core/running-in-production.html</a></p>

<p>You can also find more detailed technical explanation in the spec: <a href="https://arxiv.org/abs/1807.04938" rel="noreferrer">https://arxiv.org/abs/1807.04938</a></p>

<p>Note that in a successful round, the only timeout that we absolutely wait no matter what is <code>timeout_commit</code>.</p>

<p>Here's a brief summary of the timeouts:</p>

<ul>
<li>timeout_propose = how long we wait for a proposal block before prevoting nil</li>
<li>timeout_propose_delta = how much timeout_propose increases with each round</li>
<li>timeout_prevote = how long we wait after receiving +2/3 prevotes for "anything" (ie. not a single block or nil)</li>
<li>timeout_prevote_delta = how much the timeout_prevote increases with each round</li>
<li>timeout_precommit = how long we wait after receiving +2/3 precommits for "anything" (ie. not a single block or nil)</li>
<li>timeout_precommit_delta = how much the timeout_precommit increases with each round</li>
<li>timeout_commit = how long we wait after committing a block, before starting on the new height (this gives us a chance to receive some more precommits, even though we already have +2/3)</li>
</ul>
Confusion about tendermint block creation interval
<p>Tendermint seems to lack a description of block creation time...<br>
They create default config file as </p>

<pre><code>timeout_propose = 3000
timeout_propose_delta = 500
timeout_prevote = 1000
timeout_prevote_delta = 500
timeout_precommit = 1000
timeout_precommit_delta = 500
timeout_commit = 5000
</code></pre>

<p>I read documents and code.  </p>

<p>So in my guess, if tendermint succeeds to create block in one round,<br>
timeout_propose + timeout_prevote + timeout_precommit = 5s and wait timeout_commit for 5s...<br>
so block commit occurs in 5s~10s thus next block consensus starts after 10s.  </p>

<p>And if tendermint succeeds to create block in two round,<br>
(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 and wait timeout_commit for 5s...<br>
so block commit occurs in 11.5s~16.5s thus next block consensus starts afters 16.5s.
I guess that tendermint add delta timeout for each round.</p>

<p>Is my guess right? If not, what exactly do the timeouts in the configuration file mean?</p>