무엇이 거듭제곱인가요?
2022년 12월, 비트코인 개발자인 Casey Rodarmor가 Bitcoin Core 풀 노드 상에서 작동하는 오픈 소스 소프트웨어인 ORD를 출시했습니다. ORD는 사용자가 두 단계로 비트코인 NFT를 발행할 수 있게 해줍니다: 1) 비트코인 블록체인에 임의의 정보(텍스트 문자열 또는 이미지)를 새기는 것("인스크립션"), 그리고 2) 해당 인스크립션을 개별 사토시에 속성을 부여하는 것("서수/서수 이론"). 사토시는 비트코인의 가장 작은 단위입니다. 1 BTC = 100,000,000 사토시이며, 결과물인 새겨진 사토시는 비트코인 NFT 또는 서수(Ordinal)입니다.
인스크립션
인스크립션 중에는 임의의 정보가 비트코인 거래의 witness 데이터 내의 taproot 스크립트에 새겨집니다. 모든 새로운 NFT가 별도의 ERC-721 토큰으로 생성되는 이더리움 NFT를 발행하는 것과 달리, 인스크립션은 새로운 토큰을 생성하지 않습니다. 대신, 인스크립션은 임의의 정보를 기존 토큰(사토시)에 바인딩합니다.
인스크립션은 Segregated Witness (SegWit)와 Taproot라는 두 비트코인 업데이트로 가능해졌습니다. SegWit는 2017년 7월에 이루어졌으며, witness 데이터의 크기를 증가시켰습니다. Taproot는 2021년 11월에 완료되어, 비트코인 거래에 임의 witness 데이터를 삽입하는 것을 쉽게 만들었습니다.
인스크립션은 MIME 유형이라고도 불리는 콘텐츠 유형과 해당 내용인 byte 문자열로 구성됩니다. 새겨진 내용은 완전히 on-chain에 저장되고 taproot 스크립트에 유지됩니다.
예를 들어, "Hello, world!"라는 텍스트의 인스크립션은 다음과 같이 보입니다:
1 OP_FALSE
2 OP_IF
3 OP_PUSH “ord”
4 OP_1
5 OP_PUSH "text/plain;charset=utf-8"
6 OP_0
7 OP_PUSH "Hello, world!"
8 OP_ENDIF
출처: Ordinals Docs
첫 번째, 문자열
ord
가 push되어 다음에 오는 것이 ORD를 기반으로 한 인스크립션임을 표시합니다.
OP_1
는 다음 push가 utf-8 텍스트 문자열인 콘텐츠 유형을 포함한다는 것을 나타냅니다. 다른 유형에는 이미지(jpeg, gif), 비디오(mp4), 애플리케이션(pdf) 등이 있습니다.
OP_0
는 이어지는 데이터 push가 내용 자체를 나타낸다는 것을 나타냅니다. 이 경우 "Hello, world!"가 됩니다. 큰 인스크립션을 위해 여러 데이터 push가 사용될 수 있으며, taproot의 몇몇 제한 중 하나는 개별 데이터 push가 520바이트를 초과할 수 없다는 것입니다. 인스크립션의 이론적 최대 크기는 400,000바이트이며, 이는 전체 비트코인 블록을 소비하는 인스크립션 거래를 만들 수 있기 때문에 발생합니다(4MB이지만 실제로 비트코인 코어는 이 크기를 400,000바이트로 제한합니다).
인스크립션 콘텐츠는 비트코인 거래의 입력 내에 포함되며, 인스크립션은 첫 번째 사토요에 연결돼 있습니다.
비트코인 첫 번째 아웃풋의이다. 그런 다음이 satoshi는 순서 이론에 따라 추적 될 수 있으며 전송, 구매, 판매, 수수료로 잃어버리고 복구 될 수 있습니다.
문자에 의해 제기 된 논쟁 중 하나는 임의의 데이터를 저장하기 위해 taproot 스크립트를 사용하는 것이 Taproot 업데이트의 의도가 아니었다는 것입니다. 이러한 의도하지 않은 결과를 알 람으로써 비트코인 커뮤니티가 이 사실을 알았다면 Taproot 업데이트가 활성화되지 않았을 것입니다. 그러나 현재는 taproot 스크립트의 이 특정 사용을 제한 할 수있는 방법이 없습니다. 그래서 Ordinals(비트코인 NFTs)는 계속 존재합니다.
Ordinals(순서 이론)
순서 이론은 satoshis에 임의의 기능(문자)을 부여하고 개별 satoshis를 추적 및 이체할 수 있습니다. 그러나 이것은 복잡한 메커니즘이 아닙니다. 대신, 이것은 satoshis의 간단한 번호 매기기 체계입니다.
satoshis는 두 규칙에 따라 순서 이론에 따라 번호가 매겨집니다.
첫째, 순서 숫자는 채굴되는 순서대로 satoshis에 할당됩니다. 예를 들어, 첫 번째 비트코인 블록 (제네시스 블록)의 첫 번째 satoshi는 순서 번호 0을 가지며 두 번째는 순서 번호 1을 가집니다.
비트코인의 UTXO 모델 때문에 satoshis는 사용되지 않은 아웃풋으로 존재하지만 거래는 출력을 파괴하고 새로운 것을 만듭니다. 순서 이론은 first-in-first-out 원칙에 따라 거래의 입력에서 출력까지 satoshis를 추적합니다. 이것이 규칙 #2입니다.
예를 들어, 다음 거래에는 각각 그들의 값으로 레이블이 지정된 세 개의 입력 및 두 개의 출력이 있습니다:
[2] [1] [3] → [4] [2]
출처: Ordinals Docs
이제 동일한 거래를 각 입력에 포함된 satoshis의 순서 번호로 레이블을 붙이고 각 출력에 대해 물음표를 붙입니다. 순서 번호는 상상할 수없을 만큼 크기 때문에이 예제에서 그것들을 나타내기 위해 a-f 문자를 사용합시다:
[a b] [c] [d e f] → [? ? ? ?] [? ?]
First-in-first-out 규칙에 따라 물음표를 쉽게 파악할 수 있습니다:
[a b] [c] [d e f] → [a b c d] [e f]
수수료에 대해 묻는다면 어떨까요? 좋은 질문입니다! 동일한 거래를 상상해 보죠, 이번에는 두 satoshis의 수수료가 있는 경우입니다. 수수료가있는 거래는 출력에서 받은 것보다 더 많은 satoshis를 입력으로 보냅니다:
[2] [1] [3] → [4]
결과적으로, satoshis "e" 및 "f"는 이제 출력에서 손실되어 블록을 채굴 한 광부에게 가는 수수료로 인해 손실됩니다:
[a b] [c] [d e f] → [a b c d]
순서 이론에 따르면 거래에 의해 지불 된 수수료는 동전 베이스 거래의 추가 입력으로 처리되며 해당 거래가 블록에서 순서대로 정렬되는 방식으로 주문됩니다. 블록의 코인베이스 트랜잭션은 하나의 트랜잭션만 포함 한 것이라고 가정하면 다음과 같습니다:
[SUBSIDY][e f] → [보조금 e f]
여기서 보조금은 블록 보상을 의미하며, 다시 말해 해당 블록의 채굴자에게 주어지는 비트코인(사토시)입니다. 보조금의 번호 매기기는 규칙 #1을 따르며, 이 규칙은 서토시에 서토시가 채굴된 순서대로 서수를 할당한다는 것을 명시합니다.
렬은 이미지, 비디오 등이 완전히 온체인으로 저장되지만, 서수는 그렇지 않습니다. 서수와 개별 사토시(서수)간의 연결은 오프체인 번호 매기기 체계인 서수 이론에 의해 확립됩니다. 즉, 사회적 합의 또는 서수 이론의 일반적인 수용이 서수가 존재할 수 있도록 요구됩니다. 서수 이론 없이 서수는 존재하지 않으며, 이는 서수가 자동으로 개별 사토시를 가리키지 않기 때문에 적을 수나 거래할 수 없습니다.
비트코인 NFT의 역사 및 서수의 기술적 세부 사항에 대한 보다 자세한 설명은 pourteaux의 부당한 비트코인 거래 또는 Galaxy Research의 이 백서를 강력히 추천합니다.
Bitcoin
NFT
What else do you want to learn?
