기원

인스크립션 소유자는 자식 인스크립션을 생성할 수 있으며, 해당 자식의 출처를 부모 인스크립션 소유자가 생성한 것으로 온체인에서 신뢰 없이 입증할 수 있다. 이는 부모 인스크립션의 자식이 동일한 컬렉션의 멤버가 되는 컬렉션에 사용할 수 있다.

자식이 자식을 가질 수 있으므로 복잡한 계층 구조가 가능하다. 예를 들어, 아티스트가 자신을 나타내는 인스크립션을 만들고 하위 인스크립션은 자신이 만든 컬렉션을 나타내며, 이 하위 인스크립션의 자식은 해당 컬렉션의 아이템이 될 수 있다.

설명서

부모 인스크립션 P로 자식 인스크립션 C를 생성하려면:

  • C에 대해 평소와 같이 인스크립션 트랜잭션 T를 생성한다.
  • 부모 P를 T의 입력 중 하나에 쓴다.
  • C에 태그 '3', 즉 'OP_PUSH 3'을 포함하고, 32바이트 'TXID'로 직렬화된 P의 바이너리(이진수) 인스크립션 ID 값과 뒤에오는 0들을 생략한 4바이트 리틀엔디안 'INDEX'를 포함시킨다.

NB 비트코인 트랜잭션 ID의 바이트는 텍스트 표현이 역순으로되어 있으므로 직렬화된 트랜잭션 ID는 반대 순서가 된다.

예제

000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0의 자식 인스크립션의 예시:

OP_FALSE
OP_IF
  OP_PUSH “ord”
  OP_PUSH 1
  OP_PUSH “text/plain;charset=utf-8”
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
  OP_PUSH 0
  OP_PUSH “Hello, world!”
OP_ENDIF

태그 3의 값은 헥스(16진수)가 아닌 바이너리(이진수)이며, 자식 비문이 자식으로 인식되려면 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0가 인스크립션 트랜잭션의 입력 중 하나로 소비되어야 한다.

인스크립션 ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255의 인코딩 예시:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

그리고 인스크립션 ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256의 경우:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

메모

태그 3은 사용 가능한 첫 번째 홀수 태그이기 때문에 사용된다. 인식되지 않는 홀수 태그는 인스크립션을 unbound(바인딩 해제)하지 않으므로 하위 인스크립션은 이전 버전의 ord에서 인식 및 추적된다.

컬렉션의 상위 인스크립션을 소각하여 컬렉션을 폐쇄할 수 있으며, 이 경우 컬렉션의 아이템을 더 이상 발행할 수 없게 된다.