re offchain/onchain:
an advantage of onchain games (not mentioned in the OP) is that they are "more provably fair."
An offchain site could just change your balance to any amount. Then you could go
complain on the forums, but it'd be your reputation against theirs. Can't do it with onchain.
but on the otherhand after gambling onchain anyone whom you send your coins
will see that you are a gambler. Unless you lauder your coins of course.
Very good point you are making there, never considered the privacy side of it.
Offchain/onchain is a complex discussion and maybe deserves another thread.
We certainly noticed that many players ask for offchain because it seems to be the trend, event though many of them don't understand the implications.
We thought long and hard about offchain vs. onchain, and this is how we see it:
Offchain:
- pro: easier to develop (don't need to worry about confirmations and double spends)
- pro: privacy
- pro: don't need separate client/tab open
- pro: can do microtransactions
- pro: less fees
- con: often insecure (remember those InstaWallet URLs?)
- con: pushes risk of security on the player (remember your password etc)
- con: player funds on site
- con: provably fair less strong
- con: can't play "headless" (needs site open)
Onchain:
- pro: strongly provably fair
- pro: much more secure for player (it's on the blockchain after all )
- pro: can play "headless"
- pro: trust-free
- con: hard to do properly (risks of double spend when doing instant payouts)
- con: more fees
- con: no microtransactions
- con: privacy
Many on the disadvantages of onchain are for the developer, and many of the advantages for the player. We think that we picked the hard choice, making it better for the player and harder for us (after all, the only disadvantages for the player are less privacy and the need for your wallet while playing) But as a result, you have a stable, secure, provable fair and trust-free game.
Now there's the question of "spamming the blockchain" (another one that deserves a hole different post, and another one that is poorly understood in our eyes
). If a site needs to make high speed and/or micro transactions (ie <0.001 BTC) it basically has no choice: this can't be done onchain. Thus, all these projects doing thousands of dice rolls a minute have to do it offchain. For example, the same is true for an access point providing Internet access for 1mBTC per minute.
On the other hand, a site that follows 0.8.2 rules can well go onchain if it doesn't send thousands of microtransactions a minute. We're always sending a meaningful amount, and we pay the miners good money for it (now that we've fixed that fee bug, anyways
). Furthermore, due to the delay in the game there's no incentive for the player to play more often than every ~15 seconds, which inherently limits the amount of transactions per player.