궁금한 주제를 찾아보세요

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

다시 읽을 이야기

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

해설블록체인 기술

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

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

난이도 중급주제 카테고리와 개념 밀도 기준
여러 열쇠의 서명 표시가 하나의 서명으로 합쳐져 검증을 통과하는 Schnorr 선형성 개념도
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

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

BIP340은 secp256k1 곡선 위에서 32바이트 x좌표 전용(x-only) 공개키와 64바이트 Schnorr 서명을 정의합니다. 검증식 sG=R+eP의 선형 구조 덕분에, 여러 참여자의 공개키와 부분 서명을 안전한 별도 프로토콜로 합쳐 겉보기에는 공개키 하나와 서명 하나처럼 만들 수 있습니다. 그러나 개별 Schnorr 서명을 그냥 더한다고 안전한 다중서명이 되지는 않습니다. 악성 키(rogue-key) 방지, 논스 생성과 커밋, 세션 묶기를 갖춘 MuSig2 같은 프로토콜이 필요합니다.

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

BIP340 서명은 R의 x좌표 r 32바이트와 스칼라 s 32바이트를 이어 붙인 64바이트입니다. 공개키는 secp256k1 점의 x좌표 32바이트이며, lift_x는 y가 짝수인 점을 고릅니다. 이름이 똑같이 ‘Schnorr 계열’이어도 인코딩과 챌린지 해시가 다르면 BIP340과 호환되지 않습니다.

챌린지 e는 태그 해시 BIP0340/challenge에 r, 공개키 바이트, 메시지를 넣어 계산합니다. 검증자는 값의 범위와 점 조건을 확인하고, R=sG-eP가 무한원점이 아니며 y가 짝수이고 x(R)=r인지 봅니다. 지갑은 임의 길이 메시지를 그대로 받는 구현과, 32바이트 거래 해시값을 서명하는 상위 규칙을 구분해야 합니다.

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

JOBCOIN 해설

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

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

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

    BIP340 서명은 R의 x좌표 r 32바이트와 스칼라 s 32바이트를 이어 붙인 64바이트입니다.

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

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

  3. 태그 해시와 보조 난수가 용도를 나눕니다

    BIP340은 해시 입력마다 BIP0340/aux, nonce, challenge 태그를 씁니다.

설명을 위한 개념도 · 실제 가격·거래 내역·통계가 아닙니다.

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

서명자 한 명의 s=k+ed 관계는 sG=R+eP로 검증됩니다. 여러 서명자의 키와 논스, 부분 서명을 계수와 함께 합치면, 집계 공개키에 대해 보통의 BIP340 검증자가 받아들이는 결과 하나를 만들 수 있습니다. 체인은 개별 서명자 목록을 볼 필요가 없습니다.

이 성질은 Taproot 키 경로 다중서명이 온체인에서 차지하는 공간을 줄이고 정책을 감추는 데 도움을 줍니다. 하지만 누가 몇 명 참여했는지 숨는다는 것은, 운영 감사에서도 서명자 참여 증거가 체인에 남지 않는다는 뜻입니다. 참여자는 세션 기록과 정책 승인을 따로 남겨야 합니다.

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

태그 해시와 보조 난수가 용도를 나눕니다

BIP340은 해시 입력마다 BIP0340/aux, nonce, challenge 태그를 씁니다. 태그 해시를 두 번 앞에 붙이는 구조는 같은 SHA256 기본 함수를 다른 용도의 방식과 섞어 쓸 때 생길 수 있는 해석 충돌을 줄입니다. 구현이 임의의 태그나 항목 순서를 쓰면 표준 테스트 벡터를 통과하지 못합니다.

서명할 때는 비밀키, 메시지, 보조 난수 데이터로 논스를 만듭니다. 보조 난수는 꼭 필요한 무작위성을 외부 난수 생성기 하나에만 기대지 않도록 설계됐지만, 0 값을 허용한다는 설명을 ‘논스 관리가 중요하지 않다’로 읽으면 안 됩니다. 결함 공격, 부채널 공격, 논스 재사용은 여전히 핵심 위험입니다.

  • BIP340 공식 테스트 벡터를 모두 실행합니다.
  • x좌표 전용 키의 짝수 y 정규화를 확인합니다.
  • 태그 해시 문자열과 항목 순서를 고정합니다.
  • 논스와 보조 난수 처리를 격리합니다.
  • 다중서명에는 검토된 MuSig2 구현을 씁니다.

일괄 검증은 구현이 고르는 선택지입니다

BIP340은 여러 서명을 무작위 계수로 묶어 일괄 검증(batch verification)할 수 있는 구조를 설명합니다. 대량 검증에서 스칼라 곱셈 비용을 줄일 수 있지만, 실패하면 어느 서명이 틀렸는지 찾기 위해 개별 검증이나 나눠 검사하는 전략이 필요합니다. 합의 노드 구현이 반드시 일괄 검증을 써야 하는 것은 아닙니다.

일괄 검증 계수를 공격자가 예측하거나 조종할 수 있으면 건전성이 약해질 수 있으므로, 안전한 난수와 알고리즘 준수가 필요합니다. 거짓으로 나온 일괄 검증을 참이 될 때까지 단순 재시도하는 로직은 만들지 않습니다. 단일 검증과 일괄 검증이 같은 결과를 내는지 테스트 벡터와 퍼징으로 확인합니다.

Taproot와 MuSig2의 역할을 나눕니다

Taproot 키 경로는 BIP341 출력 키에 대한 BIP340 서명을 요구합니다. 이 키가 단일 서명자의 키인지, 여러 키를 MuSig2로 집계한 키인지 합의 규칙은 구분하지 않습니다. MuSig2는 키 집계, 논스 교환, 부분 서명을 정의하고 결과만 BIP340 서명으로 내놓습니다.

BIP340 자체는 t-of-n 임계값 방식을 정의하지 않습니다. BIP327 MuSig2도 기본적으로 n-of-n이며, 임계값이 필요하면 검토된 다른 프로토콜이나 스크립트 경로 정책을 써야 합니다. ‘Schnorr라서 자동으로 2-of-3’ 같은 제품 설명은 서명자 가용성과 복구 조건을 가립니다.

자주 묻는 질문

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

BIP340은 x좌표만 인코딩하고, 검증할 때 y가 짝수인 점을 고르는 x좌표 전용 규칙을 쓰기 때문입니다.

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

아닙니다. 악성 키 공격과 논스 공격을 막는 키 집계·세션 프로토콜이 필요합니다.

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

BIP327 MuSig2는 기본적으로 n-of-n입니다. t-of-n이 필요하면 별도 방식이나 스크립트 정책을 써야 합니다.

더 깊이 읽기

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

참고한 원문 자료

자료 확인 기준일 2026.09.27
  1. BIP 340: Schnorr Signatures for secp256k1bips.dev
  2. BIP 327: MuSig2bips.dev
작성 방식과 확인 범위
출처 수집
원문 링크 2개 제공
작성·확인
공식 기관 자료를 근거로 AI 도구를 활용해 작성했고, 운영자가 발행 전에 읽어 확인합니다.
전문가 검토
세무·법률 전문가 검토는 거치지 않았습니다.

투자·세무 판단은 전문가와 상의하세요. 제도와 거래소 안내는 바뀔 수 있으니 원문의 적용 대상과 최신 안내를 함께 확인해 주세요.

이해를 위한 정보 콘텐츠

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

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