EIP-2481은 이더리움 P2P 프로토콜 eth/66에 요청 식별자를 추가합니다. 모든 요청-응답 메시지 쌍에 고유한 ID를 부여하여 동시 요청 처리 능력을 향상시키고 디버깅을 용이하게 합니다.
요청 식별자의 필요성
기존 eth 프로토콜에서는 요청과 응답을 매칭하기 어려웠습니다. 여러 동시 요청이 있을 때 어떤 응답이 어떤 요청에 해당하는지 추적하기 어려웠습니다. eth/66은 모든 요청-응답 쌍에 64비트 요청 ID를 추가합니다.
eth/66 변경 사항
GetBlockHeaders, GetBlockBodies, GetPooledTransactions 등 주요 요청 메시지에 requestId 필드가 추가됩니다. 응답 메시지도 동일한 requestId를 포함하여 요청-응답 매핑이 명확해집니다. 요청 타임아웃과 재시도 로직도 개선됩니다.
동시성 향상
요청 ID를 통해 피어에게 여러 요청을 동시에 보내고 독립적으로 처리할 수 있습니다. 이전에는 파이프라이닝이 어려웠으나 eth/66에서는 자연스럽게 지원됩니다. 블록 동기화 속도가 크게 향상됩니다.
채택 및 영향
Final 상태로 Geth, Besu 등 주요 클라이언트가 eth/66을 지원합니다. eth/64(forkid), eth/65(tx announcements)와 함께 현대 이더리움 P2P 스택의 핵심을 구성합니다. 이후 eth/67, eth/68 프로토콜의 기반이 되었습니다.