if the whale ever gets 50% of the house, I guess most investors are likely to devest and the house is defeated shortly after.
No, you're missing the point.
You need to think of the house bankroll like a ladder. Say 25,000
BTC is a rung on the ladder.
There are rungs in both directions. The next rung up is 50,000
BTC. The next rung down is 12,500
BTC. The one below that is 6,250
BTC. The one below that is 3,125
BTC.
It's legitimate to think of the bankroll like this as the max bet size scales up and down with the bankroll size. It takes as much luck to push the bank's roll down from 25,000 to 12,500 as it does from 12,500 to 6,250.
If a whale takes on the house, following my simulation rules, at some stage the house's bankroll will go up a rung (i.e., 50,000), or down a rung (i.e., 12,500). If you look at the results, you'll see the lowest the roll ever got down to was about 4,000, so it went down 2 whole rungs, recovered, then shot back up to 50,000:
roll_num => 21831, bet => 231.58, jd_bal => 50000.00, whale_bal => 0.00, max => 50000.00, min => 4008.85, jw => 11005, ww => 10826
So in what was a nerve-shredding simulation for the house (losing over 80% of the initial bankroll), it still recovered and won. The point is, it is still unlikely for the house to go down more than a couple of rungs. But there are rungs all the way down. 1562.5, 781.25, 390.625, and so on. The whale must force the house down through many rungs, each of which is fairly unlikely to happen. Combined, impossible (or as near as damn it).
I even gave the whale the added benefit in my sim that, if it got the house down to below the initial max bet size (1% under J-D's rules), the house had to go all in. It never got that far.
To prove my point, I reran the simulation with a much smaller house bankroll.
Now the bank only has a tiny 100
BTC bankroll. It takes a while, but the house still always wins.
bash-3.2$ ./whale_sim.pl 10 25000 100 0.01 100
roll_num => 91505, bet => 44.67, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 45.25, jw => 46257, ww => 45248
roll_num => 238628, bet => 170.55, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 5.11, jw => 120187, ww => 118441
roll_num => 24966, bet => 88.69, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 62.06, jw => 12822, ww => 12144
roll_num => 191919, bet => 33.33, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 87.25, jw => 96716, ww => 95203
roll_num => 78506, bet => 14.66, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 32.00, jw => 39726, ww => 38780
roll_num => 41172, bet => 123.82, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 52.35, jw => 20965, ww => 20207
roll_num => 182887, bet => 189.56, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 50.82, jw => 92177, ww => 90710
roll_num => 151088, bet => 243.41, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 50.62, jw => 76198, ww => 74890
roll_num => 160041, bet => 185.11, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 11.54, jw => 80697, ww => 79344
roll_num => 54083, bet => 235.19, jd_bal => 25100.00, whale_bal => 0.00, max => 25100.00, min => 65.61, jw => 27453, ww => 26630
In trial 2, the house gets down to 5.11
BTC against the whale's mighty 25,094.89
BTC bankroll,
and still won.