비트코인기술 Intermediate

코인을 어떻게 쓸지 미리 잠가두는 비트코인 코버넌트

코버넌트는 비트코인 거래가 자금이 다음에 어떻게 쓰일 수 있는지에 대한 조건을 강제할 수 있게 해줍니다. OP_CTV, OP_CAT에 대한 명확한 설명과, 그것들이 볼트·확장성·프로그래밍 가능성에 왜 중요한지 살펴봅니다.

· 6분

모든 비트코인 거래는 하나의 질문에 답한다: 누가 이 코인을 쓸 수 있는가? 서명은 당신이 정당한 소유자임을 증명하고, 네트워크는 당신이 원하는 곳으로 자금을 옮기게 해준다. 그런데 만약 거래가 두 번째 질문에도 답할 수 있다면 어떨까: 이 코인은 다음에 어떻게 쓰일 수 있는가?

그것이 코버넌트다 - 거래에 내장된 규칙으로, 미래의 거래가 그 자금으로 무엇을 할 수 있는지를 제한한다. 이 개념은 2013년부터 비트코인 커뮤니티에서 논의되어 왔고, 비트코인 역사상 가장 중요한 기술적 논쟁 중 하나가 되었다.

코버넌트가 중요한 이유

코버넌트가 왜 중요한지 이해하려면, 현재 비트코인이 우아하게 해결하지 못하는 문제 하나를 생각해보자.

당신은 **볼트(vault)**를 만들고 싶다 - 개인키를 공격자가 훔쳐가도 코인이 즉시 사라지지 않는 콜드 스토리지 설정이다. 볼트는 시간 지연을 강제한다: 모든 출금은 실제 자금이 이동하기 전에 24시간을 기다려야 한다. 그 시간 동안 당신은 복구 키를 사용해 자금을 안전한 주소로 되돌릴 수 있다.

코버넌트 없이는 이것이 불가능할 정도로 복잡하다. 쓰기 거래는 다음 거래가 무엇을 할지 전혀 모른다. 당신의 개인키는 마스터 키다 - 한번 탈취되면 모든 것을 즉시 열어버린다.

코버넌트가 있으면 볼트는 단순해진다. 코인에 규칙이 따라다닌다: "이 자금을 쓰는 다음 거래는 반드시 24시간 타임락을 포함해야 하고, 반드시 이 두 주소 중 하나로만 보내야 한다." 규칙은 키가 아니라 코인과 함께 다닌다.

이 단일 기능 - 미래의 지출을 제약하는 것 - 이 전체 애플리케이션 카테고리를 해방한다.

OP_CHECKTEMPLATEVERIFY (OP_CTV)

BIP-119는 제러미 루빈(Jeremy Rubin)이 제안한 것으로, 가능한 가장 단순한 코버넌트를 도입한다: 거래가 자신의 출력을 쓰는 다음 거래의 정확한 템플릿에 커밋할 수 있게 하는 것이다.

작동 방식

OP_CTV는 거래 템플릿의 해시 - 출력의 수, 금액, 목적지 - 를 받아서 그 템플릿과 일치하는 거래에 의해서만 쓰일 수 있도록 코인을 잠근다. 다른 어떤 것도 안 된다. 유연성 없음, 조건문 없음. 미래의 거래는 미리 결정되어 있다.

특정 사람에게 특정 금액으로 발행된 수표에 "이 사람은 반드시 Alice에게 정확히 $50를, Bob에게 $30를 지불해야 한다"는 메모가 비고란에 적혀 있는 것과 같다고 생각하면 된다. 지불의 사슬이 사전에 프로그래밍되어 있는 것이다.

무엇을 가능하게 하는가

혼잡 제어 - 수수료 급등 시 거래소는 수천 건의 출금을 단일 온체인 거래로 묶을 수 있다. 이 거래는 나중에 수수료가 낮아질 때 각 사용자에게 개별적으로 지불할 것을 커밋한다. 사용자는 실제 지불이 아직 일어나지 않았더라도 자신의 출금이 보장된다는 암호학적 증명을 받는다.

단순한 볼트 - OP_CTV는 위에서 설명한 시간 지연 출금 패턴을 강제할 수 있다. 가능한 가장 유연한 볼트 설계는 아니지만, 기능적이고 최소한이다.

비상호작용 결제 채널 - 오늘날 라이트닝 채널을 여는 것은 양쪽이 온라인에 있고 협력해야 한다. OP_CTV는 단일 온체인 거래가 동시에 많은 결제 채널을 생성하는 채널 팩토리를 가능하게 할 수 있다. 모든 참여자가 동시에 서명할 필요가 없다.

트레이드오프

OP_CTV는 의도적으로 제한적이다. 하나의 특정 미래 거래에만 커밋할 수 있다. 금액을 검사하거나, 복잡한 조건을 강제하거나, 범용 계산을 가능하게 할 수 없다. 지지자들은 이것을 기능이라고 본다 - 최소한의 표면적은 최소한의 리스크를 의미한다. 비판자들은 소프트 포크의 복잡성을 정당화하기에는 너무 좁다고 주장한다.

OP_CAT

OP_CAT은 이 논쟁에서 가장 오래된 opcode다 - 비트코인의 원래 스크립트 언어의 일부였고, 사토시가 2010년에 과도하게 큰 스크립트를 만드는 데 사용될 수 있다는 우려로 제거했다. 이제 BIP-347로 다시 가져오려는 제안은 비트코인에서 가장 흥미로운 기술적 논쟁 중 하나를 다시 불붙였다.

작동 방식

OP_CAT은 한 가지 일을 한다: 스크립트 스택에서 두 바이트 문자열을 연결한다. 요소 A와 요소 B를 받아서 AB를 푸시한다. 그것이 전체 작동이다.

이것은 사소해 보이고, 고립된 상태에서는 그렇다. 하지만 연결(concatenation)은 빌딩 블록이다. 비트코인의 기존 opcode들 - 특히 슈노어 서명탭루트 - 과 결합될 때, OP_CAT은 놀라운 것을 가능하게 한다: 거래 내성(introspection).

OP_CAT이 있으면 스크립트는 코인을 쓰는 거래의 부분들을 재구성하고 그 거래가 특정 조건을 만족하는지 검증할 수 있다. 사실상, 스크립트는 자신이 포함된 거래를 "볼" 수 있고 그것에 대한 규칙을 강제할 수 있다.

무엇을 가능하게 하는가

범용 코버넌트 - OP_CTV의 경직된 템플릿 매칭과 달리, OP_CAT은 유연한 지출 조건을 가능하게 한다. 볼트는 타임락이 지켜지는 한 어떤 주소로든 출금을 허용할 수 있다. 신탁 기금은 가능한 모든 수취인을 미리 정의하지 않고도 일정에 따라 자금을 풀 수 있다.

STARK 검증 - 비트코인 스크립트에서 더 복잡한 계산을 가능하게 함으로써, OP_CAT은 온체인에서 암호학적 증명을 검증하는 이론적 경로를 열어준다. 이는 다른 시스템으로의 무신뢰(trustless) 브리지와 라이트닝을 넘어서는 고급 레이어 2 솔루션을 가능하게 할 수 있다.

재귀 코버넌트 - 다음 거래에, 그리고 그 다음에, 무한히 자기 자신을 다시 적용할 수 있는 코버넌트. 이는 영구적 규칙을 가능하게 한다: "이 코인은 이 집합 안의 주소로만 이동할 수 있다" 또는 "이 코인이 이동할 때마다 1%가 이 주소로 가야 한다." 이것은 강력하고, 일부에게는 경각심을 불러일으킨다.

논란

OP_CAT의 일반성은 바로 그것이 논란의 대상이 되는 이유다. 재귀 코버넌트는 이론적으로 영구적 지출 제한을 만들 수 있다 - 특정 주소 집합을 절대 떠날 수 없는 코인, 또는 미래의 모든 이전에 대해 로열티를 강제하는 코인. 비판자들은 이것이 비트코인의 근본적 속성인 대체가능성(fungibility)을 훼손한다고 주장한다: 일부 코인이 영구적 제한을 가지고 다른 코인은 그렇지 않다면, 그것들은 더 이상 상호 교환 가능하지 않다.

반론은 실용적이다: 비트코인은 이미 복잡한 이력을 가진 코인들이 있다(코인조인된 것, 제재 대상 주소에서 온 것, 최근 채굴된 것). 완벽한 대체가능성은 존재한 적이 없다. 그리고 코버넌트의 유용성 - 볼트, 확장성 개선, 새로운 레이어 2 설계 - 은 이론적 우려를 능가한다.

다른 제안들

OP_CTV와 OP_CAT이 가장 많이 논의되지만, 코버넌트 설계 공간은 더 넓다.

OP_VAULT (BIP-345) - 제임스 오베언(James O'Beirne)이 제안한 것으로, 볼트 사용 사례를 위해 목적 기반으로 설계되었다. 범용 도구를 제공하는 대신, 복구 키가 있는 시간 지연 출금을 위한 특정 opcode를 도입한다. OP_CTV보다 복잡하지만 의도된 용도에 대해서는 더 유능하다.

LNHANCE - OP_CTV를 OP_CHECKSIGFROMSTACK 및 OP_INTERNALKEY와 결합한 번들. OP_CTV만으로는 너무 제한적이지만, 이 추가 opcode들과 결합하면 OP_CAT의 개방적 유연성 없이도 대부분의 사용 사례에 충분히 강력해진다는 아이디어다.

OP_TXHASH - 스크립트가 쓰는 거래의 특정 필드들을 해싱하고 검증할 수 있게 하여 선택적 내성을 가능하게 한다. OP_CAT보다 표적화되어 있지만 OP_CTV보다 유연하다.

거버넌스 질문

코버넌트는 비트코인 개발 문화의 두 가지 긴장이 교차하는 지점에 있다.

첫 번째는 보수주의 대 역량이다. 비트코인의 스크립트 언어는 의도적으로 단순하게 유지되었다. 사토시는 이유가 있어서 OP_CAT을 제거했다. 모든 새 opcode는 공격 표면을 확장하고 영원히 유지되어야 할 복잡성을 도입한다. 블록사이즈 전쟁은 비트코인 커뮤니티에게 변화에 "아니오"라고 말하는 것이 때때로 분산 시스템이 할 수 있는 가장 중요한 일임을 가르쳤다.

두 번째는 고착화(ossification) 대 진화다. 일부 비트코이너는 프로토콜이 완전히 변화를 멈춰야 한다고 믿는다 - 기반 레이어는 동결되고 모든 혁신은 상위 레이어에서 일어나야 한다는 것이다. 다른 이들은 신중하게 선택된 소프트 포크가 비트코인의 핵심 속성을 타협하지 않고도 엄청난 가치를 해방할 수 있으며, 모든 변화를 거부하는 것 자체가 리스크 있는 선택이라고 주장한다.

양쪽 입장 모두 일리가 있다. 비트코인의 가치는 변화에 대한 저항에서 나온다 - 그 규칙이 예측 가능하고 안정적이라는 사실에서. 하지만 그 안정성은 자체 수탁, 확장성, 프라이버시를 위한 더 나은 도구가 비트코인의 핵심 임무를 강화한다는 현실과 균형을 이루어야 한다.

현재 상황

2026년 초 기준으로, 어떤 코버넌트 제안도 활성화 단계에 도달하지 못했다. 논의는 메일링 리스트, 개발자 미팅, 커뮤니티 포럼에서 계속된다. OP_CTV는 가장 오랜 검토 이력을 가지고 있다. OP_CAT은 가장 넓은 이론적 역량과 가장 많은 논란을 가진다. OP_VAULT는 가장 즉각적으로 유용한 애플리케이션을 표적으로 한다.

가장 가능성 높은 전진 경로는 수년간의 추가 검토, 테스트넷 실험, 커뮤니티 합의 구축을 포함한다 - SegWit탭루트를 우리에게 준 것과 같은 느리고 신중한 과정이다. 비트코인은 설계상 천천히 움직인다. 움직일 때는 올바르게 움직이는 경향이 있다.

이 공간을 지켜보는 사람들에게 질문은 코버넌트가 유용한가가 아니다 - 분명히 유용하다. 질문은 어느 설계가 역량과 리스크의 균형을 가장 잘 맞추는가, 그리고 커뮤니티가 그것을 활성화하기에 충분한 합의에 도달할 수 있는가이다. 지저분하고 느린 그 과정이야말로 의도한 대로 작동하는 비트코인 거버넌스다.

관련 글