You are viewing a single comment's thread:

RE: Introducing the Ultimate Dice Roller: Provably Fair Rolls for Your Games!

A long time ago, in STEEM days, @croupierbot basicly did what you are aiming for, but likely in a bit too slow way. In this post from 2017 outlines one of its previous use-cases.

The bot when invoked basicly anounced which not-yet-existing near-future block it was going to us for its randomness, then used the block signature in a repeatable way.

Working on a hash-based signatures project, I had been thinking of improving on this setup to allow for quicker access to randomness, and it is not that hard.

The trick is to:

  • Pick your own secret seed using a decent source of entropy
  • Derive a larger set of random keys using the root seed and an index
  • Use the random keys as private keys in a Winternitz chain setup.
  • Use the resulting Winternitz pubkeys in a merkle tree
  • Publish the merkle root together with a near future block number for the HIVE blockchain.
  • Wait for the block with the given block number to be published and take a sufficiently safe chunk of the signature.
  • For every dice role, create a hash based signature of the signature chunk with the next set of Winternitz chains.
  • Convert the signature to base-6 to emulate dice role and publish the dice roll.
  • Repeat untill all Winternitz chains are used up.
  • Publish your seed.

Now after your seed is published, maybe something like 32 five-dice rolls would become verifyable.

0.00112905 BEE
0 comments