EpicDice Fairness
EpicDice is a decentralized gaming platform built on top of Steem blockchain with absolute transparency and fairness. Join the most epic fun today!
https://epicdice.io/
EpicDice has been online for about 4 months since its grand launching. The gaming platform has accumulated over 455,000 transactions and over 16.2M total volume with STEEM and SBD combined! Although the game has adopted the most simple randomness generation mechanism, yet not everyone possesses the knowledge of blockchain. With the considerably large data the game has generated thus far, we think this is a good opportunity for a walkthrough how EpicDice's fairness is being practised, in layman terms.
Transaction ID is the only source to generate rolled number
When a user fires a bet(transaction) to the house account, the block contains that transaction has to be verified and signed by the Steem witness to be considered valid. In the process of block signing, various information of a particular transaction like ref_block_num
, ref_block_prefix
, expiration
and so on, contributed in the generation of a fully random 40 hex digits trx_id
. Read more about this process in Steem Developer Portal.
This very blockchain-generated trx_id
is what EpicDice would solely use to generate a rolled number via formula below:
var transId ='<replace with trx_id>'
var result = 1000000
var offset = 0
var length = 5
var endValue = offset + length
var chop
var finalResult
while (result > 999999) {
chop = transId.substring(offset, endValue)
offset += 5
endValue = offset + length
result = parseInt(chop, 16)
finalResult = result % (10000) / 100
finalResult = Math.round(finalResult)
console.log("finalResult : " + finalResult)
if (finalResult === 0) {
result = 1000000
}
}
You can find this formula in "Fairness" section of the game site and verify all your bet result instantly.
For interested souls in finding out how technically a trx_id
is computed, the answer lies in Steem Official GitHub Repository.
But how is this system "provably-fair"?
Now you know how a transaction ID is generated. Unlike other platforms, EpicDice does not add a custom client/server seed or nuances in the random number generation. It shows that the house would have zero possibility to manipulate the outcome.
You placed a bet and get a rolled number from the game site. Retrieve the transaction ID from data explorer like steemd.com, input the ID into the formula above in a javascript compiler like playcode.io and run it. The generated rolled number from the script would be exactly same as the one you get from our gaming site.
You confirmed that the house did not modify anything in the process. Hence, fairness is proven.
Or better yet, just utilize the fairness tool on the game site to make your life easier.
Data analysis of rolled numbers occurrence in EpicDice since the very beginning
We've extracted the data from chain a few days ago for the data analysis we are about to present. This dataset recorded every single bet ever sent to @epicdice starting from 2019-02-28 16:24:10.967494
until 2019-06-13 13:37:26.029482
(UTC). Download the excel sheet here.
Key columns in the dataset as follows:
refTransactionId
: thetrx_id
which you can verify in data exploreruser
: name of the playerrollResult
: generated rolled number out ofrefTransactionId
winLost
:0
is lost while1
is win
Over the period, EpicDice has received 455,519 transactions of wager and the total amount is 16,215,981.400(STEEM + SBD). The full range of rolling numbers (1 to 100) is divided into 10 groups with 10 numbers in each of it. The goal of this analysis is to verify whether the occurrence of rolled numbers is evenly distributed across the range groups. In the perfect world, a totally random and fair algorithm should grant 10% occurrence to the 10 groups.
The graph shows that each category had a fair distribution as the lowest percentage was 9.56% while the highest was 10.10%. Merely a 0.54% deviation proves that there is absolutely no bias in random number generation. Each roll stands a fair chance of getting a number ranging from 1 to 100.
Ironically, when EpicDice was only supporting "rolling under" most of the time before the latest upgrade a few days ago, higher numbers like 95,96,97,98,99,100 used to be the killers to any bet when they were rolled. But they had the lowest occurrence at 9.56%.
Absolute fairness is real
Let's summarize what we have covered so far in a few points:
- Random number is generated solely using blockchain-generated transaction ID that is impossible for the house to mess with.
- Wager history analysis proved that there is zero bias against a certain range of numbers. Every roll is a fair play.
- Fairness of EpicDice is bullet-proof.
Earn EPC via delegation
EPC is the only token to earn from the daily dividend and prize pool in STEEM. Every 1 SP delegation earns 2 EPC daily. It takes one day for the delegation to be effective in order to receive the dividend, from the moment of delegation. This is the only way to be part of the dividend pool shareholders besides betting.
The above code seems to out and from what I’ve seen everything posted matches site results. One thing to always keep in mind(with any of these sites) is that with any online platform a minor code tweak is all it takes to shift odds and unless you actively check you’ll never notice.
This is exactly the case where EpicDice stands out.
Other casinos which using server/client seed would not allow players to verify their bet immediately after result is available, you would have to wait until they publish their unhashed server seed to do that.
In EpicDice though, there is no custom seed to add and players get to verify every bet right after the number is rolled. You can verify all your bet instantly if you are suspicious.
Thanks for the comment.
It's a very good game.
Thank you for making me...
Glad to see you enjoying the game!
Not bad! The RNG is a tiny bit biased but the percentage it's out is so minimal I'd not even really be worried about it.
Good work supplying this info. Well played.
Glad to hear that. We are sure there are more ways to generate interesting analysis out of the dataset. Download and play with it as you may pleased. Thanks for passing by.
I think this is desktop based game and related keychain. If there is any possibility to to play in Android then please let me know.
Posted using Partiko Android
We are working on supporting mobile exactly. So players can really looking forward mobile gaming really soon. Stay tuned!
that would be really fantastic. Like me many other users also searching mobile based game. Thank you for stopping by:
Posted using Partiko Android
you don't have to wait https://steempeak.com/utopian-io/@mydicebot/mydicebot-190409-is-released-and-android-9-0-launching-issue-is-fixed
Thank you for showing us this. A lot of companies dont even care if the public thinks they are fair. They just do whatever they want.
The platform will always running with high level of transparency. Thanks for the kind words!
Thank you for putting this information out there. It still doesn't help change my luck though. ;)
Well, there is nothing we can do about it as you can see how the system works now. It is safe to say that Steem blockchain(it decides the number you get) wasn't been generous to you. But luck is very objective and probably changing from time to time. You might be surprised on your next trip to the casino. See you in the game soon!
Nice!
I'm keeping this page bookmarked so when somebody lash out against Epic Dice I can show them the math and logic behind everything.
We call that EPIC mindset!
This is really way better than magic-dice which in the ends, you will always lose.
While "house will always win" is largely applicable for most of the gambling platforms out there, unique EPC betting mechanism(bet EPC and win STEEM) is going to give more advantages to the players and stake holders as long as they use the token wisely. Combining strategies of holding EPC for the div and betting it for for the prize pool, one can maximize the odd to beat the house in long run. Not to mention internal EPC rate is only going up forever, which means you get to win prize from pool with lesser and lesser token.
Thanks for passing by and See you in the game!
Awesome! I played magic dice for awhile and kinda drifted away for a bit so I am excited to start playing! I’m a sucker for a good dice game!
Posted using Partiko iOS
Don't forget to leverage the awesome EPC betting system as well! See you in the game!
Thanks for the tip!!!
Posted using Partiko iOS
thanks for the rolled numbers report. Having official stats speaks louder than words @epicdice
That's exactly our purpose to release this data. And we shall continue to strive for higher transparency for the bigger piece of mind of our players. Thanks for the comment.