Hey everyone,
I'm excited to announce a major update to the Ultimate Dice Roller. This update includes two key changes: a fresh coat of paint and, more importantly, its first real "blockchain feature" that makes every roll provably fair.
First off, the visual refresh. I have to be honest, the more I looked at the old purple and yellow color scheme, the more I hated it! :) The new design is much cleaner and easier on the eyes.
But the real magic is under the hood. I wanted to add a layer of transparency to the randomness, and I've done that by integrating it with the Hive blockchain using a provably fair algorithm.
How It Works: Provably Fair Rolls
When you use a standard online dice roller, you have to trust that the server's random number generator is truly random. To remove that need for trust, this tool now uses public data from the Hive blockchain to generate results in a way that anyone can verify.
Here’s the complete step-by-step process:
- Fetch Live Blockchain Data: When you click "Roll," the server connects to Hive and fetches the latest irreversible block.
- Gather Public Seeds: It then pulls specific data from that block to use as the cryptographic inputs:
- Server Seed: The
block_id
of the latest block. - Client Seed Base: The
transaction_merkle_root
of that same block. - Nonce: The block number (
id
) itself.
- Server Seed: The
- Add a Pinch of Salt: To solve the problem of two people rolling at the exact same time and getting the same result, the server adds one final ingredient: a small, unique, and cryptographically secure "salt" is generated for every single roll request.
- Generate the Roll: This unique salt is appended to the
Client Seed Base
(transaction_merkle_root
) to create a final, truly uniqueClient Seed
. These three inputs (Server Seed, the salted Client Seed, and the Nonce) are then fed into a standard, deterministic provably fair algorithm to produce the dice roll.
Because the core seeds from the Hive blockchain are public, and the salt is now displayed after the roll, the entire process is transparent and verifiable. The same inputs will always produce the same result, but the salt ensures no two individual rolls are the same.
This was a really fun feature to build and refine, and it's a great example of using the blockchain for something practical beyond just finance. I hope you enjoy the new look and the added layer of trust!
EDIT: https://dice.thecrazygm.com/
As always,
Michael Garcia a.k.a. TheCrazyGM