Ordinals - 1sat != 1sat

각각의 sat를 'ordinal'로 구분하는 프로젝트


최근 비트코인 거래에 이미지를 담는 Ordinals 프로젝트에 대해 갑론을박이 벌어지고 있어 조금 공부해보았다. 결론부터 말하면 Ordinals는 단순히 이미지를 담기 위한 프로젝트가 아니며 1sat를 개별적으로 구분하려는 프로젝트다.

Ordinals의 근본적인 목적은 비트코인에서 발행되는 모든 sat에 추적할 수 있는 개별적인 번호를 부여하는 것이다. 채굴된 순서와 거래로 출력된 순서를 따라 각 sat에 차례대로 번호를 매긴다. 그래서 프로젝트 이름이 순서를 나타내는 수, 서수라는 뜻의 'Ordinal'인 것이다.

번호가 부여된 sat는 전송이 되더라도 추적할 수 있다. 이를 다시 생각해보면 각각의 sat를 개별적인 존재로 인식할 수 있다는 것이고 곧 어떤 경우에는 같은 1sat라도 서로 다른 가치를 가질 수 있음을 암시한다.

각각의 sat를 'ordinal'로 구분할 수 있기 때문에 각 sat에 다양한 유형의 자산을 매핑할 수 있다. 현재 논란되고 있는 이미지 파일이 하나의 예시다. 마치 같은 1,000원권이라도 올림픽 기념주화가 더 높은 가치를 지니는 것과 비슷하다.

꼭 이미지와 같은 자산이 붙지 않더라도 sat 별로 가치가 다를 수 있다. 예를 들어 프로젝트 홈페이지에서는 sat를 다음의 6가지 종류로 구분하는 예시가 있다.

  • common: 블록의 첫 번째에 위치하지 않은 보통의 sat (총 2조 1,000개)

  • uncommon: 각 블록의 첫 번째 sat (총 6,929,999개)

  • rare: 각 난이도 조정 기간의 첫 번째 sat (총 3,437개)

  • epic: 각 반감기의 첫 번째 sat (총 32개)

  • legendary: 매 6년째 반감기는 난이도 조정 시점과 일치하는데 이때 생성된 첫 번째 sat (총 5개)

  • mythic: 제네시스 블록의 첫 번째 sat (총 1개)

Ordinals를 구현하기 위해선 별도의 체인이나 토큰이 필요하지 않으며 현재 비트코인의 구현으로도 충분히 지원할 수 있다. 장부에 기록된 블록들을 읽으며 sat의 입출금 내역을 따라 숫자를 부여하면 되기 때문이다.

그러나 sat에 번호를 붙인 인덱스 데이터를 구축하기 위해선 연산이 오래 걸리며 많은 용량이 필요하다. sat의 ordinals를 기록하는 인덱스는 약 100GiB, 소모된 sat 정보까지 포함하려면 약 10TiB의 저장공간이 필요하다고 한다.

Ordinals에서 말하고 있는 개별 sat를 구분하는 개념을 사용하기 위해선 앞서 설명한 인덱스 데이터, 개별 sat를 인식하여 전송 및 수령할 수 있는 지갑, 그리고 이러한 거래를 확인할 수 있는 별도의 탐색기가 필요하다.

ord

Ordinals의 개념은 과거부터 논의가 이뤄져 왔으며 대표적인 논의가 아래의 포럼 글이다.

Unique serial number for every single satoshi

Ordinals는 단순히 비트코인 거래에 이미지를 담는 프로젝트가 아니었으며 비트코인 그 자체에서 새로운 가치를 창출하고자 노력하는 프로젝트로 보여 흥미로웠다. 개인적으로 나의 블로그 URL을 sat에 새겨 놓고 싶긴 하다. 용량도 얼마 안 되니 이 정도는 괜찮지 않을까?