-
Notifications
You must be signed in to change notification settings - Fork 3.8k
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
R4R: Slashing, validator set, and governance simulation #1783
Merged
Merged
Changes from 1 commit
Commits
Show all changes
80 commits
Select commit
Hold shift + click to select a range
15a5cd5
Simulate time passing
cwgoes 2a04c04
Print out final height & time
cwgoes 79e870a
Simulate validator set changes
cwgoes a1ea7cc
Simulate different block loads
cwgoes 727b7bd
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 9c55ec5
Random SigningValidators
cwgoes 782fcd7
Simple random Byzantine evidence
cwgoes e4d0b17
Option to skip RequestBeginBlock randomization
cwgoes 0f85d6c
Initial genesis validator in simulation
cwgoes d2709e2
Helpful printouts
cwgoes 6c07f4a
Better load simulation
cwgoes 01264b9
Nicer logs
cwgoes d7f1553
Linter fixes; 'make format'
cwgoes 738009c
Delay RequestBeginBlock.SigningValidators one block; nicer formatting
cwgoes b032b8e
Period invariant checks
cwgoes 2bf2c9a
SimulateMsgUnrevoke
cwgoes e69f7fc
Simulated x/gov msgs, more initially bonded
cwgoes 3a4aed5
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 9a07c07
Linter fixes; 'make format'
cwgoes be70a21
Somehow nondeterministic
cwgoes d151988
Debugging contd.
cwgoes f0cff46
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 5058379
Fix nondeterminism but now we found a bug!
cwgoes 8cacb96
Debugging contd.
cwgoes d9000fb
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 7a02762
More debugging
cwgoes ce52253
Debugging contd.
cwgoes d36d739
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 529b93a
Remove debugging Printfs
cwgoes 14c4642
Debugging contd.
cwgoes 8ccde07
Merge PR #1842: simulation: Use transition matrices for simulating va…
ValarDragon a2ed2d1
Remove debug Printfs
cwgoes 7fb08f8
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 4036295
Governance simulation contd.
cwgoes e7a732d
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 2a9061e
dep; make format
cwgoes 462e0cc
NewInt64Coin
cwgoes afed984
Pass header correctly for slashing
cwgoes d69107c
Longer timeout; disable inflation
cwgoes c3b9818
Separate into 'test_sim_modules', 'test_sim_gaia_{fast,slow}'
cwgoes 23d96f0
Misc fixes
cwgoes fd6594b
Fix teesny-tiny spelling mistake
cwgoes 2163e96
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 416e0d7
Past evidence; events for BeginBlock/EndBlock
cwgoes 9a4a42b
Simplify simulation configuration
cwgoes dfb81f0
Add module simulation for x/gov
cwgoes 6caaebc
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes b1b7d9d
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes ebd394c
Fix BeginBlock on existing deliverState.ctx
cwgoes 03d9378
Minor cleanup
cwgoes 36aa0af
Cleanup x/gov simulation msgs
cwgoes d9c1d67
Log proposal EndBlocker events
cwgoes fadfe87
Update PENDING.md
cwgoes 7b2b989
Minor fixes
cwgoes 73d5028
Correct evidence type
cwgoes a4c7fa7
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 64a2e5b
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 0a3f610
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes bce3f5d
reduce unnecessarsy verbosity
ValarDragon 75f8f15
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes 268c0ac
dep ensure -v -update
cwgoes f18c01d
Merge PR #1994: Delete install.md
zramsay 1a64c87
Merge PR #1995: upgrading ledger goclient lib
jleni 2b703c9
Merge branch 'develop' into cwgoes/slashing-simulation
cwgoes b40c9e8
Remove simulation from 'make test_cover'
cwgoes 198f0f3
.ABCIValidator() includes address
cwgoes f172dd6
Minor fixes
cwgoes 63762e9
Remove from CircleCI test_cover (why is this different)
cwgoes 11ae0f3
Merge branch 'release/v0.24.0' into cwgoes/slashing-simulation
cwgoes 70cc9bd
Update Gopkg.lock
cwgoes 44c5ae7
Change timeout on 'make test_sim_gaia_fast'
cwgoes 4bd01b0
testing...
cwgoes 6e58500
Merge branch 'release/v0.24.0' into cwgoes/slashing-simulation
cwgoes 1e1f337
Some logs for stake bug
cwgoes c13dd76
Add more debugging
cwgoes 93060d7
Make randomized simulation deterministic from a given seed (#2059)
ValarDragon 54ee496
Update Gopkg.lock
cwgoes 617a503
Zero inflation on stake module test; additional event
cwgoes 169260f
Remove accidental change from develop
cwgoes eb3e623
Remove printfs for merge into release/v0.24.0
cwgoes File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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.
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.
Would it make sense to break up these invariants more? i.e. bank invariant every 100, staking/slashing every time?
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.
Possibly! Currently optimized for ease of changing periodicity...
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.
In addition to what I previously suggested, maybe we should have a separate convenient
debug
full simulation function which takes in the seed and then run the invariants every time. (i.e. I'd prefer if we had a very easy way to see exactly what caused that randomized error once we've found an error)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.
We can search by bisection.
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.
(and also have a way to run the invariants every time, sure)