LightHouse PR #10569: 검증자 공개키 캐시 오류 수정안 분석
LightHouse 저장소에 검증자 공개키 캐시 오류를 수정하기 위한 Pull Request(PR) #10569가 제출되었으나, 13일 현재 병합되지 않은 상태입니다. 해당 수정안은 특정 조건이 중복될 경우 노드가 메인 체인의 유효한 서명을 거부하고 별도 체인으로 분기할 수 있는 잠재적 위험을 다루고 있습니다.
문제 배경 및 기술적 세부 사항
12일 LightHouse 저장소에 수정 제안인 PR #10569가 올라왔으며, GitHub 상에서는 13일 기준 ‘Open’ 상태로 표시되어 코드 오너의 검토를 기다리고 있습니다.
검증자 공개키 캐시는 노드가 검증자 공개키와 검증자 번호 간의 매핑 관계를 저장하는 구조입니다. 이번 제안은 이러한 매핑 관계가 분기 경계(Boundary)에서 잘못 기록될 가능성을 해결하는 데 초점을 맞추고 있습니다.
문제가 제기된 시점은 'Glamsterdam' 업그레이드의 합의 계층 변경, 즉 Gloas 분기 직전입니다. 제안서에는 기존 검증자에 대한 대규모 추가 입금(Deposit)과 새로운 빌더 및 검증자를 위한 공개키 입금이 동시에 대기하고 있는 상황이 제시되었습니다.
분기 후 메인 체인과 별도 체인의 입금 처리 순서가 달라지면, 공개키 캐시가 하나의 공개키를 잘못된 검증자 번호에 연결할 수 있습니다. 만약 이러한 잘못된 매핑 관계가 전역 캐시에 저장된 채로 메인 체인의 서명 검사가 수행된다면, 노드는 유효한 서명을 거부하게 됩니다. 수정 제안서는 이로 인해 영향을 받은 노드가 메인 체인에서 이탈할 가능성을 설명합니다. 다만, 실제 악용 사례는 현재 공개된 내용에서 확인되지 않았습니다.
수정 방안 및 호환성 문제
수정 제안 작성자는 검증자의 활성화 자격이 최종 확정된 후에만 공개키를 전역 캐시에 추가하는 방식을 제안했습니다. 또한, 확정 전 검증자 키가 검사 과정에서 제외되지 않도록 현재 헤드 상태(Hed State)와 캐시를 함께 조회하도록 변경하는 내용을 포함했습니다.
다만, 수정안에는 하위 버전과의 호환성 문제가 지적되었습니다. LightHouse가 9일 공개한 v8.3.3 릴리스 노트에는 체인 상태와 공개키 캐시의 키를 함께 사용한다는 변경 사항이 명시되어 있습니다. 릴리스 노트는 이 버전을 우선순위 높은 보안 패치로 소개했지만, 취약점의 세부 내용은 공개하지 않았습니다.
수정 제안 작성자는 v8.3.3의 변경 사항과 Gloas 경계 오류 수정안이 관련이 있다고 언급했습니다. 그러나 릴리스 노트에는本次 오류가 해결되었다는 설명이 없어, 두 변경 사항의 적용 상태를 동일하다고 단정 지을 수는 없습니다.
테스트 현황 및 향후 전망
별도의 재현 테스트를 추가하는 Assertoor PR #248도 13일 현재 Open 상태입니다. 이 제안은 분기 직전에 추가 입금과 검증자 슬래싱(Slashing)을 배치하여 오류를 점검하려는 내용입니다.
자동 코드 검토 과정에서는 테스트 시작 시점이 늦더라도 테스트가 통과할 수 있다는 지적이 나왔습니다. 또한, 슬래싱이 실제로 실행되었는지 여부를 명확히 확인하지 않는 점은 보완해야 할 사항으로 제시되었습니다.
현재 이더리움 재단(Ethereum Foundation)은 10월 22일 Hoodi 테스트넷의 Glamsterdam 활성화를 연기했으며, 새로운 일정은 아직 정해지지 않았습니다. 재단이 제시한 이유는 EIP-8037과 메인넷 스마트 계약 간의 상호작용을 추가로 조사하기 위함입니다.
테스트넷 일정 변경과 이번 공개키 캐시 수정 제안이 동일한 원인에서 비롯되었다고 볼 근거는 부족합니다. 또한 메인넷의 Glamsterdam 활성화 날짜 역시 아직 결정되지 않았습니다.

资金费率
资金费率热力图
多空比
大户多空比
币安/欧易/火币大户多空比
Bitfinex杠杆多空比
账号安全
资讯收藏
自选币种