I recently suggested an automated oracle for fair, open lotteries on Counterparty.
I just realized it is also possible to have an automated player participate in these lotteries.
It makes sense economically, and technically it shouldn’t be too complex either.
The Economics
Every Counterparty lottery (or bet, same thing) needs wager and counterwager. E.g. if two people play on a dice roll, one player may wage 10 XCP on the outcome equal 6. The opposing player puts a counterwager of 47 XCP on an outcome NOT equal 6. The dice roll settles the bet and one of the players receive the full 47+10 = 57 XCP.
Assuming it’s a fair dice, the player who bet on NOT equal 6 had an edge, i.e. a slightly positive expectancy. This is accordance with economic theory and every lottery in the real world.
With Counterparty the odds are set by the market. Say another player would come and offer 48 XCP instead, then he would match. Unless another one came and offered 49 XCP.
What the automated player would do is simply place a bet at a slight edge. It ensures there’s always a lottery market for those who want to play the other side (i.e. the risk seeking side hoping to get the big X times return).
This automated player would risk, say, half his balance each time. But over time his balance would grow since he always plays with a positive expected outcome. Consider his growing balance as equivalent to burning XCP.
The Technical Stuff
The automated player would be an ordinary bitcoin address, except it would not have a private key. It would be a so-called burn address and it would live inside the Counterparty protocol.
The protocol itself would generate the bet transaction, so it would by Counterparty be treated as any other transaction. The only difference is that this originates inside the Counterparty core code itself, and not from a bitcoin transaction.
Since it’s treated no different from any other transaction, it does not require much alteration of the core code. Simply put, at every X blocks, add this transaction in addition to all the other transactions parsed from that block.
Withholding Attack
I argued for why this should not be a concern.
I’ll add that the automated player can be set to have quite a large edge. Even a 10% edge will make XCP lotteries have much higher payoff than ordinary lotteries. It’s incredible how low expected payout most lotteries offer, yet it’s a multi billion dollar industry.
Even with no edge, it would take large lotteries (tens of thousands of dollars) before miner manipulation would make economic sense. With some edge the threshold will be even higher.
And even if it does reach this point, there will be a dynamic where the automated player loses half his XCP (I suggest he risks half on one bet) and then miner manipulation is not economic anymore, and so he grows richer again, before the cycle repeats.