I've been toying with the idea to implement a reward system for a game on top of Ethereum. Mostly for self-study because I'm interested in blockchain technology, but also because Ethereum appears to come with a lot of desirable properties out of the box that would make such a system easier to implement than with off-the-shelf databases (less application logic required, easy to deploy, concept of contracts and transactions built in.) I also like the prospect of being able to look at your rewards using a wallet app, and perhaps at some point being able to trade or exchange them for actual cash (or another crypto currency.) It opens up interesting use cases.
To my question: The main problem with all this is of course that running any such logic on the public blockchain is just not economic, since I'd either have to make people pay real dollars to get an ether balance and use that to compute their own rewards (doesn't really make sense), or fund all computations out of my own pocket. It also introduces a lot of risk, since with more people joining, txn cost might explode. I want something predictable.
So basically what I'm aiming for is to make computations cheaper, or even free, by running a couple nodes on a publicly accessible but private blockchain. I already dug through the documentation and it appears that I can turn off node discovery altogether, and hard code the nodes that I would allow to connect. That said, are the following assumptions correct?
- I'd be able to control the ether supply and gas price and make computations available for free; a transaction would always be accepted if the preconditions (implied by the game logic) hold
- security/integrity should not be an issue, since all nodes are trusted, so no 51% attack could occur unless I initiated it myself
- I'd still benefit from Ethereum as a reliable backend to log transactions
I know it sounds weird, since I'm essentially nullifying one of the main ideas behind Ethereum: making compute resources an asset and blockchain modifications costly. But that is simply not what I care about, since I'm not looking for the world's consensus around the game's blockchain integrity. I do care about everything else, however: accounts and identity, transactional storage, a replicated persistent log (the blockchain), contracts, a JSON API, the whole shebang.
I've read several opinions on the web on private blockchains, and looked at a number of games running on Ethereum, and none seem to follow the approach I outlined.
Is my idea a viable one or does it sound to you like too much shoehorning?