Qué pasó
Runes, un protocolo para emitir tokens fungibles sobre Bitcoin, entró en funcionamiento en el bloque 840.000, minado a las 00:09 UTC del 20 de abril de 2024 por ViaBTC. Su especificación fija el límite sin ceremonia: "The Runes protocol activates on block 840,000. Runestones in earlier blocks are ignored."
Es el mismo bloque del cuarto halving, que redujo el subsidio a 3,125 bitcoin. El bloque pagó 37,63 bitcoin en comisiones, doce veces su subsidio.
Un mensaje de Runes, llamado runestone, no se guarda en una firma ni en un árbol de scripts.
La especificación indica "Find the first transaction output whose script pubkey begins with
OP_RETURN OP_13", y después leer los empujes de datos que siguen como una secuencia de
enteros.
Qué cambia
Dónde se asientan los datos, y por lo tanto quién tiene que guardarlos.
Una salida que empieza con OP_RETURN no se puede gastar nunca, y Bitcoin Core lo reconoce.
En src/coins.cpp, la función que agrega una salida nueva al conjunto de monedas gastables
empieza rechazando cualquier
script que pueda demostrar que es ingastable. La salida se escribe en el bloque, se valida y
después simplemente no se recuerda.
Esa es la distinción que importa: todo nodo debe conservar para siempre el conjunto de salidas no gastadas, porque lo necesita para validar el bloque siguiente, pero nunca tiene que conservar un OP_RETURN. La cadena de bloques es un archivo que un nodo puede podar. El conjunto UTXO es memoria de trabajo que no puede.
Ese era el objetivo declarado. Al anunciar la idea en septiembre de 2023, Casey Rodarmor criticó el enfoque existente por su "undesirable consequence of UTXO proliferation" y sostuvo que un protocolo debería promover "UTXO set minimization by avoiding the creation of 'junk' UTXOs". No era entusiasta de la categoría: abre observando que los tokens fungibles son "99.9% scams and memes".
El contraste es con BRC-20, donde un saldo se mueve enviando una salida real y gastable de un dueño a otro, y cada una de esas salidas es algo que todos los nodos cargan hasta que se gasta.
Qué no cambia
Bitcoin no tiene idea de qué es una rune. Un nodo ve una salida ingastable con unos bytes adentro, decide no guardarla y sigue. No hay regla nueva y no se activó nada en el sentido del consenso: la altura es una convención que el software de indexación acuerda respetar.
Tampoco hay una especificación en el sentido habitual de la palabra. La página del propio
proyecto sobre el tema dice que la implementación de referencia, ord, "is the normative
specification of the Runes protocol", y advierte que quien use implementaciones alternativas
lo hace por su cuenta y riesgo. Los saldos son lo que diga un indexador.
Tampoco abarata el espacio de bloque. Un runestone es más chico que una inscripción, pero igual ocupa peso e igual puja contra todas las demás transacciones, como muestra el total de comisiones de su primer bloque.
Contexto
Las inscripciones llegaron en enero de 2023 y pusieron contenido en el witness, donde se cobra a un cuarto de tarifa. Sobre ellas se construyeron esquemas de tokens, y el pico de comisiones de mayo de 2023 fue el resultado.
OP_RETURN es mucho más viejo, y se introdujo justamente por esta razón. Las notas de
publicación de Bitcoin Core 0.9.0, de 2014, explican que el cambio "creates a
provably-prunable output, to avoid data storage schemes" que estaban "bloating bitcoin's UTXO
database". Las mismas notas agregan que guardar datos arbitrarios en la cadena "is still a bad
idea". Las dos mitades de esa postura han sido la línea del proyecto durante una década.
