The problem is that your weighting is wrong
Block hash ending in a-z will be heads
Block hash ending in 0-9 will be tails
It's hex.
Chance of heads (a, b, c, d, e, f) 3/8
Chance of tails (0-9) 5/8
You need to make it a fair toss. 50 50
The problem is that your weighting is wrong
Block hash ending in a-z will be heads
Block hash ending in 0-9 will be tails
It's hex.
Chance of heads (a, b, c, d, e, f) 3/8
Chance of tails (0-9) 5/8
You need to make it a fair toss. 50 50
What do you suggest ?
What do you think:
Option 1: First Half vs. Second Half
This is the simplest method. You just split the 16 characters down the middle.
Heads: 0, 1, 2, 3, 4, 5, 6, 7 (the first 8 characters)
Tails: 8, 9, a, b, c, d, e, f (the last 8 characters)
Option 2: Evens vs. Odds
Another very common way to create a 50/50 split is to use parity. For the letters, you can use their number equivalents (a=10, b=11, etc.).
Heads (Even): 0, 2, 4, 6, 8, a, c, e
Tails (Odd): 1, 3, 5, 7, 9, b, d, f
Option 3: Balance Your Original Rule
If you want to keep the "letters are heads, numbers are tails" idea, you can just move two of the numbers over to the heads category to balance it.
Heads: a, b, c, d, e, f and 8, 9
Tails: 0, 1, 2, 3, 4, 5, 6, 7
I’ve updated to this
Option 1: First Half vs. Second Half
This is the simplest method. You just split the 16 characters down the middle.
Heads: 0, 1, 2, 3, 4, 5, 6, 7 (the first 8 characters)
Tails: 8, 9, a, b, c, d, e, f (the last 8 characters)
Sure, that's fine
Awesome! Thanks
I like option 2 as well. Switching it now!
Option 2: Evens vs. Odds
Another very common way to create a 50/50 split is to use parity. For the letters, you can use their number equivalents (a=10, b=11, etc.).
Heads (Even): 0, 2, 4, 6, 8, a, c, e
Tails (Odd): 1, 3, 5, 7, 9, b, d, f
If I was coding it, I would just convert to a number and mod 2, which is option 2.
Options 1 & 3 are the same.
It's probably better to go with something that is easy for the user to understand, like heads is even and trails is odd.