Danny Ryan
e2abdb74ae
port testing
2021-03-09 15:41:28 -07:00
Danny Ryan
deace8768e
port @justindrake's general cleanups from #2212
2021-03-01 19:41:28 -07:00
Danny Ryan
2b8b0d9e2b
update penalty config values for hf1
2021-02-11 15:55:43 -07:00
Hsiao-Wei Wang
002dfaa891
Set minimal config's `SYNC_COMMITTEE_SIZE` to 32
2021-01-13 19:15:32 +08:00
Hsiao-Wei Wang
50765edc30
Set minimal config's `EPOCHS_PER_SYNC_COMMITTEE_PERIOD` to 8
2021-01-13 15:11:38 +08:00
Hsiao-Wei Wang
acfe49e3f3
executable light client patch: beacon-chain.md ( #2141 )
...
* Bump remerkleable to 0.1.18
* Disable `sync-protocol.md` for now. Make linter pass
* Enable lightclient tests
* Use *new* `optional_fast_aggregate_verify`
* Fix ToC and codespell
* Do not run phase1 tests with Lightclient patch
* Fix the Eth1Data casting bug. Add a workaround.
* Fix `run_on_attestation` testing helper
* Revert
* Rename `optional_fast_aggregate_verify` to `eth2_fast_aggregate_verify`
* Apply Proto's suggestion
* Apply Danny's suggestion
* Fixing tests
* Fix after rebasing
* Rename `LIGHTCLIENT` -> `LIGHTCLIENT_PATCH`
* New doctoc
* Add lightclient patch configs
* fix gitignore light client patch generator output
* Upgrade state for light client patch
* Add `lightclient-fork.md` to deal the fork boundary and fix
`process_block_header`
* Misc cleanups
1) Add a summary note for every function that is changed.
2) Avoid changing `process_block` (instead only change `process_block_header`).
3) Rename `G2_INFINITY_POINT_SIG` to `G2_POINT_AT_INFINITY` to avoid `SIG` contraction.
4) Misc cleanups
* Update block.py
* Update beacon-chain.md
* Fix typo "minimal" -> "mainnet"
Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>
* Use the new `BeaconBlockHeader` instead of phase 0 version
* Update config files
* Move `sync_committee_bits` and `sync_committee_signature` back to `BeaconBlockBody`
Co-authored-by: protolambda <proto@protolambda.com>
Co-authored-by: Justin <drakefjustin@gmail.com>
Co-authored-by: Marin Petrunić <mpetrunic@users.noreply.github.com>
2020-12-15 13:18:20 +08:00
Danny Ryan
7589af8e8d
remove wip notice on phase 0 specs
2020-11-04 09:30:29 -06:00
Danny Ryan
cd7b1056b4
add mainnet deposit contract address and min genesis time
2020-11-04 09:11:52 -06:00
Danny Ryan
91deacbf9c
double eth1data params
2020-10-07 18:52:47 -06:00
Danny Ryan
157f7e8ef4
upgrade config to mainnet values
2020-09-28 12:56:08 -06:00
Hsiao-Wei Wang
5374890da0
Merge branch 'dev' into testgenphase1
2020-09-17 21:11:49 +08:00
Hsiao-Wei Wang
2befe90032
Remove the unused `MAX_EPOCHS_PER_CROSSLINK`
2020-09-15 13:23:42 +08:00
protolambda
28137a6176
Merge branch 'dev' into testgenphase1
2020-09-09 23:43:26 +02:00
Hsiao-Wei Wang
c995da420e
Update config files
2020-09-03 21:39:00 +08:00
Hsiao-Wei Wang
6289664260
Update testing context
...
1. Add `with_configs` decorator to assign available configs
2. Add `only_full_crosslink` decorator to detect if the configuation can
do full crosslinking
3. Add `context.is_pytest` flag: True if calling via pytest. False if
calling from test generator.
2020-08-12 21:50:14 +08:00
Hsiao-Wei Wang
bd5346b624
Merge pull request #1989 from ethereum/enable-bls-citest
...
Enable Milagro BLS in CI
2020-07-29 23:54:53 +08:00
Hsiao-Wei Wang
b58633ce5d
Quick fix the phase 1 configurations and tests ( #1990 )
...
* Quick fix the configurations
* Remove the unused `CUSTODY_RESPONSE_DEADLINE`
2020-07-29 02:06:25 +08:00
Hsiao-Wei Wang
b1eb157539
Merge branch 'dev' into hwwhww/phase-1-fork-slot
2020-07-28 23:59:19 +08:00
Danny Ryan
9193a23f8e
add chain id and netowrk id to config
2020-07-23 12:05:22 -06:00
Hsiao-Wei Wang
cf42fd4828
Rename `PHASE_1_GENESIS_SLOT` to `PHASE_1_FORK_SLOT` and set it to `Slot(0)` for testing.
2020-07-16 23:58:47 +08:00
Danny Ryan
759185632f
Merge branch 'dev' into phase1-validator
2020-06-16 16:07:20 -06:00
Hsiao-Wei Wang
5e5a951c6f
Fix conflicts
2020-06-16 23:49:41 +08:00
Danny Ryan
a0175ca1b3
Merge branch 'dankrad-custody-256bit' into dankrad-custody-0.01bit
2020-06-16 07:15:00 -06:00
Danny Ryan
97d50b381b
minor fixes in config comments
2020-06-15 08:11:15 -06:00
Hsiao-Wei Wang
458d343497
Fix configs and put domain types to the same table
2020-06-15 21:15:11 +08:00
Hsiao-Wei Wang
8697b30eea
Fix configuration
2020-06-15 15:30:32 +08:00
Hsiao-Wei Wang
e80f6727dc
Merge branch 'dev' into dankrad-custody-256bit
2020-06-15 15:13:45 +08:00
Dankrad Feist
f6d7dac30c
Change to 2**14 epoch (73 day) custody periods as per #1888
2020-06-13 15:15:37 +01:00
Hsiao-Wei Wang
aa75fb0b69
Fix `MAX_SHARDS` and move config files to `configs/{network}/{fork}`
2020-06-12 00:47:36 +08:00
Hsiao-Wei Wang
85ec791935
Sync with beacon-chain spec
2020-06-11 01:04:14 +08:00
Hsiao-Wei Wang
6502cc1149
Separate config files by phases
2020-06-11 01:04:10 +08:00
Dankrad Feist
e46d5effe4
Add test for slashing after failing to respond to custody chunk challenge
2020-06-10 17:20:42 +01:00
Hsiao-Wei Wang
41cfa7fdf6
Merge branch 'dev' into dankrad-custody-256bit
2020-06-09 01:39:51 +08:00
Hsiao-Wei Wang
eb21648146
Merge pull request #1858 from ethereum/hwwhww/get_start_shard
...
`get_start_shard` proposal
2020-06-04 00:46:12 +08:00
Hsiao-Wei Wang
68e934bf15
Add `get_start_shard` unittests and update minimal config
...
1. Add unittests for testing `get_start_shard` with better granularity
2. Change `INITIAL_ACTIVE_SHARDS` from `4` to `2` for tight crosslinking
2020-06-03 23:08:38 +08:00
Raw Pong Ghmoa
d5ed78e974
reflect changes in minimal.yaml
2020-06-02 10:55:35 -06:00
Raw Pong Ghmoa
b3f2d81ad5
reflect changes in mainnet.yaml
2020-06-02 10:55:25 -06:00
Danny Ryan
3a4db69a20
Merge branch 'dev' into dankrad-custody-256bit
2020-06-01 18:45:22 -06:00
Danny Ryan
3f0e58a8ed
add chunk challenge and response to block and operations
2020-05-19 07:50:05 -06:00
Danny Ryan
1137e0332d
move MAX_ATTESTER_SLASHINGS to 2, add multiple slashings per block tests
2020-05-08 10:43:11 -06:00
Danny Ryan
38f29ba0a8
remove PERSISTENT_COMMITTEE_PERIOD in favor of SHARD_COMMITTEE_PERIOD
2020-05-05 11:44:53 -06:00
Danny Ryan
b2c36112f6
Merge branch 'dev' into v012x
2020-05-05 09:44:27 -06:00
Hsiao-Wei Wang
ee4c866575
Merge branch 'dev' into dankrad-custody-256bit-merging
2020-05-05 15:22:36 +08:00
Hsiao-Wei Wang
85d5a9abaf
[squashed] shard chain updates wip
...
PR feedback from Danny and some refactor
1. Add stub `PHASE_1_GENESIS_SLOT`
2. Rename `get_updated_gasprice` to `compute_updated_gasprice`
3. Rename `compute_shard_data_roots` to `compute_shard_body_roots`
Apply shard transition for the skipped slots
Refactor `shard_state_transition`
Get `beacon_parent_root` from offset slot
Add more test
Add `verify_shard_block_message`
Add `> 0`
Keep `beacon_parent_block` unchanged in `is_valid_fraud_proof`
Remove some lines
Fix type
Refactor + simplify skipped slot processing
2020-05-02 02:31:54 +08:00
Dankrad Feist
0e2931b9b3
All tests passed
2020-04-28 01:09:20 +01:00
Hsiao-Wei Wang
d311248d35
Increase `EPOCHS_PER_ETH1_VOTING_PERIOD` from `2` to `4` for testing eth1 votes consensus
2020-04-27 22:18:43 +08:00
Dankrad Feist
ab2ee0e2c2
Restoring chunk challenges and testing
2020-04-24 17:06:27 +01:00
Hsiao-Wei Wang
c10e59bdf7
Fix `INACTIVITY_PENALTY_QUOTIENT`
...
The amount of inactivity penalty was adjusted to half since we were applying penalty for missing FFG target and source. But now we only apply it for missing target, so `INACTIVITY_PENALTY_QUOTIENT` should be `2**24`.
2020-04-08 10:32:16 +08:00
Hsiao-Wei Wang
071f6b5126
Gasprice rework: use `MIN_GASPRICE` as the initial gasprice and change `MIN_GASPRICE` to 8 gwei
2020-03-31 22:09:20 +08:00
Danny Ryan
3b7704a78f
Merge pull request #1649 from ethereum/eth1-voting-period-in-epochs
...
Eth1 voting period in epochs [updated for configs/phase1/tests compat.]
2020-03-10 13:24:03 -06:00
protolambda
2d7a292d36
eth1 vote period constant in epochs: update configs, phase1, tests
2020-03-10 18:36:53 +01:00
Danny Ryan
33e7680836
make hysteresis calculations configurable
2020-03-03 10:58:47 -07:00
Danny Ryan
eec57f29b7
add explicit instrucutions for construction of signed_aggregate_and_proof. add DOMAIN_SELECTION_PROOF and DOMAIN_AGGREGATE_AND_PROOF
2020-02-11 15:45:51 -07:00
Danny Ryan
7a412534d9
remove test_shard_blocks (outdated) and reduce PERSISTENT_COMMITTEE_PERIOD in minimal config
2020-01-15 18:17:07 -07:00
protolambda
e6f98eb041
minor config style fixes
2020-01-14 02:26:15 +01:00
protolambda
702b253361
update configs for phase1
2020-01-13 19:50:36 +01:00
protolambda
140129ec51
Merge dev into phase1 refactor, update BLS phase1
2020-01-09 14:56:06 +01:00
Danny Ryan
c3f7f0bc2b
Merge pull request #1556 from ethereum/constant-genesis-slot
...
move GENESIS_SLOT/EPOCH to constants
2020-01-06 17:28:06 -07:00
protolambda
ce84ddd207
initial update of phase1 section of configs
2020-01-06 00:24:06 +01:00
Danny Ryan
50c8727ae7
make genesis delay configurable
2020-01-05 15:29:23 -07:00
Danny Ryan
8515aec7aa
move GENESIS_SLOT/EPOCH to constants as they are not truly configurable
2020-01-05 15:07:41 -07:00
Danny Ryan
5ac0d12205
Merge pull request #1553 from ethereum/eth1-caching
...
`get_eth1_data` uses timestamp instead of block height
2020-01-05 14:44:47 -07:00
Danny Ryan
6dbc02031d
add GENESIS_FORK_VERSION and make associated modifications to support configuration of this variable
2020-01-03 17:48:03 -07:00
Danny Ryan
261b6c0d23
modify get_eth1_data to use timestamp instead of block height
2020-01-03 16:57:04 -07:00
Danny Ryan
c9f52d0099
Merge branch 'dev' into phase1rebase
2020-01-03 07:49:23 -07:00
Danny Ryan
3e96b43894
Merge pull request #1467 from ethereum/reduce-genesis-count
...
reduce genesis validator count for mainnet config
2019-11-18 13:30:04 -07:00
Danny Ryan
398b11c26c
add validator constants to config
2019-11-12 08:42:57 -07:00
Danny Ryan
b376a1387c
minor fix to comment in mainnet config
2019-11-08 11:34:14 -07:00
Danny Ryan
9ddae15e2e
reduce genesis validator count for mainnet config
2019-11-06 20:32:25 -07:00
Danny Ryan
97d7cf5190
further test bounce attack
2019-11-05 10:58:45 -07:00
Danny Ryan
43132a3082
[reopen] Eth2 shorthand standardized ( #1452 )
...
* Update README.md
* Update README.md
* Update p2p-interface.md
* Update simple-serialize.md
* Update README.md
* Update initialization.md
* Update README.md
* Update 0_beacon-chain-validator.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
* Update README.md
2019-10-28 15:53:10 +08:00
Danny Ryan
70c2063cfa
PR feedback
2019-10-24 21:49:07 +09:00
Danny Ryan
e86ff1ead7
minor fix to mainnet config comments
...
Co-Authored-By: Cayman <caymannava@gmail.com>
2019-10-20 00:43:36 -05:00
Danny Ryan
a11b01296b
update constants for phase 0 simplification
2019-10-20 12:53:03 +08:00
Danny Ryan
437a65d3e1
cleanup wrt Justin's comments
2019-10-17 17:47:51 +09:00
Danny Ryan
6208e74d3f
get crosslink committees by slot
2019-10-13 21:52:58 +09:00
Danny Ryan
d8431f8476
add start index back in
2019-10-13 13:53:43 +09:00
Danny Ryan
c392db3b9b
fix max epochs var
2019-10-12 14:44:53 +09:00
Danny Ryan
1fbf7f8e0d
fix config files
2019-10-12 13:54:51 +09:00
Danny Ryan
d98cabf7e7
fix get crosslink committee and finalitytests
2019-10-12 13:06:52 +09:00
Justin Drake
e7db58cb7e
Rename ACTIVATION_EXIT_DELAY to MAX_SEED_LOOKAHEAD for phase 1
2019-09-23 12:48:41 -06:00
Justin Drake
47a818c705
Add domain_type to get_seed
2019-09-23 12:48:36 -06:00
Hsiao-Wei Wang
17702e6d88
Shard slot -> slot for PHASE_1_FORK_SLOT part2
2019-08-27 20:10:39 +08:00
Hsiao-Wei Wang
d84c902bb1
Merge branch 'dev' into v082_backport
2019-08-12 01:47:24 +08:00
dankrad
b345dc0f5f
Legendre custody construction ( #1305 )
...
* Stab at Legendre custody construction + some tests
* Fix some problems and fix function puller to remove phase0 only lines in phase1
* Pass the linter
* Add headings
* Fix domain for BLS stub
* Change Jacobi to Legendre
* n -> q to clarify notation
* Headings
* Another missing heading
* Custody subchunks via padding
* Fix max_reveal_lateness stuff
* Better names for reveal period functions
* Better parametrization of max_reveal_lateness computation and tests for custody reveal processing
* Fix linter
* Allow challenging for one period after the custody reveal, shorter periods for minimal tests
* Fix lint
* Fix linter error
2019-08-11 13:05:17 -04:00
Hsiao-Wei Wang
40fbcd3d59
Merge branch 'dev' into v082_backport
2019-08-12 00:58:20 +08:00
Hsiao-Wei Wang
3aba05e252
Add simple tests for `shard_state_transition`
2019-08-01 14:19:08 +08:00
protolambda
b73625fbf1
update test generation code (work in progress), improve the simplicity of configuration in context of forks, and update docs
2019-07-25 23:13:33 +02:00
Hsiao-Wei Wang
ff96eea3ac
Add phase 1 domain to constant_presets files
2019-07-04 20:46:47 +08:00
Danny Ryan
ce336d4a39
last few config fixes to match spec
2019-06-30 22:31:14 -06:00
Hsiao-Wei Wang
83a68feac6
Merge branch 'dev' into last-minute-cleanups-2
2019-07-01 09:36:13 +08:00
protolambda
fdd1fd5b2c
make config values reflect the withdrawal prefix is a byte
2019-07-01 00:26:46 +02:00
protolambda
e53063c08d
type BLS domain and domain type
2019-06-30 22:12:49 +02:00
Danny Ryan
2f43f9c339
Merge pull request #1202 from ethereum/test_genesis
...
Add `test_genesis.py` and fix `is_genesis_trigger`
2019-06-29 23:31:32 -05:00
protolambda
4d5d5971e2
fix genesis tests; sign deposit-datas, and lower min validator count for testing
2019-06-30 02:10:18 +02:00
Justin Drake
3a5872f8e4
Cleanups and fixes
2019-06-29 21:29:10 +01:00
Hsiao-Wei Wang
d4755653ff
Merge branch 'deposit-root' into test_genesis
2019-06-30 01:33:29 +08:00
Danny Ryan
b88ab250fa
Merge branch 'dev' into committee-roots
2019-06-28 12:07:50 -06:00
vbuterin
c764202a57
Slashing penalty calculation change ( #1217 )
...
If the exit queue is very long, then a validator may take many months to exit. With the code as currently written, however, self-slashing is a potentially lucrative route to get one's money out faster, because one can exit in 36 days.
This PR changes it so that slashing can only extend your withdrawal time, not contract it. Also, instead of the slashed balances used to calculate one's slashing penalty being those in `[withdrawal - 54 days ... withdrawal - 18 days]`, we now run the penalization algorithm once every 36 days that a validator is slashed but not withdrawn, so that it covers the 36-day period where the validator was actually slashed. It also moves the minimum slashing penalty to the `slash_validator` function so that it is only applied once.
We also simplify the `slashed_balances` logic to be per-epoch.
2019-06-28 14:35:26 +01:00
Justin Drake
bcfe383e25
WIP
2019-06-27 08:44:44 +01:00