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
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
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
Danny Ryan
3b7c02514b
straightforward light client edits
2020-12-07 08:10:39 -07: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