EIP-1959는 특정 chainID가 이더리움 역사적 chainID 목록에 포함되는지 확인하는 새로운 옵코드를 제안합니다. 체인 분기 이후의 리플레이 공격을 방지하는 데 활용될 수 있습니다.
제안 배경
이더리움은 역사적으로 여러 번의 하드포크를 거치며 다양한 체인으로 분기되었습니다. 특정 chainID가 역사적으로 유효한지 확인하는 표준 방법이 없었습니다.
기술 내용
새로운 옵코드를 통해 컨트랙트가 주어진 chainID가 이전에 사용된 적 있는 유효한 chainID인지 확인할 수 있습니다. 이를 통해 체인 간 리플레이 공격 방어 로직을 구현할 수 있습니다.
정체된 이유
EIP-1965(특정 블록 번호에서 chainID 유효성 확인)와 목표가 중복되었습니다. 또한 역사적 chainID 목록을 유지 관리하는 것의 복잡성과 합의 문제가 제기되었습니다.
현재 상태
정체 상태로 공식 채택은 이루어지지 않았습니다. 리플레이 공격 방지는 주로 EIP-155의 트랜잭션 서명 chainID 포함 방식으로 해결되고 있습니다.