-
Notifications
You must be signed in to change notification settings - Fork 8
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 #8
baip-0002.md #8
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
BAIP: 0002 | ||
Title: Reform of loopholes in feed price mechanism | ||
Authors: cn-vote [email protected] | ||
Status: Draft | ||
Type: Consensus | ||
Created: 2019-11-5 | ||
|
||
|
||
# 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` . | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? |
||
# 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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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.
Allegations have only been made against one CEX, which others do you claim are maliciously shorting? Name and shame them.
economic balance instead of ecological balance?
The author cn-vote has suffered unnecessary losses? Surely these were fully acknowledged risks when the debt positions were opened?
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. |
||
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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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?
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.
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? |
||
# 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)). | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
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.
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.
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.
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? |
||
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 | ||
```c | ||
If (current price > two-day moving average price) { | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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?
|
||
feed price = current price; | ||
} | ||
Else{ | ||
feed price = two-day moving average price; | ||
} | ||
``` | ||
|
||
|
||
## Noun explanation | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? |
||
* ` Current price ` : The real-time feed price of the current feed price mechanism before the reform. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Before what reform? This BAIP or BSIP76? |
||
* ` 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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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**-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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. |
||
|
||
# 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. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Can you provide proof of effectiveness? This BAIP does not provide any statistical evidence to support this statement.
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.
The current summary endorses voting for the proposal, can you summarize without bias please? Thanks |
||
|
||
# Discussion | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The discussion section is not yet fit for purpose, please follow the BAIP guidelines. |
||
https://github.com/bitshares/bsips/issues/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. |
There was a problem hiding this comment.
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?