pfg
v0.0.1
Published
A library for Provably Fair Gambling
Readme
PFG (Provably Fair Gambling)
This is a small library that allows you to generate a random seed and along with a client seed and a nonce create a 'roll' and get a random number between 0 - 99.99.
- The server generates a seed using the
generateSeedfunction, the function returns a random SHA512 hash and a SHA512 hash of the result hash. - The user selects a
client_seedand anonce. - The
rollfunction will take theserver_seed,client_seedandnonceand will generate a SHA512-HMAC hash, then the first 5 characters of the result hash will be converted to decimal. If the result is over 999,999 we will use the next 5 characters of the result hash. We will then calculate the following(num % 10000)/100to get a number between 0 and 99.99.
Notes
The idea is to display the
server_h_seedto the user, but only showserver_seedwhen we complete the session. The user can verify the bets by comparing theserver_h_seedthat was displayed before the session ended to the actual SHA512 hash of theserver_seedonce the session completed and you discard that seed.If the user knows the
server_seedbefore we end the session he can calculate results before placing the bets, using only winning nonces for example.
