[Poll] BSIP42: adjust price feed dynamically

Started by abit, August 23, 2018, 11:59:12 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

abit

Quote from: Thul3 on September 24, 2018, 02:58:29 PM
QuoteHowever, even when it's able to adjust MCR, the code doesn't allow us to adjust it to less than 100%. That means black swan is unavoidable by adjusting MCR alone when time comes.

So you admit now that BSIP42 is massivly increasing the danger of getting a global settlement ?
No.
BitShares committee member: abit
BitShares witness: in.abit

Thul3

QuoteHowever, even when it's able to adjust MCR, the code doesn't allow us to adjust it to less than 100%. That means black swan is unavoidable by adjusting MCR alone when time comes.

So you admit now that BSIP42 is massivly increasing the danger of getting a global settlement ?

abit

Quote from: roelandp on September 24, 2018, 08:20:14 AM
Quote from: bitcrab on September 23, 2018, 07:55:37 PM
Quote from: roelandp on September 22, 2018, 01:22:44 PM
@abit I'm walking around here on Bitfest and we've been discussing the BSIP42. If we are looking into updating the software with a future hardfork or major release, irregardless of whether to continue the BSIP 42 or it might get voted out we could move and seperate the "pricefeed"-data and the "premium" (modifier) data into a new variable set by witnesses publishing this 'modifier/premium'.

What I would propose is for

- transparency
- useability of the actual market reflecting pricefeeds

to have next to the  quote/base data per asset also a new variable, namely a 'premium' or 'modifier / premium / feedback'-float to be set per asset. This modifier/premium can then be set irregardless of the pricefeed publishing (or together, but ideally also seperate `publish_modifier`) and can be a 'median of medians' .

1. This would mean that witnesses can continue to publish pricefeeds according to the old "market reflecting" data as sampled from all sources.
2. The pricefeed data reflects "true" reflection of the market and can continue to be used as trusted source for input for other projects whatever they may be.
3. Then inside the new software version code the final price to be calculated could be as simple as "pricefeed median * 'modifier median".

- If BSIP42 gets voted out it could be as simple as everyone publishing a "1.0"-value as "modifier".
- If BSIP42 stays active it is way easier to see witnesses' premiums/modifiers and the pricefeeds can stay usefull for other projects beyond and inside the Bitshares realm.

actually I think one other solution may be better: keep feed price as the "real market price" as before, and let witnesses adjust MCR based on the premium/discount get from market. this will give same impact to the the market as BSIP42 and can lead to pegging accuracy.

this need not to add more variables, but need to overcome some technical problem/fix some bugs as @abit has mentioned.

however I think either solution need a long time(several months?) to fix bugs or even do hard fork,  I don't think we should just wait for the solution come, we can just push BSIP42 at current time to make smartcoins better, until the "transparent" solution come.

Yes indeed changing the MCR would be the best solution, but if it would be technically unfeasible or to much demanding for the chain the suggested solution might at least be a good alternative i think, especially since I think that it might be easier to integrate with the current software instead of changing much to the Smart Assets code.
The bug about changing MCR is being fixed. Actually the code is ready, but need testing. https://github.com/bitshares/bitshares-core/pull/1324

However, even when it's able to adjust MCR, the code doesn't allow us to adjust it to less than 100%. That means black swan is unavoidable by adjusting MCR alone when time comes.

By adjusting price, theoretically black swan event is avoidable. More discussion in this post https://bitsharestalk.org/index.php?topic=27170.msg322381#msg322381 .


@roelandp: I don't like the change you proposed because it is not a simple change if want to make it into consensus, to implement it we need to change quite some code, but the gain is little.
* If someone wants to feed something not for the system to use, he can use custom_operation.
* If someone want to track price, he can use latest market trading price.
BitShares committee member: abit
BitShares witness: in.abit

roelandp

Quote from: bitcrab on September 23, 2018, 07:55:37 PM
Quote from: roelandp on September 22, 2018, 01:22:44 PM
@abit I'm walking around here on Bitfest and we've been discussing the BSIP42. If we are looking into updating the software with a future hardfork or major release, irregardless of whether to continue the BSIP 42 or it might get voted out we could move and seperate the "pricefeed"-data and the "premium" (modifier) data into a new variable set by witnesses publishing this 'modifier/premium'.

What I would propose is for

- transparency
- useability of the actual market reflecting pricefeeds

to have next to the  quote/base data per asset also a new variable, namely a 'premium' or 'modifier / premium / feedback'-float to be set per asset. This modifier/premium can then be set irregardless of the pricefeed publishing (or together, but ideally also seperate `publish_modifier`) and can be a 'median of medians' .

1. This would mean that witnesses can continue to publish pricefeeds according to the old "market reflecting" data as sampled from all sources.
2. The pricefeed data reflects "true" reflection of the market and can continue to be used as trusted source for input for other projects whatever they may be.
3. Then inside the new software version code the final price to be calculated could be as simple as "pricefeed median * 'modifier median".

- If BSIP42 gets voted out it could be as simple as everyone publishing a "1.0"-value as "modifier".
- If BSIP42 stays active it is way easier to see witnesses' premiums/modifiers and the pricefeeds can stay usefull for other projects beyond and inside the Bitshares realm.

actually I think one other solution may be better: keep feed price as the "real market price" as before, and let witnesses adjust MCR based on the premium/discount get from market. this will give same impact to the the market as BSIP42 and can lead to pegging accuracy.

this need not to add more variables, but need to overcome some technical problem/fix some bugs as @abit has mentioned.

however I think either solution need a long time(several months?) to fix bugs or even do hard fork,  I don't think we should just wait for the solution come, we can just push BSIP42 at current time to make smartcoins better, until the "transparent" solution come.

Yes indeed changing the MCR would be the best solution, but if it would be technically unfeasible or to much demanding for the chain the suggested solution might at least be a good alternative i think, especially since I think that it might be easier to integrate with the current software instead of changing much to the Smart Assets code.
read my witness intro here -
[url="https://bitsharestalk.org/index.php/topic,24017.0.html"]https://bitsharestalk.org/index.php/topic,24017.0.html[/url]

bitcrab

Quote from: roelandp on September 22, 2018, 01:22:44 PM
@abit I'm walking around here on Bitfest and we've been discussing the BSIP42. If we are looking into updating the software with a future hardfork or major release, irregardless of whether to continue the BSIP 42 or it might get voted out we could move and seperate the "pricefeed"-data and the "premium" (modifier) data into a new variable set by witnesses publishing this 'modifier/premium'.

What I would propose is for

- transparency
- useability of the actual market reflecting pricefeeds

to have next to the  quote/base data per asset also a new variable, namely a 'premium' or 'modifier / premium / feedback'-float to be set per asset. This modifier/premium can then be set irregardless of the pricefeed publishing (or together, but ideally also seperate `publish_modifier`) and can be a 'median of medians' .

1. This would mean that witnesses can continue to publish pricefeeds according to the old "market reflecting" data as sampled from all sources.
2. The pricefeed data reflects "true" reflection of the market and can continue to be used as trusted source for input for other projects whatever they may be.
3. Then inside the new software version code the final price to be calculated could be as simple as "pricefeed median * 'modifier median".

- If BSIP42 gets voted out it could be as simple as everyone publishing a "1.0"-value as "modifier".
- If BSIP42 stays active it is way easier to see witnesses' premiums/modifiers and the pricefeeds can stay usefull for other projects beyond and inside the Bitshares realm.

actually I think one other solution may be better: keep feed price as the "real market price" as before, and let witnesses adjust MCR based on the premium/discount get from market. this will give same impact to the the market as BSIP42 and can lead to pegging accuracy.

this need not to add more variables, but need to overcome some technical problem/fix some bugs as @abit has mentioned.

however I think either solution need a long time(several months?) to fix bugs or even do hard fork,  I don't think we should just wait for the solution come, we can just push BSIP42 at current time to make smartcoins better, until the "transparent" solution come.


pc

Quote from: roelandp on September 22, 2018, 01:22:44 PM
What I would propose is for

- transparency
- useability of the actual market reflecting pricefeeds

to have next to the  quote/base data per asset also a new variable, namely a 'premium' or 'modifier / premium / feedback'-float to be set per asset. This modifier/premium can then be set irregardless of the pricefeed publishing (or together, but ideally also seperate `publish_modifier`) and can be a 'median of medians' .

+1

Bitcoin - Perspektive oder Risiko? ISBN 978-3-8442-6568-2 [url="http://bitcoin.quisquis.de"]http://bitcoin.quisquis.de[/url]

j.galt

Your proposal is far better for the community and for transparency RoelandP.

The "fast track" of bsip42 and now seeing signs of push for BitUSD for a similar scheme indicates there is an agenda at play here which goes beyond simply wanting a tighter peg. Although I haven't seen much, it has been mentioned to eliminate the global settlement price, so Thul3's comments about that may right.

Are we witnessing the "controlled demolition" of this ecosystem? When major shareholders propose price feed manipulation (i.e. bsip42) and other proxies and the committee don't jump in to stop it or at least demand a more careful plan to conduct testing, I have to ask.

Making adjustments to increase a derivative's peg "tightness" is one thing, removing global settlement is another.

BTW, when will this bsip42 experiment be over? When will we see a report or something written up about this? When will we have seen enough variations in the market to know the PID parameters are optimized for all market conditions?

Or, are witnesses endlessly supposed to keep making adjustments to the PID settings? That's hardly an improved feed algorithm.

I sure hope bsip42 is heavily discussed at Bitfest and a solid plan is considered to prevent a catastrophe.

roelandp

@abit I'm walking around here on Bitfest and we've been discussing the BSIP42. If we are looking into updating the software with a future hardfork or major release, irregardless of whether to continue the BSIP 42 or it might get voted out we could move and seperate the "pricefeed"-data and the "premium" (modifier) data into a new variable set by witnesses publishing this 'modifier/premium'.

What I would propose is for

- transparency
- useability of the actual market reflecting pricefeeds

to have next to the  quote/base data per asset also a new variable, namely a 'premium' or 'modifier / premium / feedback'-float to be set per asset. This modifier/premium can then be set irregardless of the pricefeed publishing (or together, but ideally also seperate `publish_modifier`) and can be a 'median of medians' .

1. This would mean that witnesses can continue to publish pricefeeds according to the old "market reflecting" data as sampled from all sources.
2. The pricefeed data reflects "true" reflection of the market and can continue to be used as trusted source for input for other projects whatever they may be.
3. Then inside the new software version code the final price to be calculated could be as simple as "pricefeed median * 'modifier median".

- If BSIP42 gets voted out it could be as simple as everyone publishing a "1.0"-value as "modifier".
- If BSIP42 stays active it is way easier to see witnesses' premiums/modifiers and the pricefeeds can stay usefull for other projects beyond and inside the Bitshares realm.

read my witness intro here -
[url="https://bitsharestalk.org/index.php/topic,24017.0.html"]https://bitsharestalk.org/index.php/topic,24017.0.html[/url]

Thul3

#25
QuoteBSIP42 worked fairly well on bitCNY, we need to apply it on bitUSD in the next step.


BSIP42 is a total failure moving BitCNY directly and quickly to a global settlement.
We already have at this high BTS price a BTS sell wall of 21 million BTS on a CTR of 1.65 and the global settlement price will be already reached at 0.47 CNY .


This is fucking nuts what you guys are doing.You fucking play with everyones collateral.
You guys are clearly out of control and should be kicked out of commitee for these steps.....
In my private opinion to protect your own assets against margin call.


QuoteBSIP42 worked fairly well on bitCNY, we need to apply it on bitUSD in the next step.

Yeah lets quickly change bitusd too to protect your assets on bitusd too before people realise what shit they implemented and what its causing.
Hurry hurry to implement bitusd calling bsip42 after a few days a full success ignoring now the big margin walls we have in the smallest downtrend .
Once its changed it will stay like your fucking 5% settlement fee.

You deserve the price of the biggest manipulator on bitshares thinking being so smart to always be able to sell the community stupid trojan horses




abit

#24
Quote from: paliboy on September 16, 2018, 11:21:30 AM
Quote from: bitcrab on September 15, 2018, 06:44:11 PM
data at this moment:
bitCNY: BTS price:0.818, feed price:0.917, premium:0.1%
bitUSD: BTS price:0.115, feed price:0.119, premium: 4% 

BSIP42 worked fairly well on bitCNY, we need to apply it on bitUSD in the next step.

how did you calculate this premium?
You can also check here https://coinmarketcap.com/currencies/bitcny/ , remember to set CNY as base currency.

BitShares committee member: abit
BitShares witness: in.abit

yvv

This guy is trying to trick witnesses into preferring his private exchange for deriving a feed price. This is BULLSHIT! This is attack on the network, happening right now. This attack is initiated by few malicious committee members. Proxies, wake up and use your voting power to stop this!

bitcrab

Quote from: paliboy on September 16, 2018, 11:21:30 AM
Quote from: bitcrab on September 15, 2018, 06:44:11 PM
data at this moment:
bitCNY: BTS price:0.818, feed price:0.917, premium:0.1%
bitUSD: BTS price:0.115, feed price:0.119, premium: 4% 

BSIP42 worked fairly well on bitCNY, we need to apply it on bitUSD in the next step.

how did you calculate this premium?

for bitCNY one reference is the deposit fee in magicwallet, currently as shown below the deposit fee is -0.06%, means now the premium is -0.06, or bitCNY has a 0.06% discount.




on the other hand, you can also compare the BTS price in bitCNY and in fiat CNY to get the premium, same for USD.

yvv

Quote from: bitcrab on September 15, 2018, 06:44:11 PM
data at this moment:
bitCNY: BTS price:0.818, feed price:0.917, premium:0.1%
bitUSD: BTS price:0.115, feed price:0.119, premium: 4% 

BSIP42 worked fairly well on bitCNY, we need to apply it on bitUSD in the next step.

Bullshit! Right now

Feed price: 1.07539 BTS/CNY
Last price: 1.21065 BTS/CNY

(1.21065-1.07539)/1.07539~0.13, which is 13% premium, not 0.1%. Fix your calculator.


paliboy

Quote from: bitcrab on September 15, 2018, 06:44:11 PM
data at this moment:
bitCNY: BTS price:0.818, feed price:0.917, premium:0.1%
bitUSD: BTS price:0.115, feed price:0.119, premium: 4% 

BSIP42 worked fairly well on bitCNY, we need to apply it on bitUSD in the next step.

how did you calculate this premium?

sschiessl

Witnesses are still tweaking their algorithms. I think a little more time buffer would be well advised to have stable code base before moving to less liquid markets