~snip~
Thanks for the analysis.
"decoding is shifted by 'n' places depending upon a number which is obtained by the formula unknown to the player"
About the formula unknown to the player
https://prnt.sc/w4x0mnThe shift will be equal to the last digit obtained from the formula.
Actually the bet results on your website differ from the steps mentioned in the screenshot, that's why I raised the doubt. As per the screenshot and instructions on 'fair' page, first we need to add the numbers obtained from the formula, e.g. 87. Then we need to add these two numbers, i.e. 8+7 = 15. Now, last digit i.e. 5th address from the list will be used for result calculation.
However, now consider these examples of real bets from the website:
Game #296 (I played this one) -
https://bullx.io/verify/coinflip/296Number obtained from the formula = 62
Total of two numbers = 08
Address from the list taken = 3rd
Decoding shift = 3 characters
Game #305 -
https://bullx.io/verify/coinflip/305Number obtained from the formula = 84
Total of two numbers = 12
Address from the list taken = 5th
Decoding shift = 7 characters
So, as per the instruction on the 'fair' page, 8th and 2nd address should be taken in the case of game 296 and game 305 respectively. Whereas, shifting should have been 2 and 4 characters resp.
However, you can see that different address and decoding are being used. For the address, last digit of the number obtained is taken i.e. 2+1 = 3 and 8+1 = 5. I verified it with all coinflip games and address selection is constant as per this. But I am still unable to figure out how decoding is being shifted? Why 3 characters are shifted in game #296 and 7 in #305? This is not as per the formula mentioned on 'fair' page.
Yes, we thought about coinflip long enough. Entering the game at the right moment is quite difficult based on the code execution time it can take up to 50 ms to send one request. But I think this is quite possible under ideal conditions. We will solve this problem by adding one more value that we cannot find out until the end of the game.
Entering the game at the right moment is difficult for the third-party but not for site itself. When calling endpoint to update database with the UNIX timestamp of second player, site can send the custom UNIX to overwrite the auto-timestamp. For example, site may calculate that at 1608203643 second player will win the bet. So, it can send endpoint exactly at 1608203643 with custom value of Second user Timestamp = 1608203643. So even if 1-2 seconds elapse to run the HTTP request, code will overwrite timestamp from let say 1608203644/1608203645 back to 1608203643.
So, yes please, add another variable over which both player and site mustn't have any control until the game finish.
The site does not indicate anywhere that the commission is 10%. We have a 5% commission on jackpot and coinflip.
Currently the commission is:
5% (for jackpot); 5% (for a coinflip); 10% of the net house Profit is taken by the daily jackpot(0.5%)
Yeah! I said 10% of the
winnings which is equal to 5% of the total bet size. So, if I as a player bet 0.0001 BTC, I will only win 0.00009 BTC (i.e. 90% of my bet size). I think this is very high for any player to play on the site for long period of time. Player is tend to lose 5% of his money with constant luck. In my views, PvP platform should have at max 3-5% commission on winnings (i.e. 1.5-2.5% on total bet size).