Taproot와 MAST: 비트코인에서 고급 프라이버시와 복잡한 스크립팅 잠금 해제

Bitcoin은 진화가 느리다고 자주 비판을 받지만, 이 인식은 프로토콜이 보안과 안정성을 최우선으로 한다는 점에 대한 오해에서 비롯됩니다. 다른 블록체인 네트워크에 비해 업데이트가 드물지만, 발생할 때는 깊이가 있습니다. 2021년 11월 Taproot의 활성화는 Bitcoin 역사상 가장 중요한 기술적 도약 중 하나를 표시했습니다. 이 업그레이드는 단일 기능이 아니라 거래 검증 방식과 블록체인에 데이터 저장 방식을 현대화하도록 설계된 기술 묶음이었습니다.

핵심적으로 Taproot는 프라이버시와 효율성이라는 두 가지 근본적인 도전을 해결합니다. 네트워크가 성장함에 따라 사용자들은 멀티 시그니처 지갑과 시간 잠금 계약 같은 더 복잡한 거래 유형을 요구했습니다. 이전 Bitcoin 프로토콜 버전에서 이러한 복잡한 거래는 데이터가 무겁고 공개 원장에 쉽게 식별 가능했습니다. 이로 인해 사용자들은 고급 스크립팅 기능을 사용하기 위해 프라이버시를 희생하고 더 높은 수수료를 지불해야 했습니다.

Taproot 업그레이드는 Schnorr signatures, Merkelized Abstract Syntax Trees(MAST), 그리고 Tapscript라고 불리는 새로운 스크립팅 언어를 도입함으로써 이러한 문제를 해결합니다. 이러한 기술들은 복잡한 거래가 블록체인에서 표준 전송과 구분되지 않도록 만듭니다. 이는 더 프라이빗하고, 교환 가능하며, 확장 가능한 네트워크를 만듭니다. 이러한 구성 요소를 이해하면 Bitcoin이 단순한 디지털 금이 아니라 안전하고 프라이빗하며 효율적인 가치 전송을 위한 강력한 플랫폼으로 자신을 위치시키고 있음을 알 수 있습니다.

Bitcoin 업그레이드의 역사적 맥락

Taproot의 규모를 이해하려면 2017년 Segregated Witness(SegWit) 업그레이드를 되돌아봐야 합니다. SegWit은 주로 거래 가변성(transaction malleability)을 수정하는 것이었습니다. 이는 확인 전에 거래 ID를 변경할 수 있게 하는 버그였습니다. 그러나 가장 지속적인 유산은 블록 공간 측정 방식의 변화였습니다. 디지털 서명(witness data)을 거래 데이터와 분리함으로써 SegWit은 효과적으로 블록 크기 제한을 증가시키고 Lightning Network 같은 Layer-2 솔루션의 길을 열었습니다.

SegWit은 "block weight" 개념을 도입하여 witness data의 크기를 할인함으로써 단일 블록에 더 많은 거래를 수용할 수 있게 했습니다. 이는 처리량을 개선했지만 암호화 서명 체계나 스크립트 처리 방식을 근본적으로 변경하지는 않았습니다. Bitcoin은 Bitcoin 탄생 이래 산업 표준이었던 Elliptic Curve Digital Signature Algorithm(ECDSA)에 계속 의존했습니다.

기존 시스템의 한계

Taproot 이전에 복잡한 지출 조건은 Pay-to-Script-Hash(P2SH)를 사용하여 처리되었습니다. 사용자가 세 개의 개인 키 중 두 개의 서명 또는 특정 시간이 지나야 하는 계약을 만들고 싶다면 전체 스크립트를 해시하여 블록체인에 배치해야 했습니다.

자금을 지출할 때가 되면 사용자는 충족되지 않은 조건을 포함한 전체 스크립트를 공개해야 했습니다. 이 시스템에는 두 가지 주요 단점이 있었습니다. 첫째, 대형 스크립트가 상당한 블록 공간을 소비하여 더 높은 거래 수수료를 초래하는 비효율적이었습니다. 둘째, 프라이버시 재앙이었습니다. 스마트 계약의 모든 가능한 조건을 공개함으로써 사용자들은 자신의 보안 설정을 전 세계에 노출했습니다.

Taproot 업그레이드는 이 역학을 근본적으로 변경합니다. 사용자들은 자금이 실제로 지출될 때까지 복잡한 스크립트의 내용을 공개하지 않고 커밋할 수 있습니다. 심지어 그때도 자금을 잠금 해제하는 데 사용된 특정 조건 만 공개되어 계약 로직의 나머지는 공개 보기에서 숨겨집니다.

Schnorr Signatures의 힘

Taproot 업그레이드의 첫 번째 기둥은 Schnorr signatures(BIP 340)의 구현입니다. 이는 공개 키와 서명을 생성하는 기존 ECDSA 메커니즘을 대체합니다. ECDSA는 안전하지만 선형성(linearity)이라는 수학적 속성이 부족합니다. 선형성은 여러 디지털 서명을 단일 유효 서명으로 결합할 수 있게 합니다. 이 기능은 key aggregation으로 알려져 있습니다.

전통적인 Bitcoin 멀티 시그니처 거래에서 네트워크는 각 개별 서명을 검증하고 블록체인에 모두 저장해야 합니다. 세 사람이 거래에 서명하면 세 개의 서명과 세 개의 공개 키가 블록 공간을 차지합니다. 데이터 크기의 선형적 증가로 인해 보안이 비싸집니다.

Schnorr signatures는 여러 당사자가 공개 키를 단일 집계 키로 결합할 수 있게 하여 이를 해결합니다. 거래에 서명할 때 개별 부분 서명이 단일 서명으로 결합됩니다. Bitcoin 네트워크에게 이 집계 서명은 표준 단일 사용자 서명과 정확히 동일하게 보입니다. 이는 온체인에 저장되는 데이터 양을 급격히 줄여 복잡한 보안 설정의 수수료를 낮춥니다.

효율성을 넘어 Schnorr은 "batch validation"을 가능하게 합니다. 이 기능은 전체 노드가 이전보다 훨씬 빠르게 서명을 검증할 수 있게 합니다. 각 서명을 하나씩 확인하는 대신 노드는 Schnorr 서명 배치를 동시에 검증할 수 있습니다. 이 수학적 효율성은 네트워크의 계산 부하를 줄여 사용자들이 자신의 노드를 운영하고 시스템의 탈중앙화를 유지하기 쉽게 만듭니다.

Merkelized Abstract Syntax Trees(MAST)

업그레이드의 두 번째 주요 구성 요소는 Merkelized Abstract Syntax Trees, 즉 MAST의 통합입니다. 이 기술은 Bitcoin에서 스마트 계약이 구조화되는 방식을 혁신합니다. 컴퓨터 과학에서 Merkle tree는 전체 데이터셋이 존재하지 않아도 대규모 데이터셋의 효율적인 검증을 허용하는 데이터 구조입니다. MAST는 이 개념을 Bitcoin 스크립트에 적용합니다.

기존 P2SH 시스템에서 스마트 계약은 단일 선형 스크립트였습니다. 스크립트에 여러 지출 조건(분기)이 포함되어 있으면 전체 스크립트가 처리되고 공개되어야 했습니다. MAST는 이러한 조건을 Merkle tree의 개별 리프로 분해합니다. 사용자가 자금을 지출할 때 사용 중인 특정 리프(조건)와 리프를 트리 루트에 연결하는 "Merkle proof"만 제공하면 됩니다.

선택적 공개를 통한 효율성

MAST의 주요 이점은 효율성입니다. 다양한 가족 구성원과 시간 지연을 포함한 10가지 다른 자금 접근 방식이 있는 복잡한 상속 계약을 상상해 보세요. 기존 시스템에서 모든 10가지 조건이 블록 공간을 차지합니다. MAST를 사용하면 주요 수혜자가 가장 간단한 조건으로 자금을 접근하면 해당 단일 조건 만 공개되고 온체인에 저장됩니다.

실행되지 않은 트리 분기들은 해시되어 숨겨집니다. 이는 100가지 잠재적 지출 조건을 가진 거래가 단일 조건 거래만큼 작고 저렴할 수 있음을 의미합니다. 계약 복잡성과 거래 비용의 분리는 고급 보안 조치를 사용한 재정적 페널티를 제거합니다.

숨겨진 스크립트로부터의 프라이버시 이득

MAST는 심오한 프라이버시 개선을 제공합니다. 실행되지 않은 분기가 공개되지 않기 때문에 외부 관찰자들은 사용자 지갑 구성의 전체 세부 사항을 알 수 없습니다. 블록체인을 보는 관찰자는 충족된 조건 만 보지 예비 조건들은 보지 않습니다.

예를 들어 사용자는 하드웨어 지갑으로 즉시 또는 신뢰할 수 있는 제3자에 의해 1년 지연 후 잠금 해제될 수 있는 지갑을 가질 수 있습니다. 사용자가 하드웨어 지갑으로 정상적으로 지출하면 제3자 백업 조건의 존재가 공개되지 않습니다. 이 선택적 공개는 체인 분석 회사들이 지갑을 지문 채취하거나 사용자 보안 설정의 정교함을 결정하기 어렵게 만듭니다.

Pay-to-Taproot(P2TR)과 Key Path Spending

Taproot는 Schnorr signatures와 MAST를 BIP 341에 정의된 새로운 거래 출력 유형인 Pay-to-Taproot(P2TR)으로 통합합니다. 이 구조는 Bitcoin 출력을 "key path"와 "script path" 두 가지 다른 방식으로 지출할 수 있게 합니다. 이 이중 기능이 Taproot 거래를 블록체인에서 균일하게 보이게 합니다.

Key path는 Schnorr의 key aggregation을 활용합니다. 스마트 계약의 모든 당사자가 행동 방침에 동의하면 단일 서명을 생성하여 자금을 지출할 수 있게 협력합니다. 이는 협력적 종료 시나리오입니다. 네트워크에게 이는 간단한 개인 간 지불과 동일하게 보입니다. 지출 승인은 온체인 암호화만으로 처리되므로 기본 스크립트가 공개되지 않습니다.

당사자들이 동의하지 못하거나 특정 복잡한 조건을 충족해야 하면 지갑은 script path로 대체됩니다. 여기서 MAST가 작동합니다. 지갑은 자금을 이동하는 데 필요한 Merkle tree의 특정 분기를 공개합니다. P2TR의 천재성은 블록체인의 공개 키가 실제로 사용자 공개 키와 MAST 루트의 조합이라는 점입니다.

이는 모든 P2TR 출력이 지출될 때까지 동일하게 보인다는 의미입니다. 관찰자는 P2TR 주소가 간단한 단일 서명 지갑인지, 멀티 시그 설정인지, 복잡한 스마트 계약인지 알 수 없습니다. 사용자가 key path로 지출하면 script path의 존재가 수학적으로 영원히 숨겨집니다. "cooperative close"로 알려진 이 개념은 수수료 절감과 프라이버시 보존을 위해 당사자들을 오프체인 합의 유도합니다.

기능 기존(P2SH/ECDSA) Taproot(P2TR/Schnorr)
서명 알고리즘 ECDSA Schnorr
프라이버시 전체 스크립트 공개 실행된 분기만 공개
멀티 시그 데이터 서명자당 하나의 서명 하나의 집계 서명
효율성 복잡성에 따라 비용 증가 key path에 대한 일정 비용
교환 가능성 특별한 지갑 지문 균일한 거래 모양

Bitcoin 스마트 계약의 진화

Bitcoin은 Ethereum 같은 튜링 완전 스마트 계약 플랫폼은 아니지만 정교한 금융 로직을 처리할 수 있는 강력한 스크립팅 언어를 가지고 있습니다. Taproot는 이 기능을 상당히 향상시킵니다. 복잡한 스크립트의 비용 페널티를 제거함으로써 Bitcoin 베이스 레이어에서 더 복잡한 애플리케이션을 구축하도록 개발자들을 장려합니다.

이는 Bitcoin이 다른 체인의 기능을 복제하려는 것이 아닙니다. 대신 검증에 초점을 맞춥니다. Bitcoin 스마트 계약은 기본적으로 승인 조건에 관한 것입니다: 누가 돈을 지출할 수 있고 언제. Taproot는 이러한 승인 조건이 온체인에서는 간단하고 간결하게 유지되면서 오프체인에서 임의로 복잡할 수 있게 합니다.

Tapscript와 미래 업그레이드

이러한 새로운 기능을 지원하기 위해 업그레이드는 Bitcoin 스크립팅 언어의 업데이트 버전인 Tapscript(BIP 342)를 도입했습니다. Tapscript는 서명 검증 방식을 수정하고 특정 "opcodes"(operation codes)를 더 유연하게 재도입하거나 변경합니다.

Tapscript의 중요한 변경 중 하나는 witness data의 엄격한 크기 제한 제거입니다. 이전에는 처리할 수 있는 스크립트 크기에 하드 캡이 있었습니다. Tapscript는 이러한 제약을 완화하여 블록 무게 제한 내에 맞는 한 더 크고 복잡한 스크립트 실행을 허용합니다.

게다가 Tapscript는 미래 업그레이드 가능성을 염두에 두고 설계되었습니다. 정의되지 않은 opcode 처리 방식을 재정의합니다. 기존 시스템에서 새로운 opcode 도입은 복잡한 업그레이드 프로세스를 요구했습니다. Tapscript에서는 알려지지 않은 opcode가 기본적으로 유효(no-ops)로 처리되어 소프트 포크를 통해 나중에 새로운 기능을 쉽게 도입할 수 있으며 네트워크를 방해하지 않습니다. 이 미래 지향적 설계는 Bitcoin이 새로운 암호화 혁신에 계속 적응할 수 있게 합니다.

Layer-2 솔루션에 대한 영향

Taproot의 함의는 베이스 레이어를 훨씬 넘어 Lightning Network 같은 Layer-2 확장 솔루션에 상당한 이점을 제공합니다. 현재 Lightning 채널 열기와 닫기는 2-of-2 멀티 시그니처 거래를 포함합니다. 기존 체인에서 이러한 거래는 구별되고 쉽게 식별됩니다.

Taproot를 사용하면 Lightning 채널 열기나 닫기가 key path를 사용할 수 있습니다. 이는 Lightning 거래가 표준 사용자 지불과 정확히 동일하게 보이게 합니다. 이는 온체인 지불과 채널 관리 작업을 구분하기 어렵게 하여 Lightning Network 사용자의 프라이버시를 개선합니다.

추가로 Taproot는 Lightning에서 사용되는 현재 Hashed Time Locked Contracts(HTLCs)를 Point Time Locked Contracts(PTLCs)로 대체할 수 있게 합니다. PTLCs는 Schnorr 암호화를 활용하여 지불 경로를 따라 프라이버시를 개선합니다. HTLC에서 동일한 해시가 전체 경로에 사용되어 노드들이 지불을 상관관계지을 수 있습니다. PTLCs는 각 홉에서 무작위 스칼라를 사용해 이 링크를 끊고 중개자들에게 지불 경로를 수학적으로 불투명하게 만듭니다.

Bitcoin 거버넌스와 활성화

Taproot 활성화 경로는 Bitcoin 거버넌스의 독특한 성격을 보여줍니다. 리더가 업그레이드를 지시하는 중앙화된 시스템과 달리 Bitcoin은 마이너, 개발자, 노드 운영자 같은 분산된 이해관계자들의 합의에 의존합니다. Taproot에 사용된 활성화 프로세스는 "Speedy Trial"로 알려져 있습니다.

이 메커니즘은 마이너들이 3개월 기간 동안 채굴된 블록에서 업그레이드 지원을 신호할 수 있게 했습니다. 활성화 임계값은 난이도 에포크 내 90% 블록으로 설정되었습니다. 이 높은 기준은 압도적인 합의가 있을 때만 업그레이드가 진행되도록 하여 네트워크 분할이나 논쟁적인 하드 포크를 방지합니다.

2021년 11월 성공적인 활성화는 Bitcoin이 거대 크기와 분산적 성격에도 불구하고 복잡한 업그레이드를 조정할 수 있음을 증명했습니다. 이는 "soft forks"—바로바로 소프트웨어 업데이트를 강제하지 않는 후방 호환 업그레이드—에 대한 문화적 선호를 강조합니다. Taproot 노드는 오래된 노드와 계속 통신할 수 있어 업그레이드 실패로 네트워크에서 추방되지 않습니다.

의도치 않은 결과: Ordinals의 부상

Taproot 업그레이드의 가장 놀라운 결과 중 하나는 Bitcoin Ordinals의 출현이었습니다. Taproot는 금융 스마트 계약을 개선하도록 설계되었지만 Tapscript를 통한 witness 필드 데이터 제한 완화는 블록체인에 임의 데이터 저장의 문을 열었습니다.

Ordinals는 이미지, 텍스트 또는 코드 같은 데이터를 개별 사토시(Bitcoin의 최소 단위)에 직접 새길 수 있게 합니다. Taproot가 witness data 크기 제한을 제거했기 때문에 사용자들은 필요한 수수료를 지불하면 단일 블록에 4MB 데이터를 거래할 수 있게 되었습니다. 이는 Bitcoin에서 직접 "digital artifacts" 또는 NFT 시장을 탄생시켰습니다.

이 발전은 커뮤니티 내에서 격렬한 논쟁을 촉발했습니다. 순수주의자들은 비금융 데이터로 블록체인을 "부풀린다"고 주장하며 전체 노드 운영을 어렵게 한다고 합니다. 지지자들은 Ordinals 비문으로 지불된 높은 수수료가 블록 보조금 감소 시 네트워크를 보호한다고 주장합니다. 입장과 무관하게 Ordinals는 Taproot 아키텍처의 유연성과 오픈소스 프로토콜이 야생에 풀려난 후 사용되는 예측 불가능성을 보여줍니다.

Covenants와 OP_CAT의 귀환

Taproot가 도입한 유연성은 Bitcoin 스크립팅 기능 추가에 대한 논의를 재점화했습니다. 현재 연구의 주요 주제는 "covenants"—자금이 지출된 어디로 보내질 수 있는지 제한하는 스크립트입니다. 현재 Bitcoin 스크립트는 승인(누가 지출할 수 있는지)만 제어하고 목적지(어디로 가는지)는 제어하지 않습니다.

Covenants와 더 고급 사이드체인 브리지를 가능하게 하기 위해 개발자들은 OP_CAT opcode의 재도입을 논의하고 있습니다. OP_CAT은 스크립트 내에서 두 데이터 조각을 연결(concatenate)할 수 있게 합니다. Bitcoin 초기 날에 메모리 사용 우려로 제거되었지만 Tapscript의 현대적 보호 장치로 안전하게 복원될 수 있습니다.

활성화되면 OP_CAT은 Taproot와 결합하여 개인 키가 도난당해도 새로운 주소로 자금 이동 전에 대기 기간을 강제하는 분산형 볼트 같은 더 강력한 스마트 계약을 허용합니다. 이는 Taproot가 마련한 기반 위에 Bitcoin 스크립팅의 지속적인 진화를 나타냅니다.

결론

Taproot와 MAST의 통합은 Bitcoin 프로토콜의 성숙을 나타냅니다. 복잡한 검증 로직을 온체인 밖으로 이동하고 고급 암호화를 활용함으로써 Bitcoin은 보안과 탈중앙화라는 핵심 가치를 손상시키지 않고 기능을 확장했습니다. 업그레이드는 프라이버시와 기능성 간 긴장을 해결하여 사용자들이 정교한 보안과 재정 프라이버시 사이에서 선택하지 않아도 됨을 증명했습니다.

생태계가 이러한 도구를 계속 채택함에 따라 모든 거래가 기본 복잡성에 관계없이 동일하게 보이는 지갑 표준으로 전환될 것입니다. Lightning Network 강화부터 Ordinals 같은 새로운 자산 유형 가능하게 함에 이르기까지 Taproot는 급속히 진화하는 디지털 환경에서 Bitcoin의 관련성을 확보했습니다. 이는 프라이빗하고 효율적이며 프로그래머블한 돈의 다음 세대를 위한 기반이 됩니다.

Taproot와 MAST는 복잡한 거래 세부 사항을 숨겨 스마트 계약을 더 저렴하게 사용하고 추적하기 어렵게 합니다.