Runes

Difficoltà: avanzato

Argomento: tecnologia


DEFINIZIONE

Runes nasce come proposta di Casey Rodarmor, lo stesso che ha proposto la teoria degli Ordinals, come alternativa basata su UTXO allo standard BRC-20 per la creazione di token fungibili.

Proposto nel settembre 2023, è stato attivato con il blocco 840000 del 4° halving minato il 20 aprile 2024.

Runes dà priorità alla minimizzazione dell'UTXO set.
In termini semplici, questo approccio aiuta a prevenire la creazione non necessaria di UTXO, contribuendo all'efficienza complessiva della rete Bitcoin.

I saldi di Rune possono essere detenuti in UTXO che contengono qualsiasi importo di Rune. Inoltre, le Rune utilizzate in transazioni con messaggi di protocollo non validi verrebbero bruciate, consentendo a futuri aggiornamenti di cambiare il modo in cui vengono assegnate o create dai vecchi client.

Rispetto ai protocolli esistenti, questo approccio può promuovere una gestione dei token più efficiente e responsabile, riducendo così i danni. Un ruolo chiave di questo modello è quello di mantenere la verificabilità e la trasparenza di Bitcoin, risolvendo efficacemente il problema della doppia spesa.

Il protocollo utilizza la funzione OP_RETURN per archiviare i dati nelle transazioni on-chain senza la necessità modificare il protocollo Bitcoin. Questo metodo mantiene le transazioni efficienti e riduce al minimo il carico sulla rete, migliorando l'esperienza utente.

Runes è anche compatibile con Lightning Network.

In breve, Runes è un protocollo progettato per consentire la creazione e la gestione di token sulla blockchain Bitcoin in modo efficiente e responsabile. Questo viene fatto allineandosi perfettamente con l'infrastruttura di Bitcoin e minimizzando l'UTXO set.

Runestone

Messaggi di protocollo Rune, chiamati runestone (pietre rune), vengono memorizzati negli output delle transazioni Bitcoin.

Lo scriptPubKey di un output di runestone inizia con un OP_RETURN, seguito da OP_13 e da zero o più push di dati. Questi push di dati vengono concatenati e decodificati in una sequenza di interi a 128 bit, per poi essere analizzati in una runestone.

Una transazione può contenere al massimo una runestone.

Una runestone può incidere (etching) una nuova Runa, coniare (mint) una Runa esistente e trasferire Rune dagli input di una transazione ai suoi output.

Un output di transazione può contenere saldi di un numero qualsiasi di Rune.

Le Rune sono identificate da ID, che consistono nel blocco in cui una Runa è stata incisa e nell'indice della transazione di incisione all'interno di quel blocco, rappresentati nel testo come BLOCCO:TX. Ad esempio, l'ID della Runa coniata nella 20esima transazione del 500esimo blocco è 500:20.

Edict

Gli Edict, editti, sono un meccanismo all'interno del protocollo che consente la distribuzione o l'allocazione delle rune in una transazione Bitcoin secondo regole specifiche.

Un edict è costituito da tre componenti principali: un rune ID, un importo e un numero di output.

Pointer (Puntatore)

Dopo che tutti gli editti sono stati elaborati, le rune rimanenti non allocate vengono trasferite al primo output non-OP_RETURN della transazione. Una runestone può facoltativamente contenere un puntatore che specifica un output predefinito alternativo.

Burning

Le rune possono essere bruciate (burned) trasferendole su un output OP_RETURN con un editto o un puntatore.

Cenotaph

Le runestone possono essere malformate per una serie di motivi, tra cui opcodice non pushdata nell'OP_RETURN della runestone, varint non validi o campi runestone non riconosciuti. Le runestone malformate sono chiamate cenotaph, cenotafi.
Le Rune fornite come input a una transazione con un cenotafio vengono bruciate. Le Rune "incise" in una transazione con un cenotafio vengono impostate come non coniabili. I conii in una transazione con un cenotafio vengono conteggiati nel limite massimo di conio, ma le Rune coniate vengono bruciate.
I cenotafi sono un meccanismo di aggiornamento che consente di assegnare nuovi significati alle runestone, modificando il modo in cui le Rune vengono create e trasferite, senza però trarre in inganno i client non aggiornati sulla posizione di queste Rune, poiché i client non aggiornati le vedranno come bruciate.


aggiornato il 2023-10-19