There are a few things you could potentially do to make it not worth their time. The first is to take money before assigning a table, and then randomly assigning the person. The second is to have the house take such a large cut that even with collusion it's not profitable.
You still have to worry about Sybil attacks. It's one thing for me and my 3 friends to play poker together and try to land at the same table. It's another for me and my 1000 bots at different IP addresses (bots who will, of course, play computationally perfect games and collude any time they are at the same table) to try and beat the odds.
Even in the far fetched scenario where you place participants in Faraday cages, they can still communicate by timing bets, changing amounts, etc.
And you can be certain that none of that is happening in this example and I'd never play there -- unless I wanted to collude with friends.
As others have mentioned, proxies and out of band communication make it nearly impossible to really detect.
That said, detecting blatant or clueless collusion is fairly simple, as things like chip dumping and soft-playing can become fairly obvious just by observing play.