EIP-1681은 타임스탬프 기반의 임시 리플레이 보호 메커니즘을 제안했습니다. 트랜잭션에 유효 기간(만료 시각)을 포함시켜 특정 시간 이후에는 리플레이될 수 없게 하고자 했습니다.
리플레이 공격 문제
리플레이 공격은 이미 처리된 트랜잭션을 다시 제출하여 이중 실행을 유발하는 공격입니다. 특히 하드포크 이후 체인 분기 시 동일한 트랜잭션이 여러 체인에서 실행될 수 있는 문제가 있었습니다.
제안 메커니즘
트랜잭션 필드에 valid_until 타임스탬프를 추가하여, 해당 시각 이후 채굴된 블록에서는 해당 트랜잭션을 거부하도록 합니다. 이는 오래된 트랜잭션의 지연 실행도 방지합니다.
정체 이유
EIP-155(체인 ID를 통한 리플레이 보호)가 이미 체인 간 리플레이 문제를 해결했고, 트랜잭션 만료는 nonce 기반으로도 간접적으로 관리될 수 있어 추가 필드의 필요성에 대한 합의가 이루어지지 않았습니다.
관련 논의
EIP-4337(계정 추상화) 등에서 트랜잭션 유효 기간 개념이 validUntil 파라미터 형태로 다시 등장했습니다. 아이디어 자체는 여전히 유효하지만 코어 프로토콜 레벨 구현은 보류 상태입니다.