Search

비트코인 NFT? Ordinals Inscription

이제는 비트코인 블록체인에서 코인을 전송하는 것 외에 일종의 NFT를 만드는 것이 가능합니다. 기존에 블록체인에서 NFT를 생성한다고 하면 이더리움 블록체인을 기반으로 ERC-721과 같은 스마트 컨트랙트로 구현하여 생성하는 것이 일반적이였는데요. 비트코인에 직접 파일 또는 이미지의 코드를 새겨 저장할 수 있는 Ordinals 프로토콜이 추가되면서 ERC-721과는 다른 좀 더 본질적인 NFT의 의미에 부합하는 비트코인 NFT를 생성할 수 있게 되었습니다.
최근 NFT 시장, 특히 이미지 파일과 같은 디지털 아트 NFT 시장이 많이 줄어든 것은 아무래도 기존 이더리움 베이스의 NFT가 태생적으로 가지고 있는 한계 때문이라는 의견이 많습니다. NFTNon-Fungible Token의 약자로 대채 불가능한 토큰이라는 뜻을 가지고 있습니다. 좀 더 풀어서 설명하면 특정 계정이 소유하고 있는, 다른 어떤 것과도 대채할 수 없는 오직 유일하게 존재하는 디지털 개체를 나타내는 것이 바로 NFT인 것이죠.
하지만 이더리움 NFT를 구현하는 ERC-721 표준은 이미지나 파일은 블록체인이 아닌 오프체인 외부 저장소(주로 IPFS 또는 AWS S3를 많이 사용)에 저장하고 그 파일을 불러올 수 있는 URL만 온체인에 저장하는 형태로 저장된 파일이 유실되거나 수정될 수 있는 한계점을 가지고 있습니다. 그래서 최근 이더리움 NFT는 고유한 디지털 아트 가치를 나타내는 수단으로써 사용되는 것 보다는 디지털 증명서나 맴버십 또는 게임 아이템과 같은 온라인 상에서의 소유 증명을 나타내는 수단으로써 활용되는 쪽이 좀 더 낫다는 평가가 많습니다.
대부분의 이더리움 NFT는 실제 파일은 오프체인 저장소인 IPFS 같은 곳에 저장되고 그 URL만 온체인에 저장하는 식입니다.
이에 반해 비트코인에서는 파일이나 이미지를 온체인에 직접 저장합니다. 가장 탈 중앙화되어 있는 비트코인 블록체인에 파일이 업로드 되기 때문에 파일에 손상이 생기거나 유실될 염려를 할 필요가 없습니다. 블록에 트랜잭션으로 포함된 이후에는 수정이 더 이상 불가능 하므로 파일은 영구적으로 유지되게 됩니다.
비트코인에서는 Ordinals를 통해 비트코인에 파일을 새겨서 온체인에 직접 저장하게 됩니다.
초기의 비트코인은 이러한 처리를 전혀 할 수 없었지만, Segwit 소프트포크 업데이트때 블록 사이즈가 크게 늘게 된 것과 Taproot 업그레이드로 도입된 Tapscript를 통해 비교적 큰 사이즈의 코드를 트랜잭션에 담을 수 있게 되면서 가능해지게 되었습니다. 여기에 Ordinals 프로토콜이 결합하게 되면서 파일이 기록된 비트코인을 다른 비트코인과 섞이지 않도록 구별해 관리할 수 있게 되어 일종의 비트코인 NFT를 만들 수 있는 길이 열리게 됩니다.

Ordinals와 Inscription

Ordinals는 우리말로 번역하면 “서수”라는 뜻입니다. 서수란 순서가 있는 숫자라는 의미로, Ordinals는 가장 작은 비트코인인 1 사토시(= 0.00000001 BTC)에 중복되지 않는 번호 아이디를 지정해 사토시마다 고유 정체성을 가지도록 합니다.
이렇게 고유 ID를 가지고 있는 1 사토시(1 SAT)에 텍스트나 파일 또는 코드를 Tapscript로 새겨서 저장하는 트랜잭션을 생성할 수 있습니다. 이 트랜잭션이 신규 블록에 포함되어 저장되면 이제 이 1 SAT을 Ordinals로 추적해 저장된 내용을 불러올 수 있게 됩니다.
Ordinals는 가장 작은 비트코인인 1 SAT마다 번호를 지정해 구별하고 탭스크립트로 텍스트나 파일을 저장할 수 있도록 합니다.
1 SAT에 탭스크립트로 코드를 새겨 넣는 과정을 inscribe(우리말로 “새기다”라는 뜻)라고 하며 이렇게 온체인에 생성된 고유 디지털 개체를 inscription이라고 부릅니다.
비트코인 커뮤니티에서는 비트코인 NFT라는 명칭은 거의 사용하지 않습니다. 대신 디지털 아티팩트(Digital Artifact) 또는 인스크립션(Inscription)이라는 명칭을 주로 사용합니다.
Ordinals는 웹에서 사용가능한 대부분 종류의 파일을 inscription으로 만들 수 있습니다. 간단한 텍스트부터 이미지 파일, 음악이나 비디오 파일, HTML 및 자바스크립트 파일과 마크다운 파일 등을 inscription으로 만들 수 있습니다.
비트코인 블록 사이즈 제한으로 인해, 현재 inscription은 최대 4MB까지 파일 크기 제한이 있습니다. 일반적으로는 네트워크 트래픽에 무리를 주지 않고 트랜잭션 수수료 부담을 줄이기 위해 보통 400KB 미만의 크기로 inscription을 생성합니다.

웹 페이지에서 iframe으로 불러와 사용

생성된 inscription은 HTML에서 <iframe> 태그로 불러와서 웹 화면에 사용할 수 있습니다. 비트코인 블록체인은 인터넷만 있다면 어디서든 조회가 가능하므로 inscription content를 제공하는 서버나 API를 사용해서 불러오면 됩니다.
<h1>Jin logo inscription</h1> <iframe title="inscription" src="/content/35346310" />
HTML
복사

inscription 재귀 모듈

inscription은 재귀적으로 사용하는 것이 허용됩니다. 이말인 즉슨 여러 inscription을 조합하여 새로운 inscription을 만드는 것이 가능하다는 얘기입니다. 이미지 조각 inscription들을 만들어 놓고 이 것들을 조합해 새로운 다양한 제너레이티브 아트를 생성하거나 자바스크립트 라이브러리를 inscription으로 만들고 HTML에서 임포트하여 게임과 같은 웹앱 inscription을 만드는 것이 가능합니다.

비트코인 관련 목록