Vamos a ver qué es Lightning Network (abreviado como LN) y por qué es tan importante. Es un protocolo de segunda capa agregado a la cadena de bloques de Bitcoin. Este protocolo permite un mayor volumen de transacciones entre pares y sin intermediarios.
Es una red de canales de micro pagos instantáneos de baja comisión que tienen lugar fuera de la cadena de bloques de Bitcoin. Esta segunda capa está compuesta por varios canales de pago entre pares o usuarios de Bitcoin.
Lightning Network es una red peer-to-peer de canales de pago. Estos canales de pago son un contrato inteligente en la red de Bitcoin realizado entre dos parte. En el cual se comprometen fondos utilizando un solo tx on-chain para abrir el canal.
Una vez comprometidos los fondos, los participantes pueden realizar una cantidad ilimitada de pagos instantáneos y gratuitos a través del canal mientras tenga fondos. La idea de Lightning es que no todas las transacciones deben registrarse en la cadena de bloques.
Este tipo de protocolo se basa en el hecho de que transacciones tan pequeñas como pagar un café no necesitan registrarse para siempre en la cadena de bloques de Bitcoin.
Una vez que los participantes del canal de pago consideran que ya han realizado todas las transacciones, pueden cerrar el canal de mutuo acuerdo. Esto se refleja en una nueva y única transacción on-chain en la red de Bitcoin. Además, se distribuye el saldo restante del canal entre las partes y registrando esa transacción en la cadena de bloques.
Lightning Network reduce el tiempo de envío en los pagos (la transacción son casi instantánea y pueden costar hasta 1 satoshi de comisión). Permite abaratar las comisiones por transacción on-chain, solo registra dos transacciones en la cadena de bloques, manteniendo la seguridad y descentralización de Bitcoin.
Además, con la implementación de Taproot en Bitcoin se puede mejorar la privacidad de Lightning Network. Los canales de pago en circunstancias normales pueden hacerse indistinguibles de las transacciones estándar utilizando Taproot.
No es posible saber si una transacción de Taproot es un pago normal o si pertenece a la apertura o cierre de un canal Lightning. Esto es importante para la fungibilidad y la resistencia a la censura de Bitcoin.
Por todo lo anterior, los últimos desarrollos en Bitcoin van encaminados a conseguir una mayor escalabilidad. Al mismo tiempo que mantienen los niveles de seguridad y descentralización de la red.
Qué es la Lightning Network
Para aumentar la escalabilidad en Bitcoin, y que no se creen cuellos de botella en las transacciones, se utiliza una solución de segunda capa agregada a la red de Bitcoin. Esta es la Lightning Network, una solución pensada para reducir el número de transacciones que se envían a la red principal. Lightning Network, es una red P2P basada en canales de pago fuera de la cadena de bloques.
Esto se realiza mediante la creación de contratos inteligentes en la red de Bitcoin, llamados Canales de Pago. Los cuales se basan en agrupar las transacciones por pares de usuarios (pagador y beneficiario). Para así enviar únicamente los saldos finales de esas transacciones a la cadena de bloques. De esta forma, el número de transacciones finales que deben ser confirmadas en la red principal es mucho menor.
Tal vez te preguntes qué significa “solución de segunda capa agregada a la red”. Lightning Network es lo que se denomina una solución off-chain o Layer 2. Permite a los individuos hacer transacciones sin necesidad de registrar cada transacción en la cadena de bloques.
Lighting Network es una capa 2 de Bitcoin
La Lightning Network es independiente de la red Bitcoin, tiene sus propios nodos y software, sin embargo, se comunica con la cadena principal. Para entrar o salir de Lightning Network, necesitas crear unas transacciones especiales en la cadena de bloques de Bitcoin.
El protocolo Lightning Network es una nueva forma de realizar pagos de forma rápida (casi instantánea), sencilla de utilizar. Puede manejar una cantidad de transacciones por segundo que podría llegar al millón y compatible con la red de Bitcoin sin hacer grandes modificaciones. Lightning Network es un sistema que permite la realización de micro pagos instantáneos y de gran volumen.
Creado con la finalidad de permitir que el usuario obtenga y maneje sus fondos de forma confiable y segura sin la necesidad de delegar la custodia a un tercero.
Para realizar esto, Lightning Network hace uso de una implementación de Contrato Inteligente Multifirma (dinero programable) utilizando los scripts incorporados en Bitcoin.
Canales de pago de Lightning Network
El funcionamiento de Lightning Network (LN) no es complejo. Los fondos son enviados a través de una transacción on-chain a una dirección multifirma de BTC de una Wallet que funciona como Nodo de LN. El cual recibe el nombre de canal de pago (Contrato Inteligente).
Este canal de pago, es de múltiples firmas y con múltiples firmas. Estos fondos depositados en el Canal de Pago son representados como una transacción inicial en el libro mayor público de Bitcoin (apertura del canal). Este movimiento inicial se denomina “transacción de fondeo”, y es el punto de partida para dejar abierto el canal de pago.
Todo este proceso se realiza sin que los participantes del canal otorguen la custodia unilateral de fondos a una tercera parte. Para la cadena de BTC sólo se muestra una transacción, la de apertura del Canal de Pago. Esto reduce en gran medida los costos de cada transacción y el riesgo de contraparte.
A partir de entonces, cualquiera de las dos partes puede utilizar el canal de pago. Siendo solamente necesaria la validación del otro usuario para completar los pagos. Es importante recordar que todas estas transacciones no pasan a la red de bloques, solo la de apertura del canal.
Para gastar los fondos del canal, ambas partes deben ponerse de acuerdo sobre el nuevo saldo. Para realizar un pago, ambas partes firman un nuevo gasto (invoice), con una transacción de salida desde el canal de pago. El saldo actual se almacena como la transacción más reciente firmada por ambas partes. Y todas las transacciones de salida antiguas se invalidan al hacerlo.
De esta forma, Lightning Network no requiere la cooperación de la contraparte para salir del canal. Ambas partes tienen la opción de cerrar unilateralmente el canal, terminando su relación. Al cerrar el canal se crea una nueva transacción en la cadena de bloques con el saldo definitivo distribuido entre los participantes del canal, dependiendo de cómo gastaron el saldo.
Esto significa, que a pesar de que en la Lightning Network se haya realizado múltiples operaciones, en la cadena de bloques de Bitcoin sólo se reflejan dos transacciones. Una de apertura de canal y una de cierre del Canal, abaratando los costos de transacción y facilitando la confirmación.
No es necesaria la confianza
Como todos y cada uno de los usuarios pueden tener varios canales de firma múltiple abiertos, conectado entre muchos usuarios diferentes en la red de Lightning Network, cualquier usuario puede enviar un pago a otra parte de la red a través de Lightning de forma instantánea y a bajo costo.
Lightning Network permite lo que anteriormente no era posible con sistemas de pago tradicionales y confiables, pero vulnerables a los monopolios. Sin la necesidad de confianza y propiedad, la participación en la red puede ser dinámica y abierta para todos.
Una innovación de Lightning Network es el uso de transacciones sincronizadas en el tiempo y cifradas (HTLC). Esto permite que muchos canales de pago formen una red conectada. Es así como los pagos pueden enviarse a través de muchos canales sin confiar en los nodos intermedios.
La topología de Lightning Network es similar a las redes IP, como en el caso de Internet. Los paquetes se pueden enrutar a través de muchos enlaces físicos. Y los nodos finales en la comunicación, no se preocupan por la ruta siempre que los datos lleguen a la estación final.
Esto funciona a través de un bloqueo de tiempo decreciente que permite que todos los nodos intermedios a lo largo del camino de enrutamiento acepten fondos solo si los reenvían al siguiente participante, utilizando la divulgación de imágenes previas de hashes criptográficos.
Para asegurar que los fondos no puedan ser robados, Lightning Network, se asegura que los nodos intermedios no puedan capturar fondos que viajan a través de sus canales. Incluso si no reenvían los pagos o se niegan a realizar ninguna acción. El pago llega al final o se regresa.
Un nodo Lightning Network opera sin la custodia de fondos de terceros, que se aplica mediante un script criptográfico delimitado por tiempo. Todo esto se logra fuera de cadena en la capa 2, asumiendo partes cooperativas, y se aplica en cadena, en la capa 1, cuando la contraparte no es cooperativa.
Pagos con bitcoin rápidos y económicos
A través de esta red de canales de pago interconectados, Lightning Network proporciona una solución de micro pago, seguro, rápido, económicos, descentralizados y escalables construida sobre Bitcoin. Lightning Network habilita nuevamente la capacidad de hacer micro pagos con BTC.
Con el alto valor actual de Bitcoin, hacer micro pagos es complejo y costoso, pues las comisiones son muy altas para este tipo de pagos. Lightning Network permite los micro pagos al abaratar los costos por transacción.
Con el uso de Lightning Network, los pagos no necesitan confirmaciones de bloque, y se realizan de forma instantánea y atómica. Esto permite a los usuarios realizar transacciones con BTC casi ilimitadas entre dispositivos, de forma instantánea y segura.
En Lightning Network, sigues pagando comisiones (fees), una para abrir tu canal y otra para cerrarlo. Pero tanto tú como tu contraparte puede realizar miles de transacciones de forma gratuita o con mínimas comisiones, una vez el canal esté abierto.
En cuanto han terminado de realizar operaciones, solo tendrán que publicar el estado final en la cadena de bloques a través de una transacción on-chain de cierre de canal.
Usar Bitcoin y Lightning Network parece complicado, pero no lo es. La creación de nodos y canales de pago lo realizan las Wallets de forma automática. Sin mayor necesidad de conocimiento que los típicos de seguridad de una billetera. Cómo guardar las frases semilla de esa billetera y saber enviar y recibir pagos.
Además, los contratos utilizados en Lightning están diseñados para prevenir el fraude sin requerir confianza. Hay un mecanismo de penalización incorporado en el que sí alguien intenta hacer trampa y es atrapado, pierde todo su dinero. Esto significa que el software del nodo Lightning controla la cadena para detectar intentos de fraude.
Cuando se detecta un intento de fraude, el software automáticamente construirá y transmitirá la penalización en una transacción on-chain. Esta transacción envía todo el dinero del actor fraudulento a la billetera de la contraparte.
¿Cómo la red Lightning protege los fondos en los canales de pago?
La LN utiliza dos formas para mantener seguros el saldo en los canales contra usuarios que quieran estafar a su contraparte. Una es el Protocolo mismo y la otra es la Teoría de Juegos.
Aunque la teoría de juegos no funciona totalmente en estos caso, porque un participante que ya haya gastado todo su saldo en un canal, podría verse tentado a tratar de hacer trampa… Por esto existe el código.
Cuando se abre un canal de pago en Lightning, el cierre de ese canal es opcional, porque puede mantenerse abierto indefinidamente. Mientras está abierto el canal, la red protege ese saldo en los canales contra actores maliciosos que quieran defraudar a su contraparte.
Para abrir el canal de pago, se utiliza una transacción de compromiso para asegurar el saldo en el canal. Esta transacción de compromiso es un contrato inteligente, básicamente una transacción multifirma 2 de 2 con bloqueo de tiempo. Cada participante tiene una copia de este contrato inteligente que contiene la transacción pre firmada y un código secreto de revocación. Esto le permite a cualquiera de las partes hacer efectiva la transacción de compromiso en la cadena, cuando deseen cerrar el canal de pago.
Las transacciones de compromiso utilizan ese contrato inteligente para ayudar a evitar que un socio de canal publique transacciones de estado anteriores y se pueda robar el saldo de su contraparte.
Cierre de un canal
La forma más rápida de cerrar un canal de pago es con un cierre cooperativo. Uno o ambos usuarios deciden terminar el intercambio de Bitcoin y hacen efectiva la transacción de compromiso en la red. Cerrando el canal de pago y distribuyendo el saldo que corresponda a cada uno.
Esta transacción tardará uno o dos bloques en ser confirmada con tarifa de minería mínima, dependiendo de la congestión de la red para el momento del cierre del canal. También se puede hacer un cierre forzado del canal, cuando uno de los socios no está conectado o no coopera.
Pero este tipo de cierre tiene una desventaja, la transacción de compromiso que envía los fondos estará bloqueada 2016 bloques, aproximadamente 2 semanas. Además, la transacción de cierre forzado tendrá tarifas más altas en la cadena. Esta transacción por cierre forzado tiene incluida tarifas muy generosas, porque las tarifas de transacción en cadena serán desconocidas en el momento en que se confirme la transacción de compromiso.
Esta transacción de compromiso por cierre forzado también incluye salidas adicionales para intentos de enrutamiento pendientes, por lo que la transacción será más grande. El socio que hace uso de un cierre forzado tiene fondos con bloqueo de tiempo para dar oportunidad al otro socio de disputar la Tx utilizando el secreto de revocación en caso de que el socio que ejecuta esté cierre este haciendo trampa con una transacción de compromiso anterior.
Para prevenir la trampa con la publicación de un estado anterior en el cierre forzado, el otro socio puede publicar la Tx pre firmada más reciente junto con el código secreto de revocación y cobrar la parte de los fondos del tramposo, sin verse obstaculizado por bloqueo de tiempo. El cierre forzado debe considerarse un último recurso.
Hay 3 formas de detectar una infracción de protocolo al publicar una transacción con estado anterior en el cierre forzado:
– ejecutar un nodo LN 24/7.
– ejecutar una torre de vigilancia.
– usar una torre de vigilancia de un tercero.
Teoría de juegos en acción
El otro concepto que ayuda a entender la seguridad del sistema, tanto de Bitcoin como Lightning, es la Teoría de Juegos. La teoría de juegos es utilizada en los procesos de Bitcoin para asegurar su equilibrio y correcto funcionamiento.
Esta es la encargada de crear un sistema económico seguro donde cualquiera de las operaciones o transacciones de estas divisas estén libres de corrupción. Funciona para la minería, funciona para el consenso de la cadena de bloques y funciona para realizar los intercambios comerciales de la moneda.
En el sistema económico creado con el protocolo de Bitcoin y Lightning Network, se trata de una actividad cooperativa entre todos los participantes. Cada participante conoce las estrategias del resto, las estrategias de todos los participantes son óptimas y racionales. Los participantes toman las mejores decisiones posibles en función de lo que conoce del resto.
Para poder tener una estrategia exitosa, cada jugador debe ajustar de manera óptima sus decisiones en función del resto de participantes y no modificarlas. Es decir, el resultado tiene que estar equilibrado.
Ninguno de los participantes ganará nada si altera su estrategia individualmente, pero el resto mantienen la suya. Si algún jugador cambia su decisión de forma individual, empeorará el resultado. Arriesgándose a que el resto no la sigan y a no ganar nada.
Lo común y racional es pensar que, ante un incentivo, todas las personas actuarán pensando egoístamente y traicionarán a su compañero si es necesario. No obstante, si ambos piensan lo mismo, y traicionan, perderán. Esta sería la peor elección, ya que tendrían que cumplir las penalizaciones que el sistema tiene previsto en caso de acciones deshonestas.
La única decisión correcta, sin saber con exactitud que hará tu contraparte, es que los participantes sigan las reglas del consenso y se mantengan honestos. El mejor escenario es no hacer trampa. Todos ganan.
Con este sistema, aquellos que intentan ganar Bitcoin haciendo trampas son captados rápidamente por el resto de los usuarios. Así, todos están incentivados a actuar de manera honesta, ya que si no, serán castigados y perderán todo el dinero. Incluso algunos podrán ser expulsados de la red.
El uso del concepto de la teoría de juegos se encarga de desarrollar protocolos comunes y seguros en la red. Siguiendo esta teoría se desarrollan funciones como: financiación, creación, desarrollo y facilitación de las transacciones en línea de un sistema descentralizado como el de Bitcoin.
Cuáles son las características de Lightning Network
- Cuando se hacen pagos, Lightning usa Bitcoin real que siempre está en posesión y control total del usuario. Lightning no es una moneda separada, es Bitcoin.
- Es una red que opera como un protocolo de segunda capa sobre la cadena de Bitcoin.
- Permite pagos rápidos, seguros, privados, sin confianza y sin permisos.
- Los usuarios no necesitan esperar confirmaciones de bloque para los pagos.
- Los usuarios de Lightning pueden enrutar pagos entre sí a bajo costo y en tiempo real.
- Una vez que se ha completado un pago en Lightning, es definitivo y no se puede revertir.
- Los pagos enrutados en la Red Lightning no necesitan almacenarse permanentemente. Por lo tanto, Lightning utiliza menos recursos y son más baratos.
- Los pagos enrutados en la red Lightning se transmiten entre pares de nodos y no son visibles para todos. Lo cual da como resultado una privacidad mucho mayor. Lightning utiliza el enrutamiento de cebolla, similar al protocolo utilizado por la red de privacidad Tor. Incluso los nodos involucrados en el enrutamiento de un pago solo conocen directamente a su predecesor y sucesor en la ruta de pago.
Que tan eficiente es Bitcoin y Lightning Network
Cuando se critica el rendimiento de Bitcoin, siempre se compara con redes electrónicas de pago centralizadas, tales como Visa o PayPal. Pero esta comparación no es justa. Bitcoin es un libro abierto, su código de software libre, la cadena de bloques es transparente, las transacciones son irreversibles.
El hashrate de minería se rige por el código, y eso es todo lo que hay en el funcionamiento de Bitcoin. Todo está a la vista de quien quiera auditarlo.
Bitcoin no tiene oficinas para el personal de soporte, detección de fraudes, marketing y ventas. No hay centros de datos o relaciones públicas que ejecuten software propietario. No hay millones de terminales POS o miles de millones de tarjetas de plástico y extractos en papel. Nada de esto es necesario con Bitcoin, todo lo que necesita está visible para todos.
Comparación con procesadores de pagos tradicionales
Esta es una comparación ingenua que proviene de la falta de comprensión de lo que son los sistema financieros centralizados y Bitcoin. Bitcoin es una red de liquidación similar a las liquidaciones interbancarias o Fedwire en los EE. UU. El hashrate y la prueba de trabajo en la cadena de bloques de Bitcoin asegura que las transacciones con suficientes confirmaciones sean imposibles de revertir.
Cualquier comerciante sabrá que este no es el caso de Visa y PayPal, ya que las devoluciones de cargo pueden retirar dinero de su cuenta incluso meses después.
Visa no es una red de liquidación, operan como una red de segunda capa para conectar comerciantes, clientes y bancos. En realidad, no liquidan ningún fondo por sí mismos, sus socios bancarios hacen esto. Visa solo actúa para conectar todas las piezas juntas a un alto nivel como intermediario, compartiendo datos entre el banco de los clientes y el banco de los comerciantes.
Los propios bancos luego manejan la liquidación de los fondos reales con transferencias interbancarias. Y así funcionan la mayoría de procesadores de pago electrónico y sistemas de tarjetas de crédito que existen.
Dicho esto, para que Bitcoin y Visa sean una comparación precisa, necesitaría incluir estos acuerdos interbancarios realizados a través de sus 15500 socios bancarios. De lo contrario, estos pagos simplemente se atascan en la base de datos de Visa y no llegan al comerciante.
Por lo tanto, una comparación más razonable sería entre los procesadores de pago centralizados y la red de Lightning de Bitcoin. Ya que los dos operan como una segunda capa por encima de sus respectivas capas de liquidación. La red Lightning es una colección de nodos que enrutan los pagos a través de canales.
En otras palabras, conectan y comparten datos de transacciones entre clientes y comerciantes de manera similar a la red del procesador de pagos. La liquidación real ocurre en la cadena principal de Bitcoin cuando un nodo cierra un canal. Esto puede ocurrir siempre que el operador del canal decida y después de cualquier número de transacciones.
Una vez cerrado, el saldo final de ese canal se liquida de la misma manera que los bancos liquidan los saldos finales entre sí. Excepto que en la red de Bitcoin son irreversibles.
Es bastante difícil estimar la cantidad de transacciones que utilizan Lightning, ya que estos datos no son visibles públicamente. Aún no están cerca de las de los procesadores de pago centralizados, por ahora. Aunque para ser justo, Visa ha tenido una ventaja de 60 años y 61 millones de ubicaciones comerciales. Por su lado, PayPal funciona desde 1998 a través de internet.
Aunque es un cálculo aproximado, podría decirse que tiene más sentido comparar una red de enrutamiento centralizado de segunda capa, como la de los procesadores de pago y las tarjetas de crédito, con Lightning Network que con una red de liquidación final como lo es Bitcoin. Y Lightning Network puede procesar un aproximado de millones de pagos por segundo, y sigue creciendo.
Cómo funciona Lightning Network
Lo primero que hay que entender es que la red se llama “The Bitcoin Lightning Network”. La tecnología es flexible, pero se llama “Red Lightning de Bitcoin: Pagos instantáneos escalables fuera de la cadena”.
La red Lightning es una red superpuesta, lo que significa que no es una cadena de bloques, no es una cadena lateral, no es una cadena de estado, no es una cadena de transmisión, no es ningún tipo de cadena, es una red P2P que opera junto, o si prefieren, encima de Bitcoin.
La llamamos protocolo de segunda capa porque permite Tx de gran volumen casi instantáneas, y utiliza la red principal de Bitcoin para asegurar sus Tx. Utiliza las reglas de consenso y la seguridad de la cadena para proporcionar transacciones muy rápidas y muy baratas.
Escalabilidad de Lightning Network
La principal ventaja de Lightning Network es su escalabilidad. Dado que la red existe sobre la cadena de bloques de Bitcoin, no está sujeta a las restricciones técnicas que obstaculizan el rendimiento de Bitcoin. En consecuencia, Lightning Network es enormemente expandible.
Actualmente, la plataforma puede permitir millones de transacciones por segundo utilizando una red de igual a igual sobre la cadena de bloques de Bitcoin.
Para utilizar Lightning Network solo necesitas una billetera que se conecte con la red para poder enviar/recibir los pagos. Estas billeteras son básicamente un nodo para Lightning con datos de la cadena principal de Bitcoin y que se conecta con otros nodos LN e intercambia la información necesaria para tejer la red de la capa de lightning.
Cuando instalamos una billetera/nodo de Lightning, una de las primeras cosas que se hace es depositar saldo on-chain para poder abrir canales LN en la billetera. Este saldo se envía a una dirección de Bitcoin, que es una dirección BTC de la Wallet (que entendemos que es un Nodo Lightning) y que es simplemente un “Contrato Inteligente” (canal de pago).
Este canal de pago, es una dirección válida de Bitcoin de múltiples firmas y con un timelock para asegurar el saldo en la red. Para realizar esto, Lightning Network hace uso de una implementación de Contrato Inteligente Multifirma (dinero programable) utilizando los scripts incorporados en Bitcoin.
Estos fondos depositados en la dirección on-chain de múltiples firmas del nodo Lightning son representados como una transacción. Una vez es verificada, queda registrada en un bloque y es escrita en el libro mayor público de Bitcoin (apertura del canal de pago).
Este proceso se realiza, sin que los participantes del canal tengan la custodia unilateral de los fondos o se lo entreguen a un tercero.
Cómo funcionan los canales de pago
Entendamos primero que es un canal de pago y que hace esta transacción de multifirmas.
Un canal de pago es una configuración de transacciones de Bitcoin, así podemos intercambiar valor entre dos usuarios de la red que posean las firmas que validan la transacción.
La forma en que funciona esta transacción es mediante el uso de dos características del protocolo de Bitcoin. La primera son las transacciones de firma múltiple. Las transacciones de Firma múltiple son transacciones en las que se necesitan, en este caso, dos personas que firmen la Tx para mover las monedas). La segunda característica que utiliza son los bloqueos de tiempo (timelock).
Estos bloqueos es donde puede configurar la transacción para que no sea ejecutable hasta que se cumplan algunas condiciones en el futuro. Estas dos características juntas son básicamente todo lo que necesita para configurar un canal de pago Lightning.
Así que esta transacción de multifirma para abrir el canal de pago es una dirección dos de dos firmas múltiples pre firmadas. Donde si pones dinero en ella, solo se puede gastar desde esa dirección, si ambos participantes firman la transacción de salida.
Conexión entre dos usuarios
Al hacer esto, en segundo plano, a través de la red Lightning, establecemos una conexión. Los dos usuarios (nodos) intercambian algunas claves para poder configurar esta dirección de firma múltiple para intercambiar claves públicas. De esta manera se configura la dirección como la transacción de fondeo y apertura del canal de pago directo entre los dos usuarios.
Una vez abierto el canal de pago, este se convierte en una conexión de pago directa y bidireccional entre dos nodos de la red. Una vez que se abre un canal de pago entre los nodos de la red, se pueden enviar y recibir pagos ilimitados a cualquier usuario sin preocuparse por la congestión o el aumento de tarifas en la red principal de Bitcoin.
Ahora bien, según hemos visto, para la cadena de bloques de Bitcoin solo se ha realizado una transacción, la de apertura de canal de pago.
¿Entonces cómo hace Lightning para gastar ese saldo y transferirlo entre usuarios?
Ya que la transferencia de valor sólo se puede lograr al crear una transacción de salida desde la dirección multifirma, firmada por ambas partes y distribuyendo las monedas entre los participantes del canal, como corresponda a cada quien.
Para gastar los fondos del canal, ambas partes deben ponerse de acuerdo sobre cómo se distribuye el saldo en la dirección multifirma. Deben decidir quién le paga a quién y cuánto saldo le corresponde a cada uno, moviendo efectivamente el equilibrio de saldo entre las partes.
Realizar un pago
Para realizar un pago, ambas partes firman un nuevo gasto (llamado invoice o factura). Esta factura es un contratos inteligentes o HTLC (Hash Time Locked Contract) fuera de la red de Bitcoin. Consiste en intercambiar una transacción de salida parcialmente firmada a través de esta red P2P redistribuyendo el saldo entre el par de usuarios.
Este HTLC crea, con cada pago, una nueva transacción de salida firmada parcialmente desde la dirección multifirma de fondeo del canal. Cuando la factura es pagada, la distribución del saldo se actualiza y se almacena como la transacción de salida más reciente firmada por ambas partes.
Todas las transacciones de salida antiguas se invalidan al hacerlo, manteniendo el script de la dirección multifirma actualizado con el saldo como se debe distribuir las monedas una vez se cierre el canal.
Como vemos, una parte no puede gastar fuera de este canal regresando el saldo a on-chain sin el acuerdo de la otra parte. Esto significa que no tienen que confiar el uno en el otro.
Como parte de los Scripts, hay un guion que permite obtener un reembolso por el dinero después de un período de tiempo. Esto es por si la contraparte simplemente desaparece y deja colgado al otro. Hay un mecanismo para garantizar que el dinero no esté bloqueado allí sin poder ser recuperado por cualquiera de los participantes. Ahora se puede comenzar a intercambiar transacciones en lightning de forma segura.
Podemos enviar las transacciones tan rápido como queramos entre los participantes, cientos de veces por segundo. Cada transacción que se envía y paga, utiliza un contrato inteligente para invalidar la transacción anterior, actualizando el saldo.
Solo se puede gastar la última actualización de saldo si se decide cerrar ese canal. Asignando el saldo a cada una de las partes. Este es el funcionamiento básico de un canal de pago.
Cerrando canales de forma unilateral
De esta forma, el usuario de Lightning Network no requiere la cooperación de la contraparte para salir del canal. Ambas partes tienen la opción de cerrar unilateralmente, terminando su relación.
Al cerrar el canal se crea una transacción de salida en la cadena con el saldo definitivo distribuyendo a cada parte la cantidad que le corresponde.
A pesar de que en la Lightning Network se haya realizado múltiples operaciones, en la cadena de Bitcoin sólo se reflejan dos transacciones. Una de apertura de canal y una de cierre del canal. Abaratando las comisiones y reduciendo la cantidad de transacciones en la red principal. Una vez que el canal se cierra, estos pagos se registran en la cadena de bloques en una única transacción llamada transacción de cierre de canal.
Lo interesante de Lightning es que no hay razón para cerrar el canal y transmitir esa transacción a la cadena. Esto se debe a que ambas partes saben que en cualquier momento que quieran y lo necesiten, puede realizar esa transacción de salida, que ya está firmada, pero si mantienen el canal abierto, pueden seguir enviando y recibiendo pagos a través de la red, de forma instantánea y a un bajo costo en comisiones. En realidad, el canal puede permanecer abierto por un tiempo indefinido, su única limitante de uso será la liquidez del canal.
Ahora llegamos a una parte donde es inevitable la pregunta:
¿Es Bitcoin lo que se transfiere a través de la red Lightning?
La respuesta simple es sí, por supuesto.
Es importante entender que Lightning no tiene su propia moneda o su propia cadena de bloques. Es una red para intercambiar transacciones de Bitcoin entre iguales, podemos decir que es un medio de pago, tengamos eso en cuenta primero.
Así que, Lightning usa y transfiere bitcoin que siempre está en posesión y control total del usuario. Lightning no es una moneda separada, es bitcoin. Cuando se hacen los pagos, se hacen en una red que opera como protocolo de segunda capa sobre la cadena principal de bitcoin.
El debate que tienen algunos usuarios parece centrado en definir si Lightning usa BTC real. Para argumentar usan términos como BTC on-chain y BTC lightning, y allí es donde se enreda el asunto. Solo hay un bitcoin y su unidad menor son los satoshis, no hay subcategorías de BTC. Lo que está on-chain y off-chain son las transacciones para intercambiar la propiedad de ese Bitcoin.
Para entender esto, debemos aclarar este punto de “transferencia de propiedad de Bitcoin”. Bitcoin es un sistema basado en UTXO (transacción de salida no gastada).
Las cantidades de los UTXO de bitcoin existentes están vinculadas a las direcciones criptográficas que las pueden gastar por medio de transacciones (Tx) que se registran en la cadena.
Cuando un usuario (A) desea transferir BTC a un usuario (B), construye una Tx, especificando en ella la cantidad de Bitcoin que cede de los UTXO que posee, más la dirección pública del destinatario (B), firma la Tx con su clave privada y la transmite a la red de Bitcoin para ser verificada y escrita en la cadena de bloques.
Expliquemos mejor esto. Cuando se enseña las propiedades de Bitcoin y cómo funciona, tratamos de simplificar los conceptos técnicos para hacerlos más “entendibles”.
Como funciona una transferencia de Bitcoin
En esa simplificación terminamos haciendo parecer que las transacciones de Bitcoin son como mover un objeto físico, como lanzar una pelota.
“Cuando el usuario ‘A’ envía un Tx al usuario ‘B’, le manda los BTC a través de la red Bitcoin”.
Y esto no es exactamente así. En realidad no se están moviendo monedas. El bitcoin sale de una dirección y aparece en otra, transfiriendo la propiedad de un usuario a otro.
Bitcoin es una moneda digital y una red de pagos, es decir, para resumir, es un conjunto de programas. En programación solo existen “0” y “1”, también “=” y otros comandos, pero usemos “0 y 1”, por ahora.
“On-off”, “0–1”, “encendido-apagado”, “verdadero-falso”, “true-false”; en programación no existen estados intermedios, no hay una condición “en tránsito”.
Como no hay una condición intermedia entre un estado y otro, de 0 a 1, de 1 a 0, lo que existe es la ejecución de una orden previa para cumplir una orden posterior.
“Pasa a 0 si tal condición se cumple, pasa a 1 si tal condición se cumple” (más o menos es así).
Cuando se hace una Tx de bitcoin, se crea una orden que le indica al programa que los UTXO que cumplen el protocolo y están registrados en una dirección pasen a otra dirección si se cumple la condición previa. Cuál condición, que la Tx y UTXO cumplan el protocolo de Bitcoin.
Podemos decir que al hacer una Tx para transferir la propiedad de los UTXO de emisor a receptor, en realidad no se están moviendo monedas, lo que sucede en la red, al instante de enviar la Tx, es que los BTC permanecen en su dirección de origen hasta que la Tx se verifica.
Cuando la Tx es verificada y se registra en la cadena de bloques de Bitcoin, es en ese momento y de forma instantánea que la moneda se pasa de manera atómica a la dirección del destinatario, dejando la dirección de origen en saldo cero. (De 1 a 0, ejecuta, de 0 a 1, final, si se cumple las reglas de Bitcoin).
Como funciona una transición en Lightning Network
Ahora veamos cómo funciona esta transferencia de valor en Lightning Network. Primero, recordemos que para entrar o salir de Lightning Network, se necesita crear una transacción especial en la cadena de bloques de Bitcoin.
Para realizar esto, Lightning Network hace uso de una implementación de Contrato Inteligente Multifirma utilizando los scripts incorporados en Bitcoin. Estas Tx especiales se realizan on-chain, la primera es para abrir un canal de pago con los BTC de depósito.
Esta primera Tx de apertura es una transacción multifirma, que al ser on-chain, queda registrada en la cadena de Bitcoin, asegurando la propiedad de los fondos en una dirección para su uso en la red Lightning. Esto se denomina apertura de canal.
Lightning es una red P2P basada en canales de pago fuera de la cadena de bloques. Esto se realiza mediante la creación de contratos inteligentes fuera de la red de Bitcoin, que consiste en agrupar las transacciones por pares de usuarios (pagador y beneficiario).
Bitcoin es un sistema basado en UTXO y en cada Tx de Bitcoin lo que se transfiere es la propiedad de los UTXO. Como para iniciar el canal de pago en Lightning se aseguró una cantidad de BTC en una dirección de múltiples firmas, para transferir la propiedad de esos UTXO se crean facturas de pago (invoice) o contratos inteligentes HTLC (Hash Time Locked Contract).
Para realizar esta transferencia de propiedad fuera de la cadena principal de Bitcoin, ambas partes firman un nuevo gasto (invoice), con una transacción de salida desde el canal de pago. Al pagar la factura, el último saldo se almacena como la transacción más reciente firmada por ambas partes.
Todas las transacciones de salida antiguas en el canal se invalidan al pagar la última transacción. Actualizando lo que sería la propiedad de los UTXO almacenados en la dirección multifirma de apertura de canal. La factura de pago en Lightning transfiere la propiedad de los UTXO de Bitcoin de un propietario a otro con transacciones fuera de la cadena principal de Bitcoin (off-chain).
Una vez que los participantes deciden que ya han realizado todas las transacciones en Lightning que necesitan, proceden a cerrar el canal de pagos mediante la creación de una única Tx on-chain que ambos firman.
Al cerrar el canal se crea esa nueva transacción de salida on-chain en la cadena de bloques con el saldo definitivo de cada usuario. Dependiendo de cómo gastaron el saldo en la red Lightning de Bitcoin.
Como cada invoice pagado es una representación criptográfica del saldo del canal, los participantes en la transacción tiene prueba criptográfica de la distribución de la propiedad de los UTXO que están almacenados en la dirección multifirma de apertura del canal Lightning cuando deciden cerrar ese canal y crear la transacción on-chain de salida que distribuye el saldo entre las partes.
Esto significa, que a pesar de que en Lightning se haya realizado múltiples operaciones, en Bitcoin sólo se reflejan dos transacciones. Una de apertura de canal y una de cierre del canal, representando la transferencia de propiedad de los UTXO de Bitcoin.
Qué son los canales de pago explicados a fondo
Ahora ampliemos el concepto de canal de pago. Veremos el concepto de equilibrio, liquidez, capacidad de los canales y como se envía el saldo a través de los canales de pago.
Un canal de pago es un contrato inteligente. Una caja de seguridad de múltiples firmas en la cadena de bloques que usted y un compañero de su elección controlan mutuamente.
Un canal de pago es un acuerdo entre dos participantes del canal. Es un acuerdo que les permite gastar dinero si ambos firman la transacción y les permite realizar un seguimiento de un saldo. Les permite transferir dinero de una parte a la otra para intercambiar dinero entre los participantes. Esto sucede a través de Lightning, en lugar de usar la red principal de Bitcoin.
La capacidad de estos canales depende del monto en satoshis con los que se abre dicho canal. La cantidad total de satoshis que se envían a la dirección multifirma de apertura del canal.
Por ejemplo, deseas abrir un canal de 200 000 satoshis.
Haces una transacción inicial on-chain de fondeo con los 200 000 satoshis más la comisión de red hacia tu nodo o un nodo de confianza.
Una vez abierto el canal sólo lo podrás usar para enviar satoshis, pero no tendrá capacidad de recibir pagos. No tendrá liquidez entrante. Tratemos de explicar esto.
Como funciona la liquidez entrante
En un canal de pago hay dos saldos:
- Saldo local o cantidad de monedas que puede utilizar para hacer pagos hasta que este vacío el canal (liquidez de salida).
- Saldo remoto o capacidad de monedas que puede recibir hasta que esté lleno el canal (liquidez entrante).
Veamos el canal de pago en LN como una botella llena de agua. Cuando abrimos el canal está lleno de satoshis, la botella está llena. No podemos verter nada dentro porque está llena.
Para poder recibir un pago a través de LN, primero hay que sacar satoshis del canal. Hay que vaciar el contenido de la botella, así hacemos espacio para recibir satoshis entrantes. Regresemos al ejemplo del canal abierto con 200k sats, este canal recién abierto tiene una capacidad de 200k sats para pagar y está lleno.
Para empezar a recibir pagos en este canal, primero hay que hacer algunos pagos, enviando algunos satoshis fuera del canal. La cantidad máxima de satoshis que puedes enviar será un poco menor a los 200k sats. Esto es la liquidez de salida.
Es un poco menor debido a que el canal guarda una parte del saldo total para poder pagar las comisiones de la red en la transacción on-chain de cierre. Este monto de reserva siempre está variando porque al estar apartado para pagar la comisión de la Tx on-chain de cierre de canal, dependerá de las comisiones de red de Bitcoin en el momento en que se decida cerrar el canal y todo el saldo pase a una dirección en la billetera.
Una vez que se empieza a hacer pagos, sacando satoshis del canal, empezaremos a tener capacidad para recibir pagos. Mientras más vacío este el canal LN, más capacidad para recibir pagos tendrá. La cantidad de satoshis que podemos recibir será igual a la cantidad de satoshis que hemos sacado del canal hasta que lo vaciemos por completo.
El máximo de satoshis que podemos recibir es el equivalente al monto máximo con los que abrimos el canal, menos la reserva que se aparta para el cierre del canal, esto es la liquidez entrante.
Al decir que un canal de lightning network está equilibrado, estamos diciendo de forma elegante que el canal tiene capacidad para hacer y recibir pagos. De la cantidad máxima de satoshis con los que se abrió el canal, hemos sacado la cantidad suficiente para que este canal pueda recibir pagos de lightning. Pero conserva suficientes satoshis como para seguir haciendo pagos sin esperar a recibir primero.
No hay una regla para decidir la cantidad de liquidez entrante y liquidez de salida que debe tener un canal de lightning network. El usuario decide cuantos satoshis debe conservar en cada canal abierto para poder enviar y recibir pagos en el momento que lo necesite.
Ahora que el canal está abierto y balanceado, veamos cómo funciona el envío de saldo a través de los canales. Una vez abierto el canal de pago, este se convierte en una conexión de pago directa y bidireccional entre dos nodos de la red. Y una vez que se abre un canal de pago entre los nodos de la red, se pueden enviar y recibir pagos ilimitados.
En cada canal hay dos partes, para los efectos de la explicación llamemos usuario A y usuario B.
Los usuarios A y B tienen un canal abierto y equilibrado entre ellos.
Si A desea recibir un pago de B, genera una factura LN. El cual es un código alfanumérico de una imagen previa de hashes criptográficos que contiene, entre otros datos, la identificación del nodo al que se conecta A, el saldo que debe recibir y un código secreto que está hasheado, para que B pueda realizar el pago.
El usuario B recibe la factura, decodifica el código y el secreto hasheado y realiza el pago. Ambos usuarios dan por terminada la operación y actualizan el saldo del canal, sin necesidad de cerrarlo.
Ahora, veamos que sucede cuando hay varios usuarios conectados en la red y se desea realizar un pago. Supongamos que ahora tenemos los usuarios A, B, C, D y E. Utilizando el ejemplo anterior, el usuario A tiene un canal abierto con el usuario B.
- El usuario B tiene un canal abierto con el usuario C.
- El usuario C tiene canal abierto con D.
- El usuario D tiene un canal abierto con el usuario E.
- El usuario A desea enviar saldo al usuario E, pero no tiene canal directo abierto con este usuario. Aquí es donde entra en ejecución la versatilidad de la red lightning.
- El usuario A no necesita abrir un canal directo con el usuario E. Basta con utilizar la interconexión de los diferentes nodos de la red para que el pago llegue a su destino.
Cómo funcionaría el envío
El usuario E crea una factura con el código secreto hasheado y se la presenta al usuario A. Este revisa los datos de la factura y en segundo plano analiza la red para establecer el mejor y más rápido camino para efectuar el pago.
La red le informa que el mejor camino es de la siguiente forma: A le envía saldo a B, B envía saldo a C, C envía saldo a D y D le realiza el pago a E.
El usuario A le informa al usuario E cual es el nodo que le realizará el pago y E procede a compartir el secreto con D, que es el último nodo de la ruta.
Mientras, simultáneamente, el nodo A inicia el pago hacia B que a su vez inicia un pago hacia C que también inicia un pago a D que también inicia el pago hacia E y todos esperan de recibir el secreto proveniente del nodo final.
El usuario D recibe el secreto que le informa a quien debe realizar el pago y a quien debe enviar el secreto para recibir saldo de vuelta, luego comparte el secreto con C, para recibir un reembolso de su saldo. C recibe el secreto y realiza el mismo procedimiento con el pago. Cuando C hace el pago, comparte el secreto con B, para también recibir un reembolso por su pago. Ahora B recibe el secreto y lo comparte con el usuario A, para que este le envié el saldo correspondiente al pago que acaba de realizar.
Todo el intercambio funciona en segundo plano y de forma instantánea, de modo que para los efectos el usuario A le está pagando al usuario E, vía lightning network.
Como cada pago en esta ruta depende del mismo secreto que genero E, los participantes pueden realizar sus respectivos pagos con seguridad, porque al compartir este secreto con su contraparte en cada canal van a obtener el reembolso del saldo que envíen.
Lo que significa que no hay riesgo de que no tenga el pago. No tiene que confiar en ninguna de las partes. Si alguno de los participantes no realiza el pago, el protocolo lo detectará y los canales regresarán de vuelta donde estaban antes de esa transacción. Estas son las reglas del contrato de bloqueo de tiempo hash.
Los HTLC pueden encadenar tantos canales de pago como necesiten. De esta manera, todos los pagos pueden conseguir una ruta entre usuarios. Cada usuario que recibe un secreto y realiza un pago recibirá un reembolso por ese pago que realizó. Nadie puede ser engañado en el camino y nadie tiene custodia del saldo porque cada canal requiere dos firmas y acuerdos entre ambas partes por canal.
Los usuarios no pueden ser defraudados porque si alguien abandona un pago a mitad de camino, la cadena de pago se revierte y las personas pueden obtener reembolsos después de un tiempo de espera si alguna parte desaparece, gracias a esto, el sistema no necesita confianza entre las partes. No existe una centralización en el sistema porque nadie tiene la custodia del dinero, el saldo está en una multifirma entre las dos partes para cada canal de pago, las rutas de los pagos las decide la red de forma aleatoria considerando las mejores condiciones para realizar cada pago en cada momento en particular de la red y como no tenemos que esperar la confirmación de la Tx porque solo lo hacemos cuando cerramos los canales de pago hacía la red principal de Bitcoin, todos los pagos intermedios nos dan la posibilidad de hacer pagos muy rápidos.
Por último, si en cada uno de estos saltos las partes que están participando se aseguran de que el pago que reciben es unas fracciones más de satoshis que el pago que envían al siguiente nodo, la diferencia de esos pocos Satoshi, es efectivamente una tarifa de enrutamiento que pueden cobrar por reenviar un pago y de esa manera también hay un mecanismo de tarifas en Lightning Network. Esto es la descripción general de cómo funciona Lightning Network y los canales de pago.
Utilizando Lightning Network, los pagos son casi instantáneos y el protocolo puede manejar millones de transferencias por segundo, esto permite que la transferencia de valor utilizando Bitcoin sea instantánea y muy barata de realizar al momento de pagar comisiones por transacción.
Cómo se utiliza Lightning Network
Comencemos, donde la mayoría comienza cuando se encuentran con Lightning Network por primera vez, eligiendo una billetera para interactuar en el protocolo de Lightning Network.
El término Billetera Lightning puede describir una amplia variedad de componentes combinados con alguna interfaz de usuario. Los componentes más comunes del software de billetera Lightning incluyen:
- Un almacén de claves que guarda las claves privadas de las direcciones que genera la billetera.
- Un nodo de Lightning Network que se comunica en la red Peer-to-Peer.
- Un nodo de Bitcoin que almacena datos de la cadena de bloques y se comunica con otros nodos de Bitcoin.
- Una base de datos de nodos y canales que se anuncian en la red Lightning.
- Un administrador de canales que puede abrir y cerrar canales de Lightning Network.
- Un sistema de búsqueda de rutas que puede encontrar una ruta de canales conectados desde la fuente de pago hasta el destino del pago.
Parece complicado, pero la mayoría de las billeteras realizan estas funciones de forma automática. Y todos los demás componentes de una billetera Lightning conllevan consideraciones de confianza similares. Si todos los componentes están bajo el control del usuario, entonces se minimiza la cantidad de confianza en terceros, brindando el máximo control al usuario.
Cada usuario debe considerar sus propias habilidades técnicas antes de decidir qué tipo de billetera Lightning usar. Aquellos con fuertes habilidades técnicas pueden usar una billetera Lightning que ponga todos los componentes bajo el control directo del usuario. Aquellos con menos habilidades técnicas pero el deseo de controlar sus fondos también deben elegir una billetera Lightning sin custodia pero con una interface de usuario que sea amigable.
Las billeteras Lightning deben lograr un cuidadoso equilibrio entre complejidad y el control del usuario. Aquellas billeteras que otorgan al usuario el mayor control sobre sus fondos, el mayor grado de privacidad y la mayor independencia de los servicios de terceros son necesariamente más complejas y difíciles de operar. Pero a medida que avanza la tecnología, algunas de estas compensaciones se volverán menos severas y los usuarios podrán obtener más control sin mayor complejidad.
Al buscar una nueva billetera de criptomonedas, debe tener mucho cuidado al seleccionar una fuente segura para el software. Lo ideal es ir directo a la pagina del creador para descargar el software de la billetera.
Podemos utilizar la Billetera “Simple Bitcoin Wallet”, o mejor la billetera que es su Fork actualizado y funciona de igual manera, OBW (Open Bitcoin Wallet) https://play.google.com/store/apps/details?id=wtf.nbd.obw . Una billetera Lightning con funciones avanzadas pero con una interface sencilla y fácil de utilizar. Esta billetera posee:
- Nodo Lightning móvil completo y una billetera Bitcoin que te da la frase de recuperación para un control total de tus direcciones.
- La billetera Bitcoin tiene control de monedas.
- Tiene soporte de billetera de hardware.
- Tiene la función de pagar a Lightning Address y LNURL, además de las funciones comunes de una billetera Lightning.
- Puedes conectar tu propio nodo Electrum.
- Se puede descarga desde F-Droid, o desde GitHub, o Google Play Store, ya que la billetera sólo está disponible para Android. https://github.com/nbd-wtf/obw
Una vez que se abre la aplicación por primera vez, se genera aleatoriamente una nueva billetera Bitcoin. Esa billetera no está vinculada a su dispositivo de ninguna manera. Esto es particularmente importante ya que significa que simplemente reinstalar una aplicación y generar otra billetera no restaurará su saldo anterior.
Al crear una nueva billetera. Asegúrese de anotar la frase de recuperación de su billetera para que pueda recuperar la billetera si pierde su teléfono. Repito, asegúrese de anotar la frase semilla para poder respaldar su billetera. Una vez que se crea la billetera, haga clic en “recibir” para obtener una dirección de Bitcoin on-chain y poder recibir saldo a su billetera desde otra billetera.
El bitcoin que se recibe en la billetera Bitcoin ahora está controlado por su billetera OBW y se ha registrado en la cadena de bloques. En este punto, el bitcoin está “on-chain”, lo que significa que la transacción ha sido transmitida a toda la red de Bitcoin, verificada por todos los nodos de Bitcoin y registrada en la cadena de bloques de Bitcoin.
Hasta ahora, la billetera se ha comportado solo como una billetera Bitcoin, y no ha usado las funciones de Lightning Network. Como es el caso de muchas carteras Lightning, OBW une a Bitcoin y Lightning Network actuando como una cartera Bitcoin y una cartera Lightning.
Una vez que se crea la billetera Bitcoin, y recibe el primer pago on-chain, puede comenzar a abrir canales de pago Lightning con pares de su elección para enviar, recibir y enrutar pagos a través de la red Lightning.
Tan pronto como la billetera vea la transacción en cadena y sea confirmada, puede abrir un canal sin custodia de un nodo de enrutamiento haciendo clic en “Lightning”, aquí puede administrar los canales que conectarán su billetera a Lightning Network, y puede “escanear el QR del nodo “. Puede usar su propio nodo o puede usar opciones de nodos públicos, en la billetera tienes unas opciones para abrir canal hacía algún nodo público sugerido o puedes buscar en la página 1ML, (https://1ml.com/). Cuando la transacción de apertura tenga tres confirmaciones, ya puedes usar el canal.
Cuando se selecciona un nodo para abrir un nuevo canal, se le pide que seleccione la cantidad de bitcoins que desea asignar a este canal. Se puede asignar casi todos sus fondos al canal. Dado que tendrá que pagar tarifas de transacción para abrir el canal, seleccione una cantidad menor que su saldo total on-chain para poder pagar la comisión de red, recuerde que esta es una transacción on-chain de Bitcoin, su billetera construye la transacción especial de Bitcoin que abre un canal Lightning, conocido como transacción de financiamiento . La transacción de financiación “en cadena” se envía a la red Bitcoin para su confirmación. Y una vez confirmada, se abre un nuevo canal de pago en la red Lightning.
Vamos a revisar la definición de un canal de red Lightning, para aclarar un poco las cosas. En primer lugar, la palabra “canal” es una metáfora de una relación financiera entre la billetera Lightning OBW y otra billetera Lightning.
Técnicamente hablando, un canal de pago es una caja de seguridad de múltiples firmas en una cadena de bloques que usted y un compañero de su elección controlan mutuamente. Una cierta cantidad de bitcoins está bloqueada en el canal y luego puede usar esas monedas para enviar y recibir pagos Lightning. Puede cerrar un canal de pago y recuperar el resto de sus monedas bloqueadas en su billetera Bitcoin en cualquier momento, ya sea acordando con un par en una transacción de cierre mutuo (que ocurre rápidamente) o mediante el cierre forzado del canal si su par no responde o deja de cooperar.
Tanto usted como su compañero siempre tienen la opción de cerrar forzosamente un canal de pago, sin el permiso del otro. Esto reembolsará su saldo Lightning nuevamente en su billetera Bitcoin después de un cierto retraso que generalmente se establece en 1 a 14 días.
Para recibir pagos Lightning, se deben cumplir algunas condiciones:
1. No se puede recibir nada inmediatamente después de crear un nuevo canal de pago, ya que el “espacio” para los fondos entrantes debe hacerse gastando algunos fondos primero. Se puede pensar en un canal de pago como una botella llena de agua: para verter algo dentro de la botella primero hay que verter algo fuera.
2. Cada canal contiene implícitamente una reserva que no es gastable hasta que se cierra el canal y suele ocupar alrededor del 1% de la capacidad del canal mientras esté abierto. Debe gastar una cantidad equivalente a esa reserva para que la recepción sea posible.
3. A diferencia de la dirección regular de Bitcoin, una solicitud de pago Lightning es desechable, no se puede reutilizar. Por lo tanto, deberá emitir una nueva solicitud de pago individual para cada pago entrante que desee recibir.
4. La aplicación Wallet debe estar abierta y en línea para recibir fondos Lightning.
La billetera se puede mover de un teléfono a otro sin cerrar los canales de pago y esto se puede lograr de la siguiente manera:
1. Asegúrese de tener la frase de recuperación de billetera guardada, si no, consígala en la configuración de la billetera.
2. Asegúrese de que el archivo de copia de seguridad del canal esté presente en la carpeta Download del teléfono, si no, habilite la copia de seguridad local en la configuración de la billetera y verifique nuevamente.
3. Cierre OBW y copie “encrypted.channels-mainnet-<hash>.bin” el archivo de respaldo en algún lugar fuera del teléfono; ponerlo en lugares públicos es seguro porque el archivo de respaldo está encriptado con su frase de recuperación.
4. Copie el archivo de respaldo en un teléfono nuevo.
5. Instale OBW en un teléfono nuevo, luego ábralo y elija Restore existing wallet y luego Backup + recovery phrase .
6. Una vez que aparezca el selector de archivos: apúntelo al archivo de copia de seguridad en su teléfono nuevo y luego proporcione la frase de recuperación, eso es todo.
Esto es Importante: a diferencia de la billetera Bitcoin, los mismos canales Lightning no se pueden usar en muchos dispositivos al mismo tiempo. Si esto ocurre, conducirá al cierre forzado del canal. Así que asegúrese de eliminar una aplicación de un teléfono antiguo una vez que los canales se restablezcan en uno nuevo.
Si solo usa la billetera Bitcoin, la frase de recuperación por sí sola es suficiente para restaurar el saldo on-chain completo. Si también tiene canales Lightning y no hay un archivo de respaldo, deberá volver a conectarse al par remoto con el que tiene esos canales (escaneando un QR de nodo del mismo nivel, por ejemplo).
Una vez conectado, aparecerá una ventana emergente que le pedirá que fuerce el cierre de los canales que faltan localmente. Una vez aceptado, en breve recuperarás el saldo del resto de canales faltantes en la billetera Bitcoin local.
Ahora volvamos al uso de la billetera Lightning. La billetera o nodo al que OBW abre un canal se llama su par de canal. Una vez “abierto”, un canal puede usarse para enviar muchos pagos entre la billetera de OBW y su contraparte de canal. Además, esta contraparte también puede reenviar pagos a través de otros canales más allá del canal abierto con OBW en Lightning Network. De esta manera, se puede enrutar un pago a cualquier billetera siempre que la billetera de OBW pueda encontrar un camino viable saltando de un canal a otro, hasta llegar a la billetera de destino.
La billetera ahora tiene todo listo para comenzar a usar Lightning Network. Como puede ver, tomó un poco de trabajo y un poco de tiempo esperando las confirmaciones. Sin embargo, ahora las acciones posteriores son rápidas y fáciles. Lightning Network permite pagos sin tener que esperar confirmaciones, ya que los fondos se liquidan en segundos.
“Para finalizar, debo aclarar que estas no son mis ideas, son las ideas de otros que han investigado y están compartiendo su conocimiento con la comunidad de manera libre y generosa, yo solo he organizado e interpretado esas ideas desde mi propio punto de vista y experiencia de uso de Bitcoin para compartirlas con quienes puedan estar curiosos en el tema… A todos ellos y ellas, Gracias…”