Commit Graph

3037 Commits

Author SHA1 Message Date
Danny Ryan f533fef167
add missing attestation validations; cleanup process_attestations and fix minor bugs 2019-12-05 13:31:41 -07:00
Danny Ryan a1ac0d5a80
fix get_shard_committee 2019-12-05 13:31:41 -07:00
Danny Ryan ddd7cd2964
divide new and old containers out in phase 1 2019-12-05 13:31:41 -07:00
protolambda 72a9dfc430
fix lint problems 2019-12-05 13:31:41 -07:00
protolambda 1623d40b6d
fix: check malefactor custody key 2019-12-05 13:31:41 -07:00
protolambda 41be2ed3ce
bugfix custody bit index lookup + lint fixes 2019-12-05 13:31:40 -07:00
protolambda 1a1c3773f9
implement custody game revamp for new shard proposal: simplifications and immediate processing, since custody data is bounded 2019-12-05 13:31:40 -07:00
protolambda e73316c13f
change configs to be loaded in time; reload specs module to make new config presets effective. Also fix more lint and consistency problems. 2019-12-05 13:30:49 -07:00
Danny Ryan d6bfe5d35c
lint phase 1 (2) 2019-12-05 13:29:52 -07:00
Danny Ryan 9f80a7f703
phase1 lint (1) 2019-12-05 13:29:51 -07:00
Danny Ryan 82c9adce8b
fix phase 1 make build (not lint or tests) 2019-12-05 13:29:51 -07:00
Danny Ryan 79be0345d6
fix call to process_attestation 2019-12-05 13:29:51 -07:00
protolambda 03e956f9c9
validator init adjustments 2019-12-05 13:29:51 -07:00
protolambda 36503f98e4
placeholder: rudimentary phase 0 to phase 1 fork process 2019-12-05 13:29:51 -07:00
protolambda cc0aac3aae
typo 2019-12-05 13:29:50 -07:00
protolambda 74d6021507
PR comment fixes 2019-12-05 13:29:50 -07:00
protolambda 589d5a4f9a
Add notes on custody game spec funcs 2019-12-05 13:29:50 -07:00
protolambda 465f6cb7f0
update readme spec links 2019-12-05 13:29:50 -07:00
protolambda edef2fd8ae
more refactoring: more immediate custody game, general phase1 beacon chain changes 2019-12-05 13:29:50 -07:00
protolambda 7d2341b40d
Note: is_valid_indexed_attestation is overriden 2019-12-05 13:29:49 -07:00
protolambda a33e01dab2
Start making phase1 work in pyspec again 2019-12-05 13:29:49 -07:00
Vitalik Buterin ef936b94fe
Added get_shard_proposer_index 2019-12-05 13:29:49 -07:00
Vitalik Buterin 4d6dcd15ba
Some fixes 2019-12-05 13:29:49 -07:00
Vitalik Buterin 7b4a6e8307
Simplified gasprice update 2019-12-05 13:29:49 -07:00
Vitalik Buterin 8f34a0788d
Some initial changes 2019-12-05 13:29:49 -07:00
vbuterin b6680d28bb
Update specs/core/1_new_shards.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-12-05 13:29:48 -07:00
vbuterin e66b4e06ef
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:48 -07:00
vbuterin 8cb404d926
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:48 -07:00
vbuterin ff3bd725a3
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:48 -07:00
vbuterin 2ea8eb9cc3
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:48 -07:00
vbuterin c9cc110ab1
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:47 -07:00
vbuterin a749dd9a77
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:47 -07:00
vbuterin 822ceade58
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:47 -07:00
vbuterin 0ddc0ba527
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:47 -07:00
vbuterin bf13757722
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:47 -07:00
vbuterin 793c8616cd
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:47 -07:00
vbuterin 41be60ee6e
Update specs/core/1_new_shards.md 2019-12-05 13:29:46 -07:00
vbuterin 8a6bd201f9
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:46 -07:00
vbuterin 4d1e9e15c6
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:46 -07:00
vbuterin 9810a3d260
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:46 -07:00
vbuterin 9d3a230974
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:46 -07:00
vbuterin bcd06d88ef
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:46 -07:00
vbuterin d59e87f876
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:45 -07:00
vbuterin d3f9bfe68d
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:45 -07:00
vbuterin 213032e51f
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:45 -07:00
vbuterin 462d05d6d8
Update specs/core/1_new_shards.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-12-05 13:29:45 -07:00
Hsiao-Wei Wang 1fdd0332cc
Update ToC 2019-12-05 13:29:45 -07:00
Vitalik Buterin 03ab1d5785
A few cleanups 2019-12-05 13:29:45 -07:00
Vitalik Buterin d723431616
Fixed pending attestation handling and added empty transition check 2019-12-05 13:29:44 -07:00
Vitalik Buterin 393436992d
Restructured shard blocks 2019-12-05 13:29:44 -07:00
Vitalik Buterin 6b1bc1e02f
Reformed attestations 2019-12-05 13:29:44 -07:00
Vitalik Buterin b36820a26c
Changes to make Danny happy 2019-12-05 13:29:44 -07:00
Vitalik Buterin bf886d698b
Small edits 2019-12-05 13:29:44 -07:00
Vitalik Buterin bf0a2b7df9
Renaming 2019-12-05 13:29:43 -07:00
Vitalik Buterin 08fc024fbd
Changed fraud proof details 2019-12-05 13:29:43 -07:00
Hsiao-Wei Wang 0ff5985c01
Fix markdown and ToC 2019-12-05 13:29:43 -07:00
Vitalik Buterin 539c681921
Updates to add new proposals 2019-12-05 13:29:43 -07:00
Vitalik Buterin bb2835ee1b
Shard slots to 128 bytes 2019-12-05 13:29:43 -07:00
Vitalik Buterin 7fc2830730
Some updates 2019-12-05 13:29:43 -07:00
Vitalik Buterin e5544d055b
Made trace a commitment separate from state roots 2019-12-05 13:29:42 -07:00
Vitalik Buterin 9abfc6276a
Cleaned up state transition and honest committee member 2019-12-05 13:29:42 -07:00
Vitalik Buterin b792fe696a
formatting 2019-12-05 13:29:42 -07:00
Vitalik Buterin fe60b4deba
Variable max attestation length 2019-12-05 13:29:42 -07:00
Vitalik Buterin 26df98bf61
MAX_CATCHUP -> MAX_CATCHUP_RATIO 2019-12-05 13:29:42 -07:00
Vitalik Buterin 25db268bfb
Added a few more things 2019-12-05 13:29:42 -07:00
Vitalik Buterin f6be6b2b8a
Added a few things 2019-12-05 13:29:41 -07:00
Vitalik Buterin 88aeba09f6
Added new shards 2019-12-05 13:29:41 -07:00
Danny Ryan b4b5cc9115
Merge branch 'v09x' into dev 2019-12-05 13:29:04 -07:00
Danny Ryan 7af6945f53
Merge pull request #1491 from ethereum/rm-signing-root
rm signing root (fixes #1487)
2019-12-05 13:16:39 -07:00
Danny Ryan dfcd6f6402
add tests for block filter in get_head 2019-12-04 16:53:55 -07:00
Danny Ryan e9dc2a1f03
Merge pull request #1492 from terencechain/patch-91
Remove duplicated attestation target root check
2019-12-04 11:49:08 -07:00
protolambda afb9a1d7c0
move signed envelopes 2019-12-03 21:34:48 +01:00
protolambda 103a66b2af
remove signing_root: see issue #1487 2019-12-03 21:10:19 +01:00
terence tsao 0f4faf11ab
Update 0_fork-choice.md 2019-12-03 17:25:56 +08:00
terence tsao 1113953a59
Update p2p-interface.md 2019-12-03 17:17:17 +08:00
Danny Ryan 2275cdfeb8
fix child filter in get_head 2019-11-27 13:26:44 -07:00
Danny Ryan 5aa9f96558
Update specs/core/0_fork-choice.md
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2019-11-27 13:11:30 -07:00
Danny Ryan 8021f34c06
fix existing fork choce tests with new filter 2019-11-25 15:44:22 -07:00
Danny Ryan 9004bcf1a5
WIP filter block tree 2019-11-25 15:06:33 -07:00
Danny Ryan 23abc11093
handle v0.9.2-dev conflict 2019-11-21 15:18:17 -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 6ef79ac2a8
Merge pull request #1480 from ethereum/ssz-bytes-naming
Rename BytesN to ByteVector, rename Bytes to ByteList
2019-11-18 13:28:32 -07:00
Hsiao-Wei Wang 8fed220736
Update `AggregateAndProof` and rename `slot_signature` to `get_slot_signature`
1. Reorder the fields to fit the container name
2. Rename `AggregateAndProof.index: ValidatorIndex` to `AggregateAndProof.aggregator_index: ValidatorIndex`
    - Since we also have similar naming style like
`ProposerSlashing.proposer_index` or `VoluntaryExit.validator_index`
2019-11-18 21:35:12 +08:00
Diederik Loerakker b15669b7a5 Backport master (v0.9.1) to dev (#1482)
* p2p-interface: clarify that signing_root is used for block requests

* hash cleanups

* one more hash tree root gone for blocks - block hashes are always
signing roots!
* use simple serialize data types consistently

* Describe which finalized root/epoch to use

* remove custody_bits from attestation

* remove AttestationDataAndCustodyBit

* Specify inclusive range for genesis deposits

* add initial fork choice bounce prevention and tests

* PR feedback

* further test bounce attack

* wipe queued justified after epoch transition

* remove extra var

* minor fmt

* only allow attestatiosn to be considered from current and previous epoch

* use best_justified_checkpoint instead of queued_justified_checkpoints

* use helper for slots since epoch start

* be explicit about use of genesis epoch for previous epoch in fork choice on_block

* pr feedback

* add note aboutgenesis attestations

* cleanup get_eth1_vote

* make eth1_follow_distance clearer

* Update the expected proposer period

Since `SECONDS_PER_SLOT` is now `12`

* minor fix to comment in mainnet config

* Update 0_beacon-chain.md
2019-11-15 16:27:04 -05:00
protolambda 2c32274870
rename BytesN to ByteVector, rename Bytes to ByteList 2019-11-15 16:56:52 +01:00
Danny Ryan 89fa914e73
Merge pull request #1478 from ethereum/hash-type-fix
Avoid Hash <> hash() type and func confusion
2019-11-12 16:41:21 -07:00
Danny Ryan 1aad31df59
Merge pull request #1477 from ethereum/forkchoice-future-blocks
Forkchoice mods
2019-11-12 16:40:32 -07:00
Danny Ryan 117fb12888
add scheduling note to on_attestation 2019-11-12 16:24:33 -07:00
protolambda c061abdd75
Avoid Hash <> hash() type and func confusion, intro Root and change to non-roots to Bytes32 2019-11-12 21:29:58 +01:00
Danny Ryan e3a67fe52c
ensure not all validators switch at once 2019-11-12 12:00:30 -07:00
Danny Ryan 74253bdbaf
attestations for future blocks not valid in fork choice 2019-11-12 11:29:46 -07:00
Danny Ryan 29b073bcca
add random subnet subscriptions for phase 0 stability 2019-11-11 14:46:30 -07:00
Danny Ryan 32e6623915
clarify topic subscriptions for attestations 2019-11-11 14:27:46 -07:00
terence tsao 931ad45c53
Update 0_beacon-chain.md 2019-11-08 11:45:11 -07:00
Hsiao-Wei Wang a029db3410
Update the expected proposer period
Since `SECONDS_PER_SLOT` is now `12`
2019-11-08 19:05:14 +08:00
Diederik Loerakker f0999573f7
Merge pull request #1469 from ethereum/fix-eth1-distance
Clarify `previous_eth1_distance`
2019-11-07 20:37:36 +01:00
Danny Ryan c84dce7b32
make eth1_follow_distance clearer 2019-11-07 12:32:02 -07:00
Danny Ryan 5159c69632
cleanup get_eth1_vote 2019-11-07 12:15:56 -07:00
Danny Ryan e7f71886b0
Merge pull request #1466 from ethereum/decoy-flip-flop
Decoy flip flop resistance
2019-11-08 03:10:41 +08:00
Danny Ryan 9b21c0db93
add note aboutgenesis attestations 2019-11-07 12:06:23 -07:00
Danny Ryan f331b55b9e
Merge pull request #1465 from ethereum/bounce-attack
Bounce attack resistance
2019-11-08 02:56:46 +08:00
Danny Ryan bf78a71152
pr feedback 2019-11-07 11:51:53 -07:00
Danny Ryan 9ddae15e2e
reduce genesis validator count for mainnet config 2019-11-06 20:32:25 -07:00
Danny Ryan a28c027943
be explicit about use of genesis epoch for previous epoch in fork choice on_block 2019-11-06 17:26:06 -07:00
Danny Ryan e1d2823810
Merge branch 'bounce-attack' into decoy-flip-flop 2019-11-06 17:20:59 -07:00
Danny Ryan 09fd49ce89
use helper for slots since epoch start 2019-11-06 17:20:21 -07:00
Danny Ryan fc40bff2a8
use best_justified_checkpoint instead of queued_justified_checkpoints 2019-11-06 17:10:32 -07:00
Danny Ryan 4f42f63e4e
only allow attestatiosn to be considered from current and previous epoch 2019-11-05 13:01:58 -07:00
Danny Ryan 2616210637
minor fmt 2019-11-05 12:51:47 -07:00
Danny Ryan ba6637b4d9
remove extra var 2019-11-05 11:42:40 -07:00
Danny Ryan 79911a93b4
Merge pull request #1462 from ethereum/remove-custody
Remove custody_bits and AttestationDataAndCustodyBit
2019-11-06 02:03:50 +08:00
Danny Ryan e20e11e0b5
wipe queued justified after epoch transition 2019-11-05 11:02:58 -07:00
Danny Ryan 97d7cf5190
further test bounce attack 2019-11-05 10:58:45 -07:00
Danny Ryan 40a21dc3ad
PR feedback 2019-11-05 09:08:37 -07:00
Danny Ryan 405e218598
add initial fork choice bounce prevention and tests 2019-11-05 08:55:34 -07:00
Paul Hauner 1c99ab2c96
Specify inclusive range for genesis deposits 2019-11-04 10:55:14 +11:00
Danny Ryan 600265a311
remove AttestationDataAndCustodyBit 2019-11-01 21:12:32 -06:00
Danny Ryan 65b615a4d4
remove custody_bits from attestation 2019-11-01 21:02:53 -06:00
Jacek Sieka af5238ad9a
Describe which finalized root/epoch to use 2019-11-01 08:42:10 +01:00
terence tsao 2159df2d12
Update 0_beacon-chain.md 2019-10-31 21:31:08 -07:00
Jacek Sieka 1dc09e8567
hash cleanups
* one more hash tree root gone for blocks - block hashes are always
signing roots!
* use simple serialize data types consistently
2019-10-31 17:32:08 +01:00
Nathaniel Jensen 5dd0015912
Update link to current bls standard draft. 2019-10-30 10:29:42 +11:00
Jacek Sieka 351dcd4bb8
p2p-interface: clarify that signing_root is used for block requests 2019-10-29 08:49:03 +01:00
Danny Ryan 60a469b9c7
Merge pull request #1440 from ethereum/naive-aggregation
Naive aggregation strategy
2019-10-28 17:42:13 +08:00
Danny Ryan 09de5957d2
Merge pull request #1454 from ethereum/forkchoice-tests-fixed
Forkchoice tests fixed
2019-10-28 17:21:15 +08:00
Danny Ryan 04c20aeb28
add expicit ranges for valid attesation propogation range 2019-10-28 18:19:17 +09:00
Danny Ryan 3bb6aec3ab
Clarify committee_index subnets by defining and using "subnet" var
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-10-28 17:10:48 +08: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
terence tsao 34ba645f7e
Update specs/core/0_fork-choice.md
Co-Authored-By: Danny Ryan <dannyjryan@gmail.com>
2019-10-28 08:48:22 +01:00
terence tsao bb5a721707
Update 0_fork-choice.md 2019-10-28 08:48:15 +01:00
Diederik Loerakker a6cecaf212
Merge pull request #1401 from ethereum/conversion-comments
add explicit comments for int_to_bytes and bytes_to_int
2019-10-28 08:33:34 +01:00
Diederik Loerakker 257fcd9c79
typo 2019-10-28 08:29:01 +01:00
Danny Ryan 913a231a16
Merge pull request #1410 from wemeetagain/patch-3
sync protocol: clarify committee type
2019-10-28 15:26:31 +08:00
Danny Ryan 6fc1feaa2a
rearrange some of the gossip info in response to hwwhww review 2019-10-28 16:15:26 +09:00
Danny Ryan e8fc84eadc
Update specs/networking/p2p-interface.md
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2019-10-28 15:00:55 +08:00
Danny Ryan 795105a1f4
Merge branch 'dev' into naive-aggregation 2019-10-28 15:58:49 +09:00
Danny Ryan 6570340e04
Merge branch 'master' into master-to-dev 2019-10-28 15:27:41 +09:00
Danny Ryan c547c5291d
Merge pull request #1447 from ethereum/early-committee-bias
Implement solution for #1446, based on suggested use of eth1 hash
2019-10-28 14:10:50 +08:00
Danny Ryan 810266fbf4
Merge pull request #1443 from ethereum/remove-transfers
Remove transfers from phase 0
2019-10-28 14:10:26 +08:00
Danny Ryan 364781b934
Merge pull request #1428 from ethereum/phase0-simplify
Remove Shards/Crosslinks from Phase 0
2019-10-28 14:07:39 +08:00
Hsiao-Wei Wang 2d59ca6d57
Update ToC 2019-10-28 12:43:29 +08:00
Justin 09339f2f17
Update 0_beacon-chain.md 2019-10-27 18:18:48 +00:00
protolambda e6e203ce85
randaomixes init now with eth1 hash repeat 2019-10-27 16:20:35 +01:00
Danny Ryan d6563bce2d
minor edits to p2p faq 2019-10-27 12:51:46 +09:00
Danny Ryan 6a62cfd3f5
gossip cleanup 2019-10-27 12:41:43 +09:00
Danny Ryan a700e7a865
fmt 2019-10-27 12:32:28 +09:00
Danny Ryan e005bb04c5
add unaggregated attestation validations 2019-10-27 12:29:11 +09:00
Danny Ryan db8347645e
add validation condition to aggregate gossip to prevent forwarding duplicate aggregates along 2019-10-27 12:18:13 +09:00
protolambda 2186c45f84
implement (unpolished) solution for #1446, based on suggested use of eth1 hash 2019-10-25 13:35:21 +02:00
Diederik Loerakker f1bf0bf85b
Merge pull request #1381 from ethereum/dankrad-patch-11
SSZ clarifications on deserialization
2019-10-25 18:09:37 +08:00