Skip to content

Commit

Permalink
Merge branch 'master' into ERC721Lockable
Browse files Browse the repository at this point in the history
  • Loading branch information
StreamNFT authored Jun 22, 2023
2 parents fec2757 + a5f5490 commit f7f0826
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 14 deletions.
6 changes: 3 additions & 3 deletions EIPS/eip-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@ Which renders to:
Permitted Execution Client Specifications URLs must anchor to a specific commit, and so must match this regular expression:

```regex
^(https://github.com/ethereum/execution-specs/blob/[0-9a-f]{40}/.*|https://github.com/ethereum/execution-specs/tree/[0-9a-f]{40}/.*)$
^(https://github.com/ethereum/execution-specs/(blob|commit)/[0-9a-f]{40}/.*|https://github.com/ethereum/execution-specs/tree/[0-9a-f]{40}/.*)$
```

### Consensus Layer Specifications
Expand All @@ -231,7 +231,7 @@ Which renders to:
Permitted Consensus Layer Specifications URLs must anchor to a specific commit, and so must match this regular expression:

```regex
^https://github.com/ethereum/consensus-specs/blob/[0-9a-f]{40}/.*$
^https://github.com/ethereum/consensus-specs/(blob|commit)/[0-9a-f]{40}/.*$
```

### Networking Specifications
Expand All @@ -249,7 +249,7 @@ Which renders as:
Permitted Networking Specifications URLs must anchor to a specific commit, and so must match this regular expression:

```regex
^https://github.com/ethereum/devp2p/blob/[0-9a-f]{40}/.*$
^https://github.com/ethereum/devp2p/(blob|commit)/[0-9a-f]{40}/.*$
```

### World Wide Web Consortium (W3C)
Expand Down
13 changes: 7 additions & 6 deletions EIPS/eip-3076.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,14 +173,15 @@ After importing an interchange file with data field `data`, a signer must respec
2. Refuse to sign any block with `slot <= min(b.slot for b in data.signed_blocks if b.pubkey == proposer_pubkey)`, except if it is a repeat signing as determined by the `signing_root`.

3. Refuse to sign any attestation that is slashable with respect to the attestations contained in `data.signed_attestations`. For details of what constitutes a slashable attestation, see `is_slashable_attestation_data`.

4. Refuse to sign any attestation with source epoch less than the minimum source epoch present in that signer's attestations (as seen in `data.signed_attestations`). In pseudocode:

```python3
source.epoch <
min(att.source_epoch
for att in data.signed_attestations
if att.pubkey == attester_pubkey)
```
```python3
source.epoch <
min(att.source_epoch
for att in data.signed_attestations
if att.pubkey == attester_pubkey)
```

5. Refuse to sign any attestation with target epoch less than or equal to the minimum target epoch present in that signer's attestations (as seen in `data.signed_attestations`), except if it is a repeat signing as determined by the `signing_root`. In pseudocode:

Expand Down
14 changes: 9 additions & 5 deletions EIPS/eip-7045.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
eip: 7045
title: Increase max attestation inclusion slot
description: Increases max attestaton inclusion slot to the last slot in `N+1` where `N` is the epoch containing the attestations slot.
description: Increases max attestaton inclusion slot to the last slot in `N+1` where `N` is the epoch containing the attestation's slot.
author: Danny Ryan (@djrtwo)
discussions-to: https://ethereum-magicians.org/t/eip-7045-increase-attestation-slot-inclusion-range/14342
status: Draft
Expand All @@ -22,7 +22,7 @@ Attestations can currently be included after some minimum delay (`1` slot on mai

Since this decision, it has become apparent that the alternative design is critical for current LMD-GHOST security proofs as well as a new confirmation rule (which will allow for block confirmations in approximately 3-4 slots in normal mainnet conditions).

This specification, thus increases the max inclusion slot for attestations in accordance with the learned security proof and confirmation rule needs.
This specification thus increases the max inclusion slot for attestations in accordance with the learned security proof and confirmation rule needs.

## Specification

Expand All @@ -38,12 +38,14 @@ This requires no changes to the Execution Layer.

### Consensus layer

Specification changes are built into the Consensus Specs Deneb upgrade.

The specification makes two minor changes to the state transition function:

* Modify `process_attestation` to not have an upper bound on the slot check and instead just rely on the minimum slot as well as the target epoch being in either current or previous epoch.
* Modify `get_attestation_participation_flag_indices` to set the `TIMELY_TARGET_FLAG` without consideration of `inclusion_delay` to ensure that the extended inclusion attestations have a non-zero reward.
* Modify [`process_attestation`](https://github.com/ethereum/consensus-specs/blob/95f36d99cf4aa59974da06af24ef9a7c12d3c301/specs/deneb/beacon-chain.md#modified-process_attestation) to not have an upper bound on the slot check and instead define the inclusion range via the minimum slot as well as the target epoch being in either current or previous epoch.
* Modify [`get_attestation_participation_flag_indices`](https://github.com/ethereum/consensus-specs/blob/95f36d99cf4aa59974da06af24ef9a7c12d3c301/specs/deneb/beacon-chain.md#modified-get_attestation_participation_flag_indices) to set the `TIMELY_TARGET_FLAG` without consideration of `inclusion_delay` to ensure that the extended inclusion attestations have a non-zero reward.

Additionally, the specification modifies the attestation and aggregate attestation gossip conditions to allow for gossip during this extended range.
Additionally, the specification modifies the [attestation](https://github.com/ethereum/consensus-specs/blob/95f36d99cf4aa59974da06af24ef9a7c12d3c301/specs/deneb/p2p-interface.md#beacon_attestation_subnet_id) and [aggregate attestation](https://github.com/ethereum/consensus-specs/blob/95f36d99cf4aa59974da06af24ef9a7c12d3c301/specs/deneb/p2p-interface.md#beacon_aggregate_and_proof) gossip conditions to allow for gossip during this extended range.

## Rationale

Expand All @@ -57,6 +59,8 @@ Previously, `get_attestation_participation_flag_indices` would only set the `TIM

The `inclusion_delay` consideration for this flag is removed to ensure that whatever the valid inclusion window is for an attestation, it can receive a baseline non-zero reward for correct target. This ensures that clients will still attempt to pack such attestations into blocks which is important for the security analysis.

Note, this was the intended behavior with the previously defined range which was equivalent to the max.

## Backwards Compatibility

This EIP introduces backwards incompatible changes to the block validation rule set on the consensus layer and must be accompanied by a hard fork.
Expand Down

0 comments on commit f7f0826

Please sign in to comment.