Definición de Bitcoin Wiki:
Un Contrato de Hashed TimeLock o HTLC es una clase de pagos que utiliza bloqueos de hash y bloqueos de tiempo para exigir que el receptor de un pago reconozca haber recibido el pago antes de la fecha límite al generar una prueba de pago criptográfica o perder la capacidad de reclamar el pago, devolviéndolo al pagador.
La prueba criptográfica de pago que genera el receptor puede utilizarse para desencadenar otras acciones en otros pagos, lo que convierte a las HTLC en una poderosa técnica para producir pagos condicionales en Bitcoin.
HTLCs en canales de pago:
Los HTLC permiten que los pagos se enruten de manera segura a través de múltiples canales de pago, lo cual es muy importante porque no es óptimo que una persona abra un canal de pago con todas las personas con las que realiza transacciones.
Los HTLC son parte integral del diseño de canales de pago más avanzados, como los utilizados por Lightning Network.
Por ejemplo:
Si Alice tiene un canal abierto para Bob y Bob tiene un canal abierto para Charlie, Alice puede usar un HTLC para pagar a Charlie a través de Bob sin riesgo de que Bob robe el pago en tránsito.
Comprendamos paso a paso cómo se desarrollaría la transacción (nota en este ejemplo no hablamos sobre el aspecto de bloqueo de tiempo de los HTLC):
PASO 1:
- Alice quiere comprarle algo a Charlie por 1000 satoshis.
- Alice abre un canal de pago a Bob, y Bob abre un canal de pago a Charlie
PASO 3:
Charlie le da el hash generado a alicia.
PASO 4:
Alice usa su canal de pago para que Bob le pague 1,000 satoshis, pero agrega el hash que Charlie le dio al pago junto con una condición adicional: para que Bob pueda reclamar el pago, tiene que proporcionar los datos que se utilizaron para producir el hash.
PASO 5:
Bob usa su canal de pago para que Charlie le pague a Charlie 1,000 satoshis, y Bob agrega una copia de la misma condición que Alice puso en el pago que le dio a Bob.
FINALMENTE:
PASO 6:
B → C (la transacción en el paso 5 se realiza)
Charlie tiene los datos originales que se usaron para producir el hash (llamado pre-imagen), por lo que Charlie puede usarlo para finalizar su pago y recibir el pago completo de Bob. Al hacerlo, Charlie necesariamente hace que la imagen previa esté disponible para Bob.
PASO 7:
A → B (la transacción en el paso 4 se realiza)
Bob usa la pre-imagen para finalizar su pago de Alicia.
En el ejemplo anterior, hablamos de un caso especial en el que teníamos un intermediario (Bob) para que nuestro pago llegara al destino.
Este método se puede ampliar para que podamos saltar a través de más de un intermediario que es esencial para el uso público/masivo.
Nota:
La función hash criptográfica ideal tiene cinco propiedades principales:
Fuente:
hackernoon.com - What Are Hashed Timelock Contracts (HTLCs)? Application In Lightning Network & Payment Channels
- es determinista por lo que el mismo mensaje siempre resulta en el mismo hash
- es rápido calcula el valor de hash para cualquier mensaje dado
- no es factible generar un mensaje a partir de su valor hash, excepto al intentar todos los mensajes posibles
- un pequeño cambio en un mensaje debería cambiar el valor de hash de forma tan extensa que el nuevo valor de hash no esté correlacionado con el valor de hash antiguo
- no es factible encontrar dos mensajes diferentes con el mismo valor hash
Fuente:
hackernoon.com - What Are Hashed Timelock Contracts (HTLCs)? Application In Lightning Network & Payment Channels
0 Comentarios