How the dice work
Every roll in TycoonDAG can be recomputed from public data. You do not have to trust us — and the design assumes you don't, because we also mine the blocks.
The problem
Chain 1404 has no randomness beam. block.prevrandao is 0x00 on every block and difficulty is 1, so the usual source simply isn't there. The block timestamp is no good either — it lags real time and sometimes steps backwards, because of how the DAG orders blocks.
That leaves the block hash. But a block hash is chosen by whoever mines the block, and WelshDAG runs a large mining pool on this chain. “Trust us, we mine the blocks that roll your dice” is not good enough, so we don't ask you to.
Three inputs, three parties
A roll's seed is built from three contributions, and no one party can see the others in time to exploit them:
- Our seed comes from a hash chain whose root was published on chain before anyone played. We can only walk it forwards by revealing preimages, so every future seed was fixed in advance and cannot be swapped.
- The block hash is contributed by whoever mines that block.
- Your seed is yours, and you can change it whenever you like, which resets everything that came before it.
The rule that carries the weight is this: a roll may only use one of our seeds that was revealed strictly after the block whose hash it uses — and only the earliest such seed. So at the moment a block is mined, the seed that will combine with it does not exist publicly yet. Grinding the block hash steers nothing. And we committed to the seed long before that block existed. Cheating would need the pool, a miner and you, together.
Check it yourself
Everything needed is public: the revealed seeds, the block hashes, the client seeds and the nonces are all on chain. Our verifier reads only those and recomputes every die ever rolled:
It prints how many dice reproduce exactly and how many did not. If any roll disagreed with its inputs, it says so and exits non-zero. Write your own against a public RPC if you would rather not run ours — the formula above is the whole of it.
When it degrades, it says so
A bot reveals our seeds. If it stops, rolls would be stuck, so after about two minutes a roll can be resolved on the block hash alone. That is weaker, and it is recorded on chain as degraded rather than quietly dressed up as a normal roll. The verifier counts them separately. Anyone can resolve anyone's roll, so there is no one whose absence can hold your turn hostage.
What we can still do
Being straight about the limits: we set the board, the payouts and the prices, and we can change them for future rolls. We can rotate to a new seed chain — but only by announcing the new root about fourteen hours ahead, in public, where it lands in the audit trail. What we cannot do is reach into a roll you have already committed, or pick which of our seeds it uses.