Zcash의 가장 중요한 프라이버시 메커니즘 중 하나에 존재하던 이론적 결함이 개발자들을 일부가 ‘전시 모드’라고 표현한 스프린트로 내몰았다. 그 결과 탄생한 것이 Zcash Ironwood 업그레이드로, NU6.3 네트워크 업그레이드의 일부로 블록 높이 3,428,143에서 활성화된, 형식적으로 검증된 대체 보호 풀이며, 네트워크 역사상 가장 중대한 보안 개편 중 하나로 평가된다.
Summary
핵심 요약
- Zcash Ironwood 업그레이드는 NU6.3 하드 포크를 통해 블록 높이 3,428,143에서 활성화되었으며, 취약한 Orchard 보호 풀을 형식적으로 검증된 대체 풀로 교체했다.
- 연구원 Taylor Hornby는 5월 말 Orchard에서 이론적으로 탐지 불가능한 위조 ZEC 생성이 가능했을 수도 있는 “무한대(infinity)” 버그를 발견했다.
- 2,700개가 넘는 정리로 구성된 기계 검증 수학 증명은 Ironwood가 그 설계 가정하에서 탐지 불가능한 위조 ZEC를 생성할 수 없음을 확인한다.
- 현재까지 약 40,207 ZEC가 Ironwood로 이전되었으며, 약 360만 ZEC는 여전히 Orchard에 남아 있고, Orchard는 이제 출금 전용으로 제한된다.
- 이번 업그레이드로 Zebra가 필수 노드 구현체가 되었으며, 기존 zcashd 소프트웨어에 대한 지원은 종료된다.
Zcash가 결단을 내리게 된 배경
이야기는 5월 말로 거슬러 올라간다. Shielded Labs의 연구원 Taylor Hornby가 Zcash 커뮤니티가 이후 Orchard “무한대(infinity)” 버그라고 부르게 된 것을 발견했을 때다. 이는 Orchard의 영지식 회로 깊숙한 곳에 존재하던 결함으로, 공개적으로 탐지 가능한 흔적을 남기지 않고 위조 ZEC를 발행할 수 있는 이론적 위험을 내포하고 있었다. 이 취약점이 실제로 악용되었다는 증거는 나오지 않았지만, 그 가능성만으로도 충분히 치명적이었다. 공개 이후 ZEC 가격은 절반 이상 하락했다.
6월 초 긴급 패치가 배포되면서 Orchard는 일시적으로 비활성화되었고, 수정된 회로는 5일 이내에 NU6.2 하드 포크를 통해 도입되었다. 그러나 회로만 패치하는 것으로는 충분하지 않았다. Zcash의 프라이버시 모델 특성상, 개발자들은 이전 풀 내부에서 숨겨진 인플레이션이 결코 발생하지 않았음을 수학적으로 확실히 증명하는 것이 불가능하다고 설명했다. 이 제약으로 인해 단순한 수정이 아닌, 완전한 교체만이 검증 가능한 공급 무결성을 회복하는 유일한 방법이 되었다.
패치에서 완전 교체까지 60일
단순 패치 후 진행이 아니라, 과감히 폐기하고 재구축하기로 한 결정이 전략적 분수령이었다. Shielded Labs 공동 설립자 Zooko Wilcox가 처음 Orchard의 전면 교체를 제안했고, 이후 약 60일 동안 Shielded Labs, Zcash Open Development Lab(ZODL), Project Tachyon, Valar Group, Zcash Foundation에 걸친 협력 개발이 이어졌다.
ZODL 전무 이사 Josh Swihart는 교체 작업 기간 동안 자신의 조직 엔지니어들이 Zcash 프로토콜 및 지갑 저장소 전반에서 병합된 변경 사항의 82%를 기여했다고 밝혔다. Shielded Labs 전무 이사 Jason McGee는 인프라 운영자들(거래소, 지갑 제공자, 채굴 풀)이 Ironwood 준비와 동시에 zcashd에서 새로운 Z3 소프트웨어 스택으로 전환하고 있다는 점을 지적했지만, 결국 일정 연기는 없었다.
Ironwood가 Zcash 보안 모델을 바꾸는 방식
Ironwood는 단순히 Orchard를 패치한 버전이 아니다. Ironwood는 자체적인 노트 커밋먼트 트리(note commitment tree), 널리파이어 집합, 체인 가치 풀을 갖춘 완전히 별도의 회계 시스템을 도입하여, 어떤 노드든 새로운 보호 풀을 이전과 독립적으로 추적할 수 있게 한다.
이번 업그레이드는 또한 프로젝트에서 ‘회전문(turnstile)’으로 설명하는 공개 회계 체크포인트를 설치한다. 자금은 이 회전문을 통해 Orchard에서 빠져나올 수 있지만, 이 메커니즘은 수학적으로 이전 풀에 정당하게 유입된 가치보다 더 많은 가치가 빠져나오는 것을 방지한다. 의도된 효과는 명확하다. 취약성 창구 이전 또는 동안 Orchard 내부에서 가정상 발행되었을 수 있는 모든 위조 코인은 그 안에 영구히 갇혀 Ironwood의 공급 회계에 오염을 일으키지 못하게 된다.
양자 복구 가능 노트와 미래 대비
공급 안전장치와 함께, 새로운 풀은 ZIP 2005 양자 복구 가능 노트(quantum-recoverable notes)를 도입한다. 이 기능이 오늘 당장 Zcash 트랜잭션을 양자 안전하게 만들지는 않는다. 향후 별도의 복구 프로토콜을 설계하고 활성화해야 하기 때문이다. 그러나 장차 양자 컴퓨팅 발전으로 현재 보호 장치가 약화될 경우를 대비해, 그러한 메커니즘을 위한 암호학적 기반을 마련한다.
NU6.3 업그레이드는 또한 Zebra를 필수 노드 구현체로 지정함으로써, 네트워크 전반에서 기존 zcashd 소프트웨어에 대한 지원을 종료하는 오랜 계획된 전환을 마무리한다.
형식 검증: 2,700개 정리가 주는 보증
Ironwood 출시에서 가장 기술적으로 두드러지는 요소는 Zcash 개발자들과 Project Tachyon이 함께 완성한 기계 검증 수학 증명이다. Lean 프로그래밍 언어로 작성된 이 증명은 세 개의 연구·암호학 팀이 한 달 넘게 개발한 2,700개 이상의 정리로 구성되어 있으며, 명시된 설계 가정하에서 Ironwood가 탐지 불가능한 위조 ZEC를 생성할 수 없음을 형식적으로 검증한다.
이 증명은 잔고 무결성에 필요한 구성 요소들, 즉 Ironwood의 영지식 증명 시스템, 그 회로 규칙, 원장 수준 회계를 포괄한다. Zcash 공동 설립자 Sean Bowe는 이 노력을 다음과 같이 강하게 표현했다. “여러 팀이 협력한 이번 작업은 Zcash의 역사를 영원히 바꾸었습니다. 새로운 Ironwood 프로토콜에서 탐지 불가능한 위조 버그의 모든 근원을 제거했습니다.”
중요한 한계도 있다. 형식 검증은 잔고 무결성을 다루지만, Ironwood의 별도 프라이버시 보장까지 확장되지는 않는다. 공급 건전성과 거래 프라이버시는 서로 다른 속성이며, 이번 증명은 전자에만 초점을 맞춘다.
마이그레이션 현황과 Orchard의 향후
Orchard는 현재 출금 전용 단계(exit-only phase)에 들어갔다. 이 풀은 더 이상 새로운 보호 활동을 수용하지 않지만, 사용자는 여전히 자금을 자유롭게 출금할 수 있다. Zcash의 마이그레이션 추적기에 따르면, 활성화 이후 이미 약 40,207 ZEC가 Ironwood로 이동했다. 훨씬 큰 규모인 약 360만 ZEC는 여전히 Orchard 내부에 남아 마이그레이션을 기다리고 있으며, 한때 네트워크의 주요 프라이버시 풀 대부분을 차지하던 잔고를 나타낸다.
데이터 제공업체 The Block에 따르면, 전성기 당시 Orchard는 Zcash 보호 토큰 공급의 약 88%를 차지했으며, 나머지는 더 오래된 Sapling과 Sprout 풀이 담당했다. 이처럼 대규모 레거시 포지션 때문에 마이그레이션에는 시간이 걸릴 것이며, 전환 속도는 취약성 사태 이후 사용자가 Zcash 프라이버시 인프라에 어느 정도 신뢰를 회복했는지를 보여주는 가장 분명한 신호 중 하나가 될 가능성이 크다.
회전문이 설치되고 새로운 풀의 공급 모델을 형식 검증이 뒷받침하게 되면서, 엔지니어링 작업은 마무리되었다. 남은 질문은, 이미 이동한 4만 ZEC와 여전히 반대편에서 기다리는 360만 ZEC 사이의 격차를 Zcash 생태계 전체가 얼마나 빨리 좁혀 나갈 수 있느냐 하는 점이다.
FAQ
Zcash Ironwood 업그레이드란 무엇인가?
Ironwood는 취약한 Orchard 보호 풀을 형식적으로 검증된 보호 풀로 교체하여 공급 보안을 강화하고 프라이버시를 유지하는 Zcash 네트워크 업그레이드다. NU6.3 하드 포크의 일부로 블록 높이 3,428,143에서 활성화되었다.
왜 Ironwood 업그레이드가 필요했는가?
5월 말 Orchard 풀에서 발견된 “무한대(infinity)” 버그가 탐지 불가능한 위조 ZEC 생성의 이론적 위험을 야기했기 때문이다. Zcash의 프라이버시 모델 특성상 이 버그가 결코 악용되지 않았음을 증명하는 것이 불가능했기 때문에, 개발자들은 단순 패치에 의존하는 대신 Orchard를 완전히 교체하기로 했다.
Ironwood에서도 여전히 위조 ZEC가 생성될 수 있는가?
Project Tachyon과 Zcash 개발자들이 완성한, Lean으로 작성된 2,700개 이상의 정리로 구성된 기계 검증 수학 증명에 따르면, Ironwood는 그 설계 가정하에서 탐지 불가능한 위조 ZEC를 생성할 수 없다. 이 증명은 잔고 무결성을 다루지만, Ironwood의 별도 프라이버시 보장까지 확장되지는 않는다.
여전히 Orchard 풀에 남아 있는 자금은 어떻게 되는가?
Orchard는 출금 전용 단계에 들어갔다. 사용자는 여전히 그 안에서 자금을 출금할 수 있지만, 풀은 더 이상 새로운 보호 트랜잭션을 수용하지 않는다. 약 360만 ZEC가 Orchard에 남아 Ironwood로의 마이그레이션을 기다리고 있으며, 약 40,207 ZEC는 이미 이동을 마쳤다.
{“@context”:”https://schema.org”,”@type”:”FAQPage”,”mainEntity”:[{“@type”:”Question”,”name”:”Zcash Ironwood 업그레이드란 무엇인가?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Ironwood는 취약한 Orchard 보호 풀을 형식적으로 검증된 보호 풀로 교체하여 공급 보안을 강화하고 프라이버시를 유지하는 Zcash 네트워크 업그레이드다. NU6.3 하드 포크의 일부로 블록 높이 3,428,143에서 활성화되었다.”}},{“@type”:”Question”,”name”:”왜 Ironwood 업그레이드가 필요했는가?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”5월 말 Orchard 풀에서 발견된 “무한대(infinity)” 버그가 탐지 불가능한 위조 ZEC 생성의 이론적 위험을 야기했기 때문이다. Zcash의 프라이버시 모델 특성상 이 버그가 결코 악용되지 않았음을 증명하는 것이 불가능했기 때문에, 개발자들은 단순 패치에 의존하는 대신 Orchard를 완전히 교체하기로 했다.”}},{“@type”:”Question”,”name”:”Ironwood에서도 여전히 위조 ZEC가 생성될 수 있는가?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Project Tachyon과 Zcash 개발자들이 완성한, Lean으로 작성된 2,700개 이상의 정리로 구성된 기계 검증 수학 증명에 따르면, Ironwood는 그 설계 가정하에서 탐지 불가능한 위조 ZEC를 생성할 수 없다. 이 증명은 잔고 무결성을 다루지만, Ironwood의 별도 프라이버시 보장까지 확장되지는 않는다.”}},{“@type”:”Question”,”name”:”여전히 Orchard 풀에 남아 있는 자금은 어떻게 되는가?”,”acceptedAnswer”:{“@type”:”Answer”,”text”:”Orchard는 출금 전용 단계에 들어갔다. 사용자는 여전히 그 안에서 자금을 출금할 수 있지만, 풀은 더 이상 새로운 보호 트랜잭션을 수용하지 않는다. 약 360만 ZEC가 Orchard에 남아 Ironwood로의 마이그레이션을 기다리고 있으며, 약 40,207 ZEC는 이미 이동을 마쳤다.”}}]}
이 기사는 인공지능의 도움을 받아 제작되었으며, 편집팀의 검수를 거쳤습니다.

