Election - Node offline


#1

I’m curious. If a node gets elected to produce a block via the PoS protocol, but the node is offline, what’s the procedure of the protocol for this scenario?


#2

Block just gets missed and slot remains empty. Next slot leader will continue the last known chain.


#3

And how do nodes come to a consensus if a block was missed?
Why can somebody not just miss and afterwards form a block at the height that he was elected and try to attack the mainchain?


#4

And how this attack would work?


#5

If the chain has moved on, mining the block at the correct place doesn’t work, because the consensus algorithm makes all nodes choose the longest chain and the longest chain would be the one without the missing block.


#6

I need to know an answer to this question in order to understand:

“And how do nodes come to a consensus if an elected producer missed a slot?”

Think about it. Even two non-byzantine nodes cannot possibly come to a consensus if an elected producer produced a block in time.


#7

How do nodes come to a consensus if an elected producer did not miss the slot?


#8

Think about it. Even two non-byzantine nodes cannot possibly come to a consensus if an elected producer produced a block in time.


#9
  1. What?
  2. Why?

#10

Simply because there is no proof.

option 1: Set a threshold and reject everything above that threshold. Like that nodes will not agree in the same state, because not everybody receives block at the same time.

option 2: Set no threshold. I do not talk about this one, because AFAIK cardano does use a blocktime approach (threshold) right?


#11

Yup. This one.


#12

yeah that was the answer to
what? why?


#13

Are you sure or does Cardano use option 2?


#14

Quite sure


#15

Option 2 makes more sense imo


#16

Ok. You have the right for this opinion


#19

Why option 1 is non viable?


#20

Yes. Even two non-byzantine nodes cannot possibly come to a consensus if an elected producer produced a block in time.


#21

Repeating is not proving. Why they “cannot possibly come to a consensus”?


#22

Node 1 does think elected producer has produced in time
Node 2 does think elected producer has not produced in time

Which is possible due to block propagation times.

Detailed descirption coming after I reviewed some basic stuff in order to understand the Ouroboros specification. But Ouroboros also has to deal with this problem. The solution may be unelegant and pragmatic, but I guess it works.