Skip to content

About some block time in config.toml will affect the selection of block producer?  #1586

@VegeBun-csj

Description

@VegeBun-csj

Hello, friends from the community. I conducted an experiment on a chain launched with Tendemint and Cosmos SDK and had some questions about the selection of block producers. Here's my experiment(using cosmos-sdk v0.47.3, comebft v0.37.2):

  • I launched a chain using Cosmos SDK.
  • started two validator nodes with equal stake amounts.

I observed that both nodes took turns to produce blocks, which aligns with the principles of Tendermint's round-robin consensus.
Now, let's make some configuration changes on top of the default settings mentioned above:

  • The first node uses the default consensus configuration with:
image

while the second node modifies the consensus field in the config.yaml with this:
image

At this point, I noticed that the round-robin consensus rule wasn't implemented, as the second node continued to produce blocks while the first node didn't get the chance.
image

Why is this happening? Can block production time be modified by the validator to gain an advantage in block production? Does this deviate from the definition of round-robin consensus?

Since the first validator didn't produce blocks, I attempted to increase the delegation amount for the first validator, making Validator1's voting power 60% and Validator2's voting power 40%. Surprisingly, Validator1 also started producing blocks.

  • Why is this? Isn't block production time determined by voting power? Why is it influenced by the node's block production time configuration?
  • If it's the case, how can we address situations where someone arbitrarily adjusts their block production time to gain an advantage, especially since it seems like these configurations are entirely under the control of the nodes themselves?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions