EIP-2364는 이더리움 P2P 네트워크 프로토콜 eth/64에 forkid 확장 핸드셰이크를 추가합니다. 노드가 연결 시 포크 호환성을 빠르게 확인하여 호환되지 않는 체인의 노드와 불필요한 연결을 방지합니다.
배경
EIP-2124에서 도입된 forkid 개념을 P2P 핸드셰이크에 적용합니다. 기존 eth/63에서는 호환되지 않는 노드와 연결된 후에야 체인 불일치를 발견할 수 있었습니다. eth/64는 초기 핸드셰이크에서 forkid를 교환하여 즉시 호환성을 확인합니다.
forkid 구조
forkid는 FORK_HASH(체인 히스토리의 CRC32 체크섬)와 FORK_NEXT(다음 포크 블록 번호)로 구성됩니다. 두 값을 비교하여 두 노드가 같은 체인 히스토리를 공유하는지 판단합니다. 포크 후 다른 체인을 따르는 노드를 효과적으로 필터링합니다.
네트워크 효율성
호환되지 않는 노드와의 불필요한 연결을 초기에 차단하여 네트워크 자원을 절약합니다. 특히 메인넷, 테스트넷, 포크된 체인 간의 노드 혼재 문제를 해결합니다. 피어 검색과 연결 수립이 더 효율적이 됩니다.
채택 현황
Final 상태로 모든 주요 이더리움 클라이언트(Geth, Besu, Nethermind 등)가 지원합니다. 이후 eth/65, eth/66의 기반이 되었습니다. 이더리움 P2P 네트워크의 중요한 개선 사항으로 평가받습니다.