Introducción a RGB: contratos inteligentes fuera de cadena en Bitcoin
RGB es un protocolo de
Limitaciones del lenguaje Script de Bitcoin
Bitcoin Script está diseñado para ser seguro y determinista, pero carece de estructuras complejas como bucles o variables dinámicas. Esto impide la creación de contratos inteligentes avanzados directamente en la cadena, pues cada nueva característica requeriría cambios en el protocolo base.
¿Qué es RGB
RGB es un conjunto de especificaciones y librerías que define un modelo de
Principios básicos
• Validación
• Compromisos en Taproot: el árbol de Merkle de la lógica del contrato se incluye en la clave pública.
• Transiciones de estado firmadas: cada cambio es un PSBT extendido con metadatos RGB.
• Distribución peer-to-peer: los nodos RGB intercambian datos de contrato sin congestionar la red Bitcoin.
Tipos de activos RGB
• Activos fungibles (ej. stablecoins, puntos de fidelidad).
• Activos no fungibles (NFTs con metadatos extensibles).
• Contratos de derivados o seguros basados en condiciones externas.
Arquitectura técnica
Máquinas de estado finito
Cada contrato RGB se define como un grafo de estados y transiciones. Un
Compromisos en la cadena con Taproot
RGB aprovecha la curva secp256k1 y el agregado de scripts de Taproot para incluir el
Validación off-chain
Al realizar una transferencia RGB, el cliente genera un PSBT que contiene:
• Firma de la transacción Bitcoin que consumirá UTXOs comprometidos.
• Datos de transición de estado (input y output RGB).
• Pruebas Merkle de pertenencia al esquema del contrato.
El receptor verifica localmente la validez de todas las pruebas antes de firmar y propagar.
Componentes del stack RGB
• rgb-core: tipos y lógica de validación de contratos.
• rgb-wallet: gestión de llaves, UTXOs y transiciones.
• rgb-node: servicio P2P y almacenamiento local de datos.
• rgb-ledger: indexación y API REST para exploración de activos.
Flujo de trabajo típico
1. Génesis: el emisor define el contrato y publica el compromiso en un output Taproot.
2. Distribución de datos: el emisor difunde el esquema a través de la red P2P.
3. Transferencia: el propietario crea una transición firmada y la envía al receptor.
4. Verificación: el receptor descarga solo los datos necesarios y valida el estado.
5. Liquidación en Bitcoin: la transacción PSBT se finaliza y se confirma on-chain.
Ventajas y retos
| Ventaja | Descripción |
|---|---|
| Escalabilidad | La mayor parte de la lógica y los datos circulan fuera de la cadena. |
| Privacidad | Solo se revela la porción de estado necesaria a cada participante. |
| Compatibilidad | Funciona sin cambios de consenso sobre Bitcoin. |
| Complejidad | Requiere clientes especializados y red P2P adicional. |
Implementaciones y herramientas
• GitHub rgb-rs: repositorio oficial con librerías en Rust.
• rgb-node: nodo P2P para intercambio de datos.
• rgb-wallet: interfaz CLI y librería de wallet.
• rgb-ledger: explorador de activos y API.
Casos de uso
• Stablecoins descentralizadas y programables.
• Certificados de propiedad digital (inmuebles, vehículos).
• Mercados de predicción o seguros paramétricos.
• NFT con metadatos evolutivos y módulos financieros.
