궁금한 주제를 찾아보세요

비트코인, 스테이블코인, 온체인 데이터처럼 주제로 검색하세요.

다시 읽을 이야기

저장한 글은 이 브라우저에만 보관됩니다.

해설기술·생태계

MuSig2와 전통 멀티시그는 온체인에서 어떻게 다를까

MuSig2의 키 집계·nonce 교환·부분 서명과 script 기반 multisig의 공개 키·서명 구조를 온체인 흔적과 운영 위험으로 비교합니다.

난이도 중급주제 카테고리와 개념 밀도 기준검토 정보AI 보조 초안 · 출처 목록 제공 · 주장별 대조 진행 중
여러 참여자가 각자 조각과 별도 논스를 모아 하나의 열쇠를 만드는 MuSig2 공동 서명 개념도
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

MuSig2 key aggregation은 비대화형이지만 signing은 참여자 상호작용이 필요합니다.
MuSig2 key path는 signer 수를 chain에서 숨기고 witness를 줄입니다.
nonce 재사용·세션 혼선은 개인키 유출로 이어질 수 있습니다.

BIP327 MuSig2는 여러 참여자의 공개키를 aggregate public key 하나로 만들고 두 communication rounds를 거쳐 BIP340과 호환되는 단일 Schnorr signature를 생성하는 n-of-n 방식입니다. Taproot key path에서 쓰면 chain에는 일반 단일 signer P2TR과 같은 공개키·서명 형태가 보입니다. 전통 script multisig는 여러 공개키와 개별 서명을 redeemScript·witness script 또는 tapscript에 공개하므로 크기와 정책 노출이 더 크지만 threshold 조건을 script에서 직접 표현할 수 있습니다.

집계 키 하나가 여러 signer를 대표합니다

MuSig2 KeyAgg는 참여자 public keys에 계수를 적용해 rogue-key 공격을 막는 aggregate point를 계산합니다. BIP327 v1.0.4는 BIP340 public key·signature와 호환되고 Taproot tweak도 지원합니다. Key 순서 정책을 합의하지 않으면 참여자들이 서로 다른 aggregate key를 만들 수 있어 canonical list를 고정해야 합니다.

이 output을 P2TR key path로 쓰면 observer는 여러 signer가 협력했는지 알기 어렵습니다. P2SH multisig처럼 m, n과 각 public key가 지출 때 공개되지 않습니다. 프라이버시와 비용 이점 대신 조직은 signer 구성·승인 증거를 별도 audit log에 남겨야 합니다.

MuSig2는 여러 서명을 숨겨 주는 script가 아니라, 여러 signer가 하나의 정상 Schnorr 서명을 함께 만드는 protocol입니다.

JOBCOIN 해설

VISUAL GUIDE키 보관과 거래 서명
보호된 개인키로 거래에 서명하고 노드가 서명을 검증하는 개념도
그림과 함께 짚어볼 본문 내용

그림은 이 주제의 공통 개념을 단순화한 설명입니다. 아래 항목에서 이 글의 구체적인 조건과 예외를 함께 읽어보세요.

  1. 집계 키 하나가 여러 signer를 대표합니다

    MuSig2 KeyAgg는 참여자 public keys에 계수를 적용해 rogue-key 공격을 막는 aggregate point를 계산합니다.

  2. 서명은 nonce와 부분 서명의 두 라운드입니다

    일반 flow에서 각 signer는 secret nonce를 만들고 public nonce를 교환합니다.

  3. Nonce는 한 번만 사용하고 즉시 폐기합니다

    같은 secret nonce를 다른 message나 aggregate context에 재사용하면 두 partial signature 관계에서 secret key가 드러날 수 있습니다 .

AI로 제작한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

서명은 nonce와 부분 서명의 두 라운드입니다

일반 flow에서 각 signer는 secret nonce를 만들고 public nonce를 교환합니다. 모든 public nonces를 aggregate한 뒤 message, aggregate key, tweaks와 결합한 session context로 partial signature를 생성합니다. Aggregator는 partial signatures를 검증·합쳐 최종 BIP340 signature를 만듭니다.

BIP327은 third-party aggregator가 통신 복잡도를 줄일 수 있지만 악성 aggregator가 세션을 실패시킬 수 있다고 설명합니다. Individual nonce를 숨기거나 바꾸면 partial verification 능력도 달라집니다. Availability를 신뢰와 혼동하지 않고 timeout·재시도·blame 기록을 설계합니다.

MuSig2와 script multisig 비교
항목 MuSig2 key path Script multisig
온체인 key aggregate key 하나 여러 key 공개 가능
서명 형태 BIP340 하나 개별 signatures
기본 정책 n-of-n m-of-n 표현 가능
상호작용 nonce·partial sig 라운드 PSBT 서명 수집
주요 위험 nonce·session state script·key order 오류

Nonce는 한 번만 사용하고 즉시 폐기합니다

같은 secret nonce를 다른 message나 aggregate context에 재사용하면 두 partial signature 관계에서 secret key가 드러날 수 있습니다. Crash 뒤 세션 상태를 잘못 복원해 nonce를 재사용하는 것도 같은 위험입니다. 서명 장치는 nonce를 message·aggregate key·session id에 바인딩하고 사용 후 지워야 합니다.

BIP327은 deterministic and stateless signing도 별도 입력과 다른 signer aggregate nonce를 사용해 정의하지만 임의로 단순 deterministic nonce를 만들라는 뜻이 아닙니다. 구현은 공식 test vectors와 상태 전이 검사를 통과하고 partial signature 전송 전에 화면에서 최종 transaction을 확인해야 합니다.

  • 참여 public key 목록과 순서를 합의합니다.
  • aggregate key와 Taproot tweak를 독립 계산합니다.
  • 세션마다 새 secret nonce를 생성합니다.
  • 모든 signer가 같은 message를 확인합니다.
  • partial signature를 검증한 뒤 최종 signature를 조립합니다.

전통 멀티시그는 정책을 명시적으로 보여 줍니다

Legacy P2SH 2-of-3은 redeemScript에 threshold와 세 public keys를 넣고 지출 때 여러 ECDSA signatures를 제공합니다. Tapscript는 OP_CHECKSIGADD로 threshold policy를 표현합니다. 사용 leaf가 공개되면 조건을 observer도 읽을 수 있지만 한 signer offline 상황을 허용하는 m-of-n 정책을 직접 구성할 수 있습니다.

MuSig2 기본 n-of-n에서는 signer 한 명이 응답하지 않으면 key path 서명을 완성하지 못합니다. Backup script path에 delayed recovery key를 넣을 수 있지만 사용 시 정책 일부가 공개되고 더 큰 witness fee가 듭니다. 운영 요구를 먼저 정하고 chain footprint만 보고 선택하지 않습니다.

PSBT와 signer 구현 버전을 맞춥니다

BIP373은 MuSig2 participants, public nonces, partial signatures를 PSBT에 담는 field를 정의합니다. 기존 PSBT signer가 이 필드를 모르면 round state를 보존하지 못합니다. Wallet·hardware signer·coordinator가 지원하는 BIP327 version과 tweak convention을 배포 전에 확인합니다.

최종 검증은 aggregate signature가 실제 unsigned transaction의 sighash에 대해 BIP340 verify되는지 확인하는 것입니다. Coordinator 성공 응답만 기록하지 말고 PSBT input, aggregate key, session transcript hash, final txid를 연결합니다. 테스트 중 secret nonce나 private key를 log에 남기지 않습니다.

자주 묻는 질문

MuSig2는 항상 2-of-3 같은 threshold를 지원하나요?

BIP327 MuSig2는 n-of-n입니다. Threshold는 별도 protocol이나 script path 정책이 필요합니다.

집계 키는 signer끼리 통신해야 만들 수 있나요?

키 집계는 비대화형이지만 실제 signing은 nonce와 partial signature 라운드가 필요합니다.

Aggregator가 자금을 훔칠 수 있나요?

정상 protocol에서 서명을 위조할 수는 없지만 세션을 방해할 수 있습니다. Signer는 message와 context를 독립 확인해야 합니다.

더 깊이 읽기

본문에서 다룬 개념과 확인 절차를 다음 글에서 이어서 살펴보세요.

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. BIP 327: MuSig2bips.dev
  2. BIP 373: MuSig2 PSBT Fieldsbips.dev
자료 대조 기록과 확인 범위
출처 수집
원문 링크 2개 제공
핵심 주장 대조
완료 근거가 아직 기록되지 않았습니다.
분야 전문가 검수
별도 완료 기록이 없습니다.

원문 링크와 자료 확인일은 글 전체의 주장 대조나 전문가 검수 완료를 뜻하지 않습니다. 별도 확인이 필요한 절차는 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

AI 활용 안내

이 글은 초안 구성과 자료 정리에 AI를 활용했습니다. 글에 표시된 출처와 기준일을 함께 확인해 주세요. 별도 검토 정보가 없다면 전문가 검수를 뜻하지 않습니다.

이해를 위한 정보 콘텐츠

이 글은 특정 자산의 매수·매도 또는 수익을 권유하지 않습니다. 자료의 발표 시점과 이후 변경 사항을 함께 확인해 주세요.

편집 원칙 보기 →이 기사 정정 제보 →