EIP-658은 트랜잭션 영수증에 트랜잭션 성공 여부를 나타내는 상태 코드를 삽입합니다. Byzantium 하드포크에서 활성화되어 트랜잭션 결과를 명확히 알 수 있게 되었습니다.
문제 정의
비잔티움 이전에는 트랜잭션이 실패(revert)하더라도 영수증에 명시적인 실패 표시가 없었습니다. 개발자는 가스 소비량 분석 등 간접적인 방법으로 트랜잭션 성공 여부를 추론해야 했습니다.
변경 내용
트랜잭션 영수증의 중간 상태 루트(post-state root) 필드가 상태 코드 필드로 교체됩니다. 성공 시 1, 실패 시 0이 반환됩니다. 이 변경은 Byzantium의 REVERT 오피코드 도입과 함께 이루어졌습니다.
실용적 중요성
개발자와 블록체인 익스플로러가 트랜잭션 성공 여부를 직접적으로 확인할 수 있게 되었습니다. DApp의 오류 처리 로직이 단순해지고, 사용자 경험이 크게 향상되었습니다.
후속 영향
현재 모든 이더리움 트랜잭션 영수증에 이 상태 코드가 포함됩니다. Etherscan 등 블록체인 익스플로러가 트랜잭션 성공/실패를 명확히 표시할 수 있게 된 직접적인 기반이 되었습니다.