Commit Graph

3777 Commits

Author SHA1 Message Date
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 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
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
Justin cbb3856ab9
Fix ToC (cherry-picked from @hwwhww's PR) 2020-11-16 09:09:04 +00:00
vbuterin ca88dd6922
Removed extraneous data 2020-11-16 15:08:43 +08:00
vbuterin 97dc916c9e
Python syntax highlighted updates 2020-11-16 15:07:40 +08:00
vbuterin 1f210fd1f8
Added light client syncing protocol 2020-11-16 15:02:11 +08:00
Justin 114e388d12
Fix bugs—thanks @hwwhww 2020-11-15 17:23:44 +00:00
Justin e7d52d9056
Significant polishing and a few substantive fixes
See discussion for further details.
2020-11-15 10:56:24 +00:00
vbuterin 555e131e2c
Small changes to make Justin happy 2020-11-14 13:56:00 +08:00
vbuterin 620b812c2e
Reduce reward by SLOTS_PER_EPOCH 2020-11-13 10:21:30 +08:00
vbuterin 9e3690ad17
Update specs/lightclient/beacon-chain.md
Co-authored-by: Alex Stokes <r.alex.stokes@gmail.com>
2020-11-13 10:19:37 +08:00
vbuterin 7c6ede5eac
Added standalone light client patch 2020-11-12 17:28:05 +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 2aa827c07f
Merge pull request #2107 from bloxapp/honest_val_time_attack
added best practices section according to https://github.com/ethereum
2020-11-04 07:36:27 -06:00
Alon Muroch 6996a897b5
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-11-04 15:29:06 +02:00
Alon Muroch 5b95219d18
Apply suggestions from code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-11-04 15:19:41 +02:00
Danny Ryan cfc91cdef7
Merge pull request #2121 from AgeManning/gossipsub-mesh
Increase gossipsub mesh degree
2020-11-04 06:59:59 -06:00
Age Manning 82cdbba703
Increase mesh degree 2020-11-04 11:27:35 +11:00
Danny Ryan c4ccdc90de
Merge branch 'dev' into v1.0-candidate 2020-11-03 17:09:48 -06:00
Danny Ryan 6b44f63751
Merge pull request #2104 from ethereum/state_transition_patch
Make `state_transition` not return post-state
2020-11-03 14:57:29 -06:00
Danny Ryan bfaef689e4
Merge pull request #2092 from ethereum/ralexstokes-patch-1
Simplify fork choice spec
2020-11-03 06:58:35 -07:00
Danny Ryan b356f52c5c
ensure aggregate attestation's slot and target are consistent 2020-10-28 17:54:46 -06:00
Alon Muroch 0835c78b56
Apply suggestions from Dankrad's code review
Co-authored-by: dankrad <mail@dankradfeist.de>
2020-10-27 08:38:54 +02:00
Alon Muroch fe5e2f6a8b table of content 2020-10-20 12:07:54 +03:00
Alon Muroch 73cd1a84fd added best practices section according to https://github.com/ethereum/eth2.0-specs/issues/2085 2020-10-20 12:00:40 +03:00
Hsiao-Wei Wang f1e4b3c88b
Refactor shard_state_transition 2020-10-15 16:14:01 +08:00
Hsiao-Wei Wang 7fb9226ec6
Make `state_transition` not return post state; the given pre state should have been mutated to post state. 2020-10-15 15:58:26 +08:00
Danny Ryan c17a95a175
add note about how slashings and exits can interact. add test 2020-10-14 17:33:14 -06:00
Danny Ryan 427c7bb236
fix minor typo in validator guide 2020-10-08 10:18:15 -06:00
Danny Ryan 91deacbf9c
double eth1data params 2020-10-07 18:52:47 -06:00
Alex Stokes 663af77737
Clean up unused variable for linter 2020-10-07 17:11:13 -07:00
Alex Stokes d0cf4e7bad
Simplify fork choice spec
This change should be non-substantive as any blocks in `blocks` should be descendants (inclusive) of the `store.justified_checkpoint` (refer `get_filtered_block_tree`) so that in `get_head` all blocks considered as potential heads will have `slot > justified_slot`. Considering this condition universally applies, adding the `and ...` arm to the conditional is unnecessary overhead.
2020-10-07 16:52:51 -07:00
Danny Ryan d3d9bbd479
add note about coming gs v1.1 params 2020-10-07 17:46:20 -06:00
Danny Ryan 45de8198ca
Merge branch 'dev' into v1.0-candidate 2020-10-07 13:42:23 -06:00
Danny Ryan 64b34b5ca6
Merge pull request #2089 from ethereum/fix-message-id
fix message-id issues
2020-10-07 12:40:51 -06:00
Danny Ryan 8cda237884
note v5.1 in discv5 p2p spec 2020-10-07 12:13:32 -06:00
Danny Ryan 6287875baf
use domain byte to isolate message-id domains 2020-10-07 11:59:39 -06:00
Danny Ryan a365fcb03b
fix message-id issues 2020-10-06 16:18:12 -06:00
Hsiao-Wei Wang d264ad8af7
Merge pull request #2080 from ethereum/bls_v4
Bump IETF BLS spec version draft 03 -> draft 04
2020-10-05 22:12:52 +08:00
Danny Ryan 5f9e6599e9
Merge pull request #2060 from protolambda/signing-policy
Use gossip signing policy in p2p spec, see libp2p/specs#294
2020-09-30 12:03:21 -06:00
Danny Ryan 157f7e8ef4
upgrade config to mainnet values 2020-09-28 12:56:08 -06:00
protolambda 62d596a910
update signature policy link 2020-09-25 17:59:09 +02:00
Hsiao-Wei Wang ad4ad2d8b4
Bump IETF BLS spec version draft 03 -> draft 04 2020-09-25 15:01:41 +08:00
protolambda 708827413f
cleanup phase1 TOC contents 2020-09-23 22:55:22 +02:00
Danny Ryan 8c9c943845
Merge pull request #2054 from ethereum/ralexstokes-patch-1
Typos in: p2p-interface.md
2020-09-22 17:32:10 -06:00
Danny Ryan a232efbeb7
revert incorrect type fix 2020-09-22 17:20:55 -06:00
ericsson 104b83aab3 use integer division (//) instead of non-integer (/) 2020-09-22 18:54:44 +03:00
Danny Ryan 177f88962e
Merge pull request #2073 from ethereum/weak-subjectivity-guide
Weak subjectivity guide
2020-09-17 12:07:19 -06:00
Danny Ryan 8bb05827ab
add weak-subjectivity.md to setup.py build and do final lint cleanups 2020-09-17 12:01:25 -06:00
Aditya Asgaonkar 58d225c9be Added WIP note, explanation for WS period calculation 2020-09-17 10:34:37 -07:00
Aditya Asgaonkar 6b33c766f2
Apply suggestions from Danny's code review
Co-authored-by: Danny Ryan <dannyjryan@gmail.com>
2020-09-17 10:26:49 -07:00
Aditya Asgaonkar 2023b24d72
Small change to CLI input description 2020-09-16 19:52:21 -07:00
Aditya Asgaonkar 3fd0eaa67a Fix in WS guide 2020-09-15 17:37:38 -07:00
Aditya Asgaonkar 2b81ec9337 Added TOC to WS guide 2020-09-15 17:33:01 -07:00
Aditya Asgaonkar dc841d4bf6 Cosmetic changes to WS guide 2020-09-15 17:21:38 -07:00
Aditya Asgaonkar d71bb856e7 Added weak subjectivity guide 2020-09-15 17:10:39 -07:00
Danny Ryan 33cfcc4eb3
Merge pull request #2067 from ethereum/bls_v3_patch
Remove outdated BLS standard note
2020-09-15 10:12:15 -06:00
Danny Ryan 7c685d490e
Merge pull request #2061 from ethereum/anchor_block_header_3
Pass `anchor_block` to `get_forkchoice_store`
2020-09-15 10:10:29 -06:00
Hsiao-Wei Wang 899927af30
Remove note 2020-09-15 23:43:07 +08:00
Hsiao-Wei Wang 1e29563242
Pass `anchor_block` to `get_forkchoice_store` 2020-09-15 12:51:11 +08:00
protolambda 8ad0865424
Use gossip signing policy in p2p spec, see libp2p/specs#294 2020-09-15 01:15:16 +02:00
Danny Ryan 59cb56b564
Merge pull request #2044 from blacktemplar/use-raw-sha-as-message-id
use raw SHA256 as message-id
2020-09-14 11:25:34 -06:00
Danny Ryan 5a9fe89089
remove extraneous parens 2020-09-14 10:58:48 -06:00
Danny Ryan 89be1f5bc8
favor pythonic notation for array slices 2020-09-14 10:57:35 -06:00
blacktemplar deb58fd21e only use first 8 bytes of hash as message id 2020-09-14 10:09:48 +02:00
Alex Stokes 3cb15806be
Update p2p-interface.md
Typo fixes
2020-09-11 17:08:37 -07:00
Hsiao-Wei Wang cfc69e47e6
Bump IETF BLS standard version to -03 2020-09-11 17:17:51 +08:00
blacktemplar 8f0b15f9f7 remove dot 2020-09-11 06:44:36 +02:00
Danny Ryan 8948f92def
Merge branch 'dev' into more_gossip_validations 2020-09-10 14:33:48 -06:00
Danny Ryan 42bf435c54
rearrange gossip conditions 2020-09-10 14:10:09 -06:00