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

v0.20.6rc1 letting transactions from negative RC accounts go through? #3097

Closed
quochuy opened this issue Oct 21, 2018 · 5 comments
Closed

v0.20.6rc1 letting transactions from negative RC accounts go through? #3097

quochuy opened this issue Oct 21, 2018 · 5 comments

Comments

@quochuy
Copy link

quochuy commented Oct 21, 2018

As I cannot re-open a closed ticket, I'm creating this new one just in case...

This issue relates to #3073

The original issue was closed because @mvandeberg found out that it was due to a time share witness running a modified code accepting transactions from negative RC accounts.

However, it seems that @lukestokes from his test of v0.20.6rc1 is also affected while his code was unmodified. So this could be a bug introduced in v0.20.6rc1. To be confirmed.

@quochuy quochuy changed the title v0.20.6rc1: Account still able to comment while having a negative RC relates to #3073 v0.20.6rc1 letting transactions from negative RC accounts go through? Oct 21, 2018
@quochuy
Copy link
Author

quochuy commented Oct 22, 2018

Witness evildido has also just updated to 0.20.6rc1 and is also affected:
screen shot 2018-10-22 at 11 33 13 am

@mvandeberg
Copy link
Contributor

mvandeberg commented Oct 22, 2018

Copying my reply from #3073:

Any time we change the RC system, some of this is going to happen on one side or the other. If we have two competing non-consensus rulesets, A and B, the transactions that get included only have to pass A or B. And some of those transactions will fill for form not A, B. From an A node perspective, it looks wrong. The transaction shouldn't be allowed. When it is permissible by B.

With RCs this gets really tricky because if the new ruleset is more expensive than the other, then transactions allowed in prior are going to cost more retroactively than when they were included. This could lead to a poor user experience if they are suddenly out of RCs, or even negative, if they thought they still had RCs. To prevent this from happening, in 0.20.6, we reset the resource pools to 200% their equilibrium to tank the retroactive prices and prevent users from going negative. What this means is there are users that may be negative in 0.20.5 that aren't in 0.20.6.

To further complicate matters, 0.20.6 is more expensive for some operations and less expensive for others. There are going to be some transactions that 0.20.5 rejects and some that 0.20.6 rejects and each are going to complain about the other including those transactions until all witnesses are running 0.20.6.

@lukestokes
Copy link

Thanks for clarifying. If I'm understanding you correctly, this is not a bug with v0.20.6rc1 in that it will let some transactions through that are currently being blocked by v0.20.5 due to negative RC which, under v0.20.6 would be positive.

I see two tensions we'll always have to keep in balance with the RC system:

  1. Too permissive, letting through spam without allocating costs accurately, etc
  2. Too restrictive, preventing reasonable usage by new accounts, active accounts that power up, etc.

Seems to me the community at large will be less upset at 1 compared to 2 as that burden falls mainly on the witnesses over the long term. The main thing I want to avoid at this stage is rolling out 0.20.6 and having a repeat of the v0.20 rollout which prevent most accounts from interacting normally.

@quochuy
Copy link
Author

quochuy commented Oct 22, 2018

@mvandeberg, thanks for the response. In my observation during the period where @lukestokes, the user ammard (who's a big spammer) has a super negative RC count, but 0.20.6 let his transactions through. So we might be in the situation #1 Luke described above.

@lukestokes did you do a replay for 0.20.6? I'm wondering if could be why your 0.20.6 didn't notice a very negative RC for that user.

@lukestokes
Copy link

@quochuy I did replay completely for v0.20.6rc1, yes.

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

No branches or pull requests

4 participants