[블록체인 연구소] 오디널스를 통해 살펴보는 비트코인의 역사와 미래

Block Odyssey Tech Blog
12 min readMay 25, 2023

--

일시적인 유행으로 끝날 줄 알았던 오디널스(Ordinals)가 ‘MAKE BITCOIN FUN AGAIN’ 을 외친 비트코인 코어 개발자 출신 오디널스 개발자 ‘케이시 로더머(Casey Rodarmor)’의 바람대로 오랜 시간 비트코인 커뮤니티를 뜨겁게 달구고 있습니다.

오디널스는 비트코인의 가장 작은 거래 단위인 사토시(1 sat = 0.00000001 BTC)에 임의의 데이터를 각인(inscribe) 하여 개별 추적 및 전송이 가능하도록 하는 번호 지정 체계(numbering scheme)라는 컨셉을 가진 일종의 프로토콜로, 과거 비트코인의 주요 업그레이드였던 세그윗(SegWit)과 탭루트(Taproot)를 기술적 기반으로 합니다.

이번 글은 비트코인 오디널스를 메인 키워드로 하되, 국문으로 오디널스의 기초를 정리한 글이 이미 많이 존재하기 때문에, 어느 정도 적당한 선에서 기반기술을 설명하면서 오디널스와 비트코인에 대한 이런저런 생각할 거리를 제시하는 것에 초점을 두고자 합니다.

[ 세그윗 ]

2017년에 소프트포크를 마친 세그윗 업그레이드는 분리된 증인(Segregated Witness)이라는 풀네임 그대로, 각 트랜잭션을 구성하는 데이터 중 트랜잭션의 검증에는 필요하지만 일단 한번 검증된 이후에는 굳이 모든 풀노드가 저장하거나 모니터링하고 있을 필요는 없는 트랜잭션 서명과 같은 일부 데이터를 증인(witness) 데이터로 분류합니다.

증인으로 별도 분류된 데이터는 기존 방식대로 트랜잭션ID(txid)를 구성하는 대신(즉, txid로 직렬화(serialized)되는 대신),

세그윗 업그레이드에서 새로 정의된 증인 트랜잭션ID(wtxid)를 구성하고, 블록 생성자(채굴자)들이 각자 수집한 트랜잭션ID를 조합하여 머클 루트 해시(merkle root hash)를 계산하듯이 증인 루트 해시(witness root hash)를 계산하는 재료로 사용됩니다.

이와 함께 wu(weight unit)라는 새로운 블록 크기 단위를 도입하여 기존에 1,000,000 bytes로 설정되어 있던 비트코인 블록 크기의 상한을 4,000,000 weight units로 변경하였는데,

증인 데이터의 경우 1byte당 1wu, 그 외의 경우 1byte당 4wu의 weight 계산을 적용하여 증인 데이터의 블록 내 weight 비중을 축소함으로써 결과적으로 1개 블록에 더 많은 트랜잭션을 담을 수 있게 되었습니다.

(https://github.com/bitcoin/bitcoin/pull/8149/commits/2b1f6f9ccf36f1e0a2c9d99154e1642f796d7c2b#diff-74d3d558e2ae1b1c967ea13d01ce15875cc7de50c93c26db73ccb3e4db5cfdac)

이러한 weight의 차등은 증인 데이터가 그 외의 일반 트랜잭션 데이터보다 네트워크에 가하는 비용적 부담이 상대적으로 낮기 때문으로 알려져 있습니다.

하지만 증인 데이터에 적용된 파격적인 할인 덕분에 4,000,000 weight units의 한도 내에서 1MB보다 많은 데이터를 블록에 담을 수 있게 된 것은 사실이나, 실제로 4MB에 가까운 크기의 블록이 생성되는, 즉 블록 대부분이 증인 데이터로 구성되는 경우는 일반적으로 거의 없다는 점에 유의할 필요가 있습니다.

여담으로 세그윗 업그레이드를 진행하지 않은 노드는 세그윗 트랜잭션에서 별도로 분류된 증인 데이터를 식별할 수는 없지만 트랜잭션을 수신하고 네트워크에 참여하는 것 자체는 여전히 가능합니다.

이는 세그윗 업그레이드가 트랜잭션 데이터에서 증인을 분리하기는 하지만, 업그레이드를 진행하지 않은 노드 입장에서도 이를 단순히 해당 영역이 비어있을 뿐인 정상 트랜잭션으로 받아들이는 것이 가능하기 때문입니다.

비트코인 평균 블록 크기 (https://www.blockchain.com/explorer/charts/avg-block-size)

[ 탭루트 & 오디널스 ]

2021년에 소프트포크가 진행된 탭루트 업그레이드는 그 제안서인 BIP-341 내에 아래와 같이 적혀 있습니다.

This proposal aims to improve privacy, efficiency, and flexibility of Bitcoin’s scripting capabilities.
(이 제안은 비트코인 스크립팅 기능의 개인 정보 보호, 효율성 및 유연성을 향상시키는 것을 목표로 합니다.)

내용의 의미대로 비트코인의 확장성과 프라이버시 개선에 초점을 맞췄으며 다수의 서명을 하나로 합쳐 거래의 크기를 줄이는 슈노르(Schnorr) 서명을 골자로 합니다.

구체적으로는 새로운 세그윗 버전(SegWit version 1)을 제시하면서 기존의 네이티브 세그윗(SegWit version 0)에서 한 단계 발전한 형태를 취하고 있지만, 이와 관련해서는 아직 작성자의 관련 지식이 부족하기 때문에 기회가 되면 별도 리서치를 통해 다뤄보도록 하겠습니다.

탭루트 업그레이드 개발자 리뷰 갈무리 (https://bitcoincore.reviews/19953#l-276)

오디널스는 탭루트 업그레이드 덕분에 트랜잭션의 증인 영역에 비교적 자유롭게 데이터를 삽입할 수 있게 되었다는 점에 주목했습니다.

탭루트 업그레이드가 적용된 세그윗 버전1 트랜잭션의 스크립트 크기 10,000 bytes 상한이 제거되었고,
※ 블록 크기 4,000,000 weight units 상한 및 구버전 (세그윗 버전0 및 레거시) 트랜잭션 스크립트 크기 10,000 bytes 상한은 여전히 존재

오디널스에서 “Envelopes” 라고 명명한 스크립트 포맷(OP_FALSE OP_IF <Contents> OP_ENDIF)이 증인 스택(witness stack)에서 75%의 할인(4 weight units → 1 weight unit)을 받기 때문에, 나머지는 “Envelopes” 내에 임의의 데이터를 작성한 뒤 해당 탭루트 스크립트(tapscript)가 공개(reveal)되도록 하는 것으로 각인된 사토시의 생성 과정이 마무리됩니다.

오디널스 Envelopes 샘플코드 (https://docs.ordinals.com/inscriptions.html)

OP_FALSE
OP_IF
OP_PUSH "ord"
OP_1
OP_PUSH "text/plain;charset=utf-8"
OP_0
OP_PUSH "Hello, world!"
OP_ENDIF

( 쉬어가는 이야기 )

저렴한 증인 영역을 활용하여 데이터를 저장한다는 이 아이디어를 통해 실제로 얼마나 큰 블록이 생성되었을까요?

한국시간으로 지난 2월 2일 오전 약 3.9MB에 달하는 크기의 ‘단일 트랜잭션’이 포함되어 약 3.96MB의 크기를 갖게 된 비트코인 774628번째 블록이 비트코인 블록 크기의 이론상 상한선인 4MB에 가장 근접한 블록으로 알려져 있습니다.

[ 엇갈린 시선 ]

오디널스는 비트코인 네트워크의 규칙을 위배하지 않으면서 적지 않은 임의의 데이터를 비트코인 원장에 기록할 수 있게 하여 소위 ‘디젠(degen, 일종의 크립토 얼리어답터)’ 커뮤니티로부터 열렬한 지지를 받았습니다.

처음에는 이미지를 사용하는 NFT 시장이 형성되었고, 최근에는 비트코인의 ‘B’와 이더리움 토큰 규격인 ERC-20을 결합한 BRC-20이라는 네이밍을 사용하는 토큰 시장이 형성되어 마침내 1세대 BRC-20 토큰들이 중앙화 거래소에 상장되는 기염을 토했습니다.

오디널스의 인기에 힘입어 비트코인 네트워크에 상당한 트래픽이 유입되었고 블록 채굴 보상(현재 6.25 BTC)을 상회하는 거래수수료 보상을 갖는 블록이 등장하기도 했습니다.

비트코인 블록 788695 명세 (https://bitaps.com/788695)

그렇다면 비트코인 커뮤니티는 오디널스가 만들어 낸 이러한 움직임을 환영했을까요?
확실한 것은 모든 사람이 이를 마냥 달가워하지는 않았을 것이라는 점입니다.

작성자는 개인적으로 디파이 섹터에 시간을 많이 쓰는 편이기 때문에 굳이 고르자면 “변화란 좋은 거야” 라는 쪽이지만, 비트코인의 경우 디지털 금이라는 정체성이 이미 확립되어 있기도 하고, 지금도 거래를 위한 시스템이 충분히 잘 굴러가고 있는데, 그 이상의 피처가 굳이 필요한가? 라고 스스로 되물어 보면 고민에 빠지게 되는 것도 어쩔 수 없는 것 같습니다.

오디널스로 인해 비트코인 네트워크 수수료가 평소의 최대 100배 수준으로 치솟아 일부 거래소에서 일시적으로 비트코인 출금을 중단하고 일부 지역에서 비트코인의 사용이 어려워지기도 했던 점,

오디널스를 통해 분산원장에 기록되는 데이터가 사회윤리에 어긋나더라도 이를 막을 수 없다는 점,

비트코인 거래와 관계없는 ‘낙서’들이 분산원장의 용량을 비대하게 만들고 있다는 점 등은

오디널스 자체를 검열해야 한다는 목소리에 힘이 실리기 충분했습니다.

이를 둘러싼 비트코인 개발자 그룹 내 논의가 한창이지만, 네트워크의 규칙을 준수하며 생성되는 인스크립션(각인된 사토시를 지칭하는 용어)의 검열은 탈중앙화에 대한 또 다른 논란을 불러일으킬 수도 있기 때문에 커뮤니티의 찬반 주장 사이 적절한 합의점을 잘 찾아내야 할 것으로 보입니다.

“If somebody wants to change the protocol, in order to censor someone else from using Bitcoin, I don’t think that’s consistent with the values of the community. I do believe in rules without rulers.”

- 마이클 세일러 인터뷰 갈무리 -
(https://decrypt.co/140670/microstrategy-looking-at-bitcoin-ordinals-for-app-development-says-michael-saylor)

“I think that being able to not just do NFTs on Bitcoin, but to make them far-and-away better, for both technical and social reasons, is great for Bitcoin, and will be great for adoption and goodwill, and get people into Bitcoin who like fun. I welcome the debate and criticism! It is a sign of the health of the Bitcoin community.”

- 케이시 로더머 트윗 갈무리 -
(https://twitter.com/rodarmor/status/1619516805185441792)

[ 비트코인의 미래는? ]

어찌 되었든 오디널스가, 역사적으로 비슷한 시도가 수 차례 있기는 했지만, 새로운 시장의 규모를 크게 확대하는 등 비트코인 커뮤니티에서 새로운 흐름을 만들고 있다는 것은 부정할 수 없는 사실입니다.

BRC-20 시장은 이미 큰 파이를 형성했고, 오디널스 검열 가능성이 대두되자 증인 데이터에 적용되는 할인을 포기하더라도 검열이 어려운 UTXO(Unspent Transaction Output) 영역에 데이터를 싣는 스탬프(Stamp) 기술을 활용하자는 아이디어를 채택한 SRC-20 시장이 떠오르고 있습니다.

먼 미래의 이야기이기는 하지만, 이러한 네트워크의 활성화로 인한 블록 생성자의 수수료 수입 증가는 여러 차례의 반감기 끝에 언젠가 도래할 비트코인 채굴 중단 시점 이후에도 네트워크가 안정적으로 유지되는 원동력으로 작용할 가능성이 높습니다.

비트코인 커뮤니티는 과거 수 차례의 큰 분열을 겪었습니다.

2017년 세그윗 업그레이드에 반대하며 갈라선 비트코인캐시는 하드포크 당시 최대 블록 크기를 8MB로 늘렸고, 2018년 비트코인캐시 해시전쟁에서 패배하며 갈라선 비트코인SV는 하드포크 당시 최대 블록 크기를 128MB로 늘렸습니다.

현재 오디널스를 둘러싼 커뮤니티의 논의가 그 정도로 심각한 갈등으로 번질 것 같지는 않지만 이미 오디널스가 비트코인 기반 시장의 가능성을 보여주었기 때문에,

만약 향후 오디널스와 같이 비트코인 네트워크의 자원을 활용하고자 하는 유의미한 시도가 꾸준히 발생한다고 가정하면, 앞으로 비트코인이 나아가야 할 방향은 어디일까요?

작성자가 개인적으로 리서치를 진행하며 문득 든 생각은, 오디널스가 채택한 저렴한 자원을 활용하는 접근방식이 이더리움에 이미 공식적으로 채택된 사례로서 존재한다는 것입니다.

이더리움 확장성 개선의 핵심 기술인 롤업은 이더리움 내에서 상대적으로 저렴하게 쓸 수 있는 콜데이터(calldata) 영역을 활용하여 데이터를 기록하는 방식을 취하는데,

비슷한 관점에서 비트코인이 직면한 이슈에 대한 커뮤니티의 고민이 이더리움과 같은 레이어2 접근방식에 대한 논의로 이어질 수도 있지 않을까 하는··· 그런 소소한 기대와 함께 오디널스에 대한 글은 여기서 마무리하도록 하겠습니다.

--

--