Actualización BIP 119 (OP_CTV)

Tiempo de lectura: 4 minutos

En el viaje por mejorar Bitcoin existen muchos caminos a seguir. Cada desarrollador tiene una visión de como debe ser Bitcoin y trabaja pacientemente por ello. Pero Bitcoin es muy difícil de cambiar, y esto no es algo malo. Al contrario, su mayor valor proviene de su inmutabilidad.

20Recientemente se ha conseguido llegar a consenso para activar la actualización de Taproot, una propuesta en la que se lleva años trabajando. A partir de esto, la discusión sobre nuevas propuestas se ha reanudado en la comunidad más técnica.

Las mejoras en Bitcoin se proponen en BIPs, (Bitcoin Improvement Proposals). Hace poco hemos hablado del BIP 118, y te explicaré qué es el BIP 119. Esta propuesta, también llamada OP_CHECKTEMPLATEVERIFY, o simplemente OP_CTV, ha recibido mucha atención y es probable que acabe en Bitcoin.

Check Template Verify

La propuesta consiste en un nuevo Opcode, un operador para el lenguaje de Bitcoin. En el Bitcoin Script existen unos operadores que no sirven para nada, los OP_NOP. Estos los introdujo Satoshi para permitir actualizaciones en un futuro y hasta ahora se han utilizado 3.

Con este operador se pueden construir «covenants«, un tipo de transacciones muy peculiares. En Bitcoin, las monedas están bloqueadas en UTXOs, un conjunto de reglas sobre qué se necesita para desbloquearlos y gastarlos.

Por ejemplo, un UTXO puede requerir que una persona tenga una clave privada para gastar sus monedas. Este es el caso más común, donde una persona demuestra por medio de una firma digital la tenencia de esa clave privada. Por esto, si no tienes tus claves privadas, no tienes tu Bitcoin.

Las condiciones de qué se necesita para gastar unas monedas pueden ser más complejas, pero no entran en cómo gastar. Con los covenants sí se puede añadir la condición de cómo se deben gastar.

En otras palabras, sin OP_CTV un usuario al desbloquear unas monedas puede gastarlas de cualquier formaCon OP_CTV otra condición adicional es cómo han de gastarse. Los covenants restringen como se gastarán unas monedas, y pueden abrir puertas a contratos inteligentes realmente complejos.

Pero, como explica Jeremy Rubin (el desarrollador detrás del BIP 119), los covenants añaden riesgos y han sido controversiales por ello. Uno de esos riesgos es que unas monedas pueden quedar sujetas a unas condiciones de forma perpetua, empeorando la fungibilidad de Bitcoin. Es decir, no todas las monedas valen igual porque hay algunas con restricciones en su uso. La implementación de Jeremy no tiene el riesgo de restringir unas monedas para siempre, y es más simple y segura que otras formas de covenant.

La lógica es que al construir un covenant, se debe dejar grabada la información sobre la futura transacción. Esta es la plantilla contra la que se comprueba la transacción futura. Si la transacción que gaste esas monedas no se corresponde a la plantilla, entonces será inválida.

De esta simple forma dejamos grabada, como una condición, que una transacción específica (no cualquier otra) debe de llevarse a cabo para gastar unas monedas. Vamos a ver algunos usos de esto.

Actualización BIP 119 (OP_CTV)

¿Cuáles son los posibles usos del OP_CTV?

Una implementación del BIP 119 en Bitcoin, abriría las puertas para nuevos usos y ventajas. Algunos de ellos podrían ser:

Combatir la congestión de red

Un uso de alto valor para Bitcoin es una herramienta para reducir la congestión de red. Ya sabemos que cuando hay mucha demanda de transacciones (generalmente en un mercado alcista) se acumulan las transacciones en espera (en la mempool). Por efectos de mercado, las transacciones deben pagar más comisión para ser incluidas en ese momento.

Una forma de combatir esto es con el OP_CTV. Podemos enviar monedas de muchos usuarios de forma grupal a un UTXO donde estén grabadas las transacciones que se necesitan para gastarlo.

Imaginemos que un exchange quiere enviar dinero a diferentes usuarios, pero hay mucha congestión de red en ese momento. Lo que hace es enviar las monedas a un sólo UTXO (una sola dirección) usando el OP_CTV. Cuando la congestión se reduzca, se podrá gastar ese UTXO de la forma preestablecida, acorde con la plantilla (enviándose a todos los usuarios).

Se puede pensar en esto como una transacción intermedia más barata, que acaba en la transacción final cuando las comisiones ya son bajas. El ahorro en comisiones y congestión puede ser muy significativo según las simulaciones de Jeremy Rubin.

Actualización BIP 119 (OP_CTV)

En Lightning Network

El OP_CTV también se puede emplear para Lightning Network, la solución de escalabilidad de Bitcoin con la que se pueden realizar miles de transacciones por segundo y con bajas comisiones. Lightning Network es un conjunto de construcciones llamadas canales de pago, que permiten a dos usuarios mantener unos balances independientes a la blockchain.

Un uso son las fábricas de canales, que permiten a muchos participantes usar un sólo canal de Lightning (actualmente sólo son dos participantes). Esto permite que Lightning pueda escalar mucho más, permitiendo a millones de personas su uso. Las fábricas de canales también serían posibles con el BIP 118, aunque de esta forma tienen características diferentes.

Además con estos covenants se pueden crear canales no interactivos que permiten una gestión más cómoda e independiente de los canales y, gracias a la herramienta de la congestión, mejorar la eficiencia de la red.

Bóvedas y Coinjoins

Otros usos del OP_CTV son las bóvedas para una mejor seguridad y coinjoins más baratos (una técnica de privacidad en Bitcoin).

Sapio, un lenguaje basado en OP_CTV

Jeremy Rubin ha desarrollado además un lenguaje para programar en Bitcoin llamado Sapio. Sapio usa el BIP 119 para crear contratos inteligentes en Bitcoin y tiene el potencial de cuestionar la frase de «Bitcoin no puede tener contratos inteligentes complejos».

Actualmente Sapio se usa en Bitcoin por medio de un oráculo que permite emular el OP_CTV. En caso de que esta propuesta avance y acabe en Bitcoin, Sapio podría usarse con todo su potencial y sin confianza (sin depender de terceros como los oráculos).

El BIP 119 podría ser una pieza clave que permita más aplicaciones e innovación sobre Bitcoin. Y gracias a Sapio, su potencial sería mucho más accesible para los programadores que desean construir en Bitcoin.


Deja un comentario
La dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *