
Introducción y antecedentes
A finales de 2008 la idea de Bitcoin fue presentada como “un sistema de efectivo electrónico peer-to-peer”, de hecho, Satoshi Nakamoto tituló el documento técnico en el que sentó las bases de dicho protocolo con esa frase. En palabras del propio Satoshi, el efectivo electrónico supone pagos directos entre personas “sin tener que pasar por una institución financiera”, premisa que sirvió de fundamento para Bitcoin-BTC hasta 2017, año en el que los partidarios de “Bitcoin como dinero en efectivo” tuvieron que migrar a una red separada llamada Bitcoin Cash (BCH) –“Bitcoin en efectivo” en inglés–. Así pues, el concepto de dinero digital es el punto de partida de toda la tecnología de Bitcoin, especialmente en el caso de BCH, que reivindica esta cualidad como innegociable.
Esta cualidad no es incompatible con la incorporación de otros casos de uso, siempre y cuando para integrarlos no se ponga en riesgo la capacidad de usar BCH como dinero, o de escalar su sistema para que cada vez más personas puedan adoptarlo como tal.
En ese sentido, Bitcoin Cash (BCH) cuenta con un proceso para presentar, debatir y estandarizar ideas llamado “CHIP” (siglas de: propuestas de mejoras del efectivo) que de forma parecida a los “BIP” o “propuestas de mejora de Bitcoin” de Bitcoin-BTC, permite a la comunidad discutir y evaluar la idoneidad de ideas a desarrollar para agregar nuevas funciones a las aplicaciones, e incluso, al protocolo sobre el que corre la moneda.
Una de las funciones que durante años se ha perseguido, es la posibilidad de transferir otros activos a través de la blockchain de Bitcoin Cash. Activos que en el mundo de las criptomonedas suelen denominarse “tokens” o “fichas”, muy populares en muchos ecosistemas cripto, que aportan actividad económica extra a las redes sobre las que corren, y que acompañados de funciones como la capacidad de implementar contratos inteligentes, pueden intercambiarse en exchanges descentralizados o usarse en plataformas DeFi.
Cuando BCH acababa de independizarse de BTC hubieron varias propuestas para incorporar tokens basadas en el concepto de “monedas coloreadas”, el cual hace referencia a transacciones (el envío de una cantidad muy pequeña de Bitcoin Cash, por ejemplo) que contienen metadatos para transferir un token. Dicho de otra forma, consiste en utilizar las transacciones de BCH como vehículo para otros activos, requiriendo un protocolo que pueda interpretar esos metadatos adjuntos como una ficha, la cantidad transferida, etc.
Esta idea llegó a ser implementada sobre la red de Bitcoin Cash (BCH) a través de varios protocolos, siendo el más conocido y longevo el “Simple Ledger Protocol” o “tokens SLP”.
Sin embargo, el modelo de las “monedas coloreadas” tiene ciertas limitaciones, como la necesidad de correr software adicional para validar la información que contienen, así como de esperar al menos 1 confirmación para dar por válidas dichas transacciones. Debido a estas debilidades, las “monedas coloreadas” representan una alternativa viable para enviar y recibir tokens, pero sin igualar las cualidades de los pagos con la moneda base.
Nuevo estándar: un mejor modelo
El 15 de mayo de 2023 Bitcoin Cash (BCH) incorporará mediante una actualización, entre otras nuevas funciones, la capacidad de transferir tokens sin las limitaciones que suponen los protocolos de “monedas coloreadas”. Esta nueva función, a cuya especificación técnica se le ha asignado el identificador “CHIP-2022-02”, lleva el nombre de “CashTokens: primitivas de tokens para Bitcoin Cash”. En términos llanos, CashTokens representa una solución superior en comparación al “Simple Ledger Protocol” de los tokens SLP, diferenciándose entre otras cosas por las siguientes características:
- La infraestructura con soporte a “tokens SLP” requería correr “nodos SLP”, es decir, software adicional para validar las transacciones de ese tipo a partir de los metadatos incluídos en las mismas. En el caso de CashTokens, su soporte solo requiere un nodo de Bitcoin Cash, por lo que el minero y los operadores de nodos completos pueden dar fe de su validez.
- Las transacciones de tokens SLP no son compatibles con 0-conf, por lo que puede ser riesgoso aceptar transacciones sin esperar la primera confirmación. Las transacciones con CashTokens son compatibles con 0-conf, por lo que es razonable dar por buenas transacciones sin confirmaciones menores a 200$.
- Aunque la red de Bitcoin Cash se basa en el modelo “UTXO”, las transacciones de tokens SLP se verifican mediante el modelo “DAG”. Las transacciones de CashTokens se basan en el modelo UTXO, lo cual supone una mayor eficiencia al validar las transacciones de este estándar.
Estas ventajas, entre muchas otras, permiten a los CashTokens proveer una mejor experiencia de usuario, y disminuyen la fricción de expandir la compatibilidad de billeteras auto-custodiadas y plataformas de comercio con el envío y almacenamiento de tokens. Por otro lado, las transacciones con CashTokens pagan tarifas a los mineros denominadas en Bitcoin Cash, por lo que la popularización eventual contribuirá al mantenimiento del sistema.
CashTokens: primitivas de tokens
En la especificación técnica de CashTokens figura la expresión “Token Primitives for Bitcoin Cash” como nombre formal. Esta expresión puede ser un poco confusa para un público hispanohablante, dado que puede pensarse (erróneamente) que se refiere a algo “primitivo”, poco sofisticado o limitado en su compatibilidad con DeFi.
Sin embargo, CashTokens no solamente es compatible con contratos inteligentes escritos con el lenguaje de scripting de Bitcoin Cash, sino que el término no busca evocar simpleza. La expresión “primitivas” en este contexto se refiere a una función fundamental de un protocolo; una función nativa del protocolo, por lo que una traducción del concepto mucho más clara podría ser “Tokens nativos para Bitcoin Cash”.
Actualización: originalmente el artículo señalaba que los CashTokens (a diferencia de los tokens SLP) no requerían el uso de dos formatos de direcciones. Se ha incorporado una corrección debido a que los tokens nativos de Bitcoin Cash (BCH) permiten el uso de direcciones «token aware» (conscientes de tokens) que pueden recibir tanto BCH como CashTokens, y direcciones en formato normal, que solo reciben BCH. El uso de dos formatos tiene la finalidad de que los usuarios no envíen tokens a billeteras que no reflejan este tipo de activos. Por otro lado, se ha corregido la traducción de «token primitives» como «tokens primitivos». La traducción correcta es «primitivas de token», o alternativamente, para transmitir la misma idea, «tokens nativos».