You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specs/_features/eip7732/builder.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ To construct the `execution_payload_envelope` the builder must perform the follo
114
114
2. Set the `builder_index` field to be the validator index of the builder performing these steps. This field **MUST** be `header.builder_index`.
115
115
3. Set `beacon_block_root` to be the `hash_tree_root` of the corresponding beacon block.
116
116
4. Set `blob_kzg_commitments` to be the `commitments` field of the blobs bundle constructed when constructing the bid. This field **MUST** have a `hash_tree_root` equal to `header.blob_kzg_commitments_root`.
117
-
5. Set `payload_witheld` to `False`.
117
+
5. Set `payload_withheld` to `False`.
118
118
119
119
After setting these parameters, the builder should run `process_execution_payload(state, signed_envelope, verify=False)` and this function should not trigger an exception.
Copy file name to clipboardExpand all lines: specs/altair/validator.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -367,7 +367,7 @@ Set `contribution.subcommittee_index` to the index for the subcommittee index co
367
367
###### Aggregation bits
368
368
369
369
Let `contribution.aggregation_bits` be a `Bitvector[SYNC_COMMITTEE_SIZE // SYNC_COMMITTEE_SUBNET_COUNT]`, where the `index`th bit is set in the `Bitvector` for each corresponding validator included in this aggregate from the corresponding subcommittee.
370
-
An aggregator finds the index in the sync committee (as determined by a reverse pubkey lookup on `state.current_sync_committee.pubkeys`) for a given validator referenced by `sync_committee_message.validator_index` and maps the sync committee index to an index in the subcommittee (along with the prior `subcommittee_index`). This index within the subcommittee is set in `contribution.aggegration_bits`.
370
+
An aggregator finds the index in the sync committee (as determined by a reverse pubkey lookup on `state.current_sync_committee.pubkeys`) for a given validator referenced by `sync_committee_message.validator_index` and maps the sync committee index to an index in the subcommittee (along with the prior `subcommittee_index`). This index within the subcommittee is set in `contribution.aggregation_bits`.
371
371
372
372
For example, if a validator with index `2044` is pseudo-randomly sampled to sync committee index `135`. This sync committee index maps to `subcommittee_index``1` with position `7` in the `Bitvector` for the contribution.
Copy file name to clipboardExpand all lines: specs/bellatrix/p2p-interface.md
+16-14Lines changed: 16 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,20 +76,22 @@ In addition to the gossip validations for this topic from prior specifications,
76
76
the following validations MUST pass before forwarding the `signed_beacon_block` on the network.
77
77
Alias `block = signed_beacon_block.message`, `execution_payload = block.body.execution_payload`.
78
78
79
-
- If the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)`
80
-
then validate the following:
81
-
-_[REJECT]_ The block's execution payload timestamp is correct with respect to the slot
82
-
-- i.e. `execution_payload.timestamp == compute_timestamp_at_slot(state, block.slot)`.
83
-
- If `execution_payload` verification of block's parent by an execution node is *not* complete:
84
-
- [REJECT] The block's parent (defined by `block.parent_root`) passes all
85
-
validation (excluding execution node verification of the `block.body.execution_payload`).
86
-
- otherwise:
87
-
- [IGNORE] The block's parent (defined by `block.parent_root`) passes all
88
-
validation (including execution node verification of the `block.body.execution_payload`).
89
-
90
-
The following gossip validation from prior specifications MUST NOT be applied if the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)`:
91
-
92
-
-[REJECT] The block's parent (defined by `block.parent_root`) passes validation.
79
+
If the execution is enabled for the block -- i.e. `is_execution_enabled(state, block.body)`
80
+
then validate the following:
81
+
82
+
-_[REJECT]_ The block's execution payload timestamp is correct with respect to the slot
83
+
-- i.e. `execution_payload.timestamp == compute_timestamp_at_slot(state, block.slot)`.
84
+
- If `execution_payload` verification of block's parent by an execution node is *not* complete:
85
+
-_[REJECT]_ The block's parent (defined by `block.parent_root`) passes all
86
+
validation (excluding execution node verification of the `block.body.execution_payload`).
87
+
- Otherwise:
88
+
-_[IGNORE]_ The block's parent (defined by `block.parent_root`) passes all
89
+
validation (including execution node verification of the `block.body.execution_payload`).
90
+
91
+
The following gossip validation from prior specifications MUST NOT be applied if the execution is
92
+
enabled for the block -- i.e. `is_execution_enabled(state, block.body)`:
93
+
94
+
-_[REJECT]_ The block's parent (defined by `block.parent_root`) passes validation.
Copy file name to clipboardExpand all lines: specs/electra/validator.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -114,7 +114,7 @@ Changed the max attestations size to `MAX_ATTESTATIONS_ELECTRA`.
114
114
115
115
The network attestation aggregates contain only the assigned committee attestations.
116
116
Attestation aggregates received by the block proposer from the committee aggregators with disjoint `committee_bits` sets and equal `AttestationData` SHOULD be consolidated into a single `Attestation` object.
117
-
The proposer should run the following function to construct an on chain final aggregate form a list of network aggregates with equal `AttestationData`:
117
+
The proposer should run the following function to construct an on chain final aggregate from a list of network aggregates with equal `AttestationData`:
At each slot, a node needs to be able to readily sample from *any* set of columns. To this end, a node SHOULD find and maintain a set of diverse and reliable peers that can regularly satisfy their sampling demands.
75
75
76
-
A node runs a background peer discovery process, maintaining peers of various custody distributions (both `custody_size` and column assignments). The combination of advertised `custody_size` size and public node-id make this readily and publicly accessible. The peer set should cover the whole column space, with some redundancy. The number of peers, or at least the redundancy implied by the custody distributions over the the peer set, should be tuned upward in the event of failed sampling.
76
+
A node runs a background peer discovery process, maintaining peers of various custody distributions (both `custody_size` and column assignments). The combination of advertised `custody_size` size and public node-id make this readily and publicly accessible. The peer set should cover the whole column space, with some redundancy. The number of peers, or at least the redundancy implied by the custody distributions over the peer set, should be tuned upward in the event of failed sampling.
77
77
78
78
*Note*: while high-capacity and super-full nodes are high value with respect to satisfying sampling requirements, a node SHOULD maintain a distribution across node capacities as to not centralize the p2p graph too much (in the extreme becomes hub/spoke) and to distribute sampling load better across all nodes.
0 commit comments