Title: Discreet Log Contracts: contratos inteligentes para DeFi en BTC y LN Post by: d5000 on June 11, 2021, 11:29:43 PM Hace unas semanas que me enteré que se encuentra en desarrollo un nuevo tipo de contrato inteligente (smart contract) que es posible con Bitcoin. Se trata de los "Discreet Log Contracts" (abreviados DLC. Parece que la doble "e" no es un error ortográfico, ya que aparece en el libro blanco). Su gran ventaja es que también funcionan con Lightning Network, es decir que son escalables.
El mecanismo fue ideado en 2018 por Thaddeus Dryja, el cual también es uno de los inventores de Lightning. En lo que va del 2021, parece que se hicieron las primeras pruebas exitosas. Es un tema del que poco se habla en este foro, pero tiene algunas aplicaciones interesantes, por eso decidí armar un pequeño hilo para presentarlo. Libro blanco de Discreet Log Contracts (https://adiabat.github.io/dlc.pdf) ¿Para qué sirve? Los discreet log contracts sirven para contratos entre dos partes que resultan en un pago variable cuyo monto depende de un dato externo, para lo cual se consulta a un oráculo (oracle - el concepto es conocido por muchos contratos en Ethereum). El dato externo puede ser, por ejemplo, la cotización del BTC en alguna moneda fiat, o algún dato financiero de una empresa (por ejemplo la ganancia publicada en un reporte cuatrimestral/anual), o cualquier otro dato, como el resultado de una elección o un partido de fútbol. Dependiendo del valor de este dato, las partes se ponen de acuerdo de pagar una suma de dinero. Dos ejemplos que se pueden hacer con Discreet Log Contracts: Forwards. Dos partes depositan una suma de BTC, y una de las partes recibirá, después de un tiempo pre-acordado, de esta suma un monto que corresponde al valor en una moneda fíat al comienzo de la operación. Es decir, hay una parte que busca preservar el valor de sus BTC en fiat, mientras que la otra pretende beneficiarse si el precio sube, y asume un riesgo. Un ejemplo: si las dos partes depositan 1 BTC cada uno, el BTC está en 40000 dólares cuando las partes "sellan" el contrato, y hasta el final baja a 36000 (10%), entonces la parte que quiso preservar el valor, recibirá 1,1 BTC (10% más del 1 BTC que depositó). En cambio, si la cotización sube, recibirá menos, y la contraparte se beneficia. Apuestas. Las partes se ponen de acuerdo sobre un pago que llegará a una o la otra parte de acuerdo al dato. De hecho, este fue el primer contrato que se celebró de este tipo: se apostó por el resultado de la elección presidencial de EE.UU. El ganador recibió una suma de BTC como premio. Obviamente esto también se puede usar para eventos deportivos, etc. Cómo funciona De manera simplificada, el procedimiento es el siguiente: - Las dos partes (Alice y Bob) depositan dinero en una dirección multisig. - Luego, Alice y Bob crean, en sus ordenadores, un número de transacciones que todas usan el mismo "output" (es decir, el dinero depositado en la dirección multisig), las firman y las pasan a la contraparte. Para cada posible valor del dato externo que se consulta, se crea una transacción. Pero el pago solo se hará si el oráculo confirma el dato externo a través de una firma digital. El ejemplo de la apuesta por la elección presidencial es el más simple: cada uno de los dos crea una transacción que transfiere el premio a Alice o a Bob. - Si el oráculo confirma el dato externo antes de una fecha límite, se libera el pago que corresponde al valor del dato, ya que el oráculo proporcionará la firma digital correspondiente. - Si el oráculo queda "mudo", entonces las partes, después de un tiempo, pueden volver a acceder a sus BTC. Ventajas y desventajas Hay dos ventajas principales: Primero, el contrato inicial en la blockchain se parece a una transacción multisig común, por lo que respeta la privacidad de las partes. Nadie podrá saber qué son exactamente los términos del contrato entre las partes. Importante: Tampoco lo sabrá el oráculo, salvo obviamente que una de las dos partes se lo "cuente" a través de otro canal de comunicación. El oráculo solo se limita a proveer la firma digital que corresponde a la transacción con el valor correcto del dato. Segundo, el método es compatible con Lightning. Debido a que en LN ya hay una dirección multisig a la que contribuyen dos partes, se pueden intercambiar los mensajes "off-chain" de una manera similar. Si una parte intenta engañar a la otra, se cierra el canal de LN. No entendí del todo si esto es posible también si hay nodos intermedios o solamente si entre las dos partes existe un canal directo. Una desventaja es que mientras dure el contrato, no se puede salir de la posición - no se puede "vender" una posición, como sí ocurre con contratos a futuro en plataformas centralizadas. El mecanismo también tiene una desventaja más general, la cual comparte con todas las operaciones que dependen de un oráculo (incluyendo a los contratos similares en Ethereum). Dependen de qué el oráculo sea confiable, es decir que proporcione el dato correcto junto a la firma digital. Dryja argumenta que los incentivos económicos (se puede acordar un pago al oráculo, obviamente) harán que solo los oráculos confiables sobrevivan. Sin embargo, queda un "sabor amargo". Hay que saber que los DLC no son la única forma de lograr contratos DeFi con Bitcoin. Un ejemplo para un contrato DeFi que también sirve para preservar valores pero que no necesita oráculos, es la opción americana. Esta se puede lograr con el mecanismo de los Atomic Swaps, ver acá (https://bitcointalk.org/index.php?topic=5251998.msg54625091#msg54625091). Title: Re: Discreet Log Contracts: contratos inteligentes para DeFi en BTC y LN Post by: d5000 on August 13, 2023, 03:48:30 AM Actualizo este hilo ya que el concepto de los DLCs dejó de ser meramente un concepto teórico. Desde hace un tiempo existen aplicaciones para Discreet Log Contracts (DLCs) en la "vida real" y hasta plataformas comerciales que lo usan.
Algunas de ellas son: Atomic Finance (https://atomic.finance/blog/) 10101 (https://10101.finance/), que tiene también un repositorio Github: github.com/get10101 (https://github.com/get10101/10101/) con la aplicación código abierto. Ambas plataformas permiten ganar dinero con trading de derivados basados en DLCs, que funcionan de manera parecida a opciones, sin perder la custodia de los bitcoins. Sin embargo, hay que confiar en el oráculo de cada plataforma, como en muchos contratos conocidos de ETH. Y existe al menos la posibilidad teórica que este oráculo sea hackeado y manipulado. Hay otras implementaciones y aplicaciones que se pueden consultar en este enlace (https://github.com/discreetlogcontracts/dlcspecs#implementations). Hicieron también una infografía en inglés, que se puede ver aquí (https://bitcointalk.org/index.php?topic=5463015.0) para entender mejor el concepto (de hecho, este hilo me hizo acordar que había escrito algo sobre el tema, y así decidí investigar un poco el estado actual de este interesante concepto.) |