En noviembre de 2021, Liquid añadió una actualización de scripting con 31 códigos de operación adicionales con el fin de simplificar y mejorar los convenios, la introspección de las transacciones y la aritmética de 64 bits, entre otros aspectos. Con estos códigos de operación, Liquid puede implementar contratos inteligentes avanzados que ofrecen productos financieros para los traders que buscan reducir los requisitos de confianza que suelen encontrarse en el mundo financiero tradicional.
Dos ejemplos de estos productos financieros son las órdenes límite sin custodia con cumplimientos parciales y los contratos de opciones totalmente garantizados. Blockstream ha diseñado e implementado contratos inteligentes que demuestran estos casos de uso, que ilustran la capacidad de Liquid para actuar como capa financiera de Bitcoin.
Órdenes límite
Una orden límite le permite a un comprador o vendedor (denominado creador) de un activo fijar un precio al que estaría dispuesto a comprar o vender ese activo en el mercado. Otro trader distinto decidiría entonces “aceptar” esta oferta y ejecutar la operación. Esto se hace típicamente en los exchanges de custodia, en los que el exchange depositará los fondos de ambas partes y luego utilizará un sistema de liquidación interno para asignar los fondos a cada parte. Este sistema se basa en confiar los fondos a un tercero, que pueden perderse por hackeo del sistema o por robo de información privilegiada cuando el tercero desaparece o se fuga con los fondos
En el pasado, era posible llevar a cabo este tipo de transacciones con serias limitaciones, como que las claves de ambas partes debían estar continuamente en línea o que la operación debía completarse de manera total. Por ejemplo, si un creador quería vender 5 L-BTC a un precio de 20.000 USDt cada uno y un comprador quería comprar solo 2 L-BTC a ese precio, no había manera simple de completar esa transacción sin que el creador interviniera y modificara la orden para que coincidiera con la del comprador. Esto requiere la intervención manual o que las claves estén en línea, lo que aumenta la complejidad e implica un riesgo de seguridad.
Los códigos de operación introspectivos de Liquid pueden usarse para construir convenios, un tipo de contrato inteligente que garantiza que una salida pueda gastarse únicamente si la transacción que la gasta cumple con criterios específicos. Con los convenios, el creador puede bloquear 5 L-BTC en un convenio que le permita a cualquiera extraer cualquier cantidad de L-BTC siempre y cuando le paguen al vendedor 20.000 USDt por L-BTC que extraigan. El convenio también le permite al vendedor tomar la garantía restante para cancelar la orden. No es necesario publicar la financiación del convenio de órdenes límite en la blockchain hasta que un tomador quiera ejecutar la operación, lo que ahorra espacio en la blockchain y posibles costos.
Transacción de financiación: Alice añade 5 L-BTC en un convenio de orden límite. Transacción de intercambio: Bob paga 40.000 USDt para recibir 2 L-BTC (menos las tarifas de la red) del convenio.
Contratos de opción
Un caso de uso más avanzado es un contrato de opción de compra cubierta, que es una opción garantizada por el activo subyacente. En este caso, el emisor de la opción vende el derecho (pero no la obligación) de comprar un activo a un precio determinado hasta cierto momento en el futuro (denominado fecha de caducidad). Después de esa fecha, si no se ha ejercido este derecho, el otorgante puede reclamar la garantía. Los contratos de opción pueden usarse para obtener ingresos de un activo cuando el titular esté dispuesto a venderlo a un precio más alto en el futuro o como una forma de que el beneficiario de la opción gane exposición a un activo arriesgando fondos mínimos.
Los contratos de opción suelen estar disponibles a través de fondos de depósito en garantía o mediante la negociación con contrapartes de confianza con las que hay que contar para liquidar sus obligaciones. Al usar un tercero de confianza, los usuarios corren el riesgo de que los fondos se pierdan o se congelen, ya sea por una falla técnica, una acción reguladora o un robo. Al confiar en una contraparte, hay riesgo de que la contraparte no sea capaz de cumplir con sus obligaciones. Gran parte del mercado de TradFi se basa en este modelo, lo que significa que solo se confía en un conjunto de grandes empresas bien conectadas y que hay que asegurar que puedan cumplir sus obligaciones. Estos problemas desaparecen al usar contratos inteligentes sin necesidad de intermediarios.
Construcción de contratos de opción
Hay dos posiciones fundamentales en un contrato de opción: un otorgante (que concede la opción de comprar su garantía) y un beneficiario (al que se le concede la opción de comprar el activo en el futuro). Estas posiciones se pueden intercambiar más adelante. En la implementación en Liquid, estas dos posiciones están representadas por tokens separados: el token del otorgante y el token de opción.
En los contratos de opción, se definen los siguientes términos:
- Activo de garantía: un activo vendido por el creador.[1]
- Activo de liquidación: un activo que debe ser pagado al creador por el tomador.
- Precio de ejercicio: el importe del activo de liquidación que debe pagarse por un tamaño de contrato del activo de garantía.
- Tamaño del contrato: una cantidad mínima del activo de garantía que debe transferirse y que debe ser un múltiplo entero de ese valor.
- Fecha de inicio del ejercicio: la fecha en la que puede ejercerse una opción.
- Fecha de caducidad del ejercicio: la fecha en la que el otorgante puede reclamar la garantía.
Ciclo de vida de las opciones
Definiciones
Un creador de opciones define los parámetros especificados anteriormente para crear la capacidad de generar tokens de opción y del otorgante. Inicialmente, no se genera ningún token de opción u otorgante y no se bloquea ninguna garantía. Liquid permite la generación de estos tokens mediante tokens de reemisión, un tipo de activo especial que puede usarse en una transacción para generar un activo asociado. El proceso de definición da como resultado dos de estos tokens, a los que se denomina “generador de token de opción” y “generador de token del otorgante”. Estos tokens se incluyen en un convenio que limita su capacidad de ser generados a menos que se deposite una garantía en un convenio separado, denominado “convenio de garantía”.
Financiación
Cualquier usuario puede financiar un contrato de opción depositando una garantía en el convenio de garantía. Un usuario que deposita una garantía en el convenio de garantía puede generar un par de tokens de opción y del otorgante para cada monto del tamaño de contrato de la garantía depositada. Por ejemplo, si un tamaño de contrato es 1M sats de L-BTC y si un usuario deposita 100 M de sats de L-BTC, podrían generar 100 de cada token. El usuario luego tiene la libertad para vender la posición contraria a la que desea tomar (o ambos tokens si desea crear mercado).
Cancelación
Si un usuario desea cancelar su posición en un contrato de opción, pueden quemar un par de cada uno de los tokens de la opción y del otorgante para recuperar un monto de garantía del tamaño del contrato. Los usuarios podrían hacer esto cuando quieran bloquear una ganancia o una pérdida pero son incapaces de encontrar una contraparte para operar fuera de su posición.
Caducidad
Si el contrato caduca, un titular de un token del otorgante puede quemar sus tokens y reclamar la garantía asociada. El convenio de garantía asegura que la transacción solo pueda completarse después de la fecha de caducidad. Por cada token quemado, el usuario es capaz de reclamar un monto del tamaño del contrato de la garantía del convenio de garantía.
Ejercicio
Si el titular de un token de opción desea ejercer su opción, puede quemar el token y pagar el precio de ejercicio del activo de liquidación de un convenio de liquidación. Al hacer eso, es capaz de reclamar un monto del tamaño del contrato de la garantía. Este convenio existe para permitir que los titulares de los tokens del otorgante reclamen el pago realizado por el beneficiario.
Reclamo de la liquidación
El titular de un token del otorgante es capaz de reclamar el activo de liquidación pagado por el usuario que ejerció la opción. Esto se hace quemando cualquier cantidad de tokens del otorgante y reclamando la cantidad apropiada de fondos del convenio de liquidación.
Lea el informe sobre las opciones
Para obtener más información sobre los detalles de estas construcciones, lea el nuevo informe "Opciones sin custodia utilizando Elements", escrito por Sanket Kanjalkar, Andrew Poelstra y yo. Para obtener más información, también puede unirse a la comunidad de Liquid de Telegram y hacer preguntas directamente.
En las próximas semanas, lanzaremos una implementación de referencia de estas construcciones para que pueda crear sus propios contratos de opciones usando Liquid. También puede encontrar inspiración para construir otros casos de uso interesantes en Liquid.
[1]Para una opción de compra de L-BTC, L-BTC es el activo de garantía; para una opción de venta de L-BTC, la opción es L-USD. Si bien estos activos cumplen distintos propósitos comerciales, desde un punto de vista técnico, son esencialmente iguales.