최근 이더리움(Ethereum, ETH) 메인넷을 강타한 노드 검증 오류 사태 원인이 한 달 전 테스트넷 단계에서 존재했던 버그로 밝혀지며 클라이언트 다양성의 중요성을 다시금 일깨웠다.
12월 15일(현지시간) 암호화폐 전문 매체 코인텔레그래프에 따르면, 이더리움 클라이언트 개발사 프리즘(Prysm)은 이달 초 발생한 노드 검증 오류가 푸사카(Fusaka) 업그레이드 한 달 전 테스트넷에 도입된 버그에서 비롯됐다고 밝혔다. 이더리움 개발자 테런스 차오(Terence Tsao)는 지난 12월 4일 네트워크에 영향을 미친 푸사카 메인넷 프리즘 사고에 대한 사후 분석 보고서를 공개하며 구체적인 원인을 설명했다.
분석 보고서에 따르면 프리즘 노드는 동기화되지 않은 노드에서 오는 증명을 처리하는 과정에서 자원 고갈 현상을 겪었다. 이로 인해 프리즘은 과거 에포크 블록을 재생하고 비용이 많이 드는 상태 전환을 다시 계산해야 했으며 과도한 작업 부하로 성능에 심각한 타격을 입었다. 사고 당시 42개 이상의 에포크 동안 네트워크는 18.5%의 슬롯 누락률을 기록했고 참여율은 75%까지 떨어졌으며 검증자들은 증명 보상으로 약 382ETH를 잃은 것으로 나타났다.
이번 버그는 사고 발생 한 달 전 프리즘 PR 15965 업데이트를 통해 테스트넷에 배포되었으나 당시에는 트리거 조건이 충족되지 않아 발견되지 않았던 것으로 확인됐다. 테스트넷은 버그를 식별하기 위해 설계되었지만 이번 사례는 해당 절차가 완벽한 방어 수단이 아님을 보여주었다. 이는 2023년 5월 상하이 하드포크 이후 이더리움 네트워크가 일시적으로 트랜잭션 확정성을 상실해 개발진을 긴장에 빠뜨렸던 사태를 연상시킨다.
프리즘 측은 현재 해당 문제를 해결한 패치를 완료한 상태다. 사고 당시 프리즘 클라이언트는 현재 헤드 상태를 사용하는 대신 처음부터 이전 상태를 재생성하는 방식을 취해 막대한 연산 부담을 초래했다. 노드 운영자들은 개발자들이 프리즘 클라이언트를 위한 업데이트 패치를 작업하는 동안 임시 해결책을 배포해 대응했다.
개발자들은 이번 사태가 시장 점유율 1위 클라이언트인 라이트하우스(Lighthouse)에서 발생했다면 피해 규모가 훨씬 컸을 것이라고 입을 모았다. 클라이언트 다양성 데이터 제공 사이트 클라이언트다이버시티(ClientDiversity)에 따르면 오프체인 랩스(Offchain Labs)의 프리즘은 17.6%의 점유율로 2위를 기록 중이다. 반면 라이트하우스는 사고 당시 약 56%에서 현재 52.6%로 점유율이 소폭 하락했으나 여전히 과반을 차지하고 있어 단일 클라이언트 버그가 잘못된 체인을 확정할 수 있는 3분의 2 임계치에 근접했다는 우려를 낳고 있다.
*면책 조항: 이 기사는 투자 참고용으로 이를 근거로 한 투자 손실에 대해 책임을 지지 않습니다. 해당 내용은 정보 제공의 목적으로만 해석되어야 합니다.*
<저작권자 ⓒ 코인리더스 무단전재 및 재배포 금지>
|
많이 본 기사
Crypto & Blockchain 많이 본 기사
|