0.0.1 • Published 2 years ago
pfg v0.0.1
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
generateSeed
function, the function returns a random SHA512 hash and a SHA512 hash of the result hash. - The user selects a
client_seed
and anonce
. - The
roll
function will take theserver_seed
,client_seed
andnonce
and 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)/100
to get a number between 0 and 99.99.
Notes
The idea is to display the
server_h_seed
to the user, but only showserver_seed
when we complete the session. The user can verify the bets by comparing theserver_h_seed
that was displayed before the session ended to the actual SHA512 hash of theserver_seed
once the session completed and you discard that seed.If the user knows the
server_seed
before we end the session he can calculate results before placing the bets, using only winning nonces for example.
0.0.1
2 years ago