-
Notifications
You must be signed in to change notification settings - Fork 144
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
ECBP-1100: MESS implementation #181
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Extracts the reorganization data-aggregation logic from its execution logic. This will allow observation and arbitration using the proposed reorganization data without necessarily acting on it. Signed-off-by: meows <b5c6@protonmail.com>
This is only really an optimization, paving the way for installing additional reorg arbitration. Signed-off-by: meows <b5c6@protonmail.com>
Implements spec documented here: https://github.com/etclabscore/artificial-finality/blob/master/MESS.md MESS is an artificial finality mechanism endowing the blockchain's current segment with so-called 'gravity' by requiring a competing chain to satisfy an exponentially increasing relative total difficulty. Note that is change causes several tests with reorgs to fail. This will be addressed by implementing the feature as a chain configuration option. Signed-off-by: meows <b5c6@protonmail.com>
…1355 configuration interface implementation Implement ECBP11355 interface methods for supporting chain configuration types. Signed-off-by: meows <b5c6@protonmail.com>
This meter was added to ethereum/go-ethereum after my original refactor was done, so my update missed it, and it was caught by the deadcode linter. Add it, fix it. Signed-off-by: meows <b5c6@protonmail.com>
- local head staleness - min peers These are mechanisms designed to provide sane safeguard heuristics for nodes to enable/disable artificial finality features within reason. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
This is intended to keep upstream merges streamlined by moving 'custom' logic to a non-colliding space. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Should help with debugging if it comes to that. 4 decimals chosen because that matches the current base value precision: 1.0001 Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Forgot to actually plug this in. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
One order of magnitude greater than the exponent's base of 1.0001. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
The sinusoidal function seems the most desirable. This changeset also includes a shallow threshold of 3 blocks, returning positive acceptance with difficulty is equivalent. This is intended to sidestep negative impacts on uncle rates. Signed-off-by: meows <b5c6@protonmail.com>
…ame shallow Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Rel etclabscore/core-geth-private#7 (comment) Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
This commit created by checkouting core/ package at development commit 0b162cd. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Also improves a graph generated by a test. This commit was created by gitcheckouting development commit 01406c7. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
This is just for documentation and reference, doing the sam e math but with different var types. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
…for curve domain This drastically changes the canonical allowance, truncating it to a hard about 30 blocks. Signed-off-by: meows <b5c6@protonmail.com>
This would present an exploit where the adversary would simply use the etherbase(s) of powerful honest miners to get them to permit the reorg. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
meowsbits
commented
Sep 24, 2020
iquidus
reviewed
Sep 24, 2020
Signed-off-by: meows <b5c6@protonmail.com>
This just keeps things lean and mean. The int64 was a precursor to the function which is now using big.Ints Signed-off-by: meows <b5c6@protonmail.com>
This just rearranges to put importanter stuff on top, and to move the development tests and plotters toward the bottom. Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
Signed-off-by: meows <b5c6@protonmail.com>
meowsbits
force-pushed
the
feat/mess
branch
from
September 25, 2020 12:22
0034050
to
2f81f32
Compare
Signed-off-by: meows <b5c6@protonmail.com>
meowsbits
force-pushed
the
feat/mess
branch
from
September 25, 2020 18:14
c462396
to
fbe85f3
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implements ECBP-1100 (MESS) specified at ethereumclassic/ECIPs#373.