Contenido

  • Introducción

  • El problema de la escalabilidad de blockchain

  • ¿Qué son las soluciones de escalabilidad fuera de la cadena?

  • Una introducción a las cadenas laterales

    • ¿Qué es una cadena lateral?

    • ¿Cómo funciona una cadena lateral?

    • ¿Por qué se utilizan cadenas laterales?

  • Una introducción a los canales de pago.

    • ¿Qué es un canal de pago?

    • ¿Cómo funciona un canal de pago?

    • Ruta de pago

  • Consideraciones finales


Introducción

La escalabilidad generalmente se refiere a la capacidad de un sistema de crecer para adaptarse a la creciente demanda. En informática, puedes aumentar el rendimiento de tu máquina mejorando su hardware, de modo que ciertas tareas se puedan realizar más rápido. Cuando hablamos de escalabilidad en blockchains, nos referimos a aumentar su capacidad para manejar más transacciones.

Protocolos como Bitcoin tienen muchas ventajas, pero la escalabilidad no es una de ellas. Si Bitcoin se ejecutara en una base de datos centralizada, sería relativamente fácil para un administrador aumentar la velocidad y el rendimiento. Pero la propuesta de Bitcoin (al igual que la resistencia a la censura) requiere que muchos participantes de la red sincronicen una copia de la cadena de bloques.


El problema de la escalabilidad de blockchain

Ejecutar un nodo Bitcoin es relativamente barato e incluso dispositivos simples pueden hacerlo. Pero debido a que miles de nosotros necesitamos estar al día unos con otros, existen ciertas limitaciones en su capacidad. 

Se establecen límites en el número de transacciones que se pueden procesar en cadena, para evitar que la base de datos alcance proporciones muy grandes. Si crece demasiado rápidamente, los nodos no podrán seguir el ritmo de esta expansión. Además, si los bloques son demasiado grandes, no se pueden transmitir rápidamente a través de la red.

Por tanto, nos encontramos en medio de un cuello de botella. Una cadena de bloques puede verse como un servicio de transporte en tren, que sale a intervalos definidos. Hay un número limitado de asientos en cada vagón y para obtener un billete, los viajeros deben pujar para conseguir un asiento. Si todos intentan coger el tren al mismo tiempo, el precio será mayor. Del mismo modo, una red obstruida con transacciones pendientes requerirá que los usuarios paguen tarifas más altas para que sus transacciones se incluyan de manera oportuna.

Una posible solución sería aumentar el tamaño de los vagones. Esto se traduciría en más asientos, mayor capacidad de transferencia y precios de billetes más bajos. Pero no hay garantía de que no se cubran todos los escaños como antes. La capacidad de los automóviles no se puede escalar infinitamente, del mismo modo que los bloques y el límite de gasolina de los bloques no se pueden escalar infinitamente. Esto último hace que los nodos restantes en la red sean un proceso más costoso, ya que necesitarán hardware más costoso para permanecer sincronizados.

El creador de Ethereum, Vitalik Buterin, creó el Trilema de Escalabilidad para describir el desafío que enfrentan las cadenas de bloques. Afirma en su teoría que los protocolos deben lograr un equilibrio entre escalabilidad, seguridad y descentralización. Estas propiedades están algo desequilibradas: al centrarse demasiado en dos de ellas, la tercera funcionará mal.

Por esta razón, muchos ven la escalabilidad como algo que debe lograrse fuera de la cadena, mientras que la seguridad y la descentralización deben maximizarse en la propia cadena de bloques.


¿Qué son las soluciones de escalabilidad fuera de la cadena?

La escalabilidad fuera de la cadena se refiere a enfoques que permiten ejecutar transacciones sin sobrecargar la cadena de bloques. Los protocolos se conectan a la cadena y permiten a los usuarios enviar y recibir fondos sin que aparezcan transacciones en la cadena principal. Profundicemos en dos de los avances más importantes: las cadenas laterales y los canales de pago.


Una introducción a las cadenas laterales

¿Qué es una cadena lateral?

Una cadena lateral es una cadena de bloques separada. Sin embargo, no es una plataforma independiente ya que está vinculada de alguna manera a la cadena principal. La cadena principal y la cadena lateral son interoperables, lo que significa que los activos pueden fluir libremente de una a otra.

Hay varias formas de garantizar que se puedan transferir los fondos. En algunos casos, los activos se trasladan de la cadena principal y se depositan en una dirección especial. En realidad, no se envían: se bloquean en la dirección y se emite el valor correspondiente en la cadena lateral. Una opción más directa (aunque centralizada) es enviar fondos a un custodio, quien intercambia el depósito por fondos en la cadena lateral.


¿Cómo funciona una cadena lateral?

Supongamos que nuestra amiga Alice tiene cinco Bitcoins. Quiere cambiarlas por cinco unidades equivalentes en una cadena lateral de Bitcoin (llamémoslas sidecoins). La cadena lateral en cuestión utiliza una vinculación bidireccional, lo que significa que los usuarios pueden transferir sus activos de la cadena principal a la cadena lateral y viceversa. 

Recuerde que la cadena lateral es una cadena de bloques separada. Así, tendrá diferentes bloques, nodos y mecanismos de validación. Para obtener sus sidecoins, Alice envía cinco Bitcoins a otra dirección. Esta dirección podría ser alguien que envíe 5 sidecoins a la dirección de la cadena lateral de Alice, después de recibir los Bitcoins. Alternativamente, puede haber algún tipo de configuración que reduzca la necesidad de confianza, en la que las monedas secundarias se acreditan automáticamente cuando el software detecta el pago.


Escalabilidade sidechain


Alice ahora ha convertido sus monedas en sidecoins, pero siempre puede revertir el proceso para recuperar sus Bitcoins. Ahora que ha ingresado a la cadena lateral, puede realizar transacciones en esta cadena de bloques separada. Puede enviar sidecoins o recibirlas de otros, de la misma forma que en la cadena principal.

Podría, por ejemplo, pagarle a Bob una sidecoin por una sudadera con capucha de Binance. Cuando quiera volver a Bitcoin, puede enviar las cuatro sidecoins restantes a una dirección especial. Una vez confirmada la transacción, se desbloquearán cuatro bitcoins y se entregarán a una dirección de Alice en la cadena principal.


¿Por qué se utilizan cadenas laterales?

Quizás se pregunte cuál es la razón de esto. ¿Por qué Alice simplemente no usa la cadena de bloques de Bitcoin?

La respuesta es que la cadena lateral puede ser capaz de realizar cosas que Bitcoin no puede hacer. Las cadenas de bloques son sistemas de compensaciones cuidadosamente diseñados. Aunque Bitcoin es la criptomoneda más segura y descentralizada, no es la mejor en términos de tarifas de transferencia. Aunque las transacciones de Bitcoin son más rápidas que los métodos convencionales, siguen siendo relativamente lentas en comparación con otros sistemas blockchain. Los bloques se extraen cada diez minutos y las tarifas pueden aumentar significativamente cuando la red está congestionada.

Probablemente no sea necesario este nivel de seguridad para pagos pequeños y cotidianos. Si Alice paga por un café, no esperará a que se confirme la transacción. Ella hacía fila y su café estaba frío cuando lo entregaban.

Las cadenas laterales no siguen las mismas reglas. De hecho, ni siquiera necesitan utilizar Prueba de trabajo para trabajar. Puedes utilizar cualquier mecanismo de consenso, confiar en un único validador o modificar cualquier parámetro. Podrías agregar actualizaciones que no existen en la cadena principal, producir bloques más grandes y acelerar el proceso.

Curiosamente, las cadenas laterales pueden incluso introducir errores críticos sin afectar la cadena subyacente. Esto permite que se utilicen como plataformas para la experimentación y el despliegue de funciones que de otro modo requerirían el consenso de la mayoría de la red.

Siempre que los usuarios estén satisfechos con las compensaciones, las cadenas laterales pueden representar un paso importante hacia un escalamiento más efectivo. No existen requisitos para que los nodos de la cadena principal almacenen todas las transacciones de la cadena lateral. Alice podría ingresar a la cadena lateral con una sola transacción de Bitcoin, realizar cientos de transacciones de monedas laterales y luego salir de la cadena lateral. Desde la perspectiva de la cadena de bloques de Bitcoin, habría realizado sólo dos transacciones: una para entrar y otra para salir.

El protocolo Plasma de Ethereum es similar, pero tiene algunas diferencias importantes. Lea más sobre el tema: ¿Qué es Ethereum Plasma?


Una introducción a los canales de pago.

¿Qué es un canal de pago?

Los canales de pago tienen el mismo objetivo que las cadenas laterales en términos de escalabilidad, pero son fundamentalmente muy diferentes. Al igual que las cadenas laterales, sacan las transacciones de la cadena principal para evitar que la cadena de bloques se congestione. Sin embargo, a diferencia de las cadenas laterales, no necesitan una cadena de bloques separada para funcionar.

Un canal de pago utiliza un contrato inteligente para permitir a los usuarios realizar transacciones sin publicarlas en la cadena de bloques. Esto se hace mediante un contrato ejecutado por software entre dos participantes.


¿Cómo funciona un canal de pago?

En modelos como el popular Lightning Network, dos partes depositaban monedas en una dirección de propiedad conjunta. Este tipo de dirección de firma múltiple requiere dos firmas para gastar los fondos. Entonces, si Alice y Bob crearon esta dirección, los fondos solo podrían transferirse con su consentimiento.

Digamos que cada uno depositó 10 BTC en una dirección que ahora contiene 20 BTC. Sería fácil mantener una hoja de cálculo que rastree el saldo y muestre que Alice y Bob tienen 10 BTC cada uno. Si Alice quisiera darle a Bob una moneda, podrían actualizar la hoja de cálculo para que muestre que Alice tiene 9 BTC y Bob tiene 11 BTC. No necesitarían publicar en la cadena de bloques ya que realizan un seguimiento de los saldos. 


como funciona um canal de pagamento


En un momento dado, digamos que Alice tiene 5 BTC y Bob tiene 15 BTC. Podrían crear una transacción que envíe estos saldos a las direcciones correspondientes de cada parte, firmarla y transmitirla.

Alice y Bob podrían haber registrado diez, cien o incluso mil transacciones en el balance. Pero en lo que respecta a blockchain, solo realizaron dos operaciones en cadena: una para la transacción inicial y otra para consolidar los saldos actualizados. Aparte de estas dos, todas las demás transacciones son gratuitas y casi instantáneas porque se realizan fuera de la cadena. No hay que pagar ninguna tarifa de minería y no hay necesidad de esperar confirmaciones de bloque.

Obviamente, el ejemplo discutido anteriormente requiere que ambas partes cooperen, lo cual no es una situación ideal para usuarios que no se conocen. Sin embargo, se pueden utilizar mecanismos especiales para castigar cualquier intento de trampa, de modo que las partes puedan interactuar de forma segura entre sí sin necesidad de confiar. 


Ruta de pago

Evidentemente, los canales de pago son convenientes para dos partes que prevén un gran volumen de transacciones. Pero eso no es todo. Se puede desarrollar una red de estos canales, lo que significa que Alice puede pagarle a una fiesta que no esté directamente relacionada con ella. Si Bob tiene un canal abierto con Carol, Alice puede pagarle siempre que haya suficiente capacidad. Ella transferirá fondos al canal de Bob, quien a su vez los enviará al canal de Carol. Si Carol está conectada con otro participante, se puede realizar el mismo proceso. 

Esta red evoluciona hacia una topología distribuida en la que todos se conectan con múltiples pares. A menudo, habrá varias rutas hacia el mismo destino y los usuarios podrán elegir la ruta más eficiente. 


Consideraciones finales

Discutimos dos enfoques de escalabilidad que permiten realizar transacciones sin sobrecargar la cadena de bloques correspondiente. Las cadenas laterales y la tecnología de canales de pago aún no han madurado, pero los usuarios que desean evitar las molestias de las transacciones de capa base las utilizan cada vez más.

A medida que pasa el tiempo y más usuarios pasan a formar parte de la red, es importante que se mantenga la descentralización. Esto sólo es posible aplicando límites al crecimiento de la cadena de bloques para que puedan unirse fácilmente nuevos nodos. Los defensores de las soluciones fuera de la cadena a los problemas de escalabilidad creen que, con el tiempo, la cadena principal solo se utilizará para liquidar transacciones de alto valor o para acoplar/desacoplar cadenas laterales y abrir/cerrar canales.