In short, I'm saying that, assuming bitvegas is using, and not filtering in it's favor, a good random number gen, then the fairness is provable. It would be great if you could also prove the randomness.
I think I prefer it how it is; it's cleaner, and every player can totally mess up any team of players' attempts to fix the deck by picking his own random words.
But you still could. Look at it this way. On Friday the house shuffles all the card decks for the week's games (it has to be some time before the decks are used). For each game, it performs SHA256 of the deck, resulting in files like this:
Decks.txt:
MondayGame1Deck: KingSpades,AceDiamonds,4Clubs,..........
MondayGame2Deck: ......
...
SundayGame1000Deck: ....
Hashes.txt
MondayGame1Hash: sha256....
MondayGame2Hash: ......
...
So, you publish Hashes.txt on the preceeding Friday, and burn *it's* hash into the blockchain somehow.
Now at the start of each game, the players say their magic words, and these magic words shuffle the deck according to some fixed algorithm, and the game is played.
Now, in the event that no player says any magic words, or that JohnDoe is a regular player and he *always* says "abrekadabra", we need to prove that the house is not somehow filtering their decks (i.e. on Friday, the house shuffles their decks, applies "abrekadabra" and checks to see if the deck is favourable to them, given that JohnDoe comes in to play every Tuesday evening at 8pm). This would require an extra source of random shuffling from an externally verifiable source of entropy. e.g., the blockchain. So the shuffling algorithm need only insert an extra "lucky phrase", which is the block hash, or the merkle root, of the latest block in the block chain. Given that the house can't possibly know this value on Monday morning when they shuffle all their decks, this would absolutely prove that the house is not pre-filtering their decks.
After the game is played you allow the players to view:
1. the hash of the initial shuffle which is burned into the blockchain via the file Hashes.txt
2. the initial shuffle
3. the players magic words, the latest block|merkle hash, and the shuffling algorithm
4. the new shuffled deck
5. the play
6. the winner(s)
Oh... gosh, if we wanted to be *really* paranoid, the house *might* technically have a choice over which blockhash to use - the latest one, or maybe the one before that. If one or the other turn out to be more advantageous (again assuming the players say nothing, or say something entirely predictable), the house could claim they hadn't received the latest block at the time of the game. This would be solved by putting a visible blockchain counter in each gaming room though, or maybe writing it into the chat.
Hot damn, I should build myself a casino!