궁금한 주제를 찾아보세요

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

다시 읽을 이야기

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

해설기술·생태계

비트코인 Schnorr 서명의 선형성이 주는 변화

BIP340 Schnorr의 64바이트 인코딩과 선형 관계가 키 집계·배치 검증의 기반이 되는 이유와 단독 서명의 한계를 설명합니다.

난이도 중급주제 카테고리와 개념 밀도 기준검토 정보AI 보조 초안 · 출처 목록 제공 · 주장별 대조 진행 중
여러 열쇠의 서명 표시가 하나의 서명으로 합쳐져 검증을 통과하는 Schnorr 선형성 개념도
주제의 이해를 돕기 위해 imagegen으로 제작한 AI 생성 개념 일러스트
먼저 읽는 핵심

BIP340은 고정 64바이트 서명과 32바이트 x-only key를 사용합니다.
선형성은 키 집계와 배치 검증의 수학적 기반을 제공합니다.
nonce 재사용과 임의 키 합산은 개인키 유출·rogue-key 위험을 만듭니다.

BIP340은 secp256k1 위에서 32바이트 x-only 공개키와 64바이트 Schnorr signature를 정의합니다. 검증식 sG=R+eP의 선형 구조는 여러 참여자의 공개키와 부분 서명을 안전한 별도 프로토콜로 결합해 최종적으로 하나의 공개키와 하나의 서명처럼 보이게 하는 기반입니다. 그러나 개별 Schnorr 서명을 단순히 더하면 안전한 multisignature가 되는 것은 아니며 rogue-key 방지, nonce 생성·커밋, 세션 바인딩을 갖춘 MuSig2 같은 프로토콜이 필요합니다.

BIP340은 정확한 인코딩과 검증을 고정합니다

BIP340 signature는 R의 x 좌표 r 32바이트와 scalar s 32바이트를 이어 붙인 64바이트입니다. 공개키는 secp256k1 point의 x 좌표 32바이트이며 lift_x는 even y를 가진 point를 선택합니다. 단순히 ‘Schnorr 계열’이라는 이름만 같아도 encoding과 challenge hash가 다르면 BIP340과 호환되지 않습니다.

Challenge e는 tagged hash BIP0340/challenge에 r, public key bytes, message를 넣어 계산합니다. Verifier는 범위와 point 조건을 확인하고 R=sG-eP가 무한점이 아니며 even y이고 x(R)=r인지 봅니다. Wallet은 임의 길이 message를 그대로 받는 구현과 32바이트 거래 digest를 서명하는 상위 규칙을 구분해야 합니다.

Schnorr의 선형성은 조합 가능한 재료이며, 안전한 다중서명 완제품은 별도 프로토콜이 만듭니다.

JOBCOIN 해설

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

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

  1. BIP340은 정확한 인코딩과 검증을 고정합니다

    BIP340 signature는 R의 x 좌표 r 32바이트와 scalar s 32바이트를 이어 붙인 64바이트입니다.

  2. 선형 검증식이 집계를 가능하게 합니다

    한 signer의 s=k+ed 관계는 sG=R+eP로 검증됩니다.

  3. Tagged hash와 auxiliary randomness가 도메인을 나눕니다

    BIP340은 hash 입력마다 BIP0340/aux, nonce, challenge 태그를 사용합니다.

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

선형 검증식이 집계를 가능하게 합니다

한 signer의 s=k+ed 관계는 sG=R+eP로 검증됩니다. 여러 signer의 key와 nonce, partial signature를 계수와 함께 합치면 aggregate public key에 대해 보통 BIP340 verifier가 받아들이는 하나의 결과를 만들 수 있습니다. Chain은 개별 signer 목록을 볼 필요가 없습니다.

이 특성은 Taproot key path multisignature의 작은 on-chain footprint와 policy privacy를 돕습니다. 하지만 누가 몇 명인지 숨는다는 것은 운영 audit에서도 signer 참여 증거가 chain에 남지 않는다는 뜻입니다. 참여자는 session transcript와 정책 승인을 별도로 기록해야 합니다.

BIP340과 전통 ECDSA 관점 비교
항목 BIP340 Schnorr 전통 Bitcoin ECDSA
서명 인코딩 고정 64바이트 DER 가변 길이
공개키 표현 x-only 32바이트 압축 33바이트 흔함
선형 집계 기반 직접적 별도 복잡성
Taproot key path 기본 서명 사용하지 않음
nonce 실패 개인키 위험 마찬가지로 위험

Tagged hash와 auxiliary randomness가 도메인을 나눕니다

BIP340은 hash 입력마다 BIP0340/aux, nonce, challenge 태그를 사용합니다. 태그 hash를 두 번 prefix하는 구조는 같은 SHA256 primitive를 다른 용도의 scheme과 섞어 생길 수 있는 해석 충돌을 줄입니다. 구현이 임의 태그나 field 순서를 쓰면 표준 test vector를 통과하지 못합니다.

Signing은 secret key와 message, auxiliary random data를 사용해 nonce를 만듭니다. Auxiliary randomness는 필수 entropy를 외부 RNG 하나에만 의존하지 않도록 설계됐지만 0 값을 허용한다는 설명을 ‘nonce 관리가 중요하지 않다’로 읽으면 안 됩니다. fault·side channel과 nonce 재사용은 여전히 핵심 위험입니다.

  • BIP340 공식 test vectors를 모두 실행합니다.
  • x-only key의 even-y 정규화를 확인합니다.
  • tagged hash 문자열과 field 순서를 고정합니다.
  • nonce·aux randomness 처리를 격리합니다.
  • multisig는 검토된 MuSig2 구현을 사용합니다.

Batch verification은 구현 선택입니다

BIP340은 여러 signature를 무작위 계수로 결합해 batch verify할 수 있는 구조를 설명합니다. 대량 검증에서 scalar multiplication 비용을 줄일 수 있지만 실패하면 어느 서명이 잘못됐는지 찾기 위해 개별 검증이나 분할 전략이 필요합니다. Consensus node 구현이 반드시 batch를 써야 하는 것은 아닙니다.

Batch coefficient를 공격자가 예측·통제하면 soundness가 약해질 수 있어 안전한 randomness와 알고리즘 준수가 필요합니다. 결과가 false인 batch를 단순 재시도해 true가 될 때까지 받는 로직은 만들지 않습니다. 단일 검증과 batch 검증의 동일 결과를 test vector와 fuzzing으로 확인합니다.

Taproot와 MuSig2의 역할을 분리합니다

Taproot key path는 BIP341 output key에 대한 BIP340 signature를 요구합니다. 이 key가 단일 signer key인지 여러 key의 MuSig2 aggregate인지 consensus는 구분하지 않습니다. MuSig2는 key aggregation, nonce exchange, partial signing을 정의하고 결과만 BIP340 signature로 제공합니다.

BIP340 자체는 t-of-n threshold scheme을 정의하지 않습니다. BIP327 MuSig2도 기본적으로 n-of-n이며 threshold 요구는 다른 검토된 protocol이나 script path 정책이 필요합니다. ‘Schnorr라서 자동으로 2-of-3’ 같은 제품 설명은 signer availability와 recovery 조건을 숨깁니다.

자주 묻는 질문

Schnorr 공개키는 왜 32바이트인가요?

BIP340은 x 좌표만 인코딩하고 검증 시 even y인 point를 선택하는 x-only 규칙을 사용합니다.

서명 두 개를 더하면 다중서명이 되나요?

아닙니다. Rogue-key와 nonce 공격을 막는 key aggregation·세션 프로토콜이 필요합니다.

MuSig2는 2-of-3 threshold인가요?

BIP327 MuSig2는 기본적으로 n-of-n입니다. t-of-n 요구는 별도 scheme이나 script policy가 필요합니다.

더 깊이 읽기

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

참고한 원문 자료

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

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

AI 활용 안내

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

이해를 위한 정보 콘텐츠

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

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