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-1056 (Agharta): revise draft w/r/t EIP-1702 EVM Account Versioning #35

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

meowsbits
Copy link
Contributor

@meowsbits meowsbits commented Oct 22, 2019

The previous iteration of this document downplayed the introduction
of making the EVM use versioned contract accounts.

This is a complex and significant change and demands adequate attention in the
document and discussion.

This change (including EIP1702 in this fork's "Meta-ECIP") was originally made here: ethereumclassic/ECIPs@4d227a2

The previous iteration of this document downplayed the introduction
of making the EVM use versioned contract accounts.

This is a significant change.
@lialan
Copy link

lialan commented Oct 22, 2019

Like the authors stated in the proposal, this change is fully backward compatible and is a necessity for future improvement.

My concern here is the storage it takes to support account versioning. A 256-bit scalar is used which will take quite a lot of disk spaces.

Consider using higher bits of the Nonce field which is most likely sitting there being all zeros. By doing this we will have almost minimal change to the client. Need inputs from original proposer @sorpaas

@sorpaas
Copy link
Contributor

sorpaas commented Oct 22, 2019

@lialan That's not true. RLP encoding is compact, meaning all zero bits are dropped. This means currently it only takes 1-bit for non-legacy versions, and it's simply impossible to use any nonce bits.

@sorpaas
Copy link
Contributor

sorpaas commented Oct 22, 2019

I have been suggesting to apply account versioning together with versionless EVM, which has the benefits of making version 1 forward-compatible and thus we will only need 2 versions (compared with one version per six month if only account versioning is applied). You can see my devcon talk for more details on this. If it's proven there're enough interests in ETC community on this, I'd be happy to write more about this.

Also I want to note that I won't be championing any of the specifications for ETC hard forks. It's purely up to ETC community. If you think we shouldn't use account versioning at all -- you're right.

@soc1c
Copy link
Contributor

soc1c commented Oct 23, 2019

Let's discuss this in the call tomorrow.

Co-Authored-By: Talha Cross <[email protected]>
@lialan
Copy link

lialan commented Oct 23, 2019

@sorpaas oh right I did not consider the RLP encoding. In that case it looks good.

BelfordZ
BelfordZ previously approved these changes Oct 23, 2019
@soc1c
Copy link
Contributor

soc1c commented Oct 29, 2019

This is obsolete now ethereumclassic/ECIPs#155

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants