Tech/EIPs/#3338
EIP 3338카테고리 · 코어유형 · 표준 트랙상태 · 철회됨

Limit account nonce to 2^52

EIP-3338은 이더리움 계정의 논스(nonce) 값을 2^52로 제한하자는 제안입니다. 논스 오버플로우 방지를 목적으로 했으나 철회되었습니다.

제안 배경

이더리움 계정 논스는 이론적으로 2^64 - 1까지 증가할 수 있습니다. 현실적으로 이 한계에 도달하는 것은 불가능하지만, 논스를 부동소수점 연산에서 안전하게 표현할 수 있는 최대값인 2^52로 제한하면 다양한 클라이언트 구현에서 논스 처리를 단순화할 수 있습니다.

2^52 한계의 근거

IEEE 754 배정밀도 부동소수점의 가수(mantissa)는 52비트로, 2^52 이하의 정수를 정확하게 표현할 수 있습니다. JavaScript 등 부동소수점 기반 언어에서 이더리움을 구현할 때 논스가 2^52를 넘으면 정확도 손실이 발생합니다.

철회 이유

논스가 2^52에 도달하는 것은 현실적으로 수천 년이 걸리는 시나리오라 실용적 문제가 아니라는 점, 그리고 클라이언트 구현에서 이미 충분한 처리가 이루어진다는 점이 지적되었습니다. 과도한 제약이라는 결론에 따라 철회되었습니다.

의의

이 EIP는 이더리움 프로토콜과 클라이언트 구현 간의 숫자 표현 호환성 문제를 다룬 흥미로운 시도로, JSON-RPC 및 클라이언트 구현의 수치 처리 관행에 대한 논의를 촉발했습니다.

공식 EIP 문서open_in_new