Shielded ZEC를 위한 FROST & 임계값 커스터디
FROST 프로토콜의 전체 암호학적 세부 사항은 FROST 기술 페이지를 참조하세요.
FROST 임계값 커스터디는 Zcash 관련 대화에서 계속 언급되는 주제입니다 — ZecHub Hackathon 2026에서 가장 주목받은 트랙이기도 했습니다 — 하지만 이 개념이 항상 쉬운 언어로 설명되는 것은 아닙니다. 이 페이지에서는 그것이 무엇을 의미하는지, 실제로 언제 필요한지, 어떤 트레이드오프가 있는지, 그리고 현재 어떤 도구들이 이를 지원하는지를 다룹니다.
요약
- FROST는 여러 키 보유자가 어느 한 사람도 전체 개인 키를 보유하지 않은 상태로 shielded Zcash 주소를 공동으로 제어할 수 있게 해줍니다.
- t-of-n 임계값이란 다음을 의미합니다: 자금을 사용하려면 t명이 공동 서명해야 하며, t-1명 이하만으로는 단독으로 자금을 이동할 수 없습니다.
- 트랜잭션은 일반적인 shielded 트랜잭션과 동일하게 보입니다 — 임계값 서명이 사용되었다는 사실을 드러내는 온체인 흔적이 없습니다.
- 이는 transparent 멀티시그(온체인에서 공개되며 Zcash가 오랫동안 지원해온 방식)와 근본적으로 다릅니다 — FROST는 shielded 풀 내부에서 작동합니다.
- DAO, 거래소, 커스터디 서비스, 공동 저축, 팀 재무 등 — 키 하나에 장애가 생기는 단일 실패 지점을 용납할 수 없는 모든 곳에 유용합니다.
쉬운 말로 FROST란 무엇인가요?
세 명의 비즈니스 파트너가 각각 열쇠 조각 하나씩을 들고 있다고 상상해보세요. 이들이 공동 지갑에서 자금을 쓰려면 세 명 중 아무 두 명이 동의하고 공동 서명해야 합니다. 이렇게 만들어진 트랜잭션은 일반 개인 송금과 완전히 똑같이 보이므로, 블록체인을 보는 누구도 여러 사람이 관여했다는 사실을 알아낼 수 없습니다.
FROST(Flexible Round-Optimized Schnorr Threshold Signatures)는 shielded Zcash에서 이것을 가능하게 하는 암호학적 프로토콜입니다. 이 프로토콜은 Chelsea Komlo(University of Waterloo / Zcash Foundation)와 Ian Goldberg가 만들었습니다.
핵심 특성은 다음과 같습니다:
- 임계값: 서명자는 t-of-n만 참여하면 됩니다(예: 2-of-3, 3-of-5)
- Shielded: Orchard 프라이버시 풀 내부에서 작동하므로 금액, 발신자, 수신자가 비공개로 유지됩니다
- 구별 불가: 최종 서명은 다른 모든 Zcash shielded 트랜잭션과 똑같이 보입니다
- 비수탁형: 어느 한 당사자도 전체 키를 보유하지 않습니다 — 조정자조차도 마찬가지입니다
언제 임계값 커스터디를 사용해야 하나요?
임계값 커스터디는 키 하나를 잃거나 사람 한 명이 빠진다고 해서 곧바로 자금을 잃어서는 안 되는 경우에 적합합니다.
| 상황 | 임계값 커스터디가 도움이 되는 이유 |
|---|
| DAO 또는 팀 재무 | 단일 관리자가 독단적으로 자금을 빼돌릴 수 없고, 합의가 필요합니다 |
| 거래소 또는 커스터디 업체 | 보안 구역 또는 직원들 사이에 키 리스크를 분산합니다 |
| 개인 콜드 스토리지(신뢰할 수 있는 가족과 함께) | 본인 + 가족 2명 사이의 2-of-3 — 사망하거나 접근 권한을 잃어도 자금이 사라지지 않습니다 |
| 에스크로 | 구매자, 판매자, 중재자가 각각 지분 하나를 보유하며, 두 명이 동의하면 자금이 풀립니다 |
| 고액 보조금 집행 | ZCG 방식처럼, 지급 전에 여러 독립 서명자의 승인이 필요합니다 |
| 개발자 키 관리 | 내부자 위협을 방지합니다 — 단일 엔지니어가 프로토콜 자금을 빼돌릴 수 없습니다 |
반대로, 개인이 혼자 제어하는 개인 지갑, 소액 자금, 또는 추가적인 조정 부담이 리스크 감소 효과보다 큰 상황이라면 임계값 커스터디가 필요하지 않을 가능성이 높습니다.
transparent 멀티시그와는 어떻게 다른가요?
Zcash는 오랫동안 transparent 멀티시그를 지원해왔습니다 — t-address에서 자금을 쓰기 위해 여러 키가 필요한 방식입니다. 하지만 transparent 멀티시그는 프라이버시 비용이 큽니다: 멀티시그 구조, 모든 공개 키, 모든 서명자가 블록체인에 그대로 드러납니다.
FROST는 shielded 풀 내부에서 작동함으로써 이 문제를 해결합니다:
| Transparent multisig | FROST threshold (shielded) |
|---|
| 풀 | Transparent (공개) | Orchard (shielded) |
| 온체인에서 서명자 식별 가능 여부 | 예 — 모든 공개 키가 노출됨 | 아니요 — 단일 서명자 지출과 구별 불가 |
| 금액 공개 여부 | 예 | 아니요 |
| 필요한 조정 방식 | 온체인 스크립트 | 오프체인 통신 라운드 |
| 프라이버시 | 없음 | 완전한 shielded 프라이버시 |
트레이드오프와 한계
FROST는 강력하지만, 사용하기 전에 반드시 이해해야 할 실제 트레이드오프가 있습니다:
조정 부담
서명 라운드를 완료하려면 서명자들이 동시에(또는 거의 동시에) 온라인 상태여야 합니다. 필요한 t명의 서명자가 여러 시간대에 흩어져 있거나 연결이 불안정하다면, 자금 사용에는 단독 지갑에는 없는 조정이 필요합니다.
정족수가 없으면 서명 불가
충분한 수의 키 보유자가 부재중이거나(아프거나, 이동 중이거나, 응답하지 않는 경우) 자금은 일시적으로 사용할 수 없게 됩니다. 임계값과 지분 수를 신중하게 선택하세요 — 2-of-3는 2-of-2보다 복원력이 높습니다.
키 생성 세리머니
FROST를 설정하려면 모든 n명의 참여자가 함께 온라인에 접속한 상태에서 분산 키 생성(DKG) 세리머니를 수행해야 합니다. 이것은 일회성 이벤트이지만, 매우 신중하게 진행해야 합니다 — DKG 중 참여자들이 손상되면 보안도 약화됩니다.
아직 성숙해지는 중인 툴링
shielded Zcash용 FROST는 비교적 새로운 기술입니다. IETF 표준(draft-irtf-cfrg-frost)은 성숙한 상태이지만, 지갑 통합은 아직 제한적입니다. 일반적인 단일 키 지갑과 비교하면 다소 거친 부분이 있을 수 있습니다.
복구 복잡성
조각 하나를 잃는 것이 곧 끝은 아닙니다(그게 바로 임계값의 목적입니다). 하지만 복구 계획은 반드시 사전에 문서화되어 있어야 합니다. 백업은 누가 보관하나요? 조각 두 개를 동시에 잃으면 어떻게 되나요?
Zcash에서 누가 FROST를 구축하고 있나요?
Zcash Foundation — frost.zfnd.org
Zcash Foundation은 작동하는 FROST 구현체와 데모 사이트를 이미 배포했습니다. 이것은 테스트와 개발에 사용되는 레퍼런스 구현입니다.
Ywallet FROST 데모
Ywallet에는 초기 FROST 데모 통합이 있었으며, Ywallet FROST 데모 가이드에서 이를 단계별로 안내합니다. Ywallet은 더 이상 유지 관리되지 않으며 Ironwood에 맞춰 업데이트되지 않을 예정이므로, 이 가이드는 오늘 실행할 내용이 아니라 배경 자료로 읽으세요. 같은 개발자가 만든 Zkool은 현재 유지 관리되는 후속 제품이며, 기능 중 하나로 FROST 멀티시그를 제공합니다.
ZecHub Hackathon 2026 — FROST 트랙 프로젝트
FROST 트랙은 ZecHub Hackathon 2026에서 가장 경쟁이 치열한 트랙이었습니다. 주목할 만한 프로젝트는 다음과 같습니다:
- ZecVault — 메인넷에서 정산되는 2-of-3 shielded 에스크로(FROST 임계값)
- Steward — 복구 중심 UX를 갖춘 shielded Zcash용 임계값 커스터디
Coinbase
Coinbase는 자사의 임계값 서명 시스템(비트코인용)을 위해 프로덕션급 FROST 구현을 구축했으며, 사전처리 단계를 제거하고 집계자 역할을 모든 참여자에게 분산하는 수정도 적용했습니다. 이들의 경험은 프로덕션 규모에서 FROST의 보안 모델을 입증합니다.
서명 세션은 어떻게 작동하나요? (간단 버전)
-
설정(1회): 모든 n명의 참여자가 분산 키 생성(DKG) 세리머니를 실행합니다. 각자 개인 조각을 하나씩 받고, 공유 공개 키가 도출됩니다. 어느 누구도 전체 개인 키를 알지 못합니다.
-
서명자 조정: 자금 사용이 필요할 때, 조정자(서명자 중 한 명일 수도 있음)가 서명 의사가 있는 t명의 참여자로부터 커밋먼트를 수집합니다.
-
1라운드: 각 참여 서명자는 nonce를 생성하고 커밋먼트(공개 가능하며 민감하지 않음)를 브로드캐스트합니다.
-
2라운드: 각 참여 서명자는 자신의 개인 조각을 사용해 부분 서명을 계산하고 이를 브로드캐스트합니다.
-
집계: 조정자가 t개의 부분 서명을 하나의 최종 Schnorr 서명으로 결합합니다 — 온체인에서는 단일 당사자 서명과 구별할 수 없습니다.
-
브로드캐스트: 트랜잭션은 일반적인 방식으로 Zcash 네트워크에 브로드캐스트됩니다.
어떤 서명자가 잘못된 부분 서명을 보내면, 프로토콜이 해당 서명자를 식별하고 중단합니다(이후 세션에서는 제외됩니다). 조정은 오프체인에서 이루어지며 — 블록체인에는 최종 트랜잭션만 보입니다.
임계값 매개변수 선택하기
| Setup | 복원력 | 리스크 |
|---|
| 1-of-1 | 복원력 없음 — 단일 실패 지점 | 키 분실 = 영구 손실 |
| 2-of-2 | 두 서명자가 모두 필요 — 장애 허용 없음 | 한 명만 부재해도 자금 동결 |
| 2-of-3 | 조각 하나를 잃거나 사용할 수 없어도 됨 | 3-of-5보다 보안 여유가 낮음 |
| 3-of-5 | 조각 두 개를 잃어도 됨; 강한 보안 | 더 큰 조정 부담 |
| 3-of-7 | 기관급; 두 번의 실패를 허용 | 높은 조정 비용 |
대부분의 팀에게 실용적인 출발점은 다음과 같습니다: 2-of-3(복원력 높고 조정 최소) 또는 3-of-5(기관용, 더 높은 보안).
관련 페이지
- FROST — 기술 심층 해설 — 프로토콜의 암호학적 세부 사항(DKG, 서명 라운드, 보안 증명)
- Ywallet FROST 데모 가이드 — 참고: Ywallet는 더 이상 유지 관리되지 않습니다
- Viewing Keys — shielded 주소에 대한 읽기 전용 접근(임계값 커스터디와 상호보완적)
- Zcash Shielded Assets — FROST는 ZSA 발행을 위한 핵심 인프라이기도 합니다
리소스