Commit Graph

3108 Commits

Author SHA1 Message Date
Danny Ryan
d6eedd95c0 fix wording to be clear it is about serving blocks
Co-Authored-By: Diederik Loerakker <proto@protolambda.com>
2020-03-10 13:04:28 -06:00
Sly Gryphon
da5720f9d1 Put back in a requirement to store recent signed blocks that was removed when SignedBeaconBlock was introduced (prior to that the signature was in BeaconBlock, which was recorded in Store). 2020-03-10 21:31:03 +10:00
Danny Ryan
6230a22976 Merge pull request #1606 from ethereum/rpc-snappy-lengths
RPC chunks with streaming SSZ decoding, snappy frames, and stricter DOS limits where possible.
2020-03-09 11:04:12 -06:00
Danny Ryan
5e1fb79a8e Merge pull request #1627 from ethereum/hysteris-fix
adjust hysteresis to avoid initial over-deposit incentive
2020-03-03 14:15:24 -07:00
Danny Ryan
33e7680836 make hysteresis calculations configurable 2020-03-03 10:58:47 -07:00
Hsiao-Wei Wang
b4c7481b35 Fix the misc table 2020-03-03 01:28:58 +01:00
Danny Ryan
0122081d05 hysteresis to -0.25/+1.25 2020-03-02 15:55:01 -07:00
protolambda
bb82a051ff clean up, add invalid input handling 2020-02-27 19:39:34 +00:00
Danny Ryan
4d72dcf3ab @hwwhww feedback
Co-Authored-By: Hsiao-Wei Wang <hwwang156@gmail.com>
2020-02-27 12:00:55 -06:00
Danny Ryan
a02aac43c2 adjust hysteresis to avoid initial over-deposit incentive 2020-02-18 12:36:20 -06:00
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
protolambda
93249aadda Proposal to focus on length-encoding SSZ contents, enable streaming of chunk contents, and put stricter DOS limits in place 2020-02-04 13:56:32 +01: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