Cardano는 2017년 메인넷 출시 이후 최악의 기술적 장애를 겪었다. 11월 21일 비정상 트랜잭션이 14시간 동안 체인 분열을 일으켜, 140억 달러 규모 블록체인이 경쟁하는 두 포크로 갈라졌고, 이것이 의도적인 공격인지 잘못된 테스트인지에 대한 격렬한 논쟁을 촉발했다.
개발자들은 이번 사건을 “Poison Piggy”라고 명명했으며, 이는 카르다노 노드 소프트웨어에 3년간 잠복해 있던 버그를 드러내 두 개의 상호 호환되지 않는 블록체인 뷰를 만들어냈다.
창립자 찰스 호스킨슨은 이 분열이 FBI 개입이 필요할 정도의 “사전 계획된 공격”이라고 주장한 반면, “Homer J”로 알려진 한 개발자는 공개적으로 책임을 인정하며, 테스트넷 이상 현상을 재현하려다 발생한 “부주의한 행동”이었다고 말했다.
포크는 어떻게 발생했나
Intersect의 사고 보고서에 따르면, 체인 분열은 11월 20일 카르다노 프리뷰 테스트넷에서 처음 나타난 시리얼라이제이션 버그에서 비롯됐다. 누군가 해시 길이가 과도하게 긴 비정상 위임 인증서를 제출했는데, 사실상 호스킨슨의 개인 스테이크 풀인 “RATS” 대신 “RATSRATS”에 위임한 셈이 됐다.
구버전 노드는 이 잘못된 해시를 올바르게 거부했지만, 2024년 11월 업데이트된 코드를 실행하던 노드는 이를 잘라내 유효한 것으로 처리했다.
이 버전 불일치는 블록체인 개발자 파이 래닝햄(Pi Lanningham)이 보고서에서 설명했듯, 두 개의 상호 호환되지 않는 체인을 만들었다. 더 엄격한 검증 코드를 구동하는 “치킨 체인”과, 비정상 트랜잭션을 받아들인 “피그 체인”이다. 11월 21일 오전 3시 2분(EST)경, 거의 동일한 비정상 위임이 메인넷에 제출되면서 네트워크가 갈라졌다.
서비스 저하와 영향
래닝햄의 분석에 따르면 피해는 상당했지만 제한적이었다. 14시간 동안 피그 체인은 846개 블록을 생성한 반면, 치킨 체인은 약 1만 3,900개 블록을 생성했다. 견고한 인프라를 통한 트랜잭션 포함 속도는 급격히 느려졌고, 지연은 약 400초에 달했으며, 최악의 경우 블록 생성 간격은 약 16분까지 늘어났다.
관측된 1만 4,383개의 트랜잭션 중 479개(약 3.3%)는 최종 정사 체인에 편입되지 않고 폐기된 피그 체인에만 나타났다. 이들 대부분은 재전송 시 유효 기간 만료나 입력 충돌 등으로 인해 결국 무효로 판정됐다. 블록 탐색기들은 분열된 네트워크를 해석하는 데 어려움을 겪었고, 일부는 멈추거나 상충되는 데이터를 표시하기도 했다.
래닝햄은 “이는 사용자에게 심각한 서비스 품질 저하를 의미하지만, 고가용성 서비스 관점에서 예상 가능한 범위 내”라고 적었다. 그는 서비스 품질이 떨어졌지만 자금은 안전하게 유지되었고, 위기 내내 네트워크가 계속 진행되고 있었다고 강조했다.
공격인가, 사고인가?
이번 사건은 의도성 여부를 두고 격렬한 논쟁을 불러일으켰다. 호스킨슨은 이를 수개월 동안 네트워크를 해치려 방도를 찾던 “불만을 품은 스테이크 풀 운영자”의 표적 공격으로 규정했다. 그는 “표적 공격이었다. 사전에 계획된 일이었고, 이를 수행하는 방법을 알아내는 데 몇 시간이 들었을 것이다… 악의적인 행위였다”고 말하며 FBI에 연락했다고 덧붙였다.
그러나 해당 트랜잭션을 보낸 당사자는 소셜 미디어에서 “Homer J”라는 이름으로 전혀 다른 이야기를 내놓았다. “카르다노 커뮤니티 여러분, 제 행동의 영향에 비하면 이 말로 충분치 않다는 걸 알지만 죄송합니다. 어제 저녁 제 부주의한 행동으로 네트워크를 위험에 빠뜨린 사람이 바로 저입니다. ‘잘못된 트랜잭션을 재현할 수 있을까’ 하는 개인적 도전 과제로 시작했는데, 그걸 메인넷에 배포하는 어리석은 짓을 하고 말았습니다.”
같은 이상 현상이 불과 24시간 전 테스트넷에서 이미 나타났기 때문에, 메인넷 실행 전 익스플로잇이 미리 시험된 것 아니냐는 의혹도 제기됐다.
합의를 통한 네트워크 복구
심각한 사건이었음에도, 카르다노의 대응은 탈중앙화 거버넌스 구조를 잘 보여주었다. 테스트넷 사고 덕분에 이미 패치된 노드 버전이 준비되어 있었다. 밤사이 IOG(Input Output Global), 카르다노 재단, 에무르고, Intersect, 거래소 및 스테이크 풀 운영자들은 긴급 콜을 통해 패치 버전으로 업그레이드하고 보다 엄격한 치킨 체인을 따르기로 조율했다.
프로토콜 차원의 롤백이나 중앙화된 “재시작”은 없었다. 스테이크가 업그레이드된 노드로 이동하면서 피그 체인의 블록 생성 속도는 느려지고, 치킨 체인은 빨라졌다. 건전한 포크가 오염된 포크를 추월하자, 우로보로스(Ouroboros)의 확률적 파이널리티 특성에 따라 노드들은 자동으로 더 길고 밀도 높은 체인으로 전환했다.
래닝햄은 “이는 나카모토 합의가 의도대로 작동해 네트워크를 하나의 정사(history)로 수렴시켰다는 구체적인 증거”라고 주장했다. 호스킨슨은 더 나아가, 이와 같은 사고가 “다른 체인들은 죽였을 것”이지만 카르다노의 설계 덕분에 충분한 복구 시간을 확보할 수 있었다고 말했다.
교훈과 향후 강화 과제
호스킨슨과 래닝햄 모두 이번 사건이 심각한 취약점을 드러냈음을 인정했다. 래닝햄은 “버그가 애초에 등장했다는 사실 자체가 테스트 엄격성의 실패”라고 인정했다. cardano-db-sync에 대한 의존성 탓에, 해당 컴포넌트가 비정상 트랜잭션에서 크래시했을 때 생태계 전체가 사실상 “눈을 가린 채” 운영되었다. 많은 스테이크 풀 운영자들은 포크 선택을 독자적으로 판단하지 않고, 창립 조직들의 권고를 그대로 따르며 업그레이드했다.
사후 로드맵에는 더 강력한 퍼징(fuzzing)과 명세 기반 테스트, 지갑과 거래소가 합의 건강 상태를 기반으로 안전장치를 구현할 수 있도록 하는 보다 풍부한 노드-클라이언트 프로토콜, 모니터링 인프라의 다양화, 그리고 우로보로스가 스트레스 상황에서 어떻게 동작하는지에 대한 운영자 교육 강화 등이 포함되었다.
ADA 가격은 사고 기간 동안 약 6% 하락해 전체 암호화폐 시장 회복세를 하회했고, 현재 약 0.41달러 선에서 거래되고 있다. 사고의 심각성에 비해 하락폭이 비교적 제한적이었던 점은, 시장이 이번 사건을 근본적인 실패가 아니라 네트워크 회복력에 대한 시험으로 본 것으로 해석된다. 카르다노는 궁극적으로 이 시험을 통과했지만, 동시에 긴급히 개선해야 할 영역을 적나라하게 드러낸 셈이다.
Read next: Cardano Whales Accumulate $204 Million in Four Days Despite 30% Price Decline

