Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

baip-0002.md #9

Merged
merged 1 commit into from
Nov 7, 2019
Merged

baip-0002.md #9

merged 1 commit into from
Nov 7, 2019

Conversation

wenhuadream
Copy link
Contributor

BAIP: 0002
Title: Reform of loopholes in feed price mechanism
Authors: cn-vote  [email protected]
Status: Draft
Type: Consensus 
Created: 2019-11-7

Abstract

This BAIP defines reforms to the current feed price mechanism vulnerability. The specific program is: The feed price is the highest between the current price and the two-day moving average price .

Motivation

After the failure of BSIP42, the current feed price mechanism has major loopholes and serious negatives, many cex exchanges use our vulnerability to maliciously short,which seriously damaged the ecological balance, which caused us to suffer many unnecessary losses and hindered the development of the entire ecology.
When the vulnerability has been expanded to be intolerable, in an emergency, the passage and execution of BSIP76 has temporarily blocked the expansion of the vulnerability. However, the current feed price mechanism is still in urgent need of reform.

Rational

"The feed price is the highest between the current price and the two-day moving average price ".
This BAIP does not conflict with the previous consensus on the feed price of all the communities. The feed provider continue to collect the feed price according to the original community consensus, and the community consensus on the protection of the black swan(BSIP58) and the minimum feed price is continued(BSIP76).
This BAIP only requires the introduction of the abstract described in the feed price script, which is
"The feed price is the highest between the current price and the two-day moving average price ".

Specifications

Implementing measures

If (current price >  two-day moving average price) {
  feed price = current price;
}
Else{
  feed price = two-day moving average price;
}

Noun explanation

  • Current price : The real-time feed price of the current feed price mechanism before the reform.
  • Two-day moving average price : two-day moving average price =( current price (1) + current price (2) + current price ( 3) ...+ current price (n) )/n.
    • n is the sampling frequency, which is 48 times, that is, n = 48*m; m is positive: m = 1, 2, 3....
    • current price (k) is the current price at the time of sampling. The current price (1) is the
      current price at this moment. The current price (n) is the current price at the time of 48 hours ago.
    • Sampling interval (in hours): sampling interval = 48 / n = 48 / (48 * m). That is: m = 1, two- day moving average price every hour to sample once,;m = 2, two-day moving average price half an hour to sample once, And so on.

supplementary explanation

To decide whether to reform of loopholes in feed price mechanism, 2 poll worker proposals will be created for voting:

  • Poll-BAIP**- Reform of loopholes in feed price mechanism.
  • Poll-BAIP**-Not reform of loopholes in feed price mechanism.

If the voting confirm the change, committee will announce the change at least 3 days before the change is implemented by feed provider.

Summary for Shareholders

This program is simple and effective, and can prevent malicious short-selling or increase malicious short-selling costs to a certain extent.

Discussion

bitshares/bsips#244

See Also

https://bitsharestalk.org/index.php?topic=29698.0
https://bitsharestalk.org/index.php?topic=29699.0
https://bitsharestalk.org/index.php?topic=29635.0
https://bitsharestalk.org/index.php?topic=28418.0
https://bitsharestalk.org/index.php?topic=29684.0
https://bitsharestalk.org/index.php?topic=29687.0

Copyright

This document is placed in the public domain.

@@ -0,0 +1,62 @@
BAIP: 0002
Title: Reform of loopholes in feed price mechanism
Authors: cn-vote [email protected]
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The whole cn-vote committee authored this BAIP?



# Abstract
This BAIP defines reforms to the current feed price mechanism vulnerability. The specific program is: The` feed price` is the highest between the `current price` and the ` two-day moving average price` .
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only one vulnerability reform? The title refers to multiple vulnerabilities (loopholes) being reformed by this BAIP?

# Abstract
This BAIP defines reforms to the current feed price mechanism vulnerability. The specific program is: The` feed price` is the highest between the `current price` and the ` two-day moving average price` .
# Motivation
After the failure of [BSIP42](https://github.com/bitshares/bsips/blob/master/bsip-0042.md), the current feed price mechanism has major loopholes and serious negatives, many cex exchanges use our vulnerability to maliciously short,which seriously damaged the ecological balance, which caused us to suffer many unnecessary losses and hindered the development of the entire ecology.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the current feed price mechanism has major loopholes and serious negatives

Nothing is wrong with the price feeding mechanism within the Bitshares core/ui code base. There may be issues with the price feed scripts which provide values for the price feeding mechanism, but you have not defined them - please fully define the 'major loopholes and serious negatives' so we're all on the same page.

many cex exchanges use our vulnerability to maliciously short

Allegations have only been made against one CEX, which others do you claim are maliciously shorting? Name and shame them.

which seriously damaged the ecological balance

economic balance instead of ecological balance?

caused us to suffer many unnecessary losses

The author cn-vote has suffered unnecessary losses? Surely these were fully acknowledged risks when the debt positions were opened?

hindered the development of the entire ecology.

do you mean economy? Ecology is a branch of biology, not economics 🤔

This has only affected market pegged assets, not UIA/EBA/ABA/PMA so it hasn't affected everything.

This BAIP defines reforms to the current feed price mechanism vulnerability. The specific program is: The` feed price` is the highest between the `current price` and the ` two-day moving average price` .
# Motivation
After the failure of [BSIP42](https://github.com/bitshares/bsips/blob/master/bsip-0042.md), the current feed price mechanism has major loopholes and serious negatives, many cex exchanges use our vulnerability to maliciously short,which seriously damaged the ecological balance, which caused us to suffer many unnecessary losses and hindered the development of the entire ecology.
When the vulnerability has been expanded to be intolerable, in an emergency, the passage and execution of [BSIP76](https://github.com/bitshares/bsips/blob/master/bsip-0076.md) has temporarily blocked the expansion of the vulnerability. However, the current feed price mechanism is still in urgent need of reform.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in an emergency, the passage and execution of BSIP76

This has the order of events wrong - it was executed prior to achieving any network consensus (both USD & CNY) through devious means.

Do you intend for this BAIP to be implemented without waiting for network consensus too?

temporarily blocked the expansion of the vulnerability

6 weeks (and counting) of fraudulent/fake price feeds doesn't feel temporary at all, especially when the exit conditions rely on the BTS price exceeding the threshold price (unknown/indefinite duration). Further it's failed to follow up with voted upon accurate threshold feed prices - rejecting the reality of the current BTS market rate is a thinly veiled bail out for bad debtors.

Arguably it 'blocked' the alleged risk of CEX short attacks by actively defrauding bitasset holders.

However, the current feed price mechanism is still in urgent need of reform.

The price feed scripts for select bitassets are in scope for reform, not core/ui based bitshares price feed mechanisms.

Given how BSIP76 is indefinite, there's really no urgency. Your price feed changes won't go live until BSIP76 is dead, so why the rush?

When the vulnerability has been expanded to be intolerable, in an emergency, the passage and execution of [BSIP76](https://github.com/bitshares/bsips/blob/master/bsip-0076.md) has temporarily blocked the expansion of the vulnerability. However, the current feed price mechanism is still in urgent need of reform.
# Rational
"The feed price is the highest between the ` current price` and the `two-day moving average price` ".
This BAIP does not conflict with the previous consensus on the feed price of all the communities. The feed provider continue to collect the feed price according to the original community consensus, and the community consensus on the protection of the black swan([BSIP58](https://github.com/bitshares/bsips/blob/master/bsip-0058.md)) and the minimum feed price is continued([BSIP76](https://github.com/bitshares/bsips/blob/master/bsip-0076.md)).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This BAIP does not conflict with the previous consensus on the feed price of all the communities.

It does conflict with historic/original consensus & past price feed changes have not achieve network consensus prior to implementation - actions not supported by all communities.

The feed provider continue to collect the feed price according to the original community consensus

Cool, so back to feeding accurate price feeds immediately, right? 😂

That was the original consensus, remember? All debtors agreed to this when they opened their debt positions prior to BSIP76.

black swan

This is old/invalid terminology from when an MPA could not recover from global settlement, now a global settlement event does not qualify as a 'black swan' as there are multiple exit conditions/routes.

the minimum feed price is continued (BSIP76)

Why? Does your BAIP not fully address the CEX short attack concerns? You claim this is urgent, but then propose delaying implementation of the 'reformed' price feed scripts indefinitely? (The only exit clause for BSIP76 is BTS price raising above threshold price - circumstances which can be directly impeded by the "multiple malicious CEX").


What alternative designs & related works were considered?

What important objections/concerns have been raised during discussions?

# Specifications
## Implementing measures
```c
If (current price > two-day moving average price) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does the threshold price factor into your equation? Like the following? Or would you consider the threshold permanently null once the threshold has been exceeded?

const threshold_price = fraudulent_price; // Must never change under any circumstances /s
if (current price > threshold price) { 
  if (current price >  two-day moving average price) { 
    feed price = current price;
  } else {
    feed price = two-day moving average price;
  }
} else if (current price < threshold_price) {
  feed price = threshold_price;
}

```


## Noun explanation
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth replacing "noun" with "terminology" since this section explains more than individual nouns?



## Noun explanation
* ` Current price ` : The real-time feed price of the current feed price mechanism before the reform.
Copy link

@grctest grctest Nov 6, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before what reform? This BAIP or BSIP76? (or earlier bitasset focused BSIPs?)

day moving average price` every hour to sample once,;m = 2, ` two-day moving average price` half an hour to sample once, And so on.
## supplementary explanation
To decide whether to reform of loopholes in feed price mechanism, 2 poll worker proposals will be created for voting:
* Poll-BAIP**- Reform of loopholes in feed price mechanism.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not provide a more descriptive and non leading question? Like "Approve implementing a 2 day moving average for bitasset reference asset price feeds?". IMO It's misleading to imply this solves everything (considering it doesn't invalidate BSIP76 & only delays price feed impact by 2 days) and loads the poll in favour of implementation.

* Poll-BAIP**- Reform of loopholes in feed price mechanism.
* Poll-BAIP**-Not reform of loopholes in feed price mechanism.

If the voting confirm the change, committee will announce the change at least 3 days before the change is implemented by feed provider.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 days is an unrealistic time frame to expect all price feed scripts to be changed in. Further, you state in this BAIP that this change won't be implemented until the threshold price defined by BSIP76 has been exceeded, so it may be 3 months after not 3 days before your price feed mechanism changes have any effect.

If the voting confirm the change, committee will announce the change at least 3 days before the change is implemented by feed provider.

# Summary for Shareholders
This program is simple and effective, and can prevent malicious short-selling or increase malicious short-selling costs to a certain extent.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This program is simple and effective

Can you provide proof of effectiveness? This BAIP does not provide any statistical evidence to support this statement.

can prevent malicious short-selling or increase malicious short-selling costs to a certain extent

If a CEX has a zero cost short attack (which the implied ZB attack was) then it's not an effective prevention mechanism at all, BSIP76 has been active for approx 6 weeks - 2 days pales by comparison.

If this BAIP proposed to temporarily isolate misbehaving CEX from the reference asset price sources then it'd harden the feeds from malicious no-cost short attacks.

BAIP 1: This non-technical paragraph serves as a place which can be used to to interact with BTS holders and help them form their opinion. It is not meant to be a marketing driven paragraph to convince BTS holders to vote for or against a proposal, though.

The current summary endorses voting for the proposal, can you summarize without bias please? Thanks

# Summary for Shareholders
This program is simple and effective, and can prevent malicious short-selling or increase malicious short-selling costs to a certain extent.

# Discussion
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grctest grctest mentioned this pull request Nov 6, 2019
@zhouxiaobao-2010 zhouxiaobao-2010 requested review from zhouxiaobao-2010 and removed request for zhouxiaobao-2010 November 7, 2019 03:13
@zhouxiaobao-2010 zhouxiaobao-2010 merged commit 2ab4591 into bitshares:master Nov 7, 2019
@grctest
Copy link

grctest commented Nov 7, 2019 via email

@abitmore
Copy link
Member

abitmore commented Nov 7, 2019

@zhouxiaobao-2010 it's not good to merge a pull request when the discussion is still going on. Although this pull request has been merged, personally I don't think it's ready for voting.

@grctest IMHO the process is still to be clearly defined. We should put it in BSIP-01.

@clockworkgr
Copy link
Member

Although I agree with the essence/core content of the BAIP, I also agree with @grctest and @abitmore that it needs a bit more polishing and discussion before merging.

Just because it can get approved/voted due to current stake distribution, doesn't mean we don't have to be completely clear/transparent and descriptive towards the community as a whole.

@grctest
Copy link

grctest commented Nov 7, 2019

@grctest IMHO the process is still to be clearly defined. We should put it in BSIP-01.

BAIP 1 states:

  • The BAIP author is responsible for building consensus within the community and documenting dissenting opinions.

The author is not responsible for merging their own BAIP.

  • It also helps to make sure the idea is applicable to the entire community and not just the author.

The pull request was force merged by the author despite community members claiming it's not an appropriate solution.

  • If the BAIP editor approves, he will assign the BAIP a number, label it, give it status "Draft", and add it to the git repository.

No BAIP editors (abit, jerry nor fabian) publicly approved this PR before merger, nor the number, label, status.

The title should accurately describe the content.

The title does not accurately describe the content.


Why does OP have merge rights? Clearly they're being used in bad faith, like how the last PR was closed and reopened to discard review comments.

@abitmore
Copy link
Member

abitmore commented Nov 7, 2019

Why does OP have merge rights?

Just FWIW, the PR was created by @wenhuadream and merged by @zhouxiaobao-2010, AFAIK they're not the same person, although both are in the cn-vote union/group (in this sense, since the author is cn-vote, we can say the author approved and merged his own draft). @zhouxiaobao-2010 is currently an active committee member thus has write permissions in the repository. More info and discussion in #11.

@grctest
Copy link

grctest commented Nov 8, 2019

Now this BAIP has been put to a poll?! https://bitsharestalk.org/index.php?topic=31255.0

What a load of nonsense, this BAIP is not fit for purpose & the authors cannot accept any criticism/critique.

@grctest grctest mentioned this pull request Nov 8, 2019
@grctest
Copy link

grctest commented Nov 8, 2019

@zhouxiaobao-2010 Why did you merge this PR when many comments in this review remain unanswered?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants