Commit Graph

3946 Commits

Author SHA1 Message Date
Mikhail Kalinin 0dec828d89 Add initial merge spec 2021-03-17 15:59:14 +06:00
Danny Ryan e2c9a15aaf
Merge pull request #2246 from ethereum/sync_rewards
refactor sync committee rewards
2021-03-16 20:27:04 -06:00
protolambda 0fe5e1ef6e
update of req-resp, v2 sync methods, gossip topics 2021-03-17 00:54:29 +01:00
Alex Stokes 893134d2ab
Add validator guide and initial P2P spec for Altair 2021-03-16 17:37:42 -06:00
Justin Drake 27e88a2484 (WIP) refactor sync committee rewards 2021-03-16 15:30:25 +00:00
Danny Ryan 85d323c227
Merge pull request #2242 from ethereum/sync_aggregate
Define SyncAggregate to bundle sync committee bits and signature
2021-03-15 15:48:20 -06:00
protolambda 1eaa3c1742
Define SyncAggregate to bundle sync committee bits and signature, update tests to better isolate the state-change, introduce helper function for future tests, and update test doc 2021-03-15 21:55:36 +01:00
Danny Ryan 4afb6533a2
suffix ALTAIR on update constants 2021-03-15 11:46:53 -06:00
Hsiao-Wei Wang 8fdc0338ac
Merge pull request #2240 from ethereum/altair-genesis-tests
Enable Altair genesis tests + rename `SpecLightclient` -> `SpecAltair` + disable too slow test
2021-03-16 01:19:14 +08:00
Hsiao-Wei Wang 40fa73a311
Fork to Altair 2021-03-16 00:05:13 +08:00
Justin b4c1520bc2
Minor formatting fix 2021-03-15 15:02:57 +00:00
Danny Ryan b8bf7f0f80
Merge pull request #2236 from ethereum/justin_altair_cleanups
Altair cosmetic cleanups plus a couple substantive changes
2021-03-15 08:57:35 -06:00
Danny Ryan 2a0e0eb119
fix typo 2021-03-15 08:42:50 -06:00
Danny Ryan 6f473af395
Merge pull request #2225 from ethereum/seen-aggregates
remove faulty de-duplication condition for seen aggregates
2021-03-15 07:43:33 -06:00
Danny Ryan 178a994804
Apply suggestions from code review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-15 07:33:14 -06:00
Justin Drake e7ebd08d69 Altair cosmetic cleanups plus a couple substantive changes 2021-03-15 11:08:41 +00:00
protolambda c979e69003
Altair in description and titles 2021-03-14 22:54:30 +01:00
Danny Ryan 65dcf897c2
Merge pull request #2147 from ethereum/lightclient-sync-exe
Make `sync-protocol.md` pass the linter and add basic tests
2021-03-12 07:52:45 -07:00
Hsiao-Wei Wang c34eae33d0
Merge branch 'dev' into lightclient-sync-exe 2021-03-12 00:49:29 +08:00
Danny Ryan 79f351cfca
Merge branch 'dev' into leak-scores 2021-03-11 09:28:58 -07:00
Danny Ryan b9c95b722d
one more hf-1 to Altair conversion 2021-03-11 08:55:55 -07:00
Hsiao-Wei Wang b44e576e95
LIGHTCLIENT_PATCH/HF1 -> ALTAIR 2021-03-11 21:32:00 +08:00
Hsiao-Wei Wang 69489d1541
Rename folders and file names to `altair` 2021-03-11 21:12:46 +08:00
Hsiao-Wei Wang 9d3556668b
Fix domain generation 2021-03-11 21:02:05 +08:00
Hsiao-Wei Wang 86fe6bc094
Fix apply_light_client_update calls 2021-03-11 14:27:23 +08:00
Danny Ryan dd341adc20
remove faulty de-duplication condition for seen aggregates 2021-03-10 18:55:21 -07:00
Danny Ryan 36b6f8c3bf
Merge branch 'dev' into lightclient-sync-exe 2021-03-10 16:25:01 -07:00
Danny Ryan cc191a0e2c
Merge branch 'dev' into leak-scores 2021-03-10 13:18:58 -07:00
Danny Ryan b2a172ab21
@hwwhww review
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-10 13:12:48 -07:00
Danny Ryan e2abdb74ae
port testing 2021-03-09 15:41:28 -07:00
Danny Ryan 70a2834058
incorporate justin's pr 2021-03-09 13:21:16 -07:00
Danny Ryan d59f1945e6
port leak-score feature without 64-epoch 2021-03-09 12:56:08 -07:00
Danny Ryan 6bd1efc73b
rename fork files 2021-03-08 17:16:13 -07:00
Alex Stokes e1023f55d1
Fix a small typo 2021-03-05 18:05:15 -08:00
Danny Ryan 8ea5e37608
add another 'modified' tag
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-03-02 07:56:30 -06:00
Danny Ryan deace8768e
port @justindrake's general cleanups from #2212 2021-03-01 19:41:28 -07:00
Danny Ryan 63e014791c
Merge branch 'dev' into dev-merge 2021-02-24 16:23:04 -07:00
Danny Ryan 396d399129
Apply suggestions from code review form @hwwhww
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-02-24 08:53:54 -06:00
Hsiao-Wei Wang b789b10397
Minor update ToC 2021-02-23 16:31:19 -07:00
Danny Ryan 1f7e9fabf2
minor 0x01 PR feedback 2021-02-23 16:16:46 -07:00
Danny Ryan a0ae048395
copy edits 2021-02-23 16:16:46 -07:00
Justin 5992e8ff05
Update deposit-contract.md 2021-02-23 16:16:46 -07:00
Justin 809fc7afaf
Update validator.md 2021-02-23 16:16:45 -07:00
Justin 1f8ca7179f
Update validator.md 2021-02-23 16:16:45 -07:00
Justin 80613a99bd
Update validator.md 2021-02-23 16:16:45 -07:00
Justin 0f94fa51b8
Update validator.md 2021-02-23 16:16:45 -07:00
Justin e93f1e1fa8
Copy-edit deposit-contract.md 2021-02-23 16:16:45 -07:00
Justin 47ebf438b3
Cleaner section title
"Withdrawal prefixes" matches `[BLS]/[ETH1_ADDRESS]_WITHDRAWAL_PREFIX`
2021-02-23 16:16:45 -07:00
Justin 128efdd34d
Fix table for withdrawal credentials prefixes
Minor cosmetic fixes (misformated table, section title).
2021-02-23 16:16:45 -07:00
Danny Ryan 7af50cc827
add eth1 withdrawal credentials to spec 2021-02-23 16:16:35 -07:00
Danny Ryan e35b850181
Merge pull request #2198 from ethereum/hf1-config
update penalty config values for hf1
2021-02-22 18:26:43 -06:00
Danny Ryan 8ec082fcf9
Merge pull request #2149 from ethereum/0x01-creds
Eth1 withdrawal credentials (0x01)
2021-02-16 13:06:34 -06:00
Danny Ryan 7050cb0add
minor 0x01 PR feedback 2021-02-16 11:55:01 -07:00
Danny Ryan c9ba641800
note penalties in hf1 list 2021-02-15 11:22:11 -07:00
Danny Ryan 2b8b0d9e2b
update penalty config values for hf1 2021-02-11 15:55:43 -07:00
Paul Hauner 7d715220bb
Don't propagate blocks with a faulty slot (#2196) 2021-02-10 12:39:42 -07:00
Phong Phan 0fd0db1ffc
Fix some typos (#2195)
* Fix typo for P2P Networking document

* Fix link typo of P2P networking document

* fix typo for light clients beacon chain document
2021-02-06 06:20:35 -07:00
Danny Ryan 6f2c69e79f
Merge pull request #2176 from ethereum/accounting-reform
Accounting reform [isolated]
2021-02-04 11:16:40 -06:00
Danny Ryan b08600156e
hww feedback
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-02-04 11:05:00 -06:00
Danny Ryan fe52f377e6
Merge pull request #2190 from ethereum/update-ws-calc
Updated Weak Subjectivity Calculations
2021-02-04 10:23:08 -06:00
Danny Ryan 9313815976
put 'validator' in flags methods 2021-02-04 08:47:46 -07:00
Danny Ryan 34cea67b91
ValidatorFlags -> ValidatorFlag 2021-02-04 08:45:25 -07:00
Aditya Asgaonkar 8b217d9277
Fix typo
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-02-02 12:17:56 -08:00
Danny Ryan 1c1ba5cba2
minor PR feedback 2021-02-02 12:35:00 -07:00
protolambda b4ba6c57de
linter: first tuple element type is ValidatorFlags, not just int 2021-02-01 22:02:12 +01:00
protolambda 71c28e67a1
toc update 2021-02-01 21:48:55 +01:00
protolambda 3677073812
bitvector[8] -> uint8, for efficient packing in flags merkle tree 2021-02-01 21:46:27 +01:00
Danny Ryan b029c75d88
must be correct target to get correct head 2021-02-01 07:52:06 -07:00
Danny Ryan ad01c85ff6
minor reorder to process_epoch calls 2021-02-01 07:06:29 -07:00
Danny Ryan 007a6f0ecc
a couple of hf1 notes 2021-01-29 10:37:19 -07:00
Danny Ryan 46848e4202
Merge branch 'dev' into accounting-reform 2021-01-29 08:49:51 -07:00
Aditya Asgaonkar a28f52729d Rename variables for clarity 2021-01-27 15:58:19 -08:00
Aditya Asgaonkar 742d21e914 Updates based on review 2021-01-27 15:16:15 -08:00
Hsiao-Wei Wang 1b00c10ed3
Apply @michaelsproul's feedback 2021-01-27 14:47:52 +08:00
Hsiao-Wei Wang ae218015b7
Merge branch 'dev' into re_process_final_updates_fix 2021-01-27 03:02:24 +08:00
Hsiao-Wei Wang 15e48f712b
Fix Phase 1 epoch_processing and fix epoch_processing testgen 2021-01-27 03:02:12 +08:00
Danny Ryan b47f083168
Merge pull request #2181 from ethereum/adjust_minimal_config
Adjust minimal config and fix sync committee tests
2021-01-26 08:05:28 -06:00
Aditya Asgaonkar c932fc2798 Fix linter errors 2021-01-21 17:07:45 -08:00
Aditya Asgaonkar 900eb4a83c Fixed CI errors 2021-01-20 19:33:25 -08:00
Hsiao-Wei Wang e53213a585
Minor refactor 2021-01-20 13:06:24 +08:00
Hsiao-Wei Wang fa6094837b
Update lightclient patch and phase1 specs 2021-01-19 22:03:00 +08:00
Hsiao-Wei Wang daa4798704
Break down process_final_updates 2021-01-19 21:41:55 +08:00
Justin 12593e8782
Update comments 2021-01-19 12:52:40 +00:00
Hsiao-Wei Wang f3d7dee71f
Apply @djrtwo's suggestion 2021-01-19 20:44:21 +08:00
Hsiao-Wei Wang fb0c6d54f8
Add @ralexstokes's fix 2021-01-19 20:27:18 +08:00
Hsiao-Wei Wang c877d142bd
Add duplicate elements warning to the docstring 2021-01-19 20:24:25 +08:00
Aditya Asgaonkar 93c4c62900
Remove python tag from fenced code block 2021-01-19 02:04:55 -08:00
Aditya Asgaonkar 37874f9b79 Update WS calc 2021-01-19 01:53:12 -08:00
protolambda 65696ca68b
fix typo: same condition, but non-aggregate attestation here 2021-01-16 22:48:22 +01:00
Hsiao-Wei Wang 2a6699290f
Revert "Fix SyncCommittee"
This reverts commit b2658f1091.
2021-01-14 01:47:40 +08:00
Hsiao-Wei Wang b2658f1091
Fix SyncCommittee
1. Make `get_sync_committee_indices` do not return duplicate indices
2. Pad default values to Vectors
2021-01-13 20:12:52 +08:00
Hsiao-Wei Wang a340f30e61
Merge branch 'dev' into accounting-reform 2021-01-13 14:44:17 +08:00
Hsiao-Wei Wang f113413e5b
Fix ToC 2021-01-11 18:06:37 +08:00
Hsiao-Wei Wang ce87914326
Fix the 2/3 threshold calculation
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2021-01-07 11:14:32 +08:00
Alex Stokes a3bf632b4f
Bugfix in sync committee proposer rewards
The variable used to accumulate proposer rewards across the sync committee processing was shadowed by the per-participant proposer reward.

This means the total proposer reward would simply be twice the output of `get_proposer_reward` for the last participant in the sync committee.

I believe we want to sum all contributions to the proposer reward across sync committee participants which is what this PR does.
2021-01-06 08:39:21 -08:00
Victor Farazdagi 70e25e6390
Update specs/phase0/weak-subjectivity.md
Co-authored-by: Hsiao-Wei Wang <hsiaowei.eth@gmail.com>
2021-01-05 21:13:35 -08:00
Danny Ryan 271b9dff83
toc 2021-01-05 14:17:34 -07:00
Danny Ryan b8d3589b46
remove global quotient penalties from fork spec [temp] 2021-01-05 13:48:26 -07:00
Hsiao-Wei Wang 9c75c3819d
Fix `previous_epoch_participation` and `current_epoch_participation` initialization 2021-01-06 02:09:39 +08:00
Hsiao-Wei Wang 53ad66a4e8
Arrange constants and configurations 2021-01-06 01:11:46 +08:00
Hsiao-Wei Wang 39d3a18d48
Fix `upgrade_to_lightclient_patch` 2021-01-06 00:42:01 +08:00
Hsiao-Wei Wang 958173b5bf
Fix typo 2021-01-05 22:19:08 +08:00
Hsiao-Wei Wang 5cf0514816
Fix ToC and minor linter issues 2021-01-05 22:10:02 +08:00
Victor Farazdagi 7d60e482b9 fix typo 2021-01-05 08:48:25 +03:00
Danny Ryan 86f616b607
Merge pull request #2162 from ethereum/ralexstokes-patch-1
Refactor sync committee rewards to use helper
2021-01-03 11:00:14 -06:00
multisignature cc80dd758c
Update README.md (#2164)
* Update README.md

I've removed an incorrectly placed comma.

Since the comma is placed before 'and', and the conjunction isn't being used to either a) denote the last element of a list with more than two elements or b) separate two independent clauses, it's not necessary here.

* Update validator.md

Fixed a couple of minor errors.
2020-12-26 14:53:42 +08:00
Alex Stokes edfd04c212
Refactor sync committee rewards to use helper
This change is functionally equivalent but uses the helper we already have for proposer rewards.

The argument for this change is better encapsulation of the reward which makes it easier in general to reason about properties of the spec ("are the attestation proposer rewards and the sync committee proposer rewards equivalent?") and a single point of maintenance in the event that rewards get refactored in the future (which makes refactoring safer overall).
2020-12-22 10:42:59 -08:00
Ben Edgington 452e3301be Fix typo 2020-12-21 10:22:04 +00:00
vbuterin 682f6c02c7
Update specs/lightclient/beacon-chain.md 2020-12-20 18:54:57 +08:00
vbuterin 9e2fa30567
Complete HF1 beacon-chain.md 2020-12-19 07:22:11 +08:00
Danny Ryan f137bb037a
Merge pull request #2130 from ethereum/vbuterin-patch-2
Added standalone light client patch
2020-12-17 07:53:33 -06:00
Danny Ryan cc9a4cdc46
add base sanity light client tests 2020-12-16 17:14:42 -07:00
Hsiao-Wei Wang e63c96416a
Add a FIXME comment. 2020-12-16 15:10:54 +08:00
Hsiao-Wei Wang d01a4ad823
Fix depth calculation...again(!) and add unittests 2020-12-16 15:01:22 +08:00
Hsiao-Wei Wang cf6933ac45
Fix depth calculation and add `get_subtree_index` helper 2020-12-15 13:24:53 +08:00
Hsiao-Wei Wang bcde37c39f
Make `sync-protocol.md` pass the linter 2020-12-15 13:24:43 +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 2c90ffa2f4
copy edits 2020-12-14 13:09:25 -07:00
Justin 645a3851af
Update deposit-contract.md 2020-12-12 22:02:56 +00:00
Justin 85c1347ffc
Update validator.md 2020-12-12 21:57:58 +00:00
Justin f9edecf23c
Update validator.md 2020-12-12 21:56:30 +00:00
Justin b085436f2f
Update validator.md 2020-12-12 21:51:21 +00:00
Justin ae0b10edb7
Update validator.md 2020-12-12 21:46:39 +00:00
Justin 2cc9a12c98
Copy-edit deposit-contract.md 2020-12-12 20:50:10 +00:00
Justin ef3802b8e7
Cleaner section title
"Withdrawal prefixes" matches `[BLS]/[ETH1_ADDRESS]_WITHDRAWAL_PREFIX`
2020-12-12 20:40:59 +00:00
Justin 784e567d4b
Fix table for withdrawal credentials prefixes
Minor cosmetic fixes (misformated table, section title).
2020-12-12 20:38:40 +00:00
Danny Ryan 6b728c1880
add eth1 withdrawal credentials to spec 2020-12-11 15:03:58 -07:00
Justin f2fe390638
secret_key => privkey 2020-12-08 09:20:50 +00:00
Hsiao-Wei Wang 1a30ea9da9
Merge branch 'dev' into vbuterin-patch-2 2020-12-08 00:24:55 +08:00
Justin 0b9e80d1eb
grammar 2020-12-07 23:15:34 +08:00
Danny Ryan 3b7c02514b
straightforward light client edits 2020-12-07 08:10:39 -07:00
Justin 56048cbf56
Cosmetic cleanups to BLS signatures section
Miscellaneous cosmetic cleanups to the " BLS signatures" section:

1) fix section capitalisation for spec consistency
2) avoid uncapitalised "eth2" for spec consistency
3) avoid contractions (such as `PK` for `pubkey`) for spec consistency
4) various copyedits
2020-12-07 07:28:01 -07:00
Hsiao-Wei Wang 64412be0d7
Minor update ToC 2020-12-07 11:10:19 +08:00
Justin b2d25f7454
Nitpicks 2020-11-25 11:59:01 +00:00
vbuterin 5bfe61f865
Embiggened sync committee size and added sub-aggregates 2020-11-25 19:38:45 +08:00
Justin 09ec58131d
Optimised updates as suggested by @vbuterin 2020-11-18 10:33:42 +00:00
Justin d16900a753
Fixes from @ralexstokes 2020-11-18 09:31:41 +00:00
Justin 664bc4b42e
Polish and fixes including fixed-size sync committees 2020-11-18 09:19:32 +00:00
vbuterin 171b21301b
Added support for updates that point to finalized ancestors 2020-11-18 16:27:19 +08:00
vbuterin 830efa496a
Removed compact validators, make committee balance-based 2020-11-18 16:15:30 +08:00
Justin 5e717a456d
More polish and fixes 2020-11-17 15:30:09 +00:00
Justin 7ffc9c5bc0
More polish and fixes to the sync protocol 2020-11-17 14:18:58 +00:00
Justin 99219c874f
Revamp minimal light client (lots of polish and some bug fixes) 2020-11-17 12:42:09 +00:00
vbuterin 692a0aaaa5
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:26:26 +08:00
vbuterin 5e5d03d56f
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:26:18 +08:00
vbuterin 1c146b2c03
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:26:08 +08:00
vbuterin a5e6d77165
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 13:25:59 +08:00
vbuterin 117d31985f
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 10:45:16 +08:00
vbuterin f9e9d7cabf
Update specs/lightclient/sync-protocol.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-17 10:45:02 +08:00
Hsiao-Wei Wang 4df3547edf
Make `lightclient` patch pass the linter (#2133)
* Make `lightclient` an executable patch fork

* fix conflicts

* Fix ToC

* Lightclient -> Light client

* Try protolambda/remerkleable#8

* Fix sync-protocol.md ToC

* Build lightclient/sync-protocol

* Fix typo

Co-authored-by: vbuterin <v@buterin.com>

Co-authored-by: vbuterin <v@buterin.com>
2020-11-17 10:41:26 +08:00