궁금한 주제를 찾아보세요

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

다시 읽을 이야기

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

해설블록체인 기술

탭루트 key path와 script path 지출 비교

P2TR 출력이 조정된 output key 하나를 약속하고 key path 서명 또는 tapscript·control block으로 지출되는 두 경로를 비교합니다.

난이도 중급주제 카테고리와 개념 밀도 기준
나무의 곧은 열쇠 경로와 여러 조건 문으로 갈라지는 가지를 대비한 탭루트 지출 경로 그림
주제의 이해를 돕기 위한 개념 일러스트
먼저 읽는 핵심

출력에는 key path와 script tree를 결합한 output key만 보입니다.
key path는 서명 하나, script path는 tapscript·control block을 공개합니다.
script path 비용과 공개 범위는 선택한 leaf 깊이와 witness에 좌우됩니다.

P2TR 출력은 증인 버전 v1 프로그램에 32바이트짜리 x좌표 전용 출력 키 Q를 둡니다. 키 경로(key path) 지출은 Q에 맞는 유효한 BIP340 슈노르 서명 하나를 증인 데이터에 넣어 씁니다. 스크립트 경로(script path) 지출은 실행할 탭스크립트와 제어 블록, 조건을 채울 스택 데이터를 공개합니다. 제어 블록의 내부 키와 머클 경로로 그 스크립트 리프가 처음부터 출력 키에 약속돼 있었음을 다시 계산하므로, 쓰지 않은 다른 스크립트 가지는 드러나지 않습니다.

P2TR 출력은 32바이트 키 하나로만 보입니다

BIP341은 내부 공개키 P와 선택적인 스크립트 트리의 머클 루트 m을 TapTweak으로 묶어 Q=P+tG를 만듭니다. 체인의 scriptPubKey에는 OP_1과 x(Q)만 들어가므로, 관찰자는 UTXO가 생길 때 단일 서명 지출인지 복잡한 예비 조건이 붙었는지 곧바로 알 수 없습니다.

스크립트 트리가 없어도 내부 키에는 빈 머클 루트를 전제로 한 트윅을 적용합니다. 내부 키를 그대로 출력 프로그램에 넣는다는 흔한 설명은 정확하지 않습니다. 지갑은 디스크립터와 트윅 계산 정보를 백업해야 합니다. 내부 개인키가 있더라도 트리 정보를 잘못 쓰면 같은 출력 키를 되살리지 못합니다.

탭루트는 여러 지출 조건을 출력 키 하나에 약속해 두고, 실제로 쓴 경로만 지출할 때 드러냅니다.

JOBCOIN 해설

그림으로 보기프로토콜 실행의 기본 구조
입력이 실행 규칙을 통과할 때 상태가 바뀌는 프로토콜 개념도
그림과 함께 짚어볼 본문 내용

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

  1. P2TR 출력은 32바이트 키 하나로만 보입니다

    BIP341은 내부 공개키 P와 선택적인 스크립트 트리의 머클 루트 m을 TapTweak으로 묶어 Q=P+tG를 만듭니다.

  2. 키 경로는 출력 키 서명만 공개합니다

    증인 데이터에서 부록(annex)을 빼고 항목이 하나만 남으면 BIP341 검증은 이를 키 경로로 처리합니다.

  3. 스크립트 경로는 리프가 약속돼 있었음을 증명합니다

    증인 데이터의 마지막 두 항목은 탭스크립트 s와 제어 블록 c입니다.

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

키 경로는 출력 키 서명만 공개합니다

증인 데이터에서 부록(annex)을 빼고 항목이 하나만 남으면 BIP341 검증은 이를 키 경로로 처리합니다. 그 항목은 Q에 대한 슈노르 서명이며, 기본값인 SIGHASH_DEFAULT이거나 해시 타입을 명시할 수 있습니다. 여러 당사자가 MuSig2로 집계 키를 만들었다면 협력해 낸 결과도 체인에서는 BIP340 서명 하나처럼 보일 수 있습니다.

키 경로에는 스크립트와 머클 증명이 실리지 않으니 대체로 더 작고, 스크립트 정책도 감춰집니다. 하지만 여러 서명자의 협력이 필요한 구조에서는 한 명만 연락이 끊겨도 쓸 수 없습니다. 비상 복구나 시간 잠금 조건은 별도 스크립트 리프로 마련해 둬야 합니다.

Taproot 지출 경로 비교
항목 키 경로 스크립트 경로
핵심 증인 슈노르 서명 스택·스크립트·제어 블록
공개 조건 출력 키만 사용한 리프와 머클 경로
일반 크기 더 작음 리프 깊이에 따라 커짐
협력 요구 집계 정책에 따름 선택한 리프 조건에 따름
검증 대상 Q 서명 Q 재구성 뒤 탭스크립트

스크립트 경로는 리프가 약속돼 있었음을 증명합니다

증인 데이터의 마지막 두 항목은 탭스크립트 s와 제어 블록 c입니다. BIP341은 c의 길이가 33+32m 바이트인지 확인하고, 첫 바이트에서 리프 버전과 출력 키의 y 홀짝을, 다음 32바이트에서 내부 키 P를 읽습니다. 나머지 32바이트 묶음들이 머클 형제 경로입니다.

노드는 TapLeaf 해시에서 출발해 형제 해시와 사전순으로 TapBranch 해시를 거듭 계산하며 루트를 얻습니다. P와 루트로 트윅을 적용한 Q를 다시 만들어 출력 프로그램과 같은지 확인한 다음 탭스크립트를 실행합니다. 머클 증명이 맞더라도 스크립트 조건을 채우지 못하면 지출은 실패합니다.

  • P2TR 증인 프로그램의 32바이트 Q를 확인합니다.
  • 부록이 있으면 규칙대로 떼어 냅니다.
  • 증인 항목 수로 키 경로와 스크립트 경로를 가립니다.
  • 제어 블록 길이와 리프 버전을 확인합니다.
  • 머클 루트와 Q를 다시 계산한 뒤 스크립트를 실행합니다.

쓰지 않은 가지는 숨지만 구조의 단서는 남습니다

스크립트 경로를 쓰면 선택한 탭스크립트와 제어 블록 속 머클 형제 해시가 공개됩니다. 형제 해시는 다른 스크립트의 내용이 아니라 해시값일 뿐이지만, 경로 깊이와 사용한 조건은 보입니다. 같은 스크립트 틀, 공개키 재사용, 지출 시각이 지갑 정책을 이어 줄 수 있으므로 ‘완전한 프라이버시’라고 말하지 않습니다.

트리를 짤 때 자주 쓰는 리프를 얕게 두면 증인 바이트를 줄일 수 있습니다. 그래도 정책별 사용 확률과 정보 노출을 함께 따져야 합니다. 키 경로를 언제나 쓸 수 있게 해 두면 협력 키 관리가 실패했을 때 스크립트 백업으로 이어집니다. 디스크립터와 복구 훈련으로 두 경로를 모두 검증합니다.

도구는 블록 시점의 규칙과 서명 해시를 보여 줘야 합니다

탭스크립트는 BIP342의 옵코드·서명 규칙을 따르며, 레거시 스크립트와 한도가 다릅니다. OP_CHECKMULTISIG 대신 OP_CHECKSIGADD로 멀티시그 정책을 표현할 수 있습니다. 슈노르 서명이 64바이트면 SIGHASH_DEFAULT이고, 65바이트면 마지막 바이트가 해시 타입입니다.

분석 기록에는 출력 키, 증인 스택, 부록 유무, 스크립트, 제어 블록, 리프 버전, 머클 깊이와 서명 해시 종류를 남깁니다. 탐색기가 스크립트 경로라고 표시해 주는 것만 믿지 말고 BIP341 재구성 결과를 직접 확인하면, 디코더가 틀린 것인지 증인 데이터가 망가진 것인지 가려낼 수 있습니다.

자주 묻는 질문

P2TR 출력만 보고 스크립트 조건을 알 수 있나요?

아닙니다. 만들어질 때는 출력 키만 보이고, 스크립트 경로를 실제로 쓸 때 선택한 리프와 증명이 공개됩니다.

키 경로는 언제나 한 사람이 서명하나요?

아닙니다. MuSig2 참여자들이 협력해 체인에서는 BIP340 서명 하나로 보이게 만들 수 있습니다.

제어 블록이 맞으면 스크립트는 실행하지 않나요?

아닙니다. 출력 키 약속을 다시 계산한 뒤, 선택한 탭스크립트도 성공해야 합니다.

더 깊이 읽기

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

참고한 원문 자료

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

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

이해를 위한 정보 콘텐츠

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

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