1

I've tried modifying the repository so initial voters for the grandpa pallet. In doing so, I noticed there are many checks to prevent that modification. The reason why we do not want any initial voters is to prevent hardcoding of some node properties in the chain_spec file. Hardcoded validators in the chain_spec file could be a target for Ddos attacks among others. So I'd like to know why the initial voters are required with the grandpa pallet and how to do without them. Are there any security reasons or advantages to having initial voters specified in the chain_spec file?

1 Answer 1

0

Hardcoded validators in the chain_spec file could be a target for Ddos attacks among others.

You could bring this argument also later when the chain is already running.

Are there any security reasons or advantages to having initial voters specified in the chain_spec file?

The advantage being that your blocks are being finalized. If you create a chain with deterministic finality, you should get deterministic finality from genesis. Having them declared in the genesis chain spec also doesn't increases the chances of Ddosing them.

2
  • Sure. But what if we still do not want them? What if we do not want deterministic finally from genesis?
    – Kofi
    Commented Feb 27, 2023 at 17:12
  • Substrate requires is currently build around the assumptions that there is finality. This could be changed in the future, but currently this doesn't work. But you could also write some finality "gadget" that just finalizes every 1000th block or something like this.
    – bkchr
    Commented Feb 27, 2023 at 22:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.