Skip to content

ECIP-1056 (Agharta): revise draft w/r/t EIP-1702 EVM Account Versioning#35

Open
meowsbits wants to merge 6 commits intomasterfrom
fix/ecip-1056
Open

ECIP-1056 (Agharta): revise draft w/r/t EIP-1702 EVM Account Versioning#35
meowsbits wants to merge 6 commits intomasterfrom
fix/ecip-1056

Conversation

@meowsbits
Copy link
Copy Markdown
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.
Comment thread ECIPs/ecip-1056.md Outdated
Comment thread ECIPs/ecip-1056.md Outdated
@lialan
Copy link
Copy Markdown

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
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor

soc1c commented Oct 23, 2019

Let's discuss this in the call tomorrow.

Comment thread ECIPs/ecip-1056.md Outdated
Comment thread ECIPs/ecip-1056.md Outdated
Comment thread ECIPs/ecip-1056.md Outdated
Co-Authored-By: Talha Cross <47772477+soc1c@users.noreply.github.com>
@lialan
Copy link
Copy Markdown

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
#35 (comment)

Co-Authored-By: Talha Cross <47772477+soc1c@users.noreply.github.com>
#35 (comment)

Co-Authored-By: Talha Cross <47772477+soc1c@users.noreply.github.com>
@soc1c
Copy link
Copy Markdown
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