Remove beacon_block_root field from ShardBlob
This commit is contained in:
parent
926e5a3d72
commit
b292f0b7b3
|
@ -270,8 +270,6 @@ class ShardBlobBody(Container):
|
||||||
degree_proof: BLSCommitment
|
degree_proof: BLSCommitment
|
||||||
# The actual data. Should match the commitment and degree proof.
|
# The actual data. Should match the commitment and degree proof.
|
||||||
data: List[BLSPoint, POINTS_PER_SAMPLE * MAX_SAMPLES_PER_BLOB]
|
data: List[BLSPoint, POINTS_PER_SAMPLE * MAX_SAMPLES_PER_BLOB]
|
||||||
# Latest block root of the Beacon Chain, before shard_blob.slot
|
|
||||||
beacon_block_root: Root
|
|
||||||
# fee payment fields (EIP 1559 like)
|
# fee payment fields (EIP 1559 like)
|
||||||
# TODO: express in MWei instead?
|
# TODO: express in MWei instead?
|
||||||
max_priority_fee_per_sample: Gwei
|
max_priority_fee_per_sample: Gwei
|
||||||
|
@ -293,8 +291,6 @@ class ShardBlobBodySummary(Container):
|
||||||
degree_proof: BLSCommitment
|
degree_proof: BLSCommitment
|
||||||
# Hash-tree-root as summary of the data field
|
# Hash-tree-root as summary of the data field
|
||||||
data_root: Root
|
data_root: Root
|
||||||
# Latest block root of the Beacon Chain, before shard_blob.slot
|
|
||||||
beacon_block_root: Root
|
|
||||||
# fee payment fields (EIP 1559 like)
|
# fee payment fields (EIP 1559 like)
|
||||||
# TODO: express in MWei instead?
|
# TODO: express in MWei instead?
|
||||||
max_priority_fee_per_sample: Gwei
|
max_priority_fee_per_sample: Gwei
|
||||||
|
@ -695,10 +691,6 @@ def process_shard_header(state: BeaconState, signed_header: SignedShardBlobHeade
|
||||||
committees_per_slot = get_committee_count_per_slot(state, header_epoch)
|
committees_per_slot = get_committee_count_per_slot(state, header_epoch)
|
||||||
assert committee_index <= committees_per_slot
|
assert committee_index <= committees_per_slot
|
||||||
|
|
||||||
# Verify that the block root matches,
|
|
||||||
# to ensure the header will only be included in this specific Beacon Chain sub-tree.
|
|
||||||
assert header.body_summary.beacon_block_root == get_block_root_at_slot(state, slot - 1)
|
|
||||||
|
|
||||||
# Check that this data is still pending
|
# Check that this data is still pending
|
||||||
committee_work = state.shard_buffer[slot % SHARD_STATE_MEMORY_SLOTS][shard]
|
committee_work = state.shard_buffer[slot % SHARD_STATE_MEMORY_SLOTS][shard]
|
||||||
assert committee_work.status.selector == SHARD_WORK_PENDING
|
assert committee_work.status.selector == SHARD_WORK_PENDING
|
||||||
|
|
|
@ -97,11 +97,6 @@ on the horizontal subnet or creating samples for it. Alias `blob = signed_blob.m
|
||||||
- _[REJECT]_ The blob builder defined by `blob.builder_index` exists and has sufficient balance to back the fee payment.
|
- _[REJECT]_ The blob builder defined by `blob.builder_index` exists and has sufficient balance to back the fee payment.
|
||||||
- _[REJECT]_ The blob signature, `signed_blob.signature`, is valid for the aggregate of proposer and builder --
|
- _[REJECT]_ The blob signature, `signed_blob.signature`, is valid for the aggregate of proposer and builder --
|
||||||
i.e. `bls.FastAggregateVerify([builder_pubkey, proposer_pubkey], blob_signing_root, signed_blob.signature)`.
|
i.e. `bls.FastAggregateVerify([builder_pubkey, proposer_pubkey], blob_signing_root, signed_blob.signature)`.
|
||||||
- _[REJECT]_ The blob is proposed by the expected `proposer_index` for the blob's `slot` and `shard`,
|
|
||||||
in the context of the current shuffling (defined by `blob.body.beacon_block_root`/`slot`).
|
|
||||||
If the `proposer_index` cannot immediately be verified against the expected shuffling,
|
|
||||||
the blob MAY be queued for later processing while proposers for the blob's branch are calculated --
|
|
||||||
in such a case _do not_ `REJECT`, instead `IGNORE` this message.
|
|
||||||
|
|
||||||
#### Global topics
|
#### Global topics
|
||||||
|
|
||||||
|
@ -132,11 +127,6 @@ The following validations MUST pass before forwarding the `signed_blob_header` o
|
||||||
- _[REJECT]_ The blob builder defined by `blob.builder_index` exists and has sufficient balance to back the fee payment.
|
- _[REJECT]_ The blob builder defined by `blob.builder_index` exists and has sufficient balance to back the fee payment.
|
||||||
- _[REJECT]_ The header signature, `signed_blob_header.signature`, is valid for the aggregate of proposer and builder --
|
- _[REJECT]_ The header signature, `signed_blob_header.signature`, is valid for the aggregate of proposer and builder --
|
||||||
i.e. `bls.FastAggregateVerify([builder_pubkey, proposer_pubkey], blob_signing_root, signed_blob_header.signature)`.
|
i.e. `bls.FastAggregateVerify([builder_pubkey, proposer_pubkey], blob_signing_root, signed_blob_header.signature)`.
|
||||||
- _[REJECT]_ The header is proposed by the expected `proposer_index` for the blob's `header.slot` and `header.shard`
|
|
||||||
in the context of the current shuffling (defined by `header.body_summary.beacon_block_root`/`slot`).
|
|
||||||
If the `proposer_index` cannot immediately be verified against the expected shuffling,
|
|
||||||
the blob MAY be queued for later processing while proposers for the blob's branch are calculated --
|
|
||||||
in such a case _do not_ `REJECT`, instead `IGNORE` this message.
|
|
||||||
|
|
||||||
##### `shard_blob_tx`
|
##### `shard_blob_tx`
|
||||||
|
|
||||||
|
@ -160,11 +150,6 @@ The following validations MUST pass before forwarding the `signed_blob_header` o
|
||||||
Propagating nodes MAY increase fee increments in case of spam.
|
Propagating nodes MAY increase fee increments in case of spam.
|
||||||
- _[REJECT]_ The header signature, `signed_blob_header.signature`, is valid for ONLY the builder --
|
- _[REJECT]_ The header signature, `signed_blob_header.signature`, is valid for ONLY the builder --
|
||||||
i.e. `bls.Verify(builder_pubkey, blob_signing_root, signed_blob_header.signature)`. The signature is not an aggregate with the proposer.
|
i.e. `bls.Verify(builder_pubkey, blob_signing_root, signed_blob_header.signature)`. The signature is not an aggregate with the proposer.
|
||||||
- _[REJECT]_ The header is designated for proposal by the expected `proposer_index` for the blob's `header.slot` and `header.shard`
|
|
||||||
in the context of the current shuffling (defined by `header.body_summary.beacon_block_root`/`slot`).
|
|
||||||
If the `proposer_index` cannot immediately be verified against the expected shuffling,
|
|
||||||
the blob MAY be queued for later processing while proposers for the blob's branch are calculated --
|
|
||||||
in such a case _do not_ `REJECT`, instead `IGNORE` this message.
|
|
||||||
|
|
||||||
##### `shard_proposer_slashing`
|
##### `shard_proposer_slashing`
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue