탭루트(Taproot): 비트코인의 가장 큰 업그레이드
2021년 활성화된 탭루트는 슈노르 서명, MAST, 탭스크립트를 통해 비트코인의 프라이버시, 효율성, 스마트 컨트랙트 능력을 근본적으로 향상시킨 소프트 포크입니다.
2021년 11월 14일, 블록 높이 709,632에서 비트코인 역사상 가장 중요한 업그레이드 중 하나가 조용히 활성화되었다. 축포도, 하드포크 논쟁도 없었다. 그저 새로운 블록이 생성되면서 비트코인 프로토콜에 근본적인 변화가 스며들었다. 이것이 바로 **탭루트(Taproot)**다.
세그윗(SegWit) 이후 4년 만의 주요 프로토콜 업그레이드인 탭루트는 세 개의 비트코인 개선 제안(BIP)으로 구성되어 있다. BIP 340(슈노르 서명), BIP 341(탭루트), BIP 342(탭스크립트)가 그것이다. 이 세 가지가 결합되어 비트코인의 프라이버시, 효율성, 그리고 프로그래밍 가능성을 한 차원 끌어올렸다. 비트코인을 단순한 디지털 화폐에서 정교한 금융 프로토콜로 진화시킬 수 있는 기반이 마련된 것이다.
이 글에서는 탭루트가 정확히 무엇을 바꿨는지, 왜 이것이 중요한지, 그리고 비트코인의 미래에 어떤 의미를 갖는지 깊이 들여다본다.
탭루트 이전의 비트코인: 무엇이 문제였나
탭루트를 이해하려면 먼저 기존 비트코인이 어떻게 작동했는지 알아야 한다.
비트코인의 모든 트랜잭션은 **스크립트(Script)**라는 간단한 프로그래밍 언어로 조건이 설정된다. “이 비트코인을 쓰려면 앨리스의 개인 키로 서명해야 한다”와 같은 조건이다. 단순한 전송이라면 이것으로 충분하다. 하지만 현실 세계의 금융은 훨씬 복잡하다.
예를 들어, 회사 자금을 관리하는 3-of-5 멀티시그(multisig) 지갑을 생각해 보자. 다섯 명의 이사 중 세 명이 동의해야 자금을 이동할 수 있다. 기존 비트코인에서 이런 멀티시그 트랜잭션은 블록체인에 기록될 때 그 복잡한 구조가 모두 드러났다. 누구든 블록 탐색기로 들여다보면 “이 주소는 멀티시그를 사용하고 있구나, 총 5명 중 3명이 서명했구나”를 알 수 있었다.
이것은 두 가지 심각한 문제를 만들었다.
첫째, 프라이버시 문제. 멀티시그 사용 여부, 참여자 수, 서명자 수가 모두 공개되었다. 대규모 기관이 멀티시그를 사용한다는 사실 자체가 공격 대상이 될 수 있는 정보다. 단순 전송과 복잡한 스마트 컨트랙트가 외관상 완전히 달랐기 때문에, 체인 분석 회사들은 트랜잭션 유형만 보고도 많은 정보를 추론할 수 있었다.
둘째, 비효율성 문제. 멀티시그 트랜잭션은 여러 개의 서명을 포함해야 했기에 데이터 크기가 컸다. 더 큰 데이터는 더 높은 수수료를 의미했다. 복잡한 조건을 가진 트랜잭션일수록 블록 공간을 많이 차지했고, 이는 네트워크 전체의 처리량에도 영향을 미쳤다.
탭루트는 이 두 문제를 동시에, 우아하게 해결했다.
BIP 340: 슈노르 서명 — 암호학의 업그레이드
ECDSA에서 슈노르로
비트코인이 2009년에 탄생했을 때, 사토시 나카모토는 **ECDSA(Elliptic Curve Digital Signature Algorithm)**를 서명 알고리즘으로 선택했다. ECDSA는 당시 가장 널리 사용되고, 표준화되어 있으며, 특허 문제가 없는 알고리즘이었다. 합리적인 선택이었다.
하지만 암호학자들 사이에서는 **슈노르 서명(Schnorr Signatures)**이 수학적으로 더 우아하고 강력한 알고리즘이라는 것이 잘 알려져 있었다. 1991년 클라우스-피터 슈노르(Claus-Peter Schnorr)가 발명한 이 알고리즘은 ECDSA보다 더 간결하고, 보안 증명이 더 깔끔하며, 무엇보다 **선형성(linearity)**이라는 놀라운 수학적 속성을 갖고 있었다. 문제는 슈노르 서명이 2008년까지 특허로 보호되고 있었다는 점이다. 사토시가 비트코인을 설계할 당시에는 법적 리스크가 있었기에 ECDSA가 선택된 것이다.
특허가 만료된 후, 비트코인 개발자들은 슈노르 서명을 도입할 방법을 연구하기 시작했다. 그 결과가 BIP 340이다.
선형성: 왜 슈노르가 혁명적인가
슈노르 서명의 핵심 장점은 선형성에서 나온다. 수학적으로 이것이 의미하는 바는 다음과 같다.
여러 사람의 공개 키와 서명을 더할 수 있다. 앨리스의 서명 + 밥의 서명 + 찰리의 서명을 합산하면, 마치 하나의 서명처럼 보이는 **집합 서명(aggregate signature)**이 만들어진다. 이 집합 서명은 크기도 일반 서명과 동일하다.
이것이 실용적으로 무엇을 의미하는지 생각해 보자. 3-of-5 멀티시그에서 세 명이 서명하면, ECDSA에서는 세 개의 개별 서명이 블록체인에 기록되어야 한다. 하지만 슈노르에서는 이 세 개의 서명이 하나로 합쳐져 단일 서명과 구분할 수 없게 된다. 외부 관찰자는 이것이 한 사람의 서명인지, 백 명의 서명인지 알 수 없다.
키 집합(Key Aggregation)
슈노르의 선형성은 **키 집합(key aggregation)**을 가능하게 한다. 여러 참여자의 공개 키를 하나의 공개 키로 결합할 수 있다. 이 결합된 공개 키는 일반 공개 키와 완전히 동일하게 보인다.
MuSig(다중 서명 프로토콜)는 이 원리를 활용한 대표적인 프로토콜이다. MuSig2는 두 라운드의 통신만으로 다중 서명을 생성할 수 있어, 실용적인 n-of-n 멀티시그를 구현한다. 이 과정에서 생성된 서명과 공개 키는 블록체인 상에서 단일 서명/단일 공개 키 트랜잭션과 완전히 동일하게 보인다.
배치 검증(Batch Verification)
슈노르 서명의 또 다른 장점은 **배치 검증(batch verification)**이다. 비트코인 노드가 새 블록을 받으면, 그 블록에 포함된 모든 트랜잭션의 서명을 검증해야 한다. ECDSA에서는 각 서명을 하나씩 개별적으로 검증해야 했다. 서명이 100개라면 100번의 검증 연산이 필요하다.
슈노르 서명은 여러 서명을 한꺼번에 검증할 수 있다. 100개의 서명을 일괄 검증하면, 개별 검증의 약 2-3배 정도의 연산만으로 모든 서명의 유효성을 확인할 수 있다. 이는 노드의 블록 검증 속도를 크게 향상시킨다. 특히 초기 블록 동기화(IBD, Initial Block Download)에서 수십만 블록을 빠르게 검증해야 하는 새 노드에게 이 최적화는 큰 차이를 만든다.
BIP 341: 탭루트 — 영리한 구조 설계
핵심 아이디어: 협력 경로와 비협력 경로
탭루트의 핵심 통찰은 놀랍도록 단순하다. 대부분의 복잡한 컨트랙트는 결국 모든 참여자가 합의하여 종료된다.
2-of-3 멀티시그 에스크로를 생각해 보자. 매매자, 구매자, 중재자 세 명이 참여한다. 이론적으로는 여러 분쟁 시나리오가 가능하지만, 실제로는 대부분의 거래가 양측 합의로 완료된다. 복잡한 조건(타임록, 중재자 개입 등)이 사용되는 경우는 극소수다.
탭루트는 이 관찰을 활용한다. 모든 탭루트 출력(output)은 두 가지 지출 경로를 갖는다.
키 경로(Key Path): 모든 참여자가 합의한 경우, 슈노르 키 집합으로 만든 단일 서명만으로 자금을 이동할 수 있다. 이 경우 블록체인에는 일반적인 단일 서명 트랜잭션과 완전히 동일한 데이터가 기록된다. 어떤 복잡한 조건이 설정되어 있었는지 전혀 노출되지 않는다.
스크립트 경로(Script Path): 참여자들이 합의에 실패한 경우에만 사용된다. 이때 특정 조건(예: 타임록 후 중재자 + 한쪽 당사자 서명)을 밝히고 충족시켜 자금을 이동한다. 하지만 여기서도 MAST 구조 덕분에 사용된 조건만 공개되고, 나머지 조건들은 비공개로 남는다.
트윅(Tweak): 두 경로를 하나로
기술적으로 이 두 경로를 하나의 출력에 담는 방법은 **트윅(tweak)**이라는 암호학적 기법을 사용한다. 참여자들의 집합 공개 키에 스크립트 트리의 머클 루트(Merkle root)를 더해 **트윅된 공개 키(tweaked public key)**를 만든다. 이 트윅된 키가 블록체인에 기록되는 출력 키다.
키 경로로 지출할 때는 트윅에 맞게 조정된 서명을 제공하면 된다. 스크립트 경로로 지출할 때는 원래 공개 키, 머클 증명, 실행할 스크립트를 제공한다. 어느 경로든 외부에서 탭루트 출력은 동일한 형태의 공개 키 하나로 보인다.
MAST: 머클화된 추상 구문 트리
기존 스크립트의 한계
탭루트 이전에 비트코인에서 복잡한 조건을 구현하려면 P2SH(Pay-to-Script-Hash) 또는 **P2WSH(Pay-to-Witness-Script-Hash)**를 사용했다. 문제는 자금을 지출할 때 전체 스크립트를 공개해야 한다는 것이었다. 다섯 가지 조건 중 하나만 사용하더라도 나머지 네 가지 조건까지 모두 블록체인에 기록되었다.
이는 프라이버시 문제일 뿐 아니라 효율성 문제이기도 했다. 사용하지 않는 조건들이 차지하는 데이터 공간만큼 수수료를 더 내야 했기 때문이다.
MAST의 해법
**MAST(Merklized Abstract Syntax Trees)**는 이 문제를 머클 트리(Merkle Tree) 구조로 해결한다. 각 조건(스크립트)을 머클 트리의 잎(leaf)으로 배치하고, 이 트리의 루트 해시만 기록한다.
자금을 지출할 때는 사용할 조건의 스크립트와 해당 잎에서 루트까지의 **머클 증명(Merkle proof)**만 제공하면 된다. 검증자는 이 증명으로 해당 스크립트가 원래 트리에 포함되어 있었음을 확인할 수 있다. 나머지 조건들은 해시값으로만 존재하므로 그 내용은 영원히 비공개로 남는다.
실질적 이점
구체적인 시나리오로 설명하자. 상속 계획을 위한 비트코인 스크립트를 설계한다고 가정하자.
- 조건 1: 본인의 서명 (일상적 사용)
- 조건 2: 배우자 서명 + 6개월 타임록 (본인이 접근 불가 시)
- 조건 3: 변호사 + 배우자 + 자녀 중 2명의 멀티시그 + 1년 타임록 (재난 상황)
- 조건 4: 변호사의 서명 + 2년 타임록 (최후의 수단)
기존 방식에서는 조건 1로 평소에 자금을 사용하더라도, 상속 계획의 전체 구조(배우자, 변호사, 자녀 참여 사실, 타임록 기간 등)가 공개되었다. MAST에서는 조건 1의 스크립트만 공개되고, 나머지 세 조건은 해시값 뒤에 숨겨진다. 상속 계획의 존재 자체를 외부에서 알 수 없다.
그리고 탭루트의 키 경로와 결합하면 더 강력해진다. 조건 1(본인 서명)을 키 경로로 설정하면, 평소 사용 시 이 트랜잭션은 일반적인 단일 서명 전송과 완전히 동일하게 보인다. 상속 계획이 있다는 사실 자체가 블록체인에서 관찰 불가능하다.
BIP 342: 탭스크립트 — 미래를 위한 설계
새로운 스크립트 체계
탭스크립트(Tapscript)는 탭루트의 스크립트 경로에서 사용되는 업데이트된 스크립트 체계다. 기존 비트코인 스크립트를 기반으로 하되, 몇 가지 중요한 변경이 이루어졌다.
OP_CHECKSIGADD: 기존의 OP_CHECKMULTISIG와 OP_CHECKMULTISIGVERIFY가 OP_CHECKSIGADD로 대체되었다. 기존 멀티시그 옵코드는 서명 검증 시 비효율적인 “하나씩 시도해 보기” 방식을 사용했는데, OP_CHECKSIGADD는 서명 카운터를 직접 관리하여 더 효율적이고 슈노르 서명과 호환되는 멀티시그를 구현한다.
서명 해시 개선: 탭스크립트는 개선된 서명 해시(sighash) 알고리즘을 사용한다. 모든 입력의 금액과 스크립트가 서명에 커밋되어, 하드웨어 지갑이 수수료를 안전하게 계산할 수 있게 되었다. 이는 기존 세그윗에서도 개선된 부분이지만, 탭스크립트에서 더 완전해졌다.
미래 업그레이드 용이성
탭스크립트의 가장 중요한 특징은 미래 확장성이다. 탭스크립트에서는 사용되지 않는 옵코드(OP_SUCCESS 시리즈)가 미래 소프트 포크를 통한 새로운 기능 추가를 위해 예약되어 있다. 이는 세그윗의 버전 관리 시스템과 결합되어, 비트코인 프로토콜에 새로운 기능을 추가하는 것이 이전보다 훨씬 깔끔해졌다.
이 설계 덕분에 이후 제안된 OP_CHECKTEMPLATEVERIFY(CTV), OP_CAT, OP_VAULT 같은 새로운 옵코드들이 탭스크립트 프레임워크 안에서 자연스럽게 추가될 수 있는 경로가 열렸다. 탭루트는 단순히 현재의 개선이 아니라, 비트코인의 미래 발전을 위한 플랫폼이기도 한 것이다.
프라이버시 혁명: 모든 트랜잭션이 동일하게 보인다
탭루트가 가져온 가장 근본적인 변화는 프라이버시 차원에서 일어난다.
탭루트 이전에는 트랜잭션 유형이 외관상 구분되었다. P2PKH(일반 전송), P2SH(스크립트 해시), P2WPKH(세그윗 단일 서명), P2WSH(세그윗 스크립트) 등이 각각 다른 형태를 가졌다. 체인 분석 회사들은 이 차이를 이용해 자금의 흐름을 추적하고 사용자를 프로파일링할 수 있었다.
탭루트에서는 키 경로로 지출되는 모든 트랜잭션이 동일하게 보인다. 단일 서명이든, 10-of-15 멀티시그이든, 복잡한 타임록 조건이든, 라이트닝 네트워크 채널 개설이든 — 키 경로로 지출되면 블록체인에는 동일한 형태의 데이터가 기록된다.
이것은 비트코인의 **대체 가능성(fungibility)**을 크게 향상시킨다. 모든 비트코인이 동일하게 보이면, 특정 코인의 “이력”을 근거로 차별하기 어려워진다. 이는 비트코인이 진정한 화폐로 기능하기 위한 핵심 속성이다.
수수료 절감과 효율성
탭루트는 여러 방면에서 트랜잭션 크기를 줄여 수수료를 절감한다.
키 집합 효과: n-of-n 멀티시그에서 n개의 서명이 하나의 서명으로 압축된다. 3-of-3 멀티시그의 경우 서명 데이터가 약 67% 감소한다.
MAST 효과: 복잡한 스크립트에서 사용된 조건만 공개하면 되므로, 불필요한 데이터가 블록체인에 기록되지 않는다.
키 경로 우선: 가장 일반적인 경우(모든 당사자 합의)에 최소한의 데이터만 필요하다. 키 경로 지출은 기존 P2WPKH 트랜잭션보다도 효율적일 수 있다.
이러한 효율성 향상은 개별 사용자의 수수료 절감뿐 아니라, 비트코인 네트워크 전체의 처리 용량(throughput)을 사실상 증가시키는 효과가 있다. 같은 블록 공간에 더 많은 트랜잭션을 담을 수 있기 때문이다.
스마트 컨트랙트 가능성 확장
탭루트는 비트코인의 스마트 컨트랙트 역량을 크게 확장했다.
라이트닝 네트워크 개선
라이트닝 네트워크의 채널 개설 트랜잭션은 본질적으로 2-of-2 멀티시그다. 탭루트 이전에는 이 트랜잭션이 온체인에서 멀티시그로 식별 가능했다. 탭루트 이후에는 채널 개설이 일반 전송과 구분되지 않는다. 이는 라이트닝 사용자의 프라이버시를 향상시키고, 채널 관리 비용을 절감한다.
DLC (Discreet Log Contracts)
DLC는 오라클(oracle)을 활용한 조건부 결제 프로토콜이다. 스포츠 경기 결과나 금융 상품 가격 같은 외부 데이터에 기반한 베팅이나 보험 계약을 비트코인 위에서 구현할 수 있다. 탭루트의 슈노르 서명과 MAST 구조는 DLC를 더 효율적이고 프라이빗하게 만든다.
PTLC (Point Time Locked Contracts)
탭루트는 기존 라이트닝 네트워크의 HTLC(Hash Time Locked Contracts)를 PTLC로 대체할 수 있는 기반을 마련했다. PTLC는 슈노르 서명의 어댑터 서명(adaptor signatures) 기법을 활용하며, HTLC보다 프라이버시가 우수하다. HTLC에서는 동일한 결제 해시가 경로의 모든 홉에서 사용되어 상관관계 분석이 가능했지만, PTLC에서는 각 홉마다 다른 포인트가 사용되어 경로 추적이 훨씬 어려워진다.
활성화 과정: Speedy Trial과 LOT=true 논쟁
탭루트의 기술적 내용만큼이나 그 활성화 과정도 비트코인 거버넌스의 중요한 사례로 남았다.
세그윗 전쟁의 교훈
2017년의 세그윗 활성화는 격렬한 논쟁과 갈등을 수반했다. 채굴자와 기업 연합이 세그윗 활성화를 지연시키려 하면서, UASF(User Activated Soft Fork) 운동이 일어났고, 결국 비트코인 캐시(Bitcoin Cash)의 분리(하드포크)로까지 이어졌다. 이 경험은 비트코인 커뮤니티에 깊은 흔적을 남겼다.
탭루트 활성화를 논의할 때, 커뮤니티는 이 교훈을 반영하려 했다. 핵심 쟁점은 LOT(Lock-in On Timeout) 매개변수였다.
LOT=true vs LOT=false
LOT=false: 시그널링 기간이 끝나면 활성화 시도가 실패로 끝난다. 채굴자들이 시그널링하지 않으면 업그레이드는 단순히 활성화되지 않는다.
LOT=true: 시그널링 기간이 끝나기 전에 채굴자들이 시그널링하지 않으면, 기간 종료 시 강제로 활성화된다. 이는 사실상 UASF를 내장한 것과 같다.
LOT=true 지지자들은 채굴자에게 업그레이드 거부권을 주어서는 안 된다고 주장했다. LOT=false 지지자들은 강제 활성화가 네트워크 분열 리스크를 높인다고 반박했다.
Speedy Trial의 타협
결국 Speedy Trial이라는 타협안이 채택되었다. 짧은 시그널링 기간(약 3개월) 동안 채굴자의 90% 이상이 시그널링하면 활성화가 확정되고, 실패하면 다시 논의하는 방식이었다.
결과적으로 탭루트는 압도적인 지지를 받았다. 시그널링 기간 중 채굴자의 99% 이상이 지지 시그널을 보냈고, 2021년 6월에 락인(lock-in), 11월에 활성화되었다. 세그윗 전쟁의 고통스러운 경험과 달리, 탭루트의 활성화는 비교적 순탄했다. 이는 업그레이드의 기술적 가치에 대한 커뮤니티의 폭넓은 합의가 있었기 때문이기도 하다.
탭루트 이후: 채택 현황과 미래
탭루트가 활성화된 후 채택은 점진적으로 이루어지고 있다. 2023년 들어 Ordinals와 BRC-20 토큰의 등장으로 탭루트 트랜잭션의 비율이 급증했는데, 이는 탭루트의 원래 설계 의도와는 다소 다른 방향이었다.
지갑과 서비스들의 탭루트 지원은 꾸준히 확대되고 있으며, 주요 하드웨어 지갑들도 탭루트 주소(bc1p…)를 지원하고 있다. 라이트닝 네트워크 구현체들도 탭루트 채널을 구현 중이며, 이는 라이트닝의 프라이버시와 효율성을 한 단계 끌어올릴 것으로 기대된다.
앞으로 탭루트 위에서 구현될 수 있는 기술들은 다음과 같다.
- 크로스 인풋 서명 집합(Cross-Input Signature Aggregation): 하나의 트랜잭션에 포함된 모든 입력의 서명을 하나로 합치는 기술. 구현되면 트랜잭션 크기가 획기적으로 줄어든다.
- OP_CTV / OP_CAT: 코베넌트(covenants)를 가능하게 하는 새로운 옵코드. 비트코인의 프로그래밍 가능성을 한 차원 더 확장한다.
- Musig2 기반 프로토콜: 더 정교한 다중 서명 스킴과 임계값 서명(threshold signatures)의 실용적 구현.
세그윗 이후 가장 중요한 업그레이드인 이유
세그윗(2017)이 비트코인의 확장성 문제를 해결하고 라이트닝 네트워크의 기반을 마련했다면, 탭루트(2021)는 비트코인의 프라이버시와 프로그래밍 가능성의 천장을 높였다.
세그윗이 블록 크기 전쟁의 포화 속에서 태어났다면, 탭루트는 비교적 조용히, 하지만 더 근본적인 변화를 가져왔다. 슈노르 서명은 비트코인 암호학의 기초를 업그레이드했고, MAST는 스크립트 프라이버시의 패러다임을 바꿨으며, 탭스크립트는 미래의 혁신을 위한 문을 열었다.
비트코인은 종종 “변하지 않는 프로토콜”로 오해받는다. 하지만 탭루트는 비트코인이 극도로 신중하게, 하지만 확실하게 진화할 수 있음을 보여준 사례다. 수년간의 연구, 수백 번의 리뷰, 커뮤니티 전체의 합의를 거쳐 활성화된 탭루트는 비트코인 개발의 모범이자, 탈중앙화된 프로토콜이 어떻게 업그레이드될 수 있는지를 보여주는 교과서적 사례다.
탭루트의 진정한 영향은 아직 완전히 펼쳐지지 않았다. 새로운 지갑, 프로토콜, 애플리케이션들이 탭루트의 기능을 활용하면서, 비트코인은 더 프라이빗하고, 더 효율적이며, 더 강력한 금융 프로토콜로 계속 진화해 나갈 것이다.