Author Topic: Using Casper Protocol for Secure Price Feeds  (Read 5085 times)

0 Members and 1 Guest are viewing this topic.

Offline monsterer

1. In a consensus schelling game, all that really matters is that you come to consensus on **something**. If someone pulls off a P+epsilon attack, and makes it confirm 0 instead of 1, that's fine; as long as it doesn't flip-flip forever and as long as it converges to 1 at least some of the time. In the price feed case, converging on the wrong price even once is BAD.

I don't follow your reasoning; in a system where majority is truth, 'truth' is not always justice. This manifests itself as double spends in consensus, which can be equally as damaging as converging on the wrong feed price, IMO.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline bytemaster

There are two key differences between Casper's schelling game and a schelling game for something like a price feed that make the price feed case more difficult:

1. In a consensus schelling game, all that really matters is that you come to consensus on **something**. If someone pulls off a P+epsilon attack, and makes it confirm 0 instead of 1, that's fine; as long as it doesn't flip-flip forever and as long as it converges to 1 at least some of the time. In the price feed case, converging on the wrong price even once is BAD.
2. A price feed has a few failure modes that don't exist in the consensus case. Particularly, (i) there is a centralization incentive for the feed to converge on the feed of one single exchange, and (ii) if that exchange pulls a MtGox then it's hard to tell if the feed will actually be able to coordinate on decoupling itself from the exchange in time.

That said, I think that it should be possible to overcome both of these issues, for (2) there are a few multi-level antifragility tricks that I think could do the job; essentially you would have a second-level schelling game that only gets called very rarely, the theory being that it's called too rarely for it to be worth automating, and that game, if called, is what determines the rewards for the first round; this incentivizes the first round to do not what people think the first round will do, but rather what people think the second round will do, at last in extreme cases.

Thanks for taking the time to respond. The two-round approach appears to be what Auger is doing in their prediction market.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline Akado

  • Hero Member
  • *****
  • Posts: 2752
    • View Profile
  • BitShares: akado

what about moving to ethereum - wouldn't that be a logical decision for cryptonomex?
Why??

Because it makes complete sense wasting millions in funds and years of work. Twice.
« Last Edit: February 18, 2016, 01:35:28 pm by Akado »
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline vbuterin

  • Jr. Member
  • **
  • Posts: 32
    • View Profile
There are two key differences between Casper's schelling game and a schelling game for something like a price feed that make the price feed case more difficult:

1. In a consensus schelling game, all that really matters is that you come to consensus on **something**. If someone pulls off a P+epsilon attack, and makes it confirm 0 instead of 1, that's fine; as long as it doesn't flip-flip forever and as long as it converges to 1 at least some of the time. In the price feed case, converging on the wrong price even once is BAD.
2. A price feed has a few failure modes that don't exist in the consensus case. Particularly, (i) there is a centralization incentive for the feed to converge on the feed of one single exchange, and (ii) if that exchange pulls a MtGox then it's hard to tell if the feed will actually be able to coordinate on decoupling itself from the exchange in time.

That said, I think that it should be possible to overcome both of these issues, for (2) there are a few multi-level antifragility tricks that I think could do the job; essentially you would have a second-level schelling game that only gets called very rarely, the theory being that it's called too rarely for it to be worth automating, and that game, if called, is what determines the rewards for the first round; this incentivizes the first round to do not what people think the first round will do, but rather what people think the second round will do, at last in extreme cases.

Offline sittingduck

  • Sr. Member
  • ****
  • Posts: 246
    • View Profile

what about moving to ethereum - wouldn't that be a logical decision for cryptonomex?
Why??

Offline fav

  • Hero Member
  • *****
  • Posts: 4278
  • No Pain, No Gain
    • View Profile
    • Follow Me!
  • BitShares: fav
what about moving to ethereum - wouldn't that be a logical decision for cryptonomex?

Offline topcandle

I have a feeling this is going to be used for MAS.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline tonyk

  • Hero Member
  • *****
  • Posts: 3308
    • View Profile
when we can directly bet and 100% of all the money involved in the betting market are there (in the market), and now it costs only 100% of the bet to make the bet (actually one can even leverage the bet and use on 92.5% but that is besides the point here)...

we should complicated everything for the sake of complication... and use Casper to bet on something else, just so we might produce a 'better' price feed.

Ideal complication, for not much gain. excellent

Lack of arbitrage is the problem, isn't it. And this 'should' solves it.

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani
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.

Personally I am not convinced that it failed....
I think we don't tested it enough... We had to little volume and we gave to the experiment not enough time...
about the possibility to the market to "short the USD to 0" that would be in reality only some "spikes" to zero(?) no?
(everything is possible to the market,but does it make sense?"Nobody" wants to loose money)

Offline monsterer

The price feed is our weak point when it comes to "trust" and the total damage that can be caused by a compromise.  Perhaps we can explore ways securing the price feed to reward accurate production and punish inaccurate feeds.

If this works for the price feed, why wouldn't you just use it for the entire currency?
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline Empirical1.2

  • Hero Member
  • *****
  • Posts: 1366
    • View Profile
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:

Quote
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.

I don't pretend to understand all/most of it.

But from what I gather, yes, you could use CASPER or some other prediction market mechanism to get an accurate price feed because the current BTS/USD price can be calculated within a fairly tight range and you could profit by betting if the price deviated from this that it would return.

Quote
  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. 

With BitUSD it wasn't that one party was pushing the other around. The sub $1 price for extended periods which made BitUSD non viable was actually the accurate/fair/right price imo.

Long term expectations for BTS initially were very positive and BitUSD was very new and untested. Shorting BitUSD was the only way to gain a leveraged position at the time on BTS. So if the market believed BTS would rise by 30% or whatever in the following X months, then $0.8 might be the accurate price of BItUSD for an extended period. (Which unfortunately made BitUSD fairly unviable)

I.e. if you'd asked a prediction market or CASPER they'd probably come up with yes the price feed should be 1-1 but the BitUSD trading range for that extended period would and should be far below that.

I think a lot of people are hoping BitUSD may track USD fairly close to 1-1 most of the time.

However because people are so bullish on BTSX and shorting BTSX lets you take a leveraged position on BTSX. BTSX bulls may be willing to short still at $0.70, this trading range will be so far from the peg that it could damage the credibility of the peg. This could make people sell BTSX. This will mean less BTSX bulls willing to short below the peg and the situation will correct itself.

I don't mind a BitUSD like that but it might not appeal as much to retailers and savers.

It seems to make it stable you should introduce free market interest rates.
Then you still short 1-1 but when most people are bulls like now you will pay a higher interest rate to short BitUSD as opposed to shorting very far below the peg.

Today the opposite is true, BTS price expectations for an extended period have been neutral to negative given a fairly long general downtrend & there is also the presence of forced settlement, so if you enacted the original system today BitUSD would trade above the peg for an extended period because bulls would not think they could make up the price difference and also have additional risk/burden of forced settlement, however BitUSD bulls would not rise to meet them as there is not a lot of value in overpaying much for a dollar.

Therefore making the system where a BTS Bull (BitUSD Short) must meet a BitAsset long generally unviable for a tight peg because the fair trading range for BitUSD can either be far above or below 1-1 for long periods based on BTS medium to long term price expectations. (Though BTS would no longer trade far below the peg due to forced settlement.)

« Last Edit: February 17, 2016, 05:03:53 pm by Empirical1.2 »
If you want to take the island burn the boats

Offline bytemaster


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.


 

Sorry but already being implemented. Your describing Augur and Truthcoin Hivemind. :o

Yes... Augur's algorithm may be useful for reaching consensus on price feeds as well. 

The price feed is our weak point when it comes to "trust" and the total damage that can be caused by a compromise.  Perhaps we can explore ways securing the price feed to reward accurate production and punish inaccurate feeds. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline topcandle


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.


 

Sorry but already being implemented. Your describing Augur and Truthcoin Hivemind. :o
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline monsterer

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"

Here is a question for you to consider: how can consensus be achieved by sending a transaction? The transaction relies on consensus, so you have a chicken and egg problem; the bets are transactions.
My opinions do not represent those of metaexchange unless explicitly stated.
https://metaexchange.info | Bitcoin<->Altcoin exchange | Instant | Safe | Low spreads

Offline bytemaster

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:

Quote
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"




For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.