Does an ideal of 0.25 really mean a 25% chance of getting a slot each Epoch

There is nothing worse than feeling like you have to blindly trust a “block box”. Unfortunately crypto is like magic to most of us.

In order to satisfy yourself, maybe you could look at the actual formula for how to use your key to check if your are the leader for any particular slot.

I know it is something along the lines of the following:

  • Query the VRF seed for the epoch (from blockchain)
  • Query the total amount of Ada staked for the epoch (from blockchain)
  • Query your pool’s stake for the epoch (from blockchain)

Then for each slot number use your pool’s vrf key to ?encrypt? a combination of the epoch VRF seed + slot number in some format and check if the output of this function produces a number that is lower than your pool’s staked Ada divided by the total staked Ada.

The formula is something like that. Maybe @HeptaSean can properly inform us, he is super knowledgeable about this sort of difficult technicality.

If you can read Rust code, the cncli tool does the calculation. It might be easier to find the calculation in Andrew Westberg’s code rather than the IOG Haskell code base.

Maybe you could manually do a few calculations using the crypto operations for just a few slot numbers so that you gained familiarity with the formula? The crypto library functions will be available as c code and python libraries.

Maybe that would build confidence in how it works. Then you could check the result for some of the slots you were actually awarded in the past. Maybe you could write a simple function that used command line parameters for the seed, total stake, and pool stake figures, as well as the vrf key.

At the very least, going through this process would be educational for yourself and might help others feel more confident by knowing how the calculation is done if you posted the details.

2 Likes