I don't understand why they have to use secrets when determining the lucky number for a bet.

Here's how the lucky number is made:

Quote

The lucky number [...] is simply the first bytes of hmac_sha512(secret,txid:out_idx)

Why the need for a secret here? If the "secret" wasn't a secret but a public number – what would be the problem about this?

Thanks for your enlightening comments!

(I hope this is not off topic – if so, please move to the right subforum)