-
El "dual funding" permite que ambas partes de un canal de pago pueden financiar su tamaรฑo.
-
Esta primera etapa, se habilitarรญa el funcionamiento de este sistema, pero de forma experimental.
El financiamiento compartido, o dual funding, es una implementaciรณn en la red Lightning de Bitcoin que permite a los usuarios abrir canales de pago compartiendo el costo de apertura entre ambos extremos del canal (usuario y nodo de red). La funciรณn ha sido lanzada en la versiรณn del cliente c-lightning 0.10.0 y se pone en marcha, en esta primera fase, de forma experimental.
El objetivo de esta funciรณn es dar acceso a los usuarios a canales de pago sin la necesidad de ver comprometida su privacidad o ser vulnerables a ataques de doble gasto. Con el dual funding, los usuarios podrรกn financiar una parte del tamaรฑo total del canal, mientras que la contraparte, podrรก financiar el resto dentro de la red Lightning.
La puesta en marcha de esta funciรณn fue subida al repositorio en GitHub del proyecto, junto al lanzamiento de la versiรณn 0.10.0 de c-lightning, la cual es una implementaciรณn ligera y personalizable de Lightning Network.
El funcionamiento, en esta primera etapa, es en modo de prueba y orientado a desarrolladores, quienes pueden realizar las configuraciones correspondientes con nodos compatibles. Junto a ello, tambiรฉn cuentan con la posibilidad de utilizar RBF (ยซreemplazo por comisiรณnยป, por sus siglas en ingles) para la creaciรณn de nuevos canales de pago.
Apertura de canales de pago
Abrir un canal de pago con financiamiento individual requiere que el usuario cuente con el total de BTC equivalente a la capacidad seleccionada del canal. Una vez que la transacciรณn de creaciรณn es confirmada en la cadena de bloques, el usuario cuenta con un nuevo canal, pero, este estarรก full, o con su capacidad a tope.
Como ejemplo, puede pensarse en el caso de que un usuario decidiera abrir un canal con financiamiento individual de 1 millรณn de satoshis. Al abrirlo, confirmada la transacciรณn de apertura, la capacidad del canal serรก de 1 millรณn de satoshis, como lo dispuso el usuario inicialmente. Si bien el usuario contarรญa con fondos para ser transferidos a travรฉs de la red Lightning, le serรก imposible recibir pagos en caso de que no libere parte de la capacidad del canal.
Una soluciรณn a esta problemรกtica fueron los canales Turbo, promocionados, en un principio, por Bitrefill, tal como lo reportรณ CriptoNoticias en su momento. Estos permitรญan obtener canales de pago inmediatos, financiados completamente por un tercero.
A nivel de experiencia de usuario parecรญa la soluciรณn definitiva, pero presentaban una grave problemรกtica: los canales Turbo pueden ser vulnerables a ataques de doble gasto, dado que el nodo proveedor puede crear una transacciรณn de cierre de canal unilateral sin que el usuario pudiera hacer nada en lo absoluto.
En busca de una soluciรณn definitiva, nacen los dual funding, donde tanto el nodo proveedor y el usuario pueden crear un canal de pago, con financiamiento compartido, sin que alguno se encuentre vulnerable ante un ataque malicioso de la contraparte.
La implementaciรณn definitiva de dual funding en pequeรฑos pasos
La razรณn por la que no se ha implementado inmediatamente este sistema, aunque se viene hablando del tema desde 2018, se debe a que, los canales de financiamiento dual requieren que cada parte revele que es propietario de una UTXO a su contraparte. Esto presenta un problema, ya que los atacantes pueden obtener informaciรณn acerca quiรฉn es el dueรฑo de cada UTXO, y colocar a los usuarios en situaciones vulnerables. Sin embargo, frente a esta problemรกtica, ya se han presentado varios escenarios como soluciรณn al problema.
Uno de estos escenarios para solucionar la problemรกtica se basa en establecer un algoritmo llamado PoDLE, que serรญa una prueba de compromiso de creaciรณn. Cuando dos usuarios se comprometen a crear un canal, las UTXO reveladas crean un compromiso de creaciรณn. Esto quiere decir que, si uno de los usuarios cancelase el proceso de generaciรณn del canal con doble financiamiento, este se verรญa obligado a gastar sus UTXO, lo que lo llevarรญa a perder dinero.
Debido a todo ello, el uso de dual funding requiere que se tome con cuidado cada una de las implementaciones futuras que se vayan agregando al cรณdigo fuente de la red Lightning de Bitcoin.