Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ECIP-1086: SLOAD Gas Patch for the Testnets #293

Merged
merged 3 commits into from
Feb 19, 2020
Merged

Conversation

soc1c
Copy link
Contributor

@soc1c soc1c commented Feb 18, 2020

Issues with the Aztlán protocol upgrades were identified and sufficiently patched with the Phoenix protocol upgrades. However, the subsequent activation of these upgrades on the Kotti and Mordor testnets revealed inconsistencies between client implementations. This document proposes a patch for the aforementioned testnets.

Abstract

The EIP-2200 defines structured definitions of net-gas metering for the SSTORE opcode. This EIP was activated in a bundle called EIP-1679 "Istanbul" on the Ethereum Foundation network and ECIP-1061 "Aztlán" on the Ethereum Classic network.

Notably, the difference here is that Istanbul contained EIP-1884 which repriced various opcodes for trie-size dependent operations, whereas Aztlán did not.

Both EIP-1884 and EIP-2200 propose the SLOAD_GAS to be increased from 200 to 800 but not all clients correctly implemented this change for both EIPs leaving networks configured with a pick-and-mix EIP configuration such as Aztlán with an incompatible configuration as compared to clients who correctly implemented the specifications.

Motivation

This specification seeks to validate the incomplete configuration in favor of retaining the Kotti and Mordor testnets in consensus. This ECIP shall not be considered on mainnet. It's sole purpose is to allow avoiding a rollback on the testnets and having a proper documentation on the cause for the gas mismatch and providing instructions for client developers how to circumvent this.

Discussions to:

@soc1c soc1c added type: std-core ECIPs of the type "Core" - changing the Classic protocol. status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus. labels Feb 18, 2020
@soc1c soc1c added this to the Aztlán Hardfork milestone Feb 18, 2020
@soc1c
Copy link
Contributor Author

soc1c commented Feb 18, 2020

@bobsummerwill
Copy link
Member

LGTM

Copy link
Member

@realcodywburns realcodywburns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lgtm from editor pov. I disagree with the approach on having testnet specific ecips. Testnets are for testing not only what will be deployed but how it will be deployed and should match mainnet implementations exactly

@bobsummerwill
Copy link
Member

bobsummerwill commented Feb 19, 2020

SNIP ... text from ETC Discord discussions moved to the Github issue for discussion:

#262

Copy link
Member

@meowsbits meowsbits left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

editorially ok

@YazzyYaz
Copy link
Contributor

LGTM, merging

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:1 draft ECIP is in draft stage an can be assigned ECIP number and merged, but requires community consensus. type: std-core ECIPs of the type "Core" - changing the Classic protocol.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants