
Same rules as the linked market, but with a few tweaks/clarifications. To summarize:
If a trader correctly predicts their roll on a 2-billion sided FairlyRandom die (or a fork of it ostensibly using the same randomness protocol), they "win".
If at least one trader wins, the market resolves yes.
Cheating is allowed, but if somebody can prove that you cheated then your win doesn't count.
Differences compared to the linked market:
Die is 2 billion sided instead of 2000 sided so that the chance of winning without cheating is negligible even with a large number of traders participating.
Instead of a fixed target roll of 1337, you just need to unambiguously declare in advance what number you're going for (if unspecified, we'll assume 1337). This allows exploits that predict the result in advance even if they can't manipulate it.
Even though winning is effectively statistical proof that you cheated, that still isn't sufficient evidence on its own to disqualify you -- there needs to be some independent proof of cheating.
Updated commit hash for the randomness protocol: https://github.com/u0s41v/FairlyRandom/tree/9117363e82d589e3e13fd19254e264b028b2e95a. The only change from before is that the default offset between the declaration round and the result round is 2 instead of 1. You may not decrease the offset lower than 2 (but you can increase it if you want to).
You can try a few times if you want, as long as you're not just trying to brute force it. As a rule of thumb: Max of 10 tries total per trader, and I reserve the right to disregard attempts after the first one if it doesn't seem like they're made in a good faith effort to cheat.
Non-exhaustive list of things that DO count as sufficient evidence of cheating:
Overtly deviating from the prescribed randomness protocol. As long as it is proven that you deviated from the protocol, it's not needed to prove exactly how that deviation allowed you to cheat.
Posting your declaration comment with a Manifold timestamp more than 45 seconds later than the
timestamp_available_estimate
value that a protocol-compliant FairlyRandom would produce.If the final randomness output posted by your bot doesn't match the expected output produced by an independent run of the fairly_random_verify.py script with the parameters specified in your declaration comment.
Unless disabling verbose is critical to making your exploit work, please use verbose=true in your FairlyRandom command for convenience of verification. Sample command:
@FairlyRandom 2000000000 verbose=true
I'll be betting NO here as a bounty for anyone who manages to find a flaw in the protocol. (And therefore you probably shouldn't use the price of this market as proof of how secure the protocol is, unless it attracts significant interest from other traders.)
Original market:
🏅 Top traders
# | Name | Total profit |
---|---|---|
1 | Ṁ46 | |
2 | Ṁ19 | |
3 | Ṁ1 | |
4 | Ṁ0 | |
5 | Ṁ0 |