A solution to the liquidity problem:
When bets are held off-chain, if you use a 1-step lightning connection through a hub, you are using twice as much liquidity as necessary.
If it is a 2-step lightning connection, then you are using 3 times as much liquidity as necessary.
Building bets in the lightning network is a great solution to front-running. You only tell your bet to a single person, and you can grow your bet in tiny increments so that one person has minimal advantage.
But the cost of liquidity is too much.
With a hashlock, we could trustlessly move bets from one channel connection to another.
If you want to bet with someone you aren't directly connected to, you can use the hub's spare liquidity to make bets with them immediately. After enough time has passed to create a new channel, you move the bet from the long-path to the new direct path.
If there are too many channels, we can analyse the network to find a smaller set of channels capable of encoding the same bets. Nodes can trustlessly move the bets to the optimal paths.
We should charge a per-channel per-block tax to encourage people to use less channels when possible.