EIP-2458: Updates and Updated-by Header Source

AuthorEdson Ayllon
Discussions-Tohttps://github.com/ethereum/EIPs/issues/2453
StatusDraft
TypeInformational
Created2020-01-06

Simple Summary

Adds EIP header options updates and updated-by to frontmatter of active EIPs for use as needed.

Abstract

EIP headers updates and updated-by are used for updating active EIPs. This is to make the improvement process of EIPs more modular, and have updates to existing active EIPs receive similar exposures to EIPs which replace existing final EIPs.

Motivation

Currently, EIP1 specifies EIP headers: updated, replaces, and superseded-by. Headers replaces and superseded-by indicates when an entire EIP is being replaced by another EIP, indicating when an EIP is now historical, and is updated by a new standard.

The header updated indicates the date an EIP has received an update by EIP authors and editors, an example EIP being EIP1. updated is reserved for EIPs in draft or active status.

In the case of active status, an EIP may receive an update, but these updates don’t operate as with EIPs in final status, where a historical EIP is created, and the new EIP is referenced by the historical one. While these updates are not kept immutably, updates to active EIPs can be done modularly by creating a new EIP that goes through the standard discussion and auditing process EIPs undergo. The EIP headers updates and updated-by are to facilitate this modularity. Creating a new EIP also provides sufficient notification to affected stakeholders of an active EIP before that EIP is updated.

Specification

updated-by

updated-by is reserved for EIPs in active status. For an EIP in status active, updates to that EIP, which update the header updated, should be started by opening a new EIP to start vetting for that update. When an active EIP receives a new entry to header updated, an associated updated-by EIP listing should be included, where that newly listed EIP has reached final status.

updates should be included as an EIP header, as all EIP headers, and include a reference to an EIP designation. When multiple EIP designations are referenced, each should be separated by a comma. Example:

---
updated-by: 9999, 9998, 9997
---

updates

updates is reserved for EIPs updating EIPs in active status. An EIP listed as updates is implied to also be requires; only updates is needed for those EIP listings. Having an EIP listing updates does not necessarily mean that referenced EIP must reference back with an updated-by listing.

updates should be included as an EIP header, as all EIP headers, and include a reference to an EIP designation. When multiple EIP designations are referenced, each should be separated by a comma. Example:

---
updates: 1
---

Rationale

updates and updated-by apply only to EIPs in active status as updates to EIPs in final status are already handled by EIP headers superseded-by and replaces.

The syntax should align with previous EIP header syntax, as this EIP is not updating syntax, simply adding header options.

Backwards Compatibility

These EIP headers are optional and do not introduce compatibility issues.

Implementation

An implementation is adding a header option.

Security Considerations

This standard is informational and does not introduce technical security issues.

Copyright and related rights waived via CC0.

Citation

Please cite this document as:

Edson Ayllon, "EIP-2458: Updates and Updated-by Header [DRAFT]," Ethereum Improvement Proposals, no. 2458, January 2020. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-2458.