멀티시그는 비트코인에서 대부분에게 익숙한 개념입니다: 멀티시그 거래는 실행되기 전에 여러 당사자의 승인이 필요합니다. 우리는 관련 당사자의 수가 n이고 모두가 승인해야 하는 “n-of-n” 다중 서명과, 더 적은 수의 참여자 t만 승인하면 되는 “t-of-n” 임계값 서명을 구분합니다. MuSig, MuSig-DN 및 MuSig2와 같은 다중 서명을 위한 암호화 방식과 Komlo와 Goldberg의 임계값 서명을 위한 FROST는 거래 비용을 줄이고 멀티시그 지갑의 프라이버시를 개선할 수 있습니다.
현재까지 비트코인 커뮤니티에서 FROST는 실험적 구현에서만 사용되었습니다. 이 게시물에서는 그 이유와 ChillDKG 분산 키 생성 프로토콜에 대한 BIP 초안의 최근 발표를 통해 비트코인 생산 환경에서 FROST를 발전시키려는 우리의 목표를 설명합니다.
먼저, FROST의 이점은 무엇인가요?
MuSig2 및 FROST의 프라이버시 및 효율성 향상
MuSig2와 FROST를 사용하면 여러 참여자가 서명 과정에 기여하더라도 결과는 단일 서명입니다.
이는 거래가 일반적인 단일 서명 지갑 거래처럼 보이게 하여 참여자에게 더 나은 프라이버시를 제공합니다. 또한 거래 크기를 줄여 거래 수수료를 낮추는 효과도 있습니다. 모두 훌륭한 점입니다!
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와 매우 유사하지만, 키 생성은 MuSig2보다 훨씬 더 복잡합니다. FROST의 키 생성은 신뢰할 수 있는 방식이거나 분산된 방식입니다:
- 신뢰할 수 있는 키 생성은 키를 생성하고 서명자에게 키 공유를 분배하는 “신뢰할 수 있는 딜러”가 포함됩니다. 딜러는 단일 실패 지점을 나타냅니다: 악의적이거나 해킹당할 경우 FROST 지갑이 비워질 위험이 있습니다.
- 분산 키 생성(DKG)은 신뢰할 수 있는 딜러의 필요성을 없애지만, 자체적인 도전 과제를 제시합니다: 모든 참여자가 서명 시작 전에 상호 작용하는 키 생성 “의식”에 참여해야 합니다.
핵심 도전 과제: 합의
DKG는 일반적으로 참여자 간에 비밀 공유를 전달하기 위해 안전한(즉, 인증되고 암호화된) 채널과 안전한 합의 메커니즘이 필요합니다. 안전한 합의 메커니즘의 목적은 모든 참여자가 DKG의 결과에 대해 합의에 도달하도록 보장하는 것입니다. 여기에는 생성된 임계값 공개 키와 같은 매개변수뿐만 아니라 오류가 발생하지 않았고 의식이 잘못된 참여자에 의해 중단되지 않았는지 여부도 포함됩니다.
IETF 사양은 DKG를 완전히 범위에서 제외하지만, 위에서 언급한 FROST 구현은 안전한 합의를 구현하지 않아 이 작업을 라이브러리 사용자에게 맡깁니다. 그러나 합의는 구현하기 쉽지 않습니다: 단순한 에코 브로드캐스트 방식부터 본격적인 비잔틴 합의 프로토콜에 이르기까지 수많은 프로토콜과 합의 방식이 존재하며, 이들의 보안 및 가용성 보장은 상당히 다르고 때로는 미묘하게 다릅니다.
합의 프로토콜의 혼란으로 인해 DKG가 의존하는 정확한 합의 방식이 엔지니어에게 명확하게 전달되지 않아 그들이 혼란스러워하는 경우가 많습니다.
ChillDKG: FROST를 위한 독립형 DKG
이 장애물을 극복하기 위해 우리는 FROST에서 사용하기 위해 맞춤화된 새로운 “즉시 사용 가능한” DKG 프로토콜인 ChillDKG를 제안합니다(초안). 우리는 구현자를 위한 사양으로서의 역할을 목표로 하는 비트코인 개선 제안(BIP) 초안 형태로 자세한 설명을 제공합니다.
ChillDKG의 주요 특징은 독립형이라는 것입니다: 안전한 통신 및 안전한 합의의 수립이 프로토콜 내에서 이루어지며, 이러한 기본 복잡성은 간단하고 오용하기 어려운 API 뒤에 숨겨져 있습니다. 결과적으로 ChillDKG는 실제로 사용 준비가 되어 있으며, 각 서명자가 개별 공개 키로 식별된 공동 서명자 집합을 결정했다는 것 외에는 어떤 설정 가정도 필요하지 않습니다. ChillDKG는 Blockstream Research가 설계 및 공식 보안 증명에 참여한 SimplPedPop 프로토콜을 기반으로 하며, CRYPTO 2023 논문 “Practical Schnorr Threshold Signatures Without the Algebraic Group Model”을 참조하십시오.
ChillDKG 설계의 추가 목표는 다음과 같습니다:
- 광범위한 적용 가능성: ChillDKG는 서명 장치가 단일 개인에 의해 소유되고 연결된 경우부터 여러 소유자가 서로 다른 위치에서 장치를 관리하는 경우까지 다양한 시나리오를 지원합니다.
- 간단한 백업: 다른 서명자로부터 받은 비밀을 안전한 장소에 백업해야 하는 대신, ChillDKG는 모든 DKG 참여자에게 동일한 장치 시드와 공개 데이터만으로 지갑을 복원할 수 있게 합니다. 따라서 공개 백업 데이터에 접근한 공격자는 비밀 서명 키를 얻지 못하며, 사용자가 백업을 잃어버린 경우 다른 정직한 서명자로부터 요청할 수 있습니다.
ChillDKG BIP는 현재 초안 단계에 있으며, 설계 선택 및 구현 세부 사항에 대한 피드백을 받고 있습니다. 사양은 대부분 완성되었지만 테스트 벡터가 부족하며, 추가 기능(예: “식별 가능한 중단”)을 추가할 것을 고려하고 있습니다. 최종화되면 ChillDKG BIP는 FROST 서명을 위한 BIP와 결합하여 전체 FROST 프로토콜을 구현하는 데 사용할 수 있습니다.
이 글은 Jonas Nick, Kiara Bickers, Tim Ruffing의 게스트 포스트입니다. 표현된 의견은 전적으로 그들의 것이며 BTC Inc 또는 Bitcoin Magazine의 의견을 반드시 반영하지는 않습니다.