6

I read somewhere that there is no risk of forks because ADA has a built in way of deciding who gets to propose the next block if multiple stakers get selected in 1 round:

The one who rolls the lowest number that satisfies the requirement gets to propose a block.

But if you control a lot of stake, couldn't it happen that you get selected twice? In that case you can first publish the first VRF, purchase a product in that block, then reveal your lower VRF and make a fork where you keep your funds (ie a double spend).

Anything that stops this?

2 Answers 2

5

Nothing at stake usually means, a block producer may produce multiple blocks simultaneously and either send those to different nodes, or keep some for later in order to perform a long-range attack.

Now in Ouroboros PoS the slot leaders are pre-compiled and determined by VRF mechanism. Each participating node can easily verify if the produced block was actually built by a valid slot leader.

Also in Cardano's PoS the node does not submit/broadcast his new block, but just announce his current block-height. The remote node then decides if he want/need to fetch this block or not (i.e. a pull mechanism instead of a broadcast/push mechanism)

Also micro forks based on multiple valid blocks for the same slot - which can even happen naturally without bad intentions, based on the random slot leader election - are quickly solved by always choosing the block with the lowest VRF dice result.

5
  • just noted I forgot to answer your last question: I'm not sure what you exactly mean by "selected twice" because of the huge stake. Every pool will have exactly one VRF dice result for every slot. So I guess you mean a pool operator controlling two or more large pools, who may are elected for the exact same slot. It effectively seems possible in very rare random cases: limited to who actually has multiple huge amounts of stake on his pools, and a non-enforceable point in time when these pools dice for the exact same slot. Commented Aug 20, 2021 at 7:59
  • There are 86400 slots per day and 432000 each 5-day lasting epoch. Due to the saturation limit (total staked supply / k pools) it is almost impossible to attract delegations going above the saturation point, especially for a long time (currently with k=500 and ~72% active stake it is ~65M ADA) Commented Aug 20, 2021 at 8:01
  • A fully saturated (large) pool will be elected for ~55 slots each epoch, out of the 432000 The probability that your second large pool is elected for the exact same slot is very low. And in the case it will happen, the block including the double-spend TX will be quickly removed from chain, even before the first following confirmation/block. some degree of confirmed blocks on top is always recommended Commented Aug 20, 2021 at 8:06
  • >"And in the case it will happen, the block including the double-spend TX will be quickly removed from chain, even before the first following confirmation/block." This doesn't make sense to me. You cannot "remove" a block, all you can do is not build on it. If the double spend block was already confirmed and built upon, and the attacker only then (after some blocks built on the other block) releases the lower VRF, aren't the nodes bound by the rules to build on that new block instead? Commented Aug 20, 2021 at 15:11
  • 1
    sorry, with removed I meant "solving the micro-fork by discarding the higher VRF block, choosing the lower-VRF one, and then wait for and build on the next block." a lower-VRF block released some blocks later does not kick the whole chain of already build blocks. lower-VRF decision only plays out when two concurrent blocks are available to become th new tip. Commented Aug 20, 2021 at 19:08
0

It's not.

The Ourobouros protocol takes care of "Nothing at Stake" using game theory with mathematically verified algorithms that Prof. Aggelos Kiayias explains by laying out the parts of Ouroboros.

This is part of why Staking on Cardano is the best, no lock-up, 100% liquid, and your ADA never leaves your wallet. ETH 2.0 needs slashing to cover for this and to stake, you need to SEND your ETH to the node and hope it doesn't do something to get slashed, or worse, the node is compromised by a dishonest admin or poor security.

https://www.youtube.com/watch?v=ur1lttBXAGM

Ouroboros has multiple papers that explain each of the parts. When putting it together nothing tops it. Just type in Ourobouros in the search for Library.

https://iohk.io/en/research/library/

1

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.