탭루트
탭루트는 비트코인에서 여러 지출 조건을 설정해 두더라도 실제로 사용한 조건만 공개하도록 만든 업그레이드입니다. 평소에는 거래가 단순한 지출처럼 보이게 하면서, 예외적인 조건을 사용할 때만 해당 조건을 공개합니다.
조건이 모두 드러나던 문제
비트코인 거래에는 여러 조건을 걸 수 있습니다. 예를 들어 세 명 중 두 명이 서명해야 사용할 수 있도록 만들 수 있습니다. 그러나 기존 방식에서는 거래를 실행할 때 설정해 둔 조건의 구조가 장부에 드러날 수 있었습니다.
조건이 복잡할수록 어떤 방식으로 자금을 관리하는지 다른 사람이 짐작하기 쉬워지고, 거래에 필요한 데이터도 커집니다. 데이터가 커지면 필요한 공간과 수수료도 늘어날 수 있습니다.
이를 건물에 정문, 후문, 비상구가 모두 있는 상황에 비유할 수 있습니다. 밖에서 모든 문이 보이면 건물에 어떤 출입 경로가 있는지 알 수 있습니다. 탭루트는 평소에는 정문 하나만 보이게 하고, 다른 문은 실제로 사용할 때만 드러나게 하는 것과 비슷합니다.
키 경로와 스크립트 경로
탭루트 출력은 내부 공개키에 선택적으로 스크립트 트리의 약정을 반영한 출력 공개키를 사용하는 구조입니다. 여러 조건을 스크립트 트리로 묶어 두더라도, 그 전체를 그대로 장부에 공개할 필요는 없습니다. 이 구조는 BIP341에 정의되어 있습니다.
가장 단순한 키 경로 지출에서는 스크립트 트리를 공개하지 않고 서명만으로 자금을 사용할 수 있습니다. 그래서 여러 예외 조건을 준비해 둔 출력도 평범한 단일 공개키 지출처럼 보일 수 있습니다.
반대로 스크립트 경로 지출을 선택하면 실제로 사용한 스크립트와 그 스크립트가 트리에 포함되어 있었다는 것을 증명하는 경로 정보 등을 제출합니다. 사용하지 않은 다른 조건은 공개하지 않아도 됩니다.
따라서 탭루트의 핵심은 모든 조건을 숨기는 것이 아니라, 지출 방식에 따라 필요한 정보만 공개하는 데 있습니다. 공개되는 데이터가 줄어들면 거래가 차지하는 공간과 수수료도 줄어들 수 있습니다.
서명과 프라이버시
탭루트는 여러 지출 조건을 사용하는 거래가 일반적인 단일 서명 거래와 구별되는 정도를 줄이는 데 도움을 줄 수 있습니다. 탭루트에서 사용되는 슈노르 서명은 서명 구조를 단순하게 다루고, 별도의 서명 집계 방식과 결합될 수 있습니다.
다만 여러 사람의 서명이 언제나 자동으로 하나의 서명처럼 합쳐지는 것은 아닙니다. 거래에 서명하는 도구인 서명 장치와 프로토콜, 서명 집계 방식이 이를 지원해야 합니다. 따라서 탭루트 자체를 모든 다중 서명 거래가 자동으로 단일 서명 거래처럼 보이게 만드는 기술로 이해해서는 안 됩니다.
탭루트가 숨기는 것과 숨기지 않는 것
탭루트를 사용해도 거래가 익명으로 바뀌지는 않습니다. 주소와 금액, 거래가 장부에 기록된다는 사실은 그대로입니다. 가려지는 것은 어떤 지출 조건을 설정했는지와 그 조건의 전체 구조이며, 키 경로를 사용하면 스크립트 자체를 공개하지 않을 수 있습니다.
따라서 탭루트는 추적을 없애는 기술이라기보다, 불필요한 조건 공개를 줄여 프라이버시를 개선하는 기술에 가깝습니다.
사용되는 곳
탭루트는 여러 사람이 함께 자금을 관리하는 공동 보관 방식에 활용될 수 있습니다. 라이트닝 채널을 닫는 거래를 일반적인 거래와 더 비슷하게 보이도록 하는 데에도 사용할 수 있습니다.
탭루트 주소는 보통 bc1p로 시작합니다. 다만 모든 서비스가 이 주소 형식과 탭루트 지출 방식을 지원하는 것은 아니므로, 실제 사용에서는 서명 장치와 서비스의 지원 여부를 확인해야 합니다.
큰 기능보다 기존 기능을 다듬는 업그레이드
탭루트는 비트코인의 조건 설계를 완전히 자유롭게 확장한 업그레이드는 아닙니다. 기존에 사용하던 조건을 더 효율적이고 조용하게 처리하도록 개선한 쪽에 가깝습니다.
탭루트는 세그윗 이후 활성화된 중요한 업그레이드이며, 2021년에 소프트포크로 적용되었습니다. 비트코인의 업그레이드는 자금의 규칙을 바꾸는 만큼, 기능을 크게 늘리기보다 여러 사용 사례와 기존 노드의 호환성을 고려하며 신중하게 진행됩니다.
요약하면 탭루트는 키 경로에서는 스크립트를 공개하지 않고, 스크립트 경로에서는 실제로 사용한 조건과 포함 증명만 공개할 수 있게 만든 업그레이드입니다. 프라이버시와 효율성을 개선하지만, 거래를 완전히 익명으로 만들거나 모든 서명을 자동으로 하나로 합치는 기술은 아닙니다.