폴리곤, 긴급 업데이트 발표… 네트워크 안정성 강화

블록체인 확장성 솔루션으로 주목받는 폴리곤(Polygon)이 최근 '오스틴(Austin)'과 '교토(Kyoto)' 하드포크를 성공적으로 완료한 후, 네트워크 노드 운영자들에게 긴급 클라이언트 업그레이드 공지를 발표하며 보안 및 안정성 강화에 나섰습니다.
폴리곤 랩스(Polygon Labs)는 공식 발표를 통해, 하드포크 이전 버전의 '보르(Bor)' 및 '하임달(Heimdall)' 노드를 사용하던 참여자들이 이미 폴리곤 PoS(Proof-of-Stake)의 정식 합의에서 벗어났다고 밝혔습니다. 이는 해당 노드들이 최신 네트워크 상태를 따라가지 못하게 되었음을 의미하며, 네트워크의 무결성을 유지하기 위해 즉시 업그레이드가 필요하다는 점을 강조했습니다.
이번 업그레이드 요구는 지난 8월 두 차례에 걸쳐 활성화된 오스틴과 교토 하드포크의 결과로, 해당 노드들이 최신 프로토콜 버전과 호환되지 않기 때문입니다. 스테일(stale) 상태의 노드는 네트워크의 최신 기록을 다시 따르기 전에 반드시 업그레이드를 진행하고 동기화 과정을 거쳐야 합니다.
폴리곤 랩스는 8월 27일에 발표된 보안 검토 보고서를 통해 이번 클라이언트 호환성 문제에 대해 상세히 설명했습니다. 다행히 이번 하드포크로 인해 메인넷에서 중대한 중단 사태는 발생하지 않았으며, 공개된 변경 사항들은 잠재적 위험을 선제적으로 해결하기 위한 조치로 평가받고 있습니다.
폴리곤 PoS 네트워크에서 '보르'는 트랜잭션 처리 및 블록 생성을 담당하는 실행 클라이언트(execution client)이며, '하임달'은 합의 메커니즘과 체크포인트를 관리하는 역할을 수행합니다. 오스틴 하드포크 이후, 보르 버전 v2.10.0 미만은 메인넷 블록 91,949,700 이후부터 호환되지 않으며, 이는 모든 보르 노드 역할에 동일하게 적용됩니다. 마찬가지로, 하임달 검증인(validators) 및 전체 노드(full nodes)는 교토 하드포크가 메인넷 높이 51,533,000에서 활성화된 이후 v0.11.0 이상의 버전을 사용해야 합니다. 폴리곤의 하임달 릴리스 공지에 따르면, 메인넷 활성화 시점은 UTC 기준 8월 18일 오전 10시 10분 31분이었습니다.
**오스틴과 교토, 별도의 클라이언트 위험 해결**
오스틴 하드포크는 주로 두 가지 주요 위험 요소를 해결하는 데 초점을 맞췄습니다. 첫째, 보르가 L1(이더리움 등)에서 L2(폴리곤)로 브릿지되는 입금 이벤트 처리 시 가스 소비량을 제한했습니다. 이전에는 이러한 이벤트들이 블록 수준의 고정된 가스 한도에 포함되지 않아, 과도한 이벤트 발생 시 블록 처리가 지연되어 일시적으로 체인이 멈출 위험이 있었습니다. 오스틴은 이러한 이벤트들이 실행하는 컨트랙트 코드 및 사전 컴파일(precompiles)의 가스 사용량을 블록 한도 내에서 관리하도록 변경했습니다.
둘째, 보르의 병렬 실행을 위한 'TxDependency'의 'extra-data' 필드 관련 위험이 해결되었습니다. 이 필드는 추가 데이터를 위한 힌트 역할을 하는데, 이전에는 크기 제한이 없어 블록 생산자가 임의로 거대한 데이터를 삽입할 경우, 해당 블록을 처리하려는 다른 노드들이 충돌(crash)하는 문제가 발생할 수 있었습니다. 오스틴은 이 필드를 와이어 형식(wire format)에서 제거하여 해당 위험을 근본적으로 차단했습니다. 폴리곤은 이 두 가지 약점을 모두 '자원 고갈(resource-exhaustion)' 위험으로 분류했습니다.
현재 공개된 보르 v2.10.0 릴리스는 메인넷 및 테스트넷 '아모이(Amoy)'에서의 활성화 블록 정보를 담고 있습니다. 8월 28일 기준 GitHub에서는 v2.10.1이 최신 보르 릴리스로 확인되었으며, v2.10.0 또는 그 이상 버전이 오스틴 호환성을 제공합니다. 운영 측면에서, 오스틴의 첫 번째 해결책은 블록 처리 지연을 방지하고, 두 번째 해결책은 생산자가 보낸 과도한 데이터 필드로 인해 노드가 종료되는 상황을 막는 데 기여합니다.
교토 하드포크는 주로 '하임달' 클라이언트의 보안을 강화하는 데 중점을 두었습니다. 가장 높은 수준의 수정 사항은 'google.protobuf.Any' 메시지의 깊은 중첩(deeply nested) 문제를 해결하는 것입니다. 이전에는 송신자가 저렴한 비용으로 복잡하게 중첩된 메시지를 담은 단일 트랜잭션을 생성하여, 모든 검증인이 디코딩에 과도한 자원을 사용하도록 강제할 수 있었습니다. 교토는 멤풀(mempool) 수용 및 블록 제안 처리 과정에서 바이트 수준의 중첩 검사를 추가하여 이러한 경로의 일관성을 유지했습니다.
더불어, 교토는 'O(n)' 복잡도를 가지는 수수료 코인 목록(fee-coin lists) 검증 전에 목록 크기를 제한하여, 효율성을 높였습니다. 폴리곤의 하임달 통합은 현재 단일 수수료 코인만 허용하도록 설계되었습니다.
이 외에도 교토의 변경 사항들은 여러 엣지 케이스(edge cases)를 다룹니다. 예를 들어, 체크포인트 서명 복구 바이트를 표준화하여 유효한 서명이 이더리움에서 복구 실패로 인해 앵커링(anchoring)이 중단되는 상황을 방지합니다. 이러한 일련의 업데이트는 폴리곤 네트워크의 견고성을 증대시키고, 잠재적인 공격 벡터를 제거하여 사용자들에게 더욱 안전하고 안정적인 블록체인 환경을 제공하기 위한 폴리곤 랩스의 노력을 보여줍니다.
이번 긴급 업그레이드 공지는 폴리곤 사용자 및 노드 운영자들이 최신 보안 표준을 준수하고 네트워크의 지속적인 운영을 보장하는 데 필수적입니다. 폴리곤 랩스는 앞으로도 지속적인 기술 개발과 보안 강화 노력을 통해 확장성 솔루션으로서의 입지를 더욱 공고히 할 것으로 기대됩니다.