저자: 조나스 닉
출처: https://blog.blockstream.com/the-key-to-frost-what-is-distributed-key-generation/
저자: 조나스 닉, 키아라 비커스, 팀 러핑
원문은 2024년 8월에 발표되었습니다.
비트코인 커뮤니티의 대부분 사람들에게 "멀티시그(Multisig)"는 익숙한 개념입니다. 멀티시그 거래는 여러 참여자의 승인을 받아야 유효합니다. 하지만 " n-of-n " 멀티시그와 " t-of-n " 임계값 서명은 구분해야 합니다. 전자는 n명의 참여자 모두의 승인이 필요한 반면, 후자는 t명 (더 적은 수의 참여자)의 승인만으로도 거래가 승인되는 것을 의미합니다. 멀티시그, MuSig-DN , MuSig2 와 같은 멀티시그 방식과 Komlo와 Goldberg가 제안한 FROST 와 같은 임계값 서명 방식을 사용하면 거래 비용을 줄이고 멀티시그 지갑의 개인정보 보호를 강화할 수 있습니다.
현재까지 FROST는 비트코인 커뮤니티 내 실험 환경에서만 사용되어 왔습니다. 이 글에서는 이러한 상황의 이유와 최근 공개된 분산 키 생성 프로토콜 "ChillDKG"의 BIP 초안을 통해 FROST를 비트코인의 실제 운영 환경에 도입하기 위한 노력에 대해 설명합니다.
먼저, FROST 임계값 서명 방식을 사용하는 장점은 무엇일까요?
MuSig2와 FROST를 사용하면 개인 정보 보호 및 효율성 측면에서 이점을 얻을 수 있습니다.
MuSig2나 FROST 같은 방식을 사용하면 서명 과정에 여러 참가자가 참여하더라도 결과적으로 하나의 서명만 생성됩니다.
이는 참여자들에게 개인정보 보호라는 이점을 제공할 뿐만 아니라(최종 거래는 일반적인 단일 서명 지갑 거래와 똑같이 보입니다), 거래 과정을 간소화하고 거래 규모를 줄여 거래 수수료를 낮추는 효과도 있습니다. 모든 면에서 좋은 점이죠!
영상: 블록스트림 리서치 디렉터인 앤드류 포엘스트라가 MuSig2 프로토콜과 그 장점에 대해 설명합니다.
MuSig2와 FROST는 비트코인 다중 서명 지갑 사용자의 거래 비용을 일반 단일 서명 지갑과 동일한 수준으로 낮춰줍니다. 이러한 비용 절감 효과는 Liquid 나 Fedimint 와 같은 컨소시엄 사이드체인처럼 서명자가 대량 거래 빈도가 높은 시스템에 매우 중요합니다. 기존의 다중 서명 스크립트는 식별 가능한 흔적을 남겨 블록체인 관찰자가 다중 서명 거래를 식별할 수 있게 하지만, FROST 기반 지갑에서 발생하는 거래는 온체인 일반 단일 서명 지갑에서 발생하는 거래와 구별할 수 없습니다. 따라서 기존의 다중 서명 지갑보다 향상된 개인정보 보호 기능을 제공합니다.
MuSig2는 비트코인 업계에서 널리 채택되었지만, FROST는 (적어도 우리가 아는 한) 같은 수준의 채택률을 달성하지 못했습니다. Zcash 재단의 ZF FROST , Lloyd Fournier의 secp256kfun , 그리고 Jesse Posner와 Blockstream Research의 실험적 구현인 libsecp256k1-zkp 등 여러 FROST 구현체가 존재한다는 점을 고려하면 이는 다소 의외입니다. FROST는 IETF(인터넷 엔지니어링 태스크 포스) 사양인 RFC 9591 까지 가지고 있습니다(다만, 이 사양은 Taproot 키 조정 및 x-only 공개 키 형식 때문에 비트코인과 호환되지 않습니다). 한 가지 타당한 설명은 FROST의 키 생성 과정이 MuSig2보다 훨씬 더 복잡하다는 것입니다.
풀리지 않은 미스터리: FROST는 아직 프로덕션 환경에 도입되지 않았습니다.
FROST는 기본적으로 키 생성과 서명이라는 두 부분으로 구성됩니다. 서명 과정은 MuSig2와 매우 유사하지만, 키 생성 과정은 훨씬 더 복잡합니다. FROST의 키 생성 과정은 신뢰할 수 있는 방식 또는 분산 방식으로 구현할 수 있습니다.
- "신뢰할 수 있는 키 생성" 프로세스에서 "신뢰할 수 있는 프로세서"가 키를 생성한 다음 서명자에게 키 조각을 배포합니다. 이 프로세서는 단일 장애 지점을 나타냅니다. 만약 이 프로세서가 악의적이거나 해킹당한 경우 FROST 지갑이 손상될 리스크 있습니다.
- 분산 키 생성(DKG)에서는 신뢰할 수 있는 프로세서가 더 이상 필요하지 않지만, 다음과 같은 고유한 문제점이 있습니다. 모든 참여자는 상호 작용적인 키 생성 "의식"에 참여해야 하며, 이 의식이 완료된 후에야 서명을 시작할 수 있습니다.
영상: 앤드류 포엘스트라가 FROST가 임계점 서명을 제공하는 방식에 대해 논의합니다.
핵심 과제: 합의 도출
일반적으로 DKG(동영상 키 생성)는 참여자 간에 비밀 값 조각을 각 서명자에게 배포하기 위한 안전한(즉, 인증되고 암호화된) 통신 채널과 안전한 합의 메커니즘을 필요로 합니다. 안전한 합의 메커니즘의 목적은 모든 참여자가 DKG의 결과에 대해 최종적으로 동의하도록 보장하는 것입니다. 여기에는 매개변수(예: 생성된 임계값 공개 키)뿐만 아니라 오류 발생 여부 또는 참여자의 부정행위로 인해 의식이 중단되었는지 여부까지 포함됩니다.
하지만 IETF 명세는 DKG를 완전히 무시하고 있으며, 앞서 언급한 FROST 구현체들 또한 안전한 동의 메커니즘을 구현하지 않아 이 작업을 코드베이스 사용자에게 떠넘기고 있습니다. 그러나 동의 메커니즘을 구현하는 것은 간단한 일이 아닙니다. 단순한 에코 브로드캐스트 방식부터 완전한 비잔틴 합의 프로토콜에 이르기까지 각기 다른 선호도를 가진 수많은 프로토콜이 존재하며, 보안 및 사용성 보장 수준 또한 크게 다릅니다(물론 미묘한 차이도 있습니다).
이러한 동의 절차의 복잡성에도 불구하고, DKG가 의존하는 동의 메커니즘에 대한 구체적인 선호 사항이 엔지니어들에게 명확하게 전달되지 않아 혼란을 야기하는 경우가 많습니다.
ChillDKG: FROST용으로 설계된 독립형 DKG
이러한 장애물을 극복하기 위해, FROST 사용에 최적화된 새로운 "즉시 사용 가능한" DKG 프로토콜인 "ChillDKG"를 제안합니다( 초안 ). 본 논문에서는 BIP 초안 형태로 자세한 설명을 제공하며, 이 BIP는 구현자를 위한 지침 역할을 하도록 설계되었습니다.
ChillDKG의 핵심 특징은 독립성입니다. 안전한 채널 구축과 안전한 동의는 프로토콜 자체 내에서 완료되므로, 모든 복잡한 과정이 숨겨지고 간단하고 사용하기 쉬운 API만 제공됩니다. 따라서 ChillDKG는 실제 사용에 적합하며, 각 서명자가 단일 공개 키로 식별되는 공동 서명자 집합을 알고 있다는 사실 외에는 어떠한 초기 설정 가정도 필요로 하지 않습니다. ChillDKG는 "SimplPedPop" 프로토콜을 기반으로 하며, Blockstream Research는 해당 프로토콜의 설계 및 형식적 보안 증명에 참여했습니다. 자세한 내용은 CRYPTO 2023에서 발표된 Chu, Gerhart, Ruffing(Blockstream Research 소속), Schröder의 논문 "Practical Schnorr Threshold Signatures Without Algebraic Group Patterns"에 설명되어 있습니다.
ChillDKG의 다른 설계 목표는 다음과 같습니다.
- 폭넓은 적용성 : ChillDKG는 서명 장치가 한 사람에 의해 모두 소유되고 서로 연결된 상황부터, 여러 명의 소유자가 서로 다른 위치에 거주하며 각자 서명 장치를 관리하는 상황까지 다양한 실제 시나리오를 지원합니다.
- 간편한 백업 : ChillDKG는 기기 시드 단어와 공개 데이터(모든 DKG 참여자에게 동일)만으로 지갑을 복구할 수 있도록 지원하며, 다른 서명자의 비밀 값을 안전한 위치에 백업할 필요가 없습니다. 따라서 공개 백업 데이터를 획득한 공격자도 서명 비밀 키를 얻을 수 없으며, 사용자가 백업을 분실하더라도 다른 정직한 서명자의 데이터를 통해 복구할 수 있습니다.
ChillDKG BIP는 현재 초안 단계이며, 설계 선택 및 구현 세부 사항에 대한 의견을 수렴하고 있습니다. 사양은 대부분 완성되었지만 테스트 벡터가 부족하며, "인식 가능한 종료"와 같은 추가 기능 도입도 고려 중입니다. 최종 확정되면 이 BIP는 FROST 서명용으로 작성된 BIP와 결합하여 완전한 FROST 프로토콜을 구현할 수 있습니다.
(위에)



