< Runes Protocol에 대해 조금 더 알아볼까?
>⚡️
룬(Runes) • ‘룬'은 비트코인 트랜잭션을 통해 비트코인 네이티브 디지털 상품을 식각(etch), 발행(mint), 전송(transfer)할 수 있도록 함
• 모든 인스크립션은 각기 고유함. 하지만, 룬의 모든 단위는 동일함.
• 룬은 다양한 목적에 적합한 교환 가능한(interchangeable) 토큰 임
• 기존 우리가 흔히 알고 있는 FT(Fungible Token)와 유사하다고 보면 될듯 함
⚡️
룬스톤(Runestones) • 룬 프로토콜 메세지 = '룬스톤' 이라고 불림
• 참고로 Leonidas가 '룬스톤'이라는 오디널스를 에어드랍 함(?) 선점한 듯
• 룬스톤은 비트코인 트랜잭션 ‘출력(output)’에 저장됨
• 룬스톤 ‘출력(output)’의 스크립트 공개 키는 `OP_RETURN`으로 시작함
• 이는 `OP_13`로 이어지며, 0개 이상의 데이터 푸시(data pushes)로 이어짐
• 이러한 데이터 푸시는 연결되고 128비트 정수 시퀀스로 디코딩된 후 최종적으로 룬스톤 구문으로 파싱됨
• 한개 트랜잭션에는 최대 한개의 룬스톤만 있을 수 있음
• 룬스톤은 새로운 룬을 식각(etch), 기존 발행, 트랜잭션의 ‘input’에서 ‘output’으로 전송할 수 있음
• 트랜잭션 출력(output)에는 룬의 잔액이 어느 수량이든 저장될 수 있음
• 룬은 ID(Rune이 식각된 블록과 해당 블록 내 식각 트랜잭션 인덱스로 구성)로 식별됨
⚡️
식각(Etching) • Etching 이라는 단어는 한국어로 ‘식각’이라고 함.
• 뜻만 알고 가자면, ‘식각’은 반도체 포토(Photo Lithography) 공정에서 회로 패턴 중 필요한 부분만 남기고 불필요한 부분을 깍아내는 작업임.
• 룬은 식각(etching)을 통해 존재하게 됨.
• 식각하면 Runes가 생성되고 속성이 설정됨
• 식각 시 설정된 아래 속성은 식각을 진행한 사람도 변경할 수 없음
1. 이름 • 이름은 문자 A부터 Z까지로 구성되며 1자에서 28자 사이로 설정 가능
• 예를 들어 `GETTHEFUCKOFF’는 룬 이름임
• 이름에는 가독성을 높이기 위해 스페이서(-)가 포함될 수 있음
• `GETTHEFUCKOFF’는 `GET-THE-FUCK-OFF’로 새겨질 수 있다는 말임
• 이름은 고유성(uniqueness) 스페이서에 의존하지 않음
• 이말의 의미는 스페이서가 중간에 끼더라도 동일한 문자 순서로 룬을 새길 수 없다는 말임
2. 분할단위
• Runes의 양에서 소수점 뒤에 허용되는 자릿수로 표기됨
• 분할가능성(divisibility)가 0인 Runes는 분할 안됨
• 분할가능성이 1인 Runes의 단위는 10개의 하위 단위로 나눌 수 있음
• 분할가능성이 2인 Runes는 100개로 나눌 수 있음
• 이렇게 3, 4, 5~ 로 올라갈수록 분할 단위가 세분화됨
3. 심볼 • 룬의 화폐 기호는 해당 룬의 수량 뒤에 표시되는 단일 유니코드 코드 포인트(예: $, ⧉ 또는 `🧿`)로 표기될 수 있음
• 분할가능성이 2 + 기호 $ + Runes 단위 101 = 1.01 $로 렌더링 됨
• 룬에 기호를 붙이지 않으면 ‘풍뎅이’라고 하는 일반 화폐 기호 `¤`를 사용해야 함
4. 사전채굴 • 룬 식각자(etcher)는 선택적으로 식각되는 룬의 특정 유닛(수량)을 자신에게 할당할 수 있음
• 이를 ‘프리마인(premine)’이라고 함
5. 공개발행 • Runes는 ‘오픈민트(open mint)’ 방식으로도 생성 가능함.
• 오픈민트를 통해 누구나 해당 룬의 수량을 직접 생성하고 할당할 수 있음
• 오픈민트는 식각(etching)하는 당시 설정되는 조건이 이후로 적용됨
• 민트의 모든 조건이 충족되면 민트는 열려 있고, 조건 중 하나라도 충족되지 않으면 닫힘
• 예를 들어, 오픈민트는 시작 블록높이 ~ 종료 블록높이, 발행 수량캡으로 제한할 수 있음
• 해당 조건 중 먼저 도달하는 조건이 충족될 때까지 열려(오픈민트) 있음
⚡️세노타프(Cenotaphs) • 룬스톤은 여러가지 이유로 잘못(malformed) 생성될 수 있음.
• `OP_RETURN`의 non-pushes 데이터 옵코드, invalid variant, 인식할 수 없는 룬스톤 필드 등
• 이렇게 잘못 생성된 룬스톤을 ‘세노타프’라고 하는데 그 의미는 empty-tomb(빈 관, 위령비)라고 함.
• 세노타프 트랜잭션에 입력된 룬은 자동 소각됨
• 세노타프가 있는 트랜잭션에 식각(etching)된 룬은 발행 불가(unmintable)로 설정됨
• 세노타프가 있는 트랜잭션에서 발행한 Runes은 발행 수량 캡에 포함되지만, 발행된 룬은 소각됨
• 세노타프는 업그레이드 메커니즘임.
• 창시자 Casey는 '룬 프로토콜'을 업그레이드할 수 있는 여지를 남겨둠
• 다만, 업그레이드되지 않은 노드에 영향을 미치지 않도록 해당 세노타프 룰을 룬에 적용함 > 업그레이드 되지 않은 클라이언트는 업그레이드드된 룬스톤을 세노타프로 인식하여 소각된 것으로 인지하기 때문에 없는 룬이 있다고 생각하지 않음.
- 직접보기:
https://docs.ordinals.com/runes.html