RE: SteemRollers | Provably Fair SteemDice v.02 (Now we accept STEEM!)

You are viewing a single comment's thread from:

SteemRollers | Provably Fair SteemDice v.02 (Now we accept STEEM!)

in steemrollers •  8 years ago 

On the very first roll in a day you can decide if you want that player to win or to lose, then choose a secret that produces the desired outcome:

  1. Choose secret
  2. Compute roll
  3. If roll doesn't match desired outcome, go back to step 1
  4. Publish resulting transaction

This can be extended to the first N rounds in a day. In the following, i denotes the current round number, r_j the roll of round j, t_j the txid of round j:

  1. if i < N, choose desired roll outcome r_i and publish result
  2. else if current round == N, choose desired roll outcome r_N
    2.a select secret
    2.b compute hashes of (t_j + secret) and compare to r_j, if mismatch go back to 2a
    2.c publish result
    2.d save secret as S
  3. else /* i > N */ compute r_i from t_i + S and publish result

I was wrong with my original estimate of 2^n attempts because I overlooked that you publish r_i. In truth you need about 2^(16*N - 15) attempts.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Thank you for trying to explain. It is still over my head. Is there something I could add to make suitably fair for you? In any case my secret key is generated with sha256(str(random())) and changed automatically at midnight then published. I guess there isn't a good way to prove that, but you may look at the wallet results and statistical evidence.

I am all for making it provably fair. To the best of my knowledge it is. I am open to working with you since you seem to have a better grasp on it than I do.

What I think you are saying is don't publish the result until the I find a secret that matches all the results prior to that roll? Once I find a secret that matches every desired result of every roll, then I publish the roll. If so wouldn't that take a ton of computational power do that in the time span of receiving and sending back a transfer? By the time I got past a couple rolls wouldn't it be more cost effective to use that power for mining crypto instead? I am not trying to poke fun or anything. I am just trying to understand it.

What I think you are saying is don't publish the result until the I find a secret that matches all the results prior to that roll? Once I find a secret that matches every desired result of every roll, then I publish the roll.

Exactly!

The computational power required depends on how many rolls you want to fake. For the first one in a day it would be very easy. I think 3-4 should be possible without too much effort.

IMO publishing a hash of the secret at the start of the day would help a lot. I'm not going to say that it would be secure, but I don't currently see how you could cheat then.