Provably-fair price updates
Last updated
Was this helpful?
Last updated
Was this helpful?
Gambling games of chance depend on the ability to generate truly random and unpredictable numbers and apply them to the game's possible outcomes. But they also depend on being able to prove to the gambler that the random number was indeed generated randomly in a way that's impossible for the house to influence or interfere with.
Many gambling platforms claim to generate provably-fair random numbers but the mechanism for verifying them is highly complex and requires you to understand and run computer code. As a result, very few people can actually verify the fairness of their games, and its impossible to verify individual results in real-time that went against you.
At Rogue we have created an easy to use system where anyone can instantly verify any random number price update of Rogue Index with a simple click on a link.
Rogue Index uses the highly respected service called to generate price updates that are derived from changes in atmospheric noise caused by thunderstorms. These are known as True random numbers that are completely non-deterministic and cannot be predicted or reproduced, as opposed to Pseudo random numbers that are generated by computer algorithms which are deterministic and can be reproduced given the same initial inputs.
Using changes in atmospheric noise to generate random numbers satisfies the first condition of true randomness. The second condition of being able to prove that it was indeed generated randomly is achieved through random.org's mechanism built specifically for gambling game operators which is described below.
Random.org generates each random number for Rogue on request and makes them available to us through their API along with the following data:
timestamp of the request
hash of the API key that made the request
digitally signed signature by random.org
sequential serial number
The timestamp shows when the request was made, the hashed API key proves that Rogue made the request, the signed signature proves that the result came from random.org and the sequential serial number proves that we didn't keep re-rolling the dice and requesting a new random number until we got one that suited us.
Upon receipt of each random number result from random.org we immediately initiate a blockchain transaction to post the result on-chain where it can never be altered or deleted. Players can read this immutable data from the blockchain to determine that the result is genuine and was generated without any possible interference by Rogue.
Players can compare the result that we post on-chain with the same result that random.org posts on a dedicated verification page of their website to confirm they are exactly the same.
On the Rogue Index UI click on the Verify Results tab, see above
In this tab you will see a new row being added to the top every time the Rogue Index price updates, which is approximately once every second
Every new row starts with a serial number and all serial numbers are sequential
YOU WILL NEVER SEE A NON-SEQUENTIAL SERIAL NUMBER ADDED TO THIS TABLE
Mouse over the results area which will pause new updates in the tab and prevent new rows being added so you can click on results without them constantly moving away from your cursor
Select the price update you want to verify and under the far right column click on the link called Verify Result which will display random.org's verification page for that price update
In the above image we clicked on Verify Result in the fourth row down with the serial number 12,421,722 and the price 232,972 and landed on the following verification page on random.org's website, see below:
On the above verification page you can see the serial number is 12,421,722 and the price update delivered is 232,972 which is within a range of 500 points above or below the previous price of 233,096, which you can see by the Min and Max values of 232,596 and 233,596.
We then clicked on the Tx hash link in the same row and landed on the Logs tab of the roguescan page of the transaction that updated the Rogue Index smart contract with the price 232,972 and serial number 12,421,722 less than a second after the timestamp displayed on the random.org verification page, see below
The above PriceUpdated event is emitted when the updatePrice function is called on the Rogue Index smart contract with the new price update and serial number as function call arguments. Calling the updatePrice function actually triggers the settlement of all unsettled bets that expire at that new serial number and the above Logs tab will show all the BetSettled events and Payout events first and the very last event at the bottom of the page will always be the PriceUpdated event.
This is important because it means that all bets are settled in the exact same transaction that updates the Rogue Index price and serial number in the smart contract that is sent immediately after it is received from random.org.
This makes it literally impossible for anyone to interfere with or manipulate the settlement of any bet without causing the entire updatePrice function to revert which will stop the game and halt all price updates.