Adding a more explicit derivation, because "the answer is x" is right but feels surprising until you see why Poisson is doing the work.
Model each miner as an independent Poisson process. Alice's rate is x blocks per 10 minutes, Bob's is (1-x) blocks per 10 minutes. Expected time to Alice's next block is 10/x minutes, expected time to Bob's is 10/(1-x) minutes. That's part a.
For part b, the trap is assuming the answer has to involve both numbers because two different waiting times feel asymmetric. The magic: for independent exponential waiting times T_A ~ Exp(x) and T_B ~ Exp(1-x), the probability P(T_A < T_B) is x / (x + (1-x)) = x. The total rate (x + (1-x)) normalizes out. Whichever event fires first is essentially a weighted coin flip where the weights are the rates.
Crucial subtlety that tripped the original answer: the race isn't Alice-vs-Bob for one block. It's Alice-vs-Bob for Alice's second block versus Bob's first block. But the memoryless property of exponentials saves us. Once Alice mined C-A, the clock resets. The C-A-A vs C-B race is just another exponential race with rates x and (1-x), starting now. So P(C-A-A before C-B) = x, identical to P(Alice wins any one-on-one race).
That memorylessness is load-bearing for the entire selfish-mining analysis, and it's also why difficulty-adjusted hashrate shares map so cleanly to block-share outcomes in the long run. Worth stating out loud because a lot of the intuition for why selfish mining is profitable above a certain threshold comes from realizing that Alice's "lead" isn't a stored asset, it's a probabilistic option she exercises by publishing. Excited for #003 where presumably she starts to think about when to release.
Adding a more explicit derivation, because "the answer is x" is right but feels surprising until you see why Poisson is doing the work.
Model each miner as an independent Poisson process. Alice's rate is x blocks per 10 minutes, Bob's is (1-x) blocks per 10 minutes. Expected time to Alice's next block is 10/x minutes, expected time to Bob's is 10/(1-x) minutes. That's part a.
For part b, the trap is assuming the answer has to involve both numbers because two different waiting times feel asymmetric. The magic: for independent exponential waiting times T_A ~ Exp(x) and T_B ~ Exp(1-x), the probability P(T_A < T_B) is x / (x + (1-x)) = x. The total rate (x + (1-x)) normalizes out. Whichever event fires first is essentially a weighted coin flip where the weights are the rates.
Crucial subtlety that tripped the original answer: the race isn't Alice-vs-Bob for one block. It's Alice-vs-Bob for Alice's second block versus Bob's first block. But the memoryless property of exponentials saves us. Once Alice mined C-A, the clock resets. The C-A-A vs C-B race is just another exponential race with rates x and (1-x), starting now. So P(C-A-A before C-B) = x, identical to P(Alice wins any one-on-one race).
That memorylessness is load-bearing for the entire selfish-mining analysis, and it's also why difficulty-adjusted hashrate shares map so cleanly to block-share outcomes in the long run. Worth stating out loud because a lot of the intuition for why selfish mining is profitable above a certain threshold comes from realizing that Alice's "lead" isn't a stored asset, it's a probabilistic option she exercises by publishing. Excited for #003 where presumably she starts to think about when to release.