-
Lightning Network es la red con mayores ventajas para los usuarios en tรฉrminos de privacidad.
-
Raiden y Lumino son mรกs versรกtiles por las posibles aplicaciones y modelos de negocios que facilitan
Visa procesa un promedio de mil setecientas transacciones por segundo; Bitcoin procesa cuatro y Ethereum nueve. Al menos ese es el promedio on-chain. Escalar el procesamiento de transacciones manteniendo la seguridad y descentralizaciรณn de la red es el mayor reto que comparten todas las blockchains.
En cadenas basadas en Prueba de Trabajo (PoW), como Bitcoin o Ethereum, la lentitud es un asunto de diseรฑo que tiene sus respectivos pros y contras.
Escalar sin centralizar ni comprometer
Para garantizar la descentralizaciรณn y que participantes con menor poder de cรณmputo puedan contribuir con la seguridad de la red, el tamaรฑo de los bloques que almacenan las transacciones se encuentra limitado (entre mayor el bloque, se requiere mรกs almacenamiento y poder de cรณmputo). Pero esto tambiรฉn limita el nรบmero de transacciones que se pueden incluir en un bloque (si bien soluciones como SegWit atienden en parte este problema) y, por tanto, el nรบmero de transacciones procesables en determinado tiempo. Esto, sin mencionar el tiempo de propagaciรณn del bloque entre los demรกs validadores de la red.
Lo anterior hace de PoW un sistema seguro โfactor indispensable para una red distribuida de actores desconocidos y desconfiadosโ y con buenas condiciones para la descentralizaciรณn, pero indiscutiblemente lento si se compara con procesadores masivos como Visa.
Para superar este escollo se han asumido dos vรญas: soluciones en la cadena (on-chain) y soluciones fuera de la cadena (off-chain). Por soluciones en la cadena nos referimos a modificaciones en el protocolo base (como modificar el tamaรฑo de los bloques), lo cual requiere el consentimiento de toda la comunidad y podrรญa comprometer la seguridad y la descentralizaciรณn de la red. En cambio, las soluciones fuera de la cadena son de uso optativo y no requieren demasiados cambios a nivel de protocolo. Sรญ, nos referimos a soluciones de segunda capa. Estas comprenden, entre otras, a las cadenas laterales, pero mรกs directamente vinculadas a la cadena base, a los canales de pago o canales de estado, tales como Lightning Network de Bitcoin y Litecoin, Raiden de Ethereum y Lumino de IOVLabs.
Canales de Pago, Canales de Estado
La diferencia entre ambos tipos de canales estรก relacionada con la manera en que se administra la informaciรณn de las transacciones en el protocolo base de cada una de estas redes. Bitcoin trabaja con un modelo basado en UTXO (siglas en inglรฉs para transacciones de salida sin gastar), mientras que Ethereum trabaja con un modelo basado en cuentas o estados. RSK, si bien es una sidechain sobre Bitcoin, tambiรฉn utiliza un modelo basado en cuentas para la administraciรณn de informaciรณn.
En Bitcoin, cada nueva transacciรณn gasta un pago que se recibiรณ como una salida de una transacciรณn previa. Un monedero, o mรกs precisamente, un llavero, lo que hace es mantener registro de las unidades de bitcoins recibidas en transacciones previas que no han sido gastadas por el nuevo propietario y administrar las llaves que dan acceso a dichas unidades en la cadena de bloques para poder ser gastadas. El saldo de la cartera se calcula como la suma de todas esas transacciones que no han sido gastadas aรบn.
ยฟSuena complicado? Realmente funciona de manera similar que los billetes en tu billetera. Cada billete solo puede gastarse una vez, no puede cortarse el billete a la mitad si el bien que deseas comprar vale la mitad de lo que vale tu billete. Lo que haces es entregar la totalidad de tu billete y recibes el cambio correspondiente. Luego, tu balance corresponderรก a la suma de cada unidad de billetes en tu billetera. Asรญ tambiรฉn sucede con las UTXO.
Por otro lado, el modelo basado en cuentas o estados registra en la cadena de bloques el balance de cada cuenta como un estado global. Parecido a una cuenta bancaria, donde el banco hace seguimiento a cuรกnto dinero tiene cada tarjeta de dรฉbito, y cuando necesitamos gastar, el banco verifica que tengamos suficiente balance para aprobar la transacciรณn y debitar el gasto de tu balance global.
El modelo basado en UTXO tiene beneficios en escalabilidad, al permitir el procesamiento mรบltiple y simultรกneo de transacciones; y en privacidad, pues las distintas UTXO de un mismo usuario no se encuentran asociadas de manera predeterminada.
Por su parte, el modelo basado en cuentas tiene el beneficio de una mayor simplicidad para el desarrollo de contratos inteligentes complejos; y una mayor eficiencia a la hora de validar los balances de una cuenta determinada. Con todo, es posible que Ethereum cambie a una versiรณn de clientes sin estado cuando migre a Ethereum 2.0.
ยฟY los canales?
Los canales de pago o de estado son una vรญa para habilitar la interacciรณn entre los participantes de una red sin necesidad de registrar cada uno de sus movimientos en la cadena de bloques. Los famosos โAliceโ y โBobโ pueden abrir un canal de pago entre ellos y realizar cuantas transacciones deseen de manera casi inmediata pues no tienen que esperar la validaciรณn y propagaciรณn entre nodos y mineros. Los รบnicos momentos en que esto serรก necesario es al abrir y cerrar el canal.
Para abrir un canal, dos participantes deben bloquear cierta cantidad de monedas en un monedero multifirma o contrato inteligente acordado por ambas partes. Este bloqueo sรญ es notificado a nodos y mineros y registrado en la blockchain.
Una representaciรณn de las monedas bloqueadas serรก lo que los participantes intercambiarรกn entre ellos sin que nadie, excepto ellos, confirme el envรญo o recepciรณn de las transacciones, es decir, no hay minerรญa involucrada. Las transacciones serรกn atรณmicas, lo que quiere decir que la transacciรณn serรก por completo exitosa o no lo serรก; ninguna transacciรณn se realiza parcialmente.
Cuando los participantes decidan cerrar el canal, las monedas bloqueadas son liberadas de acuerdo con el balance final de las transacciones realizadas fuera de la cadena y se registran en la cadena los nuevos saldos de los participantes.
El cierre del canal puede ser realizado por los usuarios directamente o puede predeterminarse su cierre futuro al momento de establecer las condiciones del canal. Este cierre predeterminado se programa mediante los llamados Contratos de Bloqueo Temporal o hash time locked contract (HTLC). Asรญ, puede establecerse que, transcurrido determinado periodo de tiempo o luego de transferir determinada suma de dinero en determinado nรบmero de transacciones, el canal se cierre automรกticamente. Son estos contratos los que posibilitan los intercambios atรณmicos de criptomonedas de distintas cadenas.
Estos son algunos de los rasgos generales de estas soluciones de segunda capa. Si bien son bastante similares, la principal diferencia entre un canal de pagos y un canal de estado tiene que ver con las caracterรญsticas de las redes en que son empleadas. Bitcoin, al ser un proyecto enfocado en dinero, permite รบnicamente el intercambio de UTXO para pagos y micropagos.
Pero Ethereum y RSK permiten gestionar en una misma cuenta las interacciones con distintos contratos inteligentes o dApps. Asรญ, con el saldo bloqueado de la cuenta para el canal de estado, se pueden realizar transferencias que simbolizan desde un movimiento en un juego de ajedrez hasta la compra de un bien en el mundo fรญsico. En este sentido, pudiera decirse que los canales de estado son mรกs versรกtiles o permiten un mayor rango de maniobra que los canales de pago.
Comparado con transacciones en la cadena, estas soluciones de segunda capa introducen beneficios tales como la granularidad, pues permite transacciones de micropagos; la privacidad, al facilitar transacciones sin registro; la velocidad, siendo casi inmediata la recepciรณn de pagos; comisiones mรญnimas, las cuales solo deben pagarse en caso de necesitar enrutar transacciones a travรฉs de nodos de la red cuando no haya un canal directo abierto entre las partes.
En cuanto a limitaciones, una de las mรกs importantes es que los canales funcionan bajo el presupuesto de que los nodos involucrados estarรกn siempre en lรญnea. Si en algรบn momento uno de los dos nodos involucrados en un canal se desconecta, el canal se cerrarรก automรกticamente y se liquidarรก en la blockchain el รบltimo estado del canal.
Por otro lado, si alguna de las partes cierra el canal de manera maliciosa sin notificar a su contraparte, cabe la posibilidad de que liquide en la blockchain un estado previo del canal con el fin de hacerse con las monedas involucradas. Si bien cuando el canal es cerrado unilateralmente se estipula un margen de 1000 bloques para reclamar y transmitir a la red el รบltimo estado del canal, puede darse el caso de que la persona no estรฉ en lรญnea para hacerlo, y las monedas sean robadas.
Ante esta posibilidad se han desarrollado las llamadas watchtowers, nodos que ofrecen servicios de vigilancia para sus clientes y que pueden propagar transacciones de penalizaciรณn a la red en caso de ser necesario. El funcionamiento de las watchtowers puede variar segรบn la red.
Para detallar mejor similitudes y diferencias, veamos tres de versiones de canales de pagos y estado: Lightning Network, Raiden y Lumino.
Lightning Network
Lightning Network fue propuesto en el aรฑo 2016 por Joseph Poon y Thaddeus Dryja. Fue lanzado en red de pruebas en enero de 2017 y para enero de 2018 ya se encontraba operando en red principal con pocos nodos. Para el momento de escribir, cuenta con 4.985 nodos visibles segรบn Bitcoin Visuals, 28.211 canales รบnicos y 865.443 BTC disponibles entre todos los canales.
Lightning Netowork difiere de Raiden sobre todo en su implementaciรณn de las watchtowers, teniendo un modelo mรกs orientado a la privacidad gracias a estar basado en UTXO y no en estados o cuentas. Veรกmoslo con un ejemplo.
Alice, que tiene un canal abierto con Bob, recibe 10 satoshis en transferencia. Para protegerse ante un ataque malicioso de Bob, envรญa a una watchtower una firma encriptada que autorice el movimiento de todos los fondos del canal de vuelta a Alice. Esta firma no contiene informaciรณn sobre el estado de los balances, asรญ que la privacidad de Alice se encuentra aparentemente segura a menos de que el canal se cierre unilateralmente mientras ella se encuentre fuera de lรญnea.
Cada actualizaciรณn que Alice envรญa a la watchtower tiene una pista sobre cรณmo encontrar una potencial brecha de seguridad en la cadena referente a su canal. Asรญ la watchtower verifica la blockchain constantemente contrastando las nuevas transacciones con su tabla de pistas en forma de hashes.
Si Bob decide cerrar maliciosamente el canal con un estado anterior a su transferencia a Alice, la watchtower notarรก la brecha en la transacciรณn y podrรก desencriptar la firma enviada por Alice para accionar la transacciรณn de penalidad que devuelve todos los fondos a Alice.
Se dice que este modelo estรก orientado hacia la privacidad porque las watchtowers no pueden vincular las distintas actualizaciones de estado de canales que recibe. Es decir, una watchtower puede recibir cinco nuevas actualizaciones de un mismo canal y no sabrรก si provienen de canales distintos. Aun asรญ, trae problemas de espacio y aumenta los costos operacionales para las watchtowers, pues, al no poder identificar cuรกles actualizaciones corresponden a un mismo canal, tendrรก que almacenarlas todas hasta que este canal se cierre y contrastar todas las pistas con la blockchain.
No obstante, esto podrรญa modificarse en un futuro de llegar a implementarse la actualizaciรณn eltoo.
En la actualidad, Lightning Network ha sido implementado, ademรกs de en Bitcoin, en Litecoin. En ambas cadenas, Lightning solo permite intercambiar el token nativo de la respectiva cadena base. Con todo, gracias al uso de los HTLC, se han podido hacer intercambios de tokens entre distintas cadenas, lo cual facilita la implementaciรณn de intercambios entre pares sin necesitar casas de cambio.
Segรบn el portal Lightning.Network, esta red es capaz de aumentar la escalabilidad de Bitcoin de โmillones a billones de transacciones por segundoโ fuera de la cadena. Aunque la realidad es que esta cifra estรก limitada por la velocidad de confirmaciรณn de transacciones en la cadena base, necesaria para la apertura y cierre de los canales.
Otras mejoras como los โpagos atรณmicos multi rutaโ (AMP) y los pagos espontรกneos, han sido aรฑadidos a Lightning para mejorar la experiencia del usuario, asรญ como para aumentar los montos que pueden ser enrutados entre canales de pagos indirectos.
Para el momento de redacciรณn, existen hasta diecisiete monederos para interactuar con Lightning Network con distintas caracterรญsticas y adecuados a usuarios con distintos niveles de conocimiento.
Raiden Network
La red Raiden fue lanzada en versiรณn alfa en la red principal de Ethereum a finales de diciembre de 2018, si bien una versiรณn de pagos unidireccionales, la llamada micro Raiden, habรญa sido lanzada en el 2017.
Como se estableciรณ anteriormente, la Raiden Network tiene muchas similitudes con Lightning, pero a diferencia de transferirse exclusivamente el token nativo de la cadena base, Raiden permite realizar intercambios de cualquiera de los tokens ERC20 de Ethereum, incluido el token nativo de esta red, el RND. Este token, el cual fue vendido en una ICO en el aรฑo 2017, sirve para pagar costos computacionales de las transacciones en la red Raiden, por servicios de monitoreo de canales o servicios de bรบsqueda de rutas entre distintos canales.
Desde el lanzamiento de la versiรณn alfa de Raiden no ha habido mayores noticias al respecto. Segรบn explorer.raiden.network, actualmente hay 93 canales abiertos y 52 cuentas รบnicas, pero solo se contemplan intercambios del token wrapped ether, con un depรณsito total de 1741 WETH.
En el GitHub de Raiden se encuentra la opciรณn para descargar y correr un nodo de esta red. Pero tambiรฉn especifican que en estos momentos se encuentran actualizando la documentaciรณn en torno a Raiden, por lo que es probable que se aproximen modificaciones de este sistema de cara al trรกnsito hacia la esperada versiรณn 2.0 de Ethereum.
En la versiรณn actual, Raiden tambiรฉn permite el intercambio de tokens entre canales fuera de la cadena utilizando contratos de bloqueo de fondos llamados pruebas de balances. Estos equivalen en Lightning Network a la transferencia de bloqueo para la apertura del canal.
Al igual que en Lightning, en Raiden no hace falta que haya un canal directo entre un nodo que paga y otro nodo que recibe el pago, siempre y cuando haya una ruta de canales que los conecte. Este enrutamiento es lo que hace el efecto de red.
Al cerrar el canal, uno o ambos participantes presentan la prueba de balance de su elecciรณn y los fondos bloqueados son liberados segรบn se establezca en dicha prueba. Con miras a aumentar la privacidad, los participantes podrรกn pagar servicios de mezclado y rebalanceos del canal para hacer mรกs difรญcil el rastreo de transacciones.
Raiden tambiรฉn ofrece una capa de mensajerรญa la cual serรก de utilidad para transmitir informaciรณn sensible, ocultando del pรบblico la direcciรณn IP del usuario.
Tambiรฉn, gracias a que Ethereum es un sistema basado en cuentas y no en UTXO, se podrรก hacer uso del Sistema de Nombres de Ethereum (ENS) para identificar los nodos con alias especรญficos en lugar de hashes alfanumรฉricos, con el objetivo de hacer mรกs sencilla la experiencia del usuario.
En cuanto al uso de servicios de monitorizaciรณn como las watchtowers โlas cuales aรบn no tienen un nombre propio en Ethereumโ a diferencia de Lightning, cuando Alice quiere actualizar el estado del balance ante el monitor, envรญa una prueba de balance en la forma de un hash que contiene una identificaciรณn del canal.
Con esta identificaciรณn, el monitor puede agrupar todas las actualizaciones vinculadas a tal identificaciรณn, almacenar รบnicamente la รบltima actualizaciรณn y verificar la blockchain atendiendo a cierres de canales vinculados a esa identificaciรณn. Esto optimiza el negocio del servicio de monitoreo, pero compromete la privacidad del usuario.
Ademรกs, a diferencia de Lightning, el actor malicioso no pierde fondos adicionales por cerrar el canal con un balance falso y sin penalidad no hay un incentivo econรณmico para propiciar el buen comportamiento.
Para interactuar con Raiden en la actualidad, habrรญa que correr un nodo o un cliente ligero, lo que dificulta las posibilidades de aprovechar Raiden para usuarios sin conocimientos tรฉcnicos.
RIF Lumino Network
Finalmente, tenemos a Lumino, la red de canales de pagos de IOVLabs. Antes de profundizar sobre Lumino, cabe recordar que RSK es una cadena lateral sobre Bitcoin que utiliza un sistema de clavija bidireccional o two-way-peg para la emisiรณn de su token nativo, el cual se encuentra anclado al precio del BTC. Asegura las transacciones de su red aprovechando el poder de procesamiento de Bitcoin mediante una tรฉcnica conocida con merged mining, con un intervalo de generaciรณn de bloques de 30 segundos, promoviendo la escalabilidad para transacciones de valor representadas en Bitcoin.
Esta sidechain tiene una mรกquina virtual Turing completa que permite desarrollar contratos inteligentes complejos sobre Bitcoin con el lenguaje de programaciรณn Solidity, el mismo que emplea Ethereum. De esta manera, tambiรฉn pueden crearse tokens y aplicaciones descentralizadas que serรกn aseguradas por el poder de procesamiento de Bitcoin. En este sentido, podrรญa decirse que RSK aprovecha algunas de las caracterรญsticas mรกs importantes de ambas cadenas.
La red Lumino sirve entonces como una tercera capa sobre Bitcoin, con funcionalidades de canal de estado como Raiden. Tiene el objetivo de brindar mayor escalabilidad a Bitcoin, a RSK y a los tokens y dApps que sean desarrollados con los contratos inteligentes de RSK. Ademรกs, Lumino forma parte de un proyecto mรกs amplio llamado RIF Payments, que busca establecer un puente para la interacciรณn con otros canales fuera de la cadena como Lightning Network y Raiden, ampliando las posibilidades de los intercambios atรณmicos y la interoperabilidad entre cadenas.
En la actualidad, Lumino cuenta con 24 nodos globales y 12 nodos de tokens especรญficos, y 12 canales abiertos. Esto en cuanto a los visibles, pues, al igual que en las redes antes mencionadas, los nodos pueden elegir permanecer ocultos. Pero tambiรฉn pueden elegir tener un nombre legible por humanos en vez de alfanumรฉrico, gracias al sistema de nombres de RSK (RNS).
Una de las ventajas para la escalabilidad y descentralizaciรณn que posee Lumino frente a otros canales de pago es el Protocolo de Compresiรณn de Transacciones de Lumino (LTCP). Se trata de un mecanismo que permite aumentar los fondos de una transacciรณn o cerrar los canales de pago consumiendo tan solo 10 bytes de espacio en la blockchain. Esto facilita que todos los usuarios de Bitcoin se conviertan en un nodo completo, potenciando la descentralizaciรณn sin congestionar la red por exceso de datos.
LTCP permite remover datos de firmas antiguas โque ocupan el 70% del tamaรฑo de una transacciรณnโ mediante el encadenamiento de las firmas, siempre y cuando reutilicen una misma direcciรณn. Dado que Bitcoin implementรณ Segwit, serรญa fรกcil apoyarse en la segregaciรณn de firmas para eliminar firmas viejas, pero la reutilizaciรณn de la misma direcciรณn o cuenta tiene consecuencias en la privacidad de las transacciones en Lumino.
En cuanto a los servicios de monitoreo de canales, en Lumino son llamados Reporters, y estos a su vez se dividen en watchtowers y notifiers. Las watchtowers estarรญan encargadas de atender a eventos como apertura o cierres de canales en las cadenas subyacentes (RSK, Bitcoin, Ethereum) y reaccionar a esos eventos enviando una transacciรณn en la cadena para proteger los fondos del cliente. El Notifier, por su parte, notifica al cliente sobre el cambio en la red, que tambiรฉn puede incluir modificaciones en los balances.
Los Reporters de Lumino, al seguir el mismo principio de canales de estado de Raiden, tienen similares ventajas para su negocio en tรฉrminos de espacio y contabilidad que implican debilidades en cuanto a privacidad del usuario.
Por los momentos, la รบnica manera de trabajar con las redes Lumino y Lightning al mismo tiempo es utilizando el monedero RIF Payments. El llavero posee una API que permite a los usuarios realizar transacciones en ambas redes, siendo esto lo mรกs cercano a una compatibilidad por los momentos.
Conclusiones
El objetivo principal de los canales de pago es impulsar la escalabilidad de las blockchains a travรฉs de transacciones casi inmediatas. Las soluciones que se han desarrollado tienen distintas ventajas y desventajas, si bien son bastante similares entre sรญ.
Podrรญa decirse que Lightning Network es la red con mayores ventajas para los usuarios en tรฉrminos de privacidad, pero su uso se restringe a intercambios monetarios, pues esa es la propuesta de valor de Bitcoin.
Canales de estado como Raiden y Lumino son mรกs versรกtiles por las posibles aplicaciones que facilitan y mรกs convenientes para potenciales modelos de negocios que puedan surgir en ellas (como los servicios de monitoreo de canales o de encuentro de rutas), pero su funcionamiento abre brechas de privacidad para los usuarios.
Los riesgos de pรฉrdida de fondos por cierres maliciosos de canales siguen siendo considerables para los usuarios de las tres propuestas y esto es algo que debe tomarse en cuenta. Lightning Network incentiva el buen comportamiento mediante penalizaciones. Pero aun asรญ, si el usuario permanece desconectado hasta despuรฉs de que el ataque ya ha sido propagado en la cadena base, es poco lo que puede hacerse. En este sentido, si se sabe de antemano que se estarรก desconectado durante muchos dรญas, lo mejor serรก liquidar los fondos alojados en el canal.
Lightning Network se mantiene como la red mรกs robusta por el efecto de red que ha tenido, contando con la mayor cantidad de nodos, canales y rutas de todos los canales de pago disponibles, asรญ como la mayor variedad de clientes ligeros o servicios de monederos para interactuar con la red.
Hay que tomar en cuenta que existen distintos tipos de monederos para interactuar con los canales. Lo รณptimo en tรฉrminos de seguridad y privacidad es correr un nodo completo de la cadena base y un nodo del canal de pago para estar seguro de que las monedas ahรญ alojadas te pertenecen y puedes confirmar tรบ mismo tus transacciones.
Sin embargo, lo anterior puede resultar complejo para usuarios sin conocimientos tรฉcnicos. Para ellos, se ofrecen servicios de monederos con custodio que permiten interactuar con la red haciendo uso de sus nodos y canales, pero esto requiere de confiar en un tercero para el dinero que se utiliza.
Lumino tiene el mayor potencial para la interoperabilidad entre cadenas, siendo este uno de los principales objetivos de RIF Payments. Esto sin mencionar que los tokens creados en RSK tambiรฉn podrรกn correr sobre esta red.
La elecciรณn de quรฉ canal de pagos deberรก usarse solo puede ser realizada por el usuario final. Dependiendo de cuรกles sean sus intereses, deberรก ponderar si prefiere servicios que minimizan mรกs la confianza en terceros para transacciones monetarias, o si lo que necesita es hacer un movimiento de ajedrez en alguna dApp.
De cualquier manera, todas estas redes siguen en desarrollo. Es muy probable que con los meses sigan adicionando funcionalidades que hagan mรกs amigable la experiencia del usuario y cubran las brechas de seguridad que aรบn pueden presentar.