The smart contracts have to be in someone's control. It's better if they aren't controlled by the house though. Check out FunFair.
> The smart contracts have to be in someone's control.
They don't _have_ to be. Someone has to deploy the smart contract, but that doesn't necessarily mean that they get any privileged access to alter/use the smart contract after deployment. That's where a lot of the beauty of smart contract enabled blockchains comes from in my opinion.
Here's an article on an idea very similar to theirs, with sample code: https://www.blunderingcode.com/gamble-channels-fast-verifiab...