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

2681: Few minor updates + move to review #3130

Merged
merged 1 commit into from
Nov 27, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 5 additions & 14 deletions EIPS/eip-2681.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ eip: 2681
title: Limit account nonce to 2^64-1
author: Alex Beregszaszi (@axic)
discussions-to: https://ethereum-magicians.org/t/eip-2681-limit-account-nonce-to-2-64-1/4324
status: Draft
status: Review
type: Standards Track
category: Core
created: 2020-04-25
Expand All @@ -15,12 +15,11 @@ Limit account nonce to be between `0` and `2^64-1`.

## Motivation

This is motivated by Eth1.x / Stateless Ethereum discussions, more specifically discussion around the ["witness format"](https://github.com/ethereum/stateless-ethereum-specs).
Introducing a restriction would allow storing the nonce in a more optimised way.
Account nonces are currently specified to be arbitrarily long unsigned integers. Dealing with arbitrary length data in the state witnesses is not optimal, therefore this EIP will allow proofs to represent the nonce in a more optimized way.

Additionally it could prove beneficial to transaction formats, where some improvements are potentially sought by at least three other proposals.

Lastly this facilitates a minor optimisation in clients, because the nonce no longer needs to be kept as a 256-bit number.
Lastly, this facilitates a minor optimisation in clients, because the nonce no longer needs to be kept as a 256-bit number.

## Specification

Expand All @@ -42,21 +41,13 @@ This mode of replay protection is out of fashion since [EIP-155](./eip-155.md) i

While this is a breaking change, no actual effect should be visible:

1. There is no account in the state currently which would have a nonce exceeding that value. **Need to double check, but would be very surprised.**
1. There is no account in the state currently which would have a nonce exceeding that value. As of November 2020, the account `0xea674fdde714fd979de3edf0f56aa9716b898ec8` is responsible for the highest account nonce at approximately 29 million.
Copy link
Member

Choose a reason for hiding this comment

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

So are you saying this account spent at least 600 billion gas? 🤭


2. go-ethereum already has this restriction in place (`state.Account.Nonce` and `types.txdata.AccountNonce` it as a 64-bit number).

## Security Considerations

TBA

## Test Cases

TBA

## Implementation

TBA
None.

## Copyright

Expand Down