탭루트는 BIP340 슈노르 서명과 BIP341의 출력·지출 규칙을 결합해, 비트코인 UTXO를 하나의 공개키 경로로 지출하거나 필요할 때 머클 트리의 특정 스크립트 경로만 공개할 수 있게 했습니다. 복잡한 조건의 효율성과 프라이버시를 개선하지만 거래를 익명으로 만드는 기능은 아닙니다.
탭루트는 서명 하나와 조건 트리를 한 출력에 묶는다
Taproot 출력은 SegWit v1의 32바이트 witness program으로 표현된다. 내부 키에 스크립트 트리의 머클 루트를 조정해 출력 키를 만들 수 있다. 지출자는 합의된 서명만 제시하는 key path 또는 실제 사용한 스크립트와 머클 경로를 제시하는 script path를 선택한다.
BIP341은 이 출력과 검증 규칙을 정의한다. 모든 참여자가 협력하면 복잡한 백업·시간 잠금 조건이 있어도 체인에는 단일 키 지출처럼 보일 수 있고, 비협력 상황에서만 필요한 분기를 공개한다.
이는 조건을 없애는 것이 아니라 공개 시점을 바꾸고 데이터 양을 줄이는 설계다. 스크립트 트리 구조와 키 생성이 잘못되면 복구 경로를 사용할 수 없으므로 지갑 구현과 백업이 중요하다.
| 기준 | Key path | Script path |
|---|---|---|
| 제출 정보 | 출력 키에 대한 슈노르 서명 | 스크립트·입력·control block |
| 사용 상황 | 참여자 협력·단일 키 정책 | 시간 잠금·복구·비협력 조건 |
| 공개 범위 | 숨겨진 스크립트 분기 미공개 | 사용한 분기와 머클 경로 공개 |
| 비용 성격 | 대체로 간결 | 스크립트·경로 길이에 영향 |
| 검증 핵심 | BIP340 서명 | tapscript와 머클 포함 증명 |
BIP340 슈노르 서명이 주는 기반
BIP340은 secp256k1 곡선의 64바이트 슈노르 서명 형식과 검증 알고리즘을 표준화한다. 공개키와 메시지를 challenge hash에 포함하는 key prefixing 등 Taproot의 키 조정과 다중 참여 환경을 고려한 선택이 들어 있다.
슈노르의 선형성은 여러 참여자의 키·서명을 결합하는 프로토콜을 만들기 쉽게 하지만, BIP340 하나가 자동 멀티시그를 제공하는 것은 아니다. MuSig 같은 별도 프로토콜은 nonce 생성, 참여자 집계, 악성 서명자 대응을 안전하게 구현해야 한다.
머클 트리는 사용하지 않은 조건을 숨긴다
기존 복잡한 스크립트는 여러 가능한 조건을 지출 때 함께 드러낼 수 있다. Taproot는 각 스크립트 잎을 해시해 트리를 만들고 실제 사용한 잎과 루트까지의 형제 해시만 공개한다. 다른 분기의 내용은 체인에 나오지 않는다.
자주 쓸 조건을 얕은 위치에 두면 control block이 짧아질 수 있다. 그러나 ‘숨겼다’가 조건 존재 자체를 완전히 은폐한다는 보장은 아니다. 지출 패턴, 금액, 타이밍, 주소 재사용 같은 메타데이터가 남는다.
프라이버시 개선과 익명성을 구분한다
key path 지출이 단일 서명처럼 보이는 것은 협력적 다중 서명과 단일 사용자 지출을 구분하기 어렵게 할 수 있다. script path도 사용하지 않은 정책을 숨긴다. 이는 온체인 지문을 줄이는 방향이다.
하지만 입력·출력 그래프, 금액, 시간, 네트워크 전파 정보는 공개될 수 있다. 특이한 스크립트 경로나 지갑 동작은 다시 구분 단서가 된다. Taproot 주소 사용만으로 거래 추적이 불가능해진다고 설명하면 과장이다.
- 주소가 bc1p 계열인지 네트워크 확인
- 지갑이 key path·script path 중 무엇을 지원하는지 확인
- 복구 스크립트와 timelock 조건 별도 백업
- 하드웨어 지갑의 BIP340·Taproot 지원 버전 확인
- 수수료 계산에서 witness와 control block 크기 반영
Tapscript는 미래 확장 공간도 마련한다
Taproot script path는 tapscript 규칙을 사용하며 일부 opcode 처리와 서명 검증 방식이 바뀐다. leaf version을 통해 향후 새 스크립트 의미를 정의할 여지를 둔다. 현재 지원되지 않는 기능을 Taproot가 이미 제공한다고 혼동하지 않는다.
노드와 지갑이 합의 규칙을 지원해도 서비스가 bc1p 입출금을 허용하지 않을 수 있다. 거래소·수탁 서비스의 주소 검증, 출금 네트워크, 최소 확인을 별도로 확인한다.
탭루트는 복잡한 정책을 없애지 않고 평상시에는 키 뒤에 접어 둔다.
JOBCOIN 해설
탐색기에서 지출 경로를 구분한다
Taproot 입력의 witness stack을 본다. 일반적으로 annex를 제외하고 요소 하나가 남으면 key path이고, 여러 요소와 마지막 control block이 있으면 script path 검증으로 이어진다. 탐색기 해석이 다를 수 있어 raw transaction witness를 기준으로 한다.
script path에서는 공개된 tapscript, leaf version, control block의 내부 키와 머클 경로가 출력 키에 맞는지 검증된다. 사용하지 않은 다른 잎의 원문은 알 수 없다. 지갑 백업에는 원문 정책과 트리 구성이 필요할 수 있다.
수수료 비교는 동일 입력·출력 수와 지출 경로로 해야 한다. P2TR 주소라는 이유만으로 모든 거래가 기존 형식보다 작다고 단정할 수 없으며 복잡한 script path는 witness가 커질 수 있다.
자주 묻는 질문
탭루트는 비트코인 거래를 비공개로 만드나요?
사용하지 않은 스크립트 조건을 숨기고 지문을 줄일 수 있지만 금액·거래 그래프 등 공개 정보는 남습니다.
모든 Taproot 지출은 멀티시그인가요?
아닙니다. 단일 키도 사용할 수 있고 협력적 다중 서명은 별도 키 집계 프로토콜을 통해 key path로 표현할 수 있습니다.
bc1p 주소면 수수료가 항상 가장 싼가요?
입력·출력 수와 key/script path, 공개 스크립트 크기에 따라 달라집니다. 실제 거래 weight를 비교해야 합니다.



