본문으로 건너뛰기
buybitcoinsmart

용어집 / 프로토콜과 업그레이드

MuSig2

별칭은 키 집계, Key aggregation입니다.

MuSig2란 무엇입니까?
MuSig2를 사용하면 여러 서명자가 각자의 공개 키를 하나로 결합해 단일한 64바이트 Schnorr 서명을 생성할 수 있으므로, 온체인에서는 그룹 지출이 단독 지출과 동일하게 보입니다.

BIP-327에 명시되어 있습니다.

핵심은 키 집계에 있습니다. 여러 참가자가 각각 개인 키를 보유하고, 수학적으로 그들의 공개 키를 아무도 단독으로 통제할 수 없는 하나의 집계 키로 더합니다. BIP-327은 원래 MuSig의 3회에서 줄어든 2회의 통신 라운드로 이 방식을 확정했습니다. 공유 지갑의 경우 이는 수수료가 낮아지고 지갑이 공유되었다는 공개적 증거가 남지 않는다는 것을 의미합니다.

작동 방식

MuSig2는 그룹 전체에 걸쳐 두 번의 단계로 실행되며, 두 번째 단계에서만 무엇에 서명하는지 알 필요가 있습니다.

첫 번째 단계에서 각 서명자는 두 개의 비밀 논스를 생성하고 그에 대응하는 점의 쌍을 공개합니다. 조정자는 전체 집합을 해시하여 도출한 계수를 사용해 그 쌍들을 하나의 결합된 논스로 더합니다. 이 계수는 이전의 2회 라운드 설계를 무너뜨렸던 공격들을 다시 열지 않고도 라운드를 하나 줄일 수 있게 한 구체적인 공학적 요소입니다.

두 번째 단계에서 각 서명자는 트랜잭션의 서명 해시에 대한 부분 서명을 생성하고 하나의 숫자를 반환합니다. 합산되면 이 숫자들은 일반적인 BIP-340 규칙에 따라 32바이트 집계 키에 대해 검증되는 하나의 64바이트 서명을 형성합니다. 블록을 검증하는 노드는 몇 명이 관련되었는지, 또는 누군가가 관련되었는지조차 알 수 없습니다.

안전성 측면에서 두 가지 속성은 분명히 언급할 가치가 있습니다. 키 집계는 참가자가 다른 모든 참가자의 키를 상쇄하는 공개 키를 조작할 수 없도록 키별 계수를 적용하는데, 이는 키를 단순히 더하는 방식이 허용하는 악성 키 공격을 막기 위한 것입니다. 그리고 논스는 엄격히 일회용입니다. 동일한 논스로 서로 다른 두 메시지에 서명하면 개인 키가 그대로 드러나므로, 올바른 구현은 비밀 논스가 소비되는 즉시 이를 지우고 동일한 세션에서 두 번째 서명을 거부합니다.

확인할 수 있는 곳

MuSig2는 Taproot 키 경로 지출 뒤에 위치하므로, 실제로 보이는 것은 다른 주소와 똑같이 동작하는 bc1p 주소입니다.

크기 측면의 논거는 구체적입니다. Taproot 키 경로 입력은 한 사람이 서명하든 다섯 명이 서명하든 57.5 가상 바이트가 드는 반면, 3개 중 2개 위트니스 스크립트 지출은 공개 키 3개와 서명 2개를 드러내야 하므로 두 배를 훨씬 웃돕니다. Taproot 출력은 2021년 11월 14일 블록 709,632에서 지출 가능해졌으므로, 이 기능은 수년간 체인에 존재해 왔고 병목은 지갑 소프트웨어였습니다.

BIP-373은 기반 구조를 제공하여 공개 논스, 참가자 키, 부분 서명을 위한 PSBT 필드를 추가함으로써 모든 제조사가 메시지 형식을 새로 고안하지 않고도 하드웨어 장치가 서명 세션에 참여할 수 있게 합니다. 소비자용 지갑에서의 채택은 아직 미미합니다. 가장 구체적인 배포는 라이트닝 네트워크의 simple taproot channels 작업으로, 두 피어가 채널에 자금을 입금해 하나의 MuSig2 출력을 만듭니다.

MuSig2 vs 멀티시그

MuSig2는 구조상 n개 중 n개 방식이며, 전통적인 멀티시그는 원하는 임계값을 설정할 수 있습니다.

이 차이는 MuSig2가 저축 자산 근처에 속할 수 있는지를 결정합니다. 스크립트 기반 3개 중 2개 방식은 키 하나가 분실되어도 계속 작동합니다. 스크립트가 3개의 키를 명시하고 그중 2개를 요구하기 때문입니다. 집계 키는 모든 참가자가 참석해야 하며, 사라진 서명자는 동일한 주소가 복구 분기를 가진 스크립트 경로에도 함께 커밋하지 않는 한 코인을 가지고 사라집니다. 하나의 집계 키 아래에서 진정한 임계값을 구현하려면 FROST 같은 다른 프로토콜이 필요하며, 이는 BIP-327이 규정하는 방식이 아닙니다.

두 번째 절충은 의도된 것입니다. 스크립트 멀티시그는 블록 탐색기를 가진 누구나 감사할 수 있지만 MuSig2는 그렇지 않으며, 이는 가정에는 프라이버시 이점이고 결제에 두 명의 임원이 필요했음을 입증해야 하는 재무 담당자에게는 장애물입니다.

혼동하기 쉬운 용어

자주 묻는 질문

MuSig2로 3개 중 2개 지갑을 만들 수 있습니까?

단독으로는 불가능합니다. MuSig2는 n개 중 n개 서명을 위해 키를 집계하므로 모든 참가자가 서명해야 합니다. 실제 임계값은 동일한 Taproot 주소 내의 스크립트 경로나 FROST 같은 다른 프로토콜을 사용합니다.

MuSig2에 소프트 포크가 필요합니까?

아닙니다. Taproot는 이미 단일 키에 대한 단일 Schnorr 서명을 허용하며, MuSig2는 서명자들이 오프체인에서 협력하는 방식만 바꿉니다. 작동하기 위해 합의 규칙에서 바뀌어야 하는 것은 없습니다.

다음에 읽을 글

관련 용어

프로토콜과 업그레이드 분야의 다른 용어

이 페이지를 영어로 읽기