Cómo enviar grandes pagos de Bitcoin en Lightning

Lightning Network se considera la principal solución en el ecosistema de Bitcoin para hacer viables las pequeñas transacciones de BTC, ya que permite enviar los pagos más pequeños casi sin cargos.

De hecho, Lightning ha recorrido un largo camino desde que se diseñó por primera vez en 2015 y se lanzó en 2018. Según los datos de Txstats.com, ahora hay más de 88 000 canales públicos con un valor de más de 4000 BTC.

La red de superposición de bitcoin ha experimentado un crecimiento significativo durante el último año después de recibir la atención de los medios globales con la adopción de bitcoin como moneda de curso legal en El Salvador. El movimiento le dio a Lightning mucha legitimidad cuando el mundo se dio cuenta de que Bitcoin en realidad podría usarse para comprar bienes cotidianos.

Crecimiento de Lightning Network de Bitcoin durante el último año. Fuente de la imagen: Txstats.com.

Si bien aún queda trabajo por hacer para que Lightning Network sea realista para la adopción global, el protocolo ha consolidado su posición como la solución de escala clave para los pagos de Bitcoin.

Sin embargo, debido al diseño de los canales interconectados de Lightning Network, no se garantiza que los pagos enviados a través de la red sean exitosos y, por lo tanto, se deben tomar decisiones sobre cómo la billetera debe priorizar el flujo de pago. Un ejemplo de esto es la priorización de tarifas de enrutamiento, que es la priorización más popular; se intenta elegir un camino en la red que suponga un gasto de tarifa minimizado para el remitente.

Una ruta en Lightning Network se refiere a la ruta que toma un pago Lightning desde el remitente hasta el receptor a través de diferentes canales. El enrutamiento permite el pago entre un remitente y un destinatario específicos sin que las dos partes tengan que abrir un canal entre ellas. Los nodos entre ellos enrutan el pago a través de sus canales por una tarifa de enrutamiento.

Si bien elegir la forma menos costosa a menudo funciona bien para pagos pequeños, cuanto mayor sea el monto del pago, es menos probable que el pago sea exitoso. En otras palabras, la probabilidad de que la ruta de menor costo, y Lightning Network en su conjunto, puedan entregar con éxito un pago determinado disminuye a medida que aumenta el tamaño de ese pago.

Gran parte de este problema gira en torno al tema de la liquidez requerida para mover fondos tanto desde el punto de vista del remitente como del receptor, y todos los canales intermedios.

Por supuesto, cuanto mayor sea el pago, mayor será la necesidad de liquidez en los canales Lightning para que el pago atraviese con éxito la red hasta su destino. Para pagos pequeños, esto no importa tanto: la probabilidad de que la capacidad de Bitcoin de un canal sea suficiente para un pago pequeño es alta, pero esto disminuye a medida que aumenta la cantidad de BTC enviada. Como resultado, los remitentes de pequeños pagos de bitcoin enviados a través de Lightning normalmente no tienen que preocuparse tanto por la liquidez como lo hacen con los pagos más grandes.

Aún así, incluso los pagos pequeños son vulnerables a fallas en la entrega de Lightning. Con eso en mente, aumentar la confiabilidad para pagos pequeños y grandes parece una buena idea.

El investigador y educador de Lightning Network, Rene Pickhardt, pensó en este problema y comenzó a buscar formas de optimizar la probabilidad de éxito de un pago. Ahora su investigación está dando frutos.

Pagos Pickhardt: mayor confiabilidad para pagos relámpago

Como se discutió anteriormente, en el centro del problema de confiabilidad con los pagos Lightning está la liquidez. Como resultado, la mayor parte del trabajo de Pickhardt intenta responder a la pregunta: ¿dónde está la liquidez?

No hay una respuesta única a esta pregunta. Peor aún, a menudo no hay forma de estar seguro, incluso cuando se trata de un solo canal.

Si bien puede ser trivial determinar la capacidad de bitcoin de un canal Lightning público, no es fácil determinar cómo se divide esa capacidad entre sus dos pares, lo que plantea un desafío para asignar correctamente la liquidez saliente y entrante en la evaluación de ese canal. Como resultado, la capacidad del remitente para determinar con precisión la liquidez necesaria para enrutar con éxito su pago se ve comprometida.

Debido a esta incertidumbre, Pickhardt descubrió que la mejor respuesta se basa en la probabilidad.

Pickhardt Payments cuantifica la incertidumbre relacionada con la liquidez a una probabilidad, mostrando todos los caminos posibles para un pago dado y eligiendo el camino con la mayor probabilidad de éxito. En otras palabras, Pickhardt Payments intenta elegir el camino con la menor incertidumbre.

El modelo probabilístico utilizado por Pickhardt estima la cantidad de liquidez que hay en un canal. Este modelo se ejecuta en los canales de pago públicos de Lightning Network para estimar la probabilidad de tener una cantidad determinada de liquidez en un canal determinado. Luego, el pago se envía a través de la ruta que probablemente contenga la mayor cantidad de liquidez, para optimizar la confiabilidad. Si el pago falla, el modelo aprende de su error actualizando su creencia en la red.

El enfoque de Pickhardt aplica décadas de investigación informática al floreciente protocolo Lightning. Más específicamente, el investigador de Lightning se basa en el trabajo del difunto padre de la teoría de la información, Claude Shannon, sobre los canales de comunicación, la entropía y la incertidumbre para cuantificar la incertidumbre de la comunicación mediante distribuciones de probabilidad.

Pagos Pickhardt para grandes transacciones

Lightning facilita la realización de pagos grandes al dividirlos en pagos más pequeños. Luego, estos se enrutan a través de la red hasta el destino y, si todos son exitosos, el pago original es exitoso.

Dado que todas las divisiones deben tener éxito para que el pago original sea exitoso, cuanto mayor sea el número de pagos en los que se divide un pago original, menor será la probabilidad de éxito. Esto se debe a que la probabilidad de éxito del pago original se determina multiplicando las probabilidades de éxito de cada pago «secundario». Esto crea una especie de paradoja, porque teóricamente, cuanto menor sea el pago, mayores serán las posibilidades de éxito. Por lo tanto, surge un desafío de optimización para encontrar el tono correcto.

Pickhardt Payments intenta aumentar la probabilidad de éxito del pago original buscando esta optimización, que se consigue reduciendo el coste de la incertidumbre. Para lograrlo, utiliza la Investigación Operativa (OR).

Más específicamente, Pickhardt Payments utiliza flujos de costos mínimos, una herramienta OR bien estudiada, para modelar y ejecutar el pago Lightning óptimo de varias partes, lo que mejora el proceso de toma de decisiones para dividir y entregar pagos en Lightning. En resumen, la premisa es que la incertidumbre sobre la información de liquidez de cada canal tiene un costo inherente.

El costo de la incertidumbre, que no debe confundirse con el costo de la tarifa, se puede considerar como el costo de oportunidad de probar un camino en particular. En teoría, cuanto mayor sea el costo de la incertidumbre, mayor será el costo de oportunidad, ya que es menos probable que el pago sea exitoso. Al cuantificar esta incertidumbre, Pickhardt Payments puede minimizar los costos de oportunidad y elegir el camino que maximiza las posibilidades de éxito.

En última instancia, estas optimizaciones permiten que Pickhardt Payments envíe grandes pagos Lightning que antes no eran posibles en la red.

El diseño de Pickhardt difiere de las prácticas actuales en Lightning porque los pagos divididos generalmente se priorizan en función de las tarifas, al igual que los pagos únicos. Por otro lado, Pickhardt Payments prioriza la reducción del costo de la incertidumbre, ya que busca aumentar la probabilidad de entrega del pago, lo que significa que las tarifas a menudo pueden ser relativamente altas en comparación con las tarifas que normalmente se pagan en Lightning.

Sin embargo, Pickhardt le dijo a Bitcoin Magazine que su algoritmo también podría ofrecer la oportunidad de optimizar las tarifas, aunque argumenta que actualmente esto es computacionalmente intensivo dada la existencia de la tarifa base de Lightning. En este caso, el desafío sería encontrar un equilibrio óptimo entre las dos opciones, que él llama «características», mientras permite a los usuarios lidiar con lo que finalmente quieren priorizar.

Cómo usar los pagos de Pickhardt hoy

Pickhardt Payments ahora se puede utilizar a través de LND manageJ de Carsten Otto. Alternativamente, Pickhardt está desarrollando una biblioteca que actualmente permite realizar pruebas de simulación y producción. Pickhardt le dijo a Bitcoin Magazine que eventualmente enviará la biblioteca con enlaces para implementaciones, pero eso no es una prioridad tan alta como la corrección técnica, la seguridad y el tiempo de ejecución en este momento. Si bien todavía no existe una manera fácil para que un usuario normal use Pickhardt Payments, la disponibilidad debería aumentar a medida que los desarrolladores continúen trabajando en el algoritmo y la biblioteca para presumir de su solidez y seguridad.

Gracias a René Pickhardt por la información y los comentarios.

Para obtener más detalles sobre Pickhardt Payments, consulte el documento de investigación asociado y la publicación de la lista de correo. También hay recursos adicionales disponibles en el sitio web de Pickhardt.