Commit Graph

3097 Commits

Author SHA1 Message Date
Ben Edgington 8620adcdf1 Correct the duration of HISTORICAL_ROOTS_LIMIT
The duration of HISTORICAL_ROOTS_LIMIT is:
    SECONDS_PER_SLOT * SLOTS_PER_HISTORICAL_ROOT * HISTORICAL_ROOTS_LIMIT
which is
    12s * 2^13 * 2^24 = 1.65e12s = 52,262 years
2020-02-14 14:29:45 +00:00
Danny Ryan 40b4931f01
cleanup attester slashing conditon code snippet
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-02-13 11:17:19 -07:00
Danny Ryan a7ef70eb9b
add DoS prevention validation conditions to voluntary_exit, proposer_slashing, and attester_slashing gossipsub channels 2020-02-12 15:56:03 -07:00
Danny Ryan f441fadfff
pr feedback
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-02-12 15:50:22 -07:00
Danny Ryan f8b72f5057
add lower bound condition on block gossip 2020-02-12 12:07:57 -07:00
Danny Ryan a9fae27379
Merge pull request #1615 from ethereum/subnet-validations
Add subnet validations for DoS resistance
2020-02-12 12:02:28 -07:00
Danny Ryan 714a7de8a2
reorder gossip conditions to put cheap checks before signature verifications 2020-02-12 11:59:00 -07:00
Danny Ryan 90476388fe
reverse params in get_aggregate_and_proof to match ssz type 2020-02-11 15:54:18 -07:00
Danny Ryan bf8252aeb6
subnet validation PR feedback 2020-02-11 15:46:30 -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 8d16d428e0
fix up some p2p validation conditions based on PR feedback 2020-02-10 21:35:39 -07:00
Danny Ryan 3d111f7bdd
Merge pull request #1612 from ethereum/v-guide-per-slot-slash
[validator guide] beacon block is per-slot slashing
2020-02-10 19:42:01 -07:00
Danny Ryan 8a2a689c80
add clarifying note to signedaggregateandproof in vaidator guide and fix tocs 2020-02-10 19:36:08 -07:00
Danny Ryan 1ca4e3538c
prevent multiple beacon blocks from same proposer in a given slot 2020-02-10 19:28:37 -07:00
Danny Ryan 118a755bbb
create SignedAggregateAndProof to prevent DoS attacks 2020-02-10 19:18:14 -07:00
Danny Ryan c1a51a9358
Add no repeat attestation condition for committee_index_beacon_attestation gossip channel 2020-02-10 18:53:26 -07:00
Danny Ryan d5f1402d0d Merge pull request #1604 from status-im/fewer-head-block-roots
drop `head_block_root` from BeaconBlocksByRange
2020-02-08 18:24:54 -06:00
Danny Ryan 43cacc3fe9
fix validator guide to show that block slashing is per slot rather than per epoch 2020-02-08 16:58:05 -07:00
Jacek Sieka 6188f350f6
it's just a number 2020-02-07 19:03:33 +01:00
Jacek Sieka 97d931b705
rephrase fork choice requirement 2020-02-07 19:03:09 +01:00
Alex Stokes b398e42439
another typo in pubsub channel name 2020-02-06 16:41:53 -08:00
Alex Stokes 7aeeb372a7
[validator-guide] typo fix 2020-02-06 16:03:40 -08:00
Danny Ryan 03f53e9928
Merge pull request #1607 from AgeManning/noise-specification
Add libp2p-noise specification
2020-02-06 12:05:49 -06:00
Age Manning 9355a6ebca
Noise libp2p specification 2020-02-05 14:33:00 +11:00
Jim McDonald 74c75fd6f1
Remove extraneous word 2020-02-02 22:08:11 +00:00
Jacek Sieka c943b5832e
drop `head_block_root` from BeaconBlocksByRange
This change simplifies the protocol and removes a race condition between
block request and response. In the case of honest server, this helps
serve the canonical / fork-chosen chain better while dishonest or broken
servers still need to be handled the same way.

Might as well get started on versions and upgrade it to 2, since the
change is backwards incompatible.
2020-01-31 22:04:48 +01:00
terence tsao fe58c78da8
Fix table 2020-01-29 14:08:48 -08:00
Herman Junge 51f2974678
Update validator.md
Minor edit
2020-01-29 13:51:38 +00:00
vbuterin 52fb929978
Update specs/core/1_beacon-chain.md 2020-01-28 17:32:57 -07:00
vbuterin 2a91b43eaf
Remove shard block chunking
Only store a 32 byte root for every shard block

Rationale: originally, I added shard block chunking (store 4 chunks for every shard block instead of one root) to facilitate construction of data availability roots. However, it turns out that there is an easier technique. Set the width of the data availability rectangle's rows to be 1/4 the max size of a shard block, so each block would fill multiple rows. Then, non-full blocks will generally create lots of zero rows. For example if the block bodies are `31415926535` and `897932` with a max size of 24 bytes, the rows might look like this:

```
31415926
53500000
00000000
89793200
00000000
00000000
```
Zero rows would extend rightward to complete zero rows, and when extending downward we can count the number of zero rows, and reduce the number of extra rows that we make, so we only make a new row for every nonzero row in the original data. This way we get only a close-to-optimal ~4-5x blowup in the data even if the data has zero rows in the middle.
2020-01-28 17:31:51 -07:00
protolambda d9f62f9303
Remerkleable - merkle tree based ssz for better and faster spec 2020-01-25 00:43:43 +01:00
Danny Ryan 67a4d5e659
Merge branch 'dev' into master-copy 2020-01-24 13:49:22 -07:00
Jim McDonald d4ae00819a
Fix for increased seconds per slot 2020-01-23 13:08:52 -07:00
protolambda 86b699bfd1
Merge branch 'dev' into phase1rebase 2020-01-23 19:24:03 +01:00
Jim McDonald de1bb7bde1
Update for renamed constant 2020-01-23 09:55:04 -07:00
Hsiao-Wei Wang a13271af41
Fix BLS API description 2020-01-23 09:52:40 -07:00
Ben Edgington f8250b6a1a
Correct typo in heading level 2020-01-23 09:51:58 -07:00
Chih Cheng Liang 14cfc66c33
Fix p2p interface indentation 2020-01-23 09:51:38 -07:00
Danny Ryan eed3f6053d
Merge pull request #1580 from ethereum/fork-choice-fix-1574
Fork choice fix issue 1574
2020-01-22 16:56:00 -07:00
Danny Ryan d672c47aba
Merge pull request #1579 from ethereum/epochs-in-fork-choice
Properly handle skip slots in fork choice
2020-01-22 16:55:15 -07:00
Diederik Loerakker 9f5f501e5b
Merge pull request #1586 from ethereum/fix-default-compute-domain
fix default value in compute_domain
2020-01-23 00:29:28 +01:00
Jim McDonald ebac603745
Update for renamed constant 2020-01-22 22:23:36 +00:00
Danny Ryan fe103394db
Merge pull request #1583 from sigp/kirk-baird-patch-02
Update BLS Link
2020-01-22 14:57:36 -07:00
Danny Ryan b357e43aab
clarifying comment on call to get_ancestor in on_block 2020-01-22 14:31:23 -07:00
Danny Ryan e821476c07
explicitly use Optiona type for fork_version in compute_domain
Co-Authored-By: Carl Beekhuizen <carl@ethereum.org>
2020-01-22 11:38:50 -07:00
Danny Ryan cf18b040b4
fix default value in compute_domain 2020-01-22 07:24:15 -07:00
Kirk Baird 601701241c
Update link
Signed-off-by: Kirk Baird <baird.k@outlook.com>
2020-01-22 11:04:45 +11:00
Danny Ryan 2015433fa1
revert exit queue epoch issue introduced in v0.10.0. add test to catch subtlety 2020-01-20 20:03:38 -07:00
Danny Ryan 00d3fb4fe6
fix issue 1574 by ensuring that justified checkpoint in store updates when finalized updates if needbe 2020-01-20 18:50:50 -07:00
Danny Ryan e98c1b4154
don't consider blocks with slots earlier than finalized in on_block fork choice (optimization) 2020-01-20 18:10:39 -07:00