Multiple block producing nodes in stake pool?

Most of the docs consistently refer to “the block producing node”, implying that there can only be one of these in a stake pool. This document however indicates that you could set up multiple producers and relays:

Is it possible to run a stake pool with two relays and two producers? A single producer means a single point of failure, and makes high availability very hard even when doing regular maintenance such as updating the os itself, or even the cardano process.

It would be great if the docs could clearify this in any case.

u can’t run 2 nodes as a Producer same time… but u can prepare a 2nd node to run as a Producer when the main one will fail
There is no limit for relays, u can run as many u want(recommendation is min 2 relays)

Cheers,

1 Like

Alright, thank you for the swift response!

1 Like

I believe if you had two identical BPs running using the same pool cert, it would look something like this:

They would be using the same nonce and stake to calculate leading slots, so they would each try to create blocks at the same time.

They would each have their own transaction pool (which I think could vary slightly depending on which one receives pending tx’s first etc.). So when they are leader, they would each try to create a block - sometimes the blocks would be identical, in which case I suspect it would work just fine (would love more insight here as I’m not sure about this). If the two blocks contain a different amount of transactions they would be different, and it would cause a slot battle. If it was just your two nodes competing and no others, one of them will win and the other block will be discarded. There is no penalty for this so I actually don’t see a downside apart from causing the slot battle. I wonder if having the battle would put you at a disadvantage or if it’s just bad for the network.

I’m definitely interested in the perspective of someone who understands the protocol at a deeper level on this one.

2 Likes