El Trilema de la escalabilidad y su impacto en Blockchain

Scalability trilemma

Definición del Trilema de la Escalabilidad

Desde su descripción por parte de Vitalik Buterin, siempre se ha mencionado el trilema de la escalabilidad como uno de los grandes puntos de mejora de las redes blockchain. Este concepto se basa en el conflicto existente en el diseño de cualquier red blockchain, que debe ponderar entre el grado de seguridad, escalabilidad y descentralización de dicha red. El conflicto se produce porque no es posible implementar los tres factores simlutáneamente. La apuesta por dos factores cualesquiera indica, de forma inevitable, la renuncia al otro. Las distintas combinaciones de estas características determinará el tipo de red final.

En nuestro artículo sobre la escalabilidad ya comentábamos cuáles eran las tres posibles formas de optimizar este factor (canales de pago, soluciones de bloque y soluciones de red). Sin embargo, veíamos también que el problema de la escalabilidad estaba directamente relacionado con la seguridad y el grado de descentralización de la red. Dicha dependencia es la conocida como el Trilema de la escalabilidad, que explicaremos en este artículo. Empezaremos por definir las tres características que lo constituyen, para ver después la relación entre ellas.

Scalability trilemma

Seguridad

Cuando hablamos de la seguridad de una red blockchain nos referimos a su capacidad para resistir ataques externos. Esto implica que las transacciones incorporadas a la red no pueden ser borradas, y que no existe la posibilidad de un “doble gasto” en la red. En realidad, la seguridad de la red se refleja en su código. Si el protocolo de consenso está bien definido, no habrá forma de que se incluyan transacciones falsas o duplicadas. Por ello, y dado el carácter inmutable por definición de una red blockchain, la seguridad es tan importante.

De hecho, la seguridad se muestra como el único factor irrenunciable de cualquier sistema (incluyendo aquellos que no utilizan la tecnología blockchain). En el momento en el que el sistema deja de ser seguro, los participantes no pueden confiar en él para la inclusión de sus transacciones, y su utilidad pasa a ser nula. Por lo tanto, la seguridad se convierte en el único factor que siempre debe estar presente en el diseño de la red. Si además estamos hablando de una red de un aspirante a medio global de pago como Bitcoin, pues con más razón.

Sin embargo, la programación del código no es el único determinante de la seguridad en una red. Otro factor igualmente importante es el número de nodos participantes. En redes descentralizadas, un elevado número de nodos dificulta la probabilidad de la red sea atacada. Esto se debe a que estas redes funcionan de manera más o menos democrática, por lo que el éxito de un ataque depende de la cantidad de nodos implicados y su poder dentro de la red. Cuanto mayor es el número total de nodos, menor es el poder de cada uno, y menor es la probabilidad de que un ataque tenga éxito.

security

Descentralización

Por otro lado, tendríamos la descentralización. Este rasgo, tan característico de las redes DLT, es en realidad una elección modificable en la configuración de la red. La descentralización es básicamente la ausencia de un tercero de confianza para validar las transacciones. En una red descentralizada, la confianza proviene del conjunto de todos los usuarios, no de uno en concreto. Esto es lo que busca, entre otras muchas, la red de Bitcoin.

La descentralización en ciertas redes implica, a medio plazo, una inevitable ralentización del sistema. Cuando las transacciones deben ser validadas por un número de nodos muy elevado, el protocolo de consenso se convierte en un obstáculo. En entornos en los que la descentralización no es importante, es más sencillo obtener mayor seguridad y escalabilidad. Por ello, cada tipo de red está determinada, entre otras cosas, por el grado de descentralización elegido. En este sentido, redes permisionadas o con una «centralización» controlada buscan mejorar la escalabilidad sin renunciar a la descentralización.

El algoritmo de Prueba de Trabajo, por ejemplo, es muy costoso en términos de electricidad y potencia computacional. Esto hace que el coste de entrada de nuevos nodos a la red sea muy elevado, reduciendo los participantes potenciales. La potencia computacional está cada vez más concentrada, lo que acaba perjudicando la descentralización. Igualmente, la seguridad se ve afectada, ya que el poder individual de cada nodo es mayor, y es más dificil encontrar nuevos nodos.

Este problema, sin embargo, no aparece con el algoritmo de Prueba de Participación, que es muy «barato» en términos computacionales. No es difícil configurar nuevos nodos en la red, por lo que esta puede crecer sin que la descentralización o la seguridad se vean afectadas.

Escalabilidad

En último lugar estaría la propia escalabilidad. Este aspecto es clave para las redes DLT, que necesitan un sistema capaz de crecer ante incrementos en la demanda. Existen diversas soluciones que mejoran la escalabilidad, como los canales de pago, el sharding, etc. Sin embargo, estas soluciones no siempre son neutrales frente a la descentralización o a la seguridad de la red.

Un efecto colateral de la falta de escalabilidad de algunas redes puede ser el encarecimiento de las nuevas transacciones. Cuando estas se acumulan, una forma de asegurar su inclusión en la red es pagar una mayor comisión para “saltarse la cola”. La alternativa es una ralentización de todos los procesos (una especie de efecto embudo). Esto impide el crecimiento del sistema, lo que en último lugar también impacta en la descentralización. Por ello, todas las redes basadas en tecnología blockchain están buscando soluciones para este problema.

escalabilidad

Por su lado, los sistemas de pago tradicionales presumen de una elevada escalabilidad gracias a la centralización. Cuando la validación de las transacciones solo depende de un nodo, no hay apenas ralentización. Sin embargo, en un sistema democrático descentralizado, un elevado número de transacciones supone un problema. Mantener la seguridad y la descentralización suele implicar lentitud en la red, lo que va en contra de la escalabilidad.

Por eso, las soluciones hasta el momento pasan, entre otras cosas, por reducir el número de transacciones que la red tiene que validar. Esto alivida la carga de trabajo de los nodos, pero no tanto como para compararse a un sistema centralizado.

Soluciones posibles

La solución al trilema debe venir por un sistema escalable, que no comprometa ni la seguridad ni la descentralización. Existen soluciones parciales que pueden ayudar de manera puntual. Aquí encontraríamos el aumento del tamaño de los bloques propuesto por Bitcoin Cash, dirigido a procesar más operaciones por bloque. También podríamos considerar la búsqueda de un algoritmo de consenso más rápido que los habituales. Estas soluciones, si bien pueden ayudar, no creemos que sean una solución definitiva. Un mayor crecimiento de la red acabaría generando el mismo problema a medio plazo.

Sin embargo, sí existen otras soluciones dirigidas a atacar el problema de raíz. En este sentido, podemos distinguir 3 grupos de soluciones ya implantadas en algunas de las principales criptomonedas: canales de pago, sharding y soluciones basadas en interoperabilidad. Vamos a ver en qué consisten:

Canales de pago

Los canales de pago como Lightning Network se consideran de capa 2, ya que reducen el número de transacciones enviadas a la cadena principal. Mediante el uso de Smart Contracts, se ejecutan transacciones directas, instantáneas y a un coste mucho menor. El resultado de dichas operaciones es lo que después se envía a la cadena principal para su validación. Esta es la solución adoptada por Bitcoin, y permite descongestionar la red principal de aquellas transacciones que podrían ser agrupadas por fuera. De esta forma, se evita el efecto embudo mencionado anteriormente.

efecto embudo

Sharding

Ethereum, por su parte, ha implementado una solución basada en la fragmentación de la red. La idea es dividir las transacciones en fracciones de datos más pequeños, de forma que se pueden gestionar más rápidamente sin causar congestión en la red. Estos fragmentos son procesados por las llamadas «shard chains», que son subcadenas originarias de la principal. Como las subcadenas interactúan entre sí y brindan información a la blockchain principal, se mantiene la seguridad. Este sistema lo complementa con un protocolo de Prueba de Participación, más rápido que la Prueba de Trabajo.

Sin embargo, al dividir la cadena principal en varias subcadenas, el número de nodos total también se divide. Esto facilita la posibilidad de recibir ataques de nodos «maliciosos», lo que perjudica la seguridad del sistema.

Soluciones de interoperabilidad

Polkadot, por su parte, ha desarrollado un protocolo que mejora la escalabilidad apoya en la interoperabilidad. Básicamente existe dos tipos de cadenas: una cadena principal, llamada Relay Chain, que es donde las transacciones finalizan. El otro tipo son las «parachains», que son blockchains independientes entre ellas, pero trabajan de manera colaborativa. Su interoperabilidad permite el reenvío de transacciones entre las redes, haciendo más seguro el sistema.

El problema que tiene la cadena principal de Polkadot es que no admite Smart Contracts, por lo que existe una fuerte dependencia de las cadenas independientes para soportar estos contratos. Por otro lado, las «parachains», al ser independientes entre ellas, pueden funcionar con distintos protocolos de consenso, lo que dota a Polkadot de una gran flexibilidad.

Conclusión

Por todo lo anterior, el Trilema de la escalabilidad sigue siendo uno de los principales desafíos en la implementación de una red blockchain. Para determinados casos de uso, un menor (o incluso nulo) grado de descentralización podría ser la solución. En este sentido, redes privadas y restringidas a un número limitado de usuarios, por ejemplo, podrían mantenerse seguras y escalables. Sin embargo, los casos de uso más populares no pueden renunciar a la descentralización. Si no pueden ser centralizadas, y no pueden renunciar a la seguridad, entonces el problema queda muy localizado.

Adicionalmente, hay que tener en cuenta que actualmente el número de usuarios de estos sistemas es aún muy reducido. Esta es una de las razones por las que la eficacia de los canales de pago y otras soluciones se ha podido verificar. Sin embargo, la incorporación de los Smart Contract y la popularidad de las criptomonedas hace más necesaria aún la escalabilidad. El número de transacciones seguirá creciendo si lo hacen los usuarios, y es necesario encontrar soluciones a medio plazo.

Las soluciones presentadas han conseguido, sin duda, aumentar el número potencial de transacciones por segundo que son capaces de procesar. En términos generales, estas soluciones no suponen un impacto excesivo en la descentralización o la seguridad de sus redes. Sin embargo, está claro el Trilema descrito por Vitalik Buterin es aún una fuente de preocupación en el diseño de las Blockchain.

Related articles

6 conceptos básicos para entender las criptomonedas y su uso

Hasta ahora hemos explicado el funcionamiento básico de las redes DLT, así como los principales algoritmos de consenso que se suelen utilizar. Sin embargo, cada red es distinta, y algunas cuentan con componentes complejos y difíciles de entender. En muchos casos, estos componentes son indispensables para entender cómo funcionan y cuáles son sus virtudes y […]

Learn More
cardano

Guía completa de Cardano y su token ADA. ¿Cómo funcionan?

En el artículo de hoy vamos a hablar de Cardano y de la criptomoneda con la que opera, que es ADA. Cardano es considerada por sus creadores como la primera blockchain de tercera generación. Bitcoin sería la mejor representante de la primera generación, por limitarse a permitir transacciones simples. Con la incorporación de los Smart […]

Learn More
bitcoin China

¿Cómo reaccionan los países frente a las criptomonedas?

Recientemente se ha publicado la decisión del Banco Central de China de prohibir las actividades relacionadas con las criptomonedas. Esta decisión no solo afecta a las transacciones comunes, sino también a los servicios de minería y otras actividades. Aunque dicha decisión no es una sorpresa (China lleva varios años restringiendo el uso de estos activos), […]

Learn More

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.