Propuesta en un documento técnico de 2016, Lightning Network (LN) es una solución de capa 2 construida sobre Bitcoin. LN se creó en respuesta a los problemas de escalabilidad de Bitcoin, es decir, la velocidad y el costo de las transacciones de Bitcoin.
Las transacciones máximas teóricas actuales por segundo (TPS) de Bitcoin son 10, aunque en realidad están entre 3 y 7. Compare esto con los procesadores de pagos tradicionales como VISA, que manejaron un promedio de 6000 TPS en 2020 (según la afirmación de VISA de 188 mil millones de transacciones por segundo). año).
Las tarifas de transacción de Bitcoin pueden variar enormemente dependiendo de la demanda actual de uso de la red. Por ejemplo, el 20 de abril de 2021, las tarifas de transacción promedio superaron los $50, mientras que el 9 de agosto de 2021, el promedio fue de alrededor de $2,50. Para transacciones grandes, como transferencias bancarias o remesas internacionales, la velocidad y el costo de Bitcoin son comparables o superiores a las alternativas. Pero si Bitcoin se va a utilizar para pagos cotidianos (las llamadas microtransacciones, por ejemplo, una taza de café, gasolina), la velocidad de las transacciones debe aumentar y los costos de transacción deben disminuir drásticamente.
Lightning Network en teoría
Para comprender cómo funciona LN y los desafíos actuales de LN, debemos hablar de Bitcoin. El factor limitante de la red Bitcoin es que cada transacción debe colocarse en un nuevo bloque de la cadena. Dado que los bloques se agregan a la cadena aproximadamente cada 10 minutos, existe un límite estricto en la cantidad de transacciones posibles sin alterar significativamente el protocolo Bitcoin.
Ya se han producido debates sobre importantes reelaboraciones del protocolo Bitcoin y han dado lugar a 'bifurcaciones duras', en particular la creación de Bitcoin Cash. Lightning Network, en lugar de crear una nueva cadena de bloques, es una solución de capa 2. Esto significa que permite que el protocolo Bitcoin permanezca relativamente sin cambios, pero proporciona los beneficios que podrían traer importantes reelaboraciones, al menos en teoría.
LN funciona configurando un canal de pago entre dos partes, donde solo la primera y la última transacción se colocan en la cadena de bloques de Bitcoin. Cualquier cantidad de transacciones entre la primera y la última se realizarán fuera de la cadena, lo que significa que esas transacciones no están limitadas por el protocolo Bitcoin.
Para iniciar un canal de pago, ambas partes deben comprometer una cantidad de Bitcoin. Ese Bitcoin se mantiene y no se puede liberar mientras el canal de pago permanezca abierto. La cantidad total de Bitcoin que se puede transferir a través de este canal es la cantidad total de Bitcoin comprometida. Veamos un ejemplo para ilustrar esto:
Alice y Bob quieren formar un canal de pago entre ellos. Alice compromete 10 BTC y Bob 5 BTC en el canal de pago. Una transacción inicial que contiene los 15 BTC combinados de Alice y Bob se coloca en la cadena de bloques de Bitcoin. Una vez que esa transacción se ha agregado a la cadena de bloques, lo que puede tomar 10 minutos o más, Alice y Bob pueden realizar transacciones una cantidad ilimitada de veces a velocidades mucho más rápidas y efectivamente sin costo. A continuación se muestran las transacciones entre Alice y Bob:
Alice envía a Bob 1 BTC Alice: 9 BTC Bob: 6 BTC
Alice envía a Bob 2 BTC Alice: 7 BTC Bob: 8 BTC
Bob envía a Alice 3 BTC Alice: 10 BTC Bob: 5 BTC
Bob envía a Alice 1 BTC Alice: 11 BTC Bob: 4 BTC
Cuando uno o ambos desean cerrar el canal, se envía una transacción de cierre a la blockchain con los saldos finales de Alice y Bob. En este caso, el saldo final de Alice es de 11 BTC y el de Bob es de 4 BTC.
¿Qué pasa si Alice quiere realizar transacciones con Carol? Bueno, sucede que Bob tiene un canal de pago con Carol, por lo que Alice realiza transacciones con Bob y Bob le pasa la transacción a Carol. Tenga en cuenta que en este escenario, Bob podría recibir un pequeño pago por transferir la transacción. Con el tiempo, según la teoría de los seis grados de separación, LN permite a Alice realizar transacciones con cualquier otra persona.
Lightning Network en la práctica
LN es un nuevo protocolo aún en fase de prueba. Como tal, se enfrenta a muchos desafíos que van desde la usabilidad hasta la seguridad.
Existe preocupación sobre lo fácil que es ejecutar un nodo LN. Para que LN tenga éxito, se requiere una red sólida de nodos Bitcoin que ejecuten el protocolo LN. Ejecutar un nodo LN puede ser bastante difícil y podría darse el caso de que existan problemas de incentivos de pago para ejecutar nodos más pequeños. Sin embargo, se puede argumentar que ejecutar LN no es mucho más difícil que ejecutar un nodo bitcoin completo. Sin embargo, dado que LN está dirigido principalmente a microtransacciones, la experiencia diaria con LN se realizará a través de billeteras habilitadas para LN. Las billeteras habilitadas para LN no son muy fáciles de usar y la mayoría de estas billeteras advierten que, dado que todavía se encuentran en etapas de prueba públicas, es aconsejable no depositar demasiados fondos. A diferencia de algunas de las billeteras Bitcoin más establecidas, la novedad de estas billeteras habilitadas para LN significa que existen compensaciones entre las versiones con custodia y sin custodia. Las billeteras LN sin custodia son un poco difíciles de usar: más confusas, menos sencillas. Las opciones de custodia son más fáciles de usar, pero debes confiar en un tercero con tu Bitcoin.
Por último, y lo más preocupante, LN se ha enfrentado a una serie de vulnerabilidades. Éstas incluyen:
Ataques de duelo: los fondos no se pierden, pero provocan que los fondos Lightning de la víctima se congelen para que el canal de pago no pueda procesar ninguna transacción.
Inundación y botín: un atacante obliga a muchas víctimas a reclamar sus fondos de la cadena de bloques al mismo tiempo (inundación). El atacante utiliza esta congestión para robar fondos que no pudieron reclamarse antes de la fecha límite (botín).
Ataques de dilatación del tiempo: un atacante alarga el tiempo que la víctima se da cuenta de nuevos bloques retrasando la entrega del bloque.
Ataques de fijación: un atacante engaña a una víctima para que cierre su canal LN de forma incorrecta y roba transacciones individuales.