Totanka
· 4w
nostr:nprofile1qqs09jtvjlmyrxjn37zv70a89csegcz7rpyqjmnw29cveedhv7vagqqprdmhxue69uhkummnw3ez6v3w0fjkyetyv4jjucmvda6kgqgjwaehxw309ahkvenrdpskjm3wwp6kyld7nrm nostr:nprofile1qqs9kr5d5m7lhfnrqwrfpvmay9kcx3...
Six possible values don't fit cleanly into binary math:
2^2 = 4 possible values
2^3 = 8 possible values
So there are some convoluted schemes to try to stuff the six values into a binary format that just wasn't meant to accommodate them (see discussions on iancoleman.io's github repo related to "bias" in terms of fitting into binary data).
But if you instead treat each roll as a character:
The character "5", not the number 5
Then you express your dice rolls as a text string:
"62446342425241113..."
And feed that string into sha256.
Change any of those rolls at any position and you get a totally different sha256 hash.
So each position in that text string has 6 possible values. And each different value yields a totally different sha256 hash. And the position of those values matters (swapping the 1st and 2nd = totally diff hash).
So assuming that sha256 isn't broken, you're providing 6^n amount of unique outcomes, where n is the number of rolls.
In other words: the total space of possible outcomes is exactly as huge as it's supposed to be.
99 rolls gets you 10^77 possible outcomes (supposedly sha256 loses ~0.5 bit, but okay). With none of the bit-fitting gymnastics.