Loading market data...

Zcash, 무한대의 위조 ZEC 생성 허용하는 Orchard 보호 풀의 심각한 버그 수정

Zcash, 무한대의 위조 ZEC 생성 허용하는 Orchard 보호 풀의 심각한 버그 수정

Zcash 개발자들은 최근 Orchard 보호 풀에서 발견된 공격자가 무한대의 위조 ZEC를 생성할 수 있는 심각한 취약점을 수정하기 위해 긴급 패치를 신속히 배포했습니다. 보안 연구원 Taylor Hornby가 5월 29일 AI 지원 형식적 방법을 사용해 이 버그를 발견했으며, 이는 단 4일 만에 하드 포크로 종료된 비상 대응 절차를 촉발했습니다. 그러나 Zcash의 개인 정보 보호 아키텍처로 인해 공급 감사가 불가능하기 때문에, 해당 취약점이 실제로 악용되었는지 여부를 증명할 수 없습니다.

버그 및 발견 과정

결함은 Orchard를 뒷받침하는 제로 지식 증명 시스템의 일부인 halo2_gadgets 크레이트 내 타원 곡선 곱셈 가젯의 제약 조건이 부족한 요소에 존재했습니다. 이 문제는 2022년 5월 Orchard 메인넷 활성화 이후부터 약 4년 동안 잠복해 있었으며, 이를 악용할 수 있는 방법을 아는 사람은 이론적으로 체인 상에 흔적을 남기지 않고 ZEC를 무한정 발행할 수 있었습니다.

Hornby는 암호 코드에 특화된 형식적 검증 도구를 활용해 이 문제를 발견했습니다. 이 취약점은 v0.5.0 이전 모든 halo2_gadgets 버전, v0.14.0 이전 orchard, v5.0.0부터 v6.12.3까지의 zcashd 버전에 영향을 미쳤습니다.

긴급 패치 배포

공개 직후 개발팀은 Zebra 4.5.3을 통해 오치드 거래를 일시적으로 완전히 비활성화하는 소프트 포크를 신속히 진행했습니다. 영구적 수정은 6월 2일 블록 3,364,600에서 활성화된 NU6.2 하드 포크(Zebra 5.0)를 통해 이뤄졌으며, 회로 자체가 수정되었습니다. 영향을 받은 노드 사용자는 올바른 체인을 유지하기 위해 즉시 업그레이드가 필요했습니다.

Zcash 개발에 기여하는 Shielded Labs는 성명서에서 이전 악용 가능성이 낮다고 판단하지만, 확실한 입증이 불가능하다고 밝혔습니다. 이 불확실성은 시스템 설계 자체에 내재되어 있습니다. 보호 풀은 거래 금액과 잔고를 숨겨 총 공급량을 암호학적으로 감사할 수 없게 되어 있습니다.

해답 없는 질문

리플 CTO 데이비드 슈와츠는 실제 위험성에 대해 의견을 밝혔습니다. 그는 버그가 발동되지 않았다는 가정 하에 코인을 이동하지 않는 수동 보유자는 안전할 것이라고 설명했으나, 이 조건 자체를 검증할 방법은 없다고 강조했습니다. 확실성을 입증하는 유일한 방법은 Zcash가 보호하기 위해 설계된 익명성 장치를 훼손하는 것뿐입니다.

프라이버시 코인의 핵심 기능이 가장 큰 약점이 되는 이와 같은 상황은 드뭅니다. 공격자가 위조 ZEC를 생성해 유통시켰다면, 이를 확인할 방법이 전혀 없습니다. 공급량이 늘어났을지라도 아무도 알 수 없는 상황인 것입니다.

시장 반응

ZEC는 답을 기다리지 않았습니다. 5월 29일 공개 직후 단일 세션에서 가격이 30% 이상 급락하며 한 달 이상 만에 최저점을 기록했습니다. 이 매도세는 단순히 버그 자체보다도 그 잠재적 영향에 대한 불확실성을 반영한 결과였습니다. 자체 공급을 검증할 수 없는 프라이버시 코인은 단기적으로는 판매하기 어려운 상황입니다.

현재 패치는 성공적으로 적용되었으며, 오치드 거래도 재개되었습니다. 그러나 남은 질문 — 이 버그가 실제로 악용된 적이 있는가? — 는 Zcash의 아키텍처 특성상 누구도 답할 수 없을 가능성이 높습니다.