비트코인에서의 자산 발행: 기존 프로젝트 및 각자의 방안 가이드
본 문서 저자: 비원 연구소 Yunwen Liu 1
영문판: Issuing Assets on Bitcoin: A Simple Guide to Current Projects and Approaches 2
나는 이 문제에 대해 이야기할 때 비트코인 순수주의자들이 아마도 이렇게 생각할 것이라는 것을 알고 있다: 비트코인이 조용히 디지털 금으로 존재하는 것이 나쁘지 않나? 왜 꼭 토큰이 필요할까? 왜 꼭 USDT가 필요할까? 하지만 자산 안전이 특히 중요하다면, 이더리움이 만약 망한다면 어떻게 될까? DeFi는 누가 받아줄 수 있을까? 게다가, 토큰 계획은 비트코인 프로토콜과 호환되며 원래의 기능을 해치지 않기 때문에, 마음에 들지 않으면 토큰 클라이언트를 다운로드하지 않아도 큰 영향을 받지 않는다.
비트코인에서 토큰 발행: 왜 불가능한가?
비트코인에서 토큰을 발행하여 현실 세계의 자산 거래를 체인으로 옮기려는 아이디어는 2010년경 비트코인 커뮤니티에서 등장했다. 커뮤니티의 초기 논의는 현실 세계의 자산—예를 들어: 부동산, 주식, 법정 화폐 등의 자산을 비트코인으로 옮겨 탈중앙화 거래를 하려는 것이었다. 그러나 법적 요인으로 인해 부동산과 주식 같은 자산의 이동은 그렇게 쉽지 않다. 자신의 집의 디지털 자산 토큰을 다른 사람에게 지급하더라도 정부는 이를 인정하지 않을 수 있으며, 현실 세계의 부동산 증서를 자동으로 변경할 수도 있고, 각종 세금을 납부해야 할 수도 있다. 게다가 규제 하에서는 체인에서 자유롭게 거래할 수 없다.
따라서 더 매력적인 방법은 법정 화폐에 연동된 토큰, 즉 스테이블코인을 발행하는 것이다. 스테이블코인은 NFT와 다르게 여전히 동질적인(fungible) 토큰이며, 단지 원래의 비트코인과 구별된다. 토큰으로 나타날 때, 그들의 가치는 대표하는 현실 세계 자산의 가격에 의해 결정되며, 더 이상 원래의 디지털 화폐 가격에 의존하지 않는다(디지털 화폐의 가격이 자산 가격보다 너무 높아지면 자산을 포기하는 것도 가능하다). 이것이 일반적으로 비트코인에서의 토큰이 사토시(Satoshi) 단위로 표시되는 이유이다.
디지털 화폐를 자산의 토큰으로 사용하려면 두 가지 주요 문제를 해결해야 한다:
- 비트코인으로 현실 세계의 자산을 어떻게 표현할 것인가;
- 비트코인의 매우 제한된 스크립트 언어에서 복잡한 거래 규칙과 계약을 어떻게 설정할 것인가.
아래 내용은 위 두 가지에 초점을 맞추어 현재 존재하는 몇 가지 비트코인 자산 발행 계획을 요약하고, 데이터 가용성, 자산 매체, 표현력, 확장성 등 여러 측면에서 비교하였다.
비트코인에서의 첫 번째 토큰: 컬러드 코인
비트코인에서 토큰 프로토콜을 처음 설계한 사람은 알 수 없지만, 그 아이디어는 비트코인 포럼이나 커뮤니티의 논의에서 발생했을 가능성이 있다. 컬러드 코인(Colored Coin) 프로젝트는 요니 아시아(Yoni Assia)가 2012년에 시작했으며, 당시 그는 비탈릭 부테린(Vitalik Buterin), 리오르 하킴(Lior Hakim), 메니 로젠펠드(Meni Rosenfeld), 로템 레브(Rotem Lev)와 함께 《컬러드 코인 백서》(Colored Coins whitepaper)를 작성했으며, 프로젝트는 2013년에 운영을 시작했다.
컬러드 코인의 작동 원리는 하나의 사토시를 특별한 동전으로 표시하고, 자산의 관련 정보를 이 사토시에 기록하는 것이다—이 과정을 '염색'이라고 한다. 당신은 하나의 사토시를 다른 색으로 염색할 수 있으며, 다른 태그(tag)를 붙일 수 있지만, 같은 색의 동전들 사이에서는 여전히 구별할 수 없다. 예를 들어, 달러로 염색된 사토시 무리는 여전히 동질적이다. 초기 프로토콜은 nSequence 필드를 사용하여 거래의 첫 번째 입력 UTXO의 nSequence에 태그를 추가했다. 그러나 nSequence의 저장 한계는 4바이트에 불과하므로, 이후의 토큰 설계는 기본적으로 OP_RETURN 필드로 변경되어 더 많은 메타데이터를 저장할 수 있게 되었다.
현재 컬러드 코인은 비트코인에서의 첫 번째 토큰 프로젝트로 언급되는 주된 이유는 그것이 최초의 프로젝트이기 때문이다. 그러나 프로젝트의 발전은 사실 그리 이상적이지 않았고, 대규모로 사용되지도 않아 점차 잊혀졌다. 당시 컬러드 코인이 직면한 문제는 비트코인의 기능이 이 비교적 선진적인 아이디어를 지원할 수 없었다는 것이다. 이 아이디어가 실현되고 효율적으로 안정적으로 운영되기란 어려웠다. 이것이 비탈릭이 컬러드 코인 프로젝트 이후 비트코인의 반대편으로 나아가 스마트 계약에 그렇게 집착하게 된 이유일지도 모른다.
컬러드 코인은 사토시 형태로 존재하기 때문에, 그 검증은 UTXO의 유효성을 검증하는 것과 동일하게 전체 체인을 다운로드해야 한다. 이 문제는 이후 클라이언트 검증(client-side validation) 방식으로 해결될 것이다.
OP_RETURN을 사용하여 토큰 발행: Counterparty & Omni Layer
컬러드 코인과는 달리 Counterparty와 Omni Layer (USDT의 배후 프로토콜)는 사토시에 직접 염색하지 않고, 거래에서 값이 0인 UTXO를 설정하여 이 UTXO의 OPRETURN에 메타데이터를 저장한다. OPRETURN은 80바이트를 저장할 수 있으며, OPRETURN의 UTXO는 소비될 수 없음을 나타내며, 실제 토큰은 OPRETURN에 기록된 i번째 출력이다. 이 출력의 값은 일반적으로 0.00000546 BTC로, 시스템에서 허용하는 최소값이며, 토큰의 가치는 BTC와 연동되지 않기 때문에 0.00000546 BTC 이상의 가치를 발행할 필요는 없다.
이 프로젝트들은 모두 체인에서 검증이 필요하며, 메타데이터는 체인에 저장된다.
Omni Layer는 오랜 시간 동안 이더리움 체인에서 활동하다가 최근에 비트코인 생태계로 돌아와 BTC-USDT를 발행할 준비를 하고 있다. Counterparty는 일부 비트코인을 스테이킹하고 있으며, 자체 토큰 XCP를 보유하고 있다. Twitter에 따르면 최근에는 NFT 작업을 하고 있는 것으로 보인다.
OP_RETURN에 대한 더 많은 정보는 다음을 참조하십시오:
사이드체인으로 비트코인 고정: Rootstock & Liquid Network
Rootstock와 Liquid Network 이 두 프로젝트는 대략 2017년경에 등장했으며, 모두 사이드체인 솔루션이다—양방향 고정(Two-way peg) 방식으로 비트코인을 사이드체인으로 교환하고 EVM 호환 사이드체인에서 다양한 DeFi와 dApps를 사용하는 것이다. 그들은 WBTC와 유사한 토큰(RSK는 RBTC, Liquid은 L-BTC)을 가지고 있으며, 주로 BTC를 사용하여 이더리움 생태계에서 구축하고자 하는 사람들을 대상으로 한다.
Rootstock에서 토큰을 발행하는 방법은 이더리움에서 발행하는 방법과 동일하며, 또는 Rootstock 이 사이드체인은 채굴을 제외하고는 비트코인 체인과 함께 작동하며, 다른 기능은 이더리움 생태계에 적합하도록 설계되었다. 예를 들어 스마트 계약 코드는 Solidity로 작성된다. 따라서 여기의 토큰은 RBTC를 기반으로 발행되며, BTC와 직접적인 연관이 없다.
이 문서에서는 주로 공공 체인에 초점을 맞추고 있으며, Liquid Network는 컨소시엄 체인이므로 깊이 논의하지 않겠다.
RSK에 대한 더 많은 정보는 다음을 참조하십시오:
앞서 언급한 이러한 프로젝트들 중 일부는 사라졌고(예: 컬러드 코인), 일부는 비트코인의 이름을 빌려 이더리움 생태계를 판매하고 있다. 이는 주로 이더리움이 자본을 수용한 이후 DeFi와 dApps가 절대적인 시장 우위를 차지하게 되었기 때문이다. 따라서 이들과 함께하지 않는 DeFi 프로젝트가 우위를 얻기란 비교적 어렵다. 이더리움의 토큰은 계약을 통해 발행되고 거래되며, ERC-20 등의 표준을 따른다. 비트코인 생태계도 최근 2년 동안 계약 기능을 잠금 해제하기 시작했으며, BitVM과 같은 토큰 표준 BRC-20이 등장했다.
비트코인에서 스마트 계약 구현: RGB
2016년에 탄생한 RGB (Really Good for Bitcoin)는 처음에 컬러드 코인의 경쟁자로 설계되었다. 그러나 유사한 도전에 직면하여 비트코인에서 스마트 계약을 활성화하는 방향으로 전환했다. 비록 주로 스마트 계약 실행에 초점을 맞추고 있지만, 토큰 발행이 아닌 스마트 계약을 실행하는 데 있어 그들의 가상 머신 AluVM의 제한으로 인해 2024년까지 완전한 계약 기능은 여전히 제한적이다.
RGB의 아이디어는 체인 외부에서 얻을 수 있는 데이터와 스마트 계약 코드를 비트코인 외부에 두고, Merkle root를 통해 거래 검증과 토큰 발행의 약속(commitment)을 제공하는 것이다. 비트코인 체인은 거래 약속의 검증과 최종성만 수행하며, 이중 지불이 발생하지 않았음을 증명한다.
RGB에서 주목할 만한 점은 클라이언트 검증과 일회용 봉인(single-use seal) 기술을 동시에 사용한다는 것이다. 이렇게 하면 UTXO에 토큰을 나타내기 위해 표시하지 않는다. 이 두 개념은 Peter Todd가 2013년 처음 제안했으며, 지아코모 주코(Giacomo Zucco)와 막심 올로프스키(Maxim Orlovsky)가 이 기반 위에 RGB 프로토콜을 설계했다.
클라이언트 검증(Client-side validation)은 거래에 사용되는 데이터와 코드가 체인 외부에 저장되어 공개적으로 방송되지 않도록 하며, 일부 데이터는 거래 당사자 간에 비공식적으로 교환될 수 있고, 거래와 관련 없는 다른 사람들은 전혀 알지 못할 수 있다. 체인 외부 상태는 비트코인에 의해 유지되며, 블록체인은 타임스탬프 역할을 하여 상태의 순서를 증명할 수 있다.
일회용 봉인(single-use seal)—클라이언트 검증에서 가장 흔히 나타나는 형태이기도 하다—은 디지털 버전의 일회용 봉인이다. 각 UTXO는 한 번만 소비될 수 있는 특성을 이용하여 체인 외부 상태의 정보를 하나의 UTXO에 기록한다. 따라서 특정 시점에 이 UTXO가 소비되면 상태가 업데이트되었음을 알 수 있으며, 업데이트된 상태 정보는 새로 생성된 UTXO에 기록된다. 이 체인 외부 상태 정보는 USDT 토큰의 소유권일 수도 있고, 특정 계약에서 얼마나 많은 토큰이 있는지를 나타낼 수도 있다.
예를 들어, 앨리스가 USDT를 밥에게 전송하고자 할 때, 이 USDT는 비트코인 체인에 존재하지 않으며, 그 정보는 체인 외부에서 유지된다. 그러나 이 정보는 앨리스가 제어하는 UTXO와 연결된다. 이 정보는 이 UTXO를 생성한 거래의 값이 0인 UTXO의 OP_RETURN 필드에 저장된다. 따라서 오직 앨리스만 이 USDT를 소비할 수 있으며, 밥은 체인상의 거래를 통해 이 USDT가 과거 거래에서 어떤 UTXO에 저장되었는지, 이 UTXO가 유효한지, 거래가 합법적인지를 추적할 수 있다. 이렇게 앨리스가 거래를 시작하여 이 USDT의 약속 정보를 밥이 제어하는 UTXO로 전송하면, 밥은 자신이 이 USDT를 받았음을 확인할 수 있다.
RGB는 또한 라이트닝 네트워크에서 실행될 수 있다. 그 상태는 체인 외부에 있으며, 약속만 체인이나 라이트닝 네트워크에 두면 된다. Taproot 업그레이드 이후, RGB는 약속을 Taproot 거래에 삽입할 수 있으며, 이를 통해 RGB는 비트코인 체인에 약속을 더 유연하게 삽입할 수 있다.
RGB에 대한 더 많은 정보는 다음을 참조하십시오:
토큰만 지원하고 스마트 계약은 지원하지 않는: Taproot 자산
Taproot 자산은 Lightning Network Daemon (LND) 팀이 개발한 프로젝트이다. 그 원리는 RGB와 유사하지만 복잡한 스마트 계약을 지원하지 않고, 오직 토큰만 지원한다(여기서 Taproot 항목의 설명을 참조하라).
클라이언트 측 검증, RGB 및 Taproot에 대한 더 많은 정보는 다음을 참조하십시오:
- Client-side validation
- Off-Chain Transactions: The Evolution of Bitcoin Asset Protocols
- Counterparty vs RGB vs TARO
모든 사토시를 독특하게 만들기: 오디널스 & 인스크립션
케이시 로다머(Casey Rodarmor)는 2023년 초에 오디널 프로토콜을 발표했다. 이 프로젝트는 사토시에 번호를 매겨 각 사토시가 독특한 일련 번호를 가지도록 하여 정렬할 수 있는 방법에 대한 아이디어에서 출발했다. 이 아이디어는 컬러드 코인과 동시기에 등장했지만, 작년에서야 다시 제안되었다. 또한 SegWit와 Taproot 기능의 추가로 구현이 그리 어렵지 않게 되었다. 오디널스는 각 사토시를 서로 다르게 만들어 NFT가 비트코인 체인에서 직접 발행될 수 있도록 한다.
인스크립션은 이러한 NFT 프로젝트 중 하나이다. NFT의 데이터는 거래의 witness 데이터에 저장되며, 이전 프로젝트에서 사용된 OP_RETURN 필드가 아닌, 4MB 이하의 메타데이터를 저장할 수 있다. 이더리움의 NFT와는 달리, 인스크립션은 체인에 저장되며, 메타데이터와 이미지가 포함된다.
오디널스에 대한 더 많은 정보는 다음을 참조하십시오:
- Ordinals: A common ground for Ethereum and Bitcoin maximalists?
- The Ultimate Guide to Bitcoin Ordinals and Inscriptions
양방향으로 어떤 UTXO 체인도 연결: RGB++ 동형 바인딩
RGB++는 처음에 BTC와 CKB(Nervos Network의 기반) 간의 동형 바인딩 프로토콜(isomorphic binding protocol)로 등장했으며, 현재는 그 적용 범위가 넓어져 CKB와 BTC 간에 국한되지 않고, 이 프로토콜로 이론적으로 두 개의 UTXO 체인을 연결할 수 있다.
RGB++는 RGB의 클라이언트 측 검증과 일회용 봉인(single-use seal) 아이디어를 한 단계 더 발전시켰다. 앞서 언급했듯이, RGB 프로토콜의 가장 큰 문제는 데이터가 사용자가 로컬에 저장된다는 것이다. 사용자가 데이터를 실수로 잃어버리면 백업이 없고, 복구할 수 없다. 또한 사용자가 자신의 토큰과 관련된 데이터만 저장하기 때문에 다른 데이터를 검증하기가 어렵다. 동형 바인딩 계층의 솔루션은 단순히 토큰을 비트코인 UTXO의 OP_RETURN 필드에 바인딩하는 것뿐만 아니라, 해당 비트코인 거래 정보를 CKB 체인의 거래에 바인딩하는 것이다(CKB Cell의 Lock Script에서 특별한 IB-lock-script를 사용하여 구현된다). CKB 체인의 거래가 유효한지를 판단할 때, Lock Script는 CKB의 BTC 라이트 클라이언트 데이터를 사용하여 해당 UTXO가 소비되었는지, 소비된 후 새로 생성된 UTXO가 현재 이 거래의 토큰 거래 정보를 바인딩하고 있는지를 확인한다(서명이 없는 부분 정보로서).
RGB++의 주목할 만한 특징은 다음과 같다:
- 양방향 바인딩을 통해 데이터 가용성 문제 해결:
- CKB Cell이 UTXO의 OP_RETURN 필드에 바인딩됨
- UTXO 정보가 CKB 거래의 output Cell에 바인딩됨
- 라이트닝 네트워크 및 파이버 네트워크(CKB 기반의 라이트닝 네트워크)와 호환
- 다중 자산 지원
- 모든 UTXO 체인과 바인딩 가능
RGB++에 대한 더 많은 정보는 다음을 참조하십시오:
각 프로젝트의 장점과 한계를 더 명확히 이해하기 위해, 우리는 위의 프로젝트들을 아래 표에 비교하였다. 여기서 주목해야 할 지표는 다음과 같다:
- 데이터 가용성(Data availability): 동형 체인(isomorphic-chain)과 사이드체인은 거의 차이가 없으며, 체인 외부 데이터 가용성은 다른 솔루션보다 약하다. 이 항목의 강도 순서는: 체인 ≥ 동형 체인 ≥ 사이드체인 > 체인 외부;
- 자산 매체(Asset carrier): BTC와 직접 연관된 토큰 솔루션이 비연관 솔루션보다 우수하다;
- 동질성(Fungibility): 여기서 말하는 것은 프로젝트의 원주율 토큰이 서로 교환 가능한지를 의미하며, 프로젝트가 NFT 발행을 지원하지 않는다는 것이 아니다. 후자는 추가 프로토콜을 통해 구현할 수 있다;
- 표현력(Expressiveness): 복잡한 스마트 계약을 처리하는 능력을 의미한다.