Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Why does satoshidice have to re-hash the transaction details in order to determine your "lucky" number?

Are there no publicly viewable randomized numbers or hashes that are impossible for the sender to duplicate without broadcasting the transaction?

share|improve this question
up vote 6 down vote accepted

The transaction hash is determined by the contents of the transaction. As such the payment sender determines the transaction hash so it is not random.

But the SatoshiDICE bettor does not know the secret that SatoshiDICE will use and the result of the hash after including the secret is for all practical purposes random.

To know that SatoshiDICE didn't cheat, the hash of the secret is known to the bettor in advance and then released the following day. So the bettor can verify that correct secret was indeed used, and with that verify that the correct payout occurred.

Since SatoshiDICE wagers are bets against the house, all that is needed is a way to determine that the house properly made each payout. This method of using the transction hash plus secret (revealed at a later time) succeeds at providing just that.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.