Well we have discussed the provably fair topic for a long time, during the development process. And we concluded that the only real proof is to make statistics with the transactions log. Everybody who knows statistic will very quick recognize if something is not fair on the casino.
As we don't have a payment for every bet we can't use hashes from transactions to generate random numbers.
We studied the „provably fair“ solutions on the Internet which came without such a transaction hash. Normally there are some hashes generated on the server and some on the client. Those calculate in a known algorithm and a huge documentation of all calculations give some feeling of proof.
Everybody who tried to generate a random number with a mathematical formula knows the challenge. In fact it is not possible. To generate a random number you need the most unpredictable event as possible what contradicts with the philosophy of math to predict everything. So we normally trigger physical events like the memory or CPU usage to make the random number less predictable.
To get the most unpredictable random number for diceeno.com we have implemented a hardware application which measures the noise on a Diode junction. With that we initialize our random generator. This gives us a very realistic distribution of random numbers. The prove of that lies in making statistics.
We won't give the feeling of a proved security because this just does not exists. The only proof that a casino is fair lies in the played games. And we hope that the users make their statistics while playing and check the fairness of every casino they use and don't just believe in some white papers distributed by the casino owner never certified by a third instance.
Oh god, another casino operator thinks provably fairness is pointless again. Seriously.
Statistics can be faked. How do I know the house isn't making up fake bets where they always win, just so it appears it's fair?
It is impossible to prove that a casino is fair via statistical analysis unless you play hundreds of thousands of games yourself. Statistics are not a plausible way to verify fairness.
Also, widely used hashing algorithms are not an "unknown algorithm".
hashes are the core of bitcoin. They're how the blockchain works. They're how mining works. Without hashes, there would be no mining. Hashing systems aren't magic, they are pretty much used everywhere.
"Provably Fairness for Dummies"
1. casino generates a random string, called the 'secret'. Use whatever random system you're using now.
2. hash("sha256", $secret). Show it to the player.
3. player provides their own secret, via txid, or normal input. Generate player's secret by collecting mouse movement. Let player specify their own secret.
4. output = hash("sha256", $casinoSecret . $playerSecret)
You don't need TXIDs for provably fair verification! TXIDs are commonly used as a secret, but it's an option.Process output how you wish depending on what your game is. As long as you publish how you generate it, it doesn't matter which way you do it, because as long as any party and verify the result it's OK. Like I can say "0 is heads, 1 is tails" or "1 is heads, 0 is tails", or even "if fourth bit is 1 and second bit is 0 then it's heads", as long as anyone can verify it then it's provably fair.
Provably. Sure the casino can have 1% breakeven odds, but everyone will be able to see AND VERIFY that before playing.
Provably fair casinos when done right
cannot cheat without being caught.The only logical conclusion for sidestepping provable fairness on a dice game is that you are trying to cheat, or you are too stupid to implement a hash function. Statistics cannot feasibly prove you are not cheating.Apologies for the rant, but I have never seen more concentrated
"studying" ignorance or shenanigans.
By the way, learn about double spending, before someone runs off with your entire wallet. I bet you haven't modified bitcoin.conf to prevent trivial double spending attacks. There's a reason why the biggest bitcoin gambling game now pretty much requires 1 confirms, and it is for a good reason - because you'd be losing money otherwise when you get large enough.