Vitalik published a well written blog post on the new Casper POS protocol being researched by Ethereum.
https://blog.ethereum.org/2015/12/28/understanding-serenity-part-2-casper/This paper was very enlightening and introduces some useful concepts. Perhaps one of the most interesting aspects is this:
The validator will wish to make such a bet only if they believe block X is likely enough to be processed in the universe that people care about that the tradeoff is worth it. And then, here’s the economically recursive fun part: the universe that people care about, ie. the state that users’ clients show when users want to know their account balance, the status of their contracts, etc, is itself derived by looking at which blocks people bet on the most. Hence, each validator’s incentive is to bet in the way that they expect others to bet in the future, driving the process toward convergence.
The original goal of BitUSD was to create a system that didn't depend upon price feeds and yet would maintain a peg. This system depended upon creating an "economically recursive" feedback loop. In our initial experiments with BitUSD we saw that without a price feed or settlement it is possible for market participants to "short the USD to 0". The economic feedback loop we conceived failed if one side or the other in the market had more strength and could push the price around and "wait out" the other party.
Now we have the CASPER protocol which is designed to reach consensus on the current blockchain. Users place bets on each block on whether or not it will be included in the final chain. They cannot bet on all chains at the same time or they forfeit their deposit.
A price feed can be viewed as a blockchain where the goal is to reach consensus on the price at any given point in time. There can only be "one" consensus value at a time so given a set of published prices they cannot all be "true" at the same time. This is like a blockchain can only have one history, not two.
So if we assume the CASPER protocol works as advertized then we can use it to get more secure decentralized price feeds.
CASPER rewards people for moving toward consensus and punishes those who deviate. It is claimed that the incentives are structured to reward some deviation and incentivise participants to defect from attempted collusions. I have my doubts on this, but for now I will assume this is true.
If the reward from colluding is much greater than the penalty for failed collusion then the participants may find it worth the risk to collude. Furthermore, people are not machines and are biased toward trusting one another more than we should. This means that in a prisoners dilemma where each individual is better off defecting, people remain loyal more often than rationality would suggest.
Assume a price feed controls the forced-settlement ratio and the validators are using CASPER protocol to bet the next settlement price. If the bettors have a large stake dependent upon the outcome they will be more likely to bet on a favorable price, even if they lose the bet. Essentially, if the bet gains them 1 if they win and costs them 100 if they lose, it still make sense if they can shift the price by more than 1% and have have $10,000 available for settlement. It is impossible to know what side-bets participants have. Those side bets could even be encoded in smart contracts.
My hypothesis is that either CASPER works for both Price Feeds *AND* Blockchains or it is fundamentally insecure for both.
The corollary here is that all consensus algorithms work for both Price Feeds and Blockchains or are equally insecure for both.
If my hypothesis is correct then DPOS witness published feeds are equally secure as CASPER based feeds *IF* CASPER and DPOS are equally secure consensus protocols.
If CASPER doesn't work as well for price feeds as it does for block production, then perhaps that says something about the fundamental security assumptions of CASPER.
So I am looking for people to evaluate how CASPER can be used to produce reliable price feeds. Some thoughts to consider:
1. The security of CASPER depends upon the total amount bet
2. What happens if the feed being bet upon controls 1% of the amount bet
3. What happens if the feed being bet upon controls 100x the amount bet
4. What happens if the feed controls "NOTHING"