Topics Conocimiento tecnológico profundo

El trilema de la cadena de bloques: ¿Alguna vez se puede resolver?

Avanzado
Conocimiento tecnológico profundo
27 de jun de 2022

El mundo que nos rodea gira en torno a las compensaciones que hacemos para lograr ciertos resultados. El trilema de la cadena de bloques no es diferente, por lo que es crucial comprender si los problemas asociados con las cadenas de bloques pueden resolverse alguna vez. Los desarrolladores están dedicando tiempo y energía a resolver este problema, y veremos cómo la escalabilidad, la seguridad y la descentralización de la cadena de bloques pueden funcionar juntas. Estas tres funciones son fundamentales para el funcionamiento de las cadenas de bloques, con un reconocimiento cada vez mayor de que solo se pueden obtener dos de los tres. Eso significa que cada cadena de bloques debe sacrificar algo para funcionar de la manera más eficiente posible.

¿Qué es el trilema de la cadena de bloques?

El trilema de la cadena de bloques es el concepto de que la descentralización, la seguridad y la escalabilidad no pueden representarse en una cadena de bloques.

El término trilema de blockchain fue acuñado por Vitalik Buterin, cofundador de Ethereum. Propuso este término debido a su experiencia trabajando en Ethereum , la segunda criptomoneda más popular en Internet, que sufre problemas similares a los de la red de Bitcoin. El principal problema con el Bitcoin es que su red no es tan escalable como a mucha gente le gustaría. El trilema de la cadena de bloques se trata de las tres cosas que los desarrolladores quieren: descentralización, escalabilidad y seguridad, y la necesidad vejante de elegir dos de los tres.

Ejemplo del trilema de la cadena de bloques: Escalabilidad del Bitcoin

El Bitcoin es una gran innovación, pero su plataforma no es la más escalable. Sin embargo, Bitcoin tiene una de las plataformas más seguras y descentralizadas de Internet. En términos de escalabilidad, lamentablemente se ha ganado una mala reputación gracias a sus velocidades de transacción menos ideales. Esto hace que sea subóptimo si intentas usarlo como moneda. Cuando se compara con procesadores de tarjetas como Visa y Mastercard, el Bitcoin se retrasa porque la competencia procesa transacciones en milisegundos. Aunque esta situación se ha resuelto gracias a Lightning Network , esta solución de escalado de capa 2 presenta su parte justa de problemas. En última instancia, cualquier criptomoneda que desee utilizarse como moneda fiduciaria debe ser capaz de escalarse lo suficiente.

El problema del que estaba hablando Vitalik Buterin es si es posible o no lograr estas tres funciones en una sola red. Muchos desarrolladores han llegado a la conclusión de que lograr las tres funciones es imposible, y que se trata de hacer relación con lo que es posible con la tecnología actual, y averiguar cómo hacer la compensación en un entorno del mundo real. Por mucho que cada proyecto intente optimizar su red, habrá algunas deficiencias con cada diseño de cadena de bloques. Por lo tanto, la clave para los desarrolladores es averiguar cuánto de cada característica están dispuestos a sacrificar para lograr un rendimiento óptimo.

Descentralización en una cadena de bloques

La descentralización de la cadena de bloques es una de las principales razones por las que las personas prefieren las criptomonedas a las monedas fiduciarias actuales . Cuando una persona o entidad controla tu moneda, siempre estás a su merced. Un ejemplo es el gobierno de EE. UU. y su monopolio sobre el dólar estadounidense. Si estás en una lista negra o sancionado, tus activos en dólares podrían congelarse. Nunca tienes un control total sobre tu moneda. La descentralización de la cadena de bloques resuelve este problema al garantizar que ninguna persona o entidad controle el activo. El Bitcoin es el ejemplo más famoso. En esencia, nadie controla tu acceso al Bitcoin, y puedes poseer y transportar libremente tu Bitcoin en todas las situaciones.

Desafortunadamente, un problema importante con la descentralización de la cadena de bloques a gran escala es averiguar cómo lograrlo. Un obstáculo es la gestión de la red. La red Visa es un ejemplo de cómo se ve cuando una moneda virtual no está descentralizada. Cada transacción realizada a través de VisaNet debe ser procesada por uno de los muchos servidores que Visa tiene en todo el mundo. Visa es responsable de garantizar que la red sea resiliente y siempre funcione sin tiempos de inactividad. 

Sin embargo, debido a esto, controlan todo para que los tiempos de transacción sean inferiores a un segundo. Además, las tarifas de transacción son relativamente bajas en comparación con muchas otras redes. Por este motivo, muchas personas se mueven hacia una sociedad sin efectivo que eliminará la necesidad de llevar dinero físico.

Como puedes ver, la descentralización de la cadena de bloques afecta negativamente a la seguridad y escalabilidad de una red. La descentralización de la cadena de bloques es crucial, porque requiere que sacrifiques otra función para tener la red más óptima posible. En última instancia, la descentralización de la cadena de bloques es mejor cuando una entidad o persona no controla toda la red. Sin embargo, la escalabilidad o la seguridad de la cadena de bloques se sacrifican al priorizar la descentralización de la cadena de bloques.

Escalabilidad en una cadena de bloques

Desafortunadamente, la escalabilidad de la cadena de bloques es un problema significativo que ha evitado que muchas criptomonedas se utilicen a escala masiva. Para que una cadena de bloques sea práctica, debe progresar a una etapa en la que esté sujeta a miles de solicitudes de transacciones y sea capaz de procesarlas rápidamente.

Lo ideal es que los proyectos deseen que su cadena de bloques pueda escalarse a millones de transacciones por segundo (TPS). Esta es una de las muchas razones por las que Visa y MasterCard se utilizan en todo el mundo. Después de todo, nadie usaría estas tarjetas si tuvieras que esperar 20 minutos o más para que se procesara tu transacción, y ninguna tienda querría usar esta red si tuviera líneas largas porque tardara tanto en procesar las transacciones. La escalabilidad de la cadena de bloques debe estar integrada porque los desarrolladores deben averiguar cómo hacer que funcione para casos de uso específicos, en lugar de solo mirar transacciones por segundo.

Seguridad en una cadena de bloques

La seguridad de la cadena de bloques es la tercera función que muchas redes pueden elegir para relajarse cuando se trata del trilema de la cadena de bloques. Una buena seguridad de la cadena de bloques significa que todo debe ser sólido para que nadie pueda hacerse cargo de la red, por ejemplo, aprovechar las vulnerabilidades de la red para insertar transacciones en una red. 

El principal inconveniente de mantener la seguridad de la cadena de bloques es que se necesita mucha potencia del procesador para lograrlo. Esto puede ser un problema si también entra en vigor la descentralización de la cadena de bloques. Cuando combinas esta necesidad con las realidades de la descentralización y escalabilidad de la cadena de bloques, significa que tienes que ampliar enormemente el poder de procesamiento para lograr una pequeña mejora en tu calificación de TPS. Estas son las cosas que los desarrolladores de blockchain deben equilibrar cuando intentan crear una red. Tienen que averiguar cuál de los tres quieren sacrificar.

Con la descentralización de la cadena de bloques, otro problema es el consenso. ¿Cuál es la transacción correcta para cada libro mayor? Cuando escribes una transacción en el libro mayor de la cadena de bloques, ¿cómo te aseguras de que la transacción se actualice correctamente en todos los nodos? Esto requiere mucha potencia de procesamiento, por lo que es importante comprender cómo equilibrar la seguridad con otras funciones dentro de una red de cadena de bloques. La seguridad de la cadena de bloques solo será más importante a medida que aumente su utilidad. Un ejemplo de seguridad incorrecta es con cadenas de bloques que utilizan contratos inteligentes.

Seguridad vs. escalabilidad

La idea general con la seguridad de la cadena de bloques es que funciona de forma retrógrada a la escalabilidad de la cadena de bloques. La seguridad de la cadena de bloques requiere que utilices potencia de procesamiento adicional para garantizar que nadie explote la red. Sin embargo, el principal problema con esto es que, como consecuencia, ahora hay menos poder para procesar transacciones. Los desarrolladores deben decidir entre procesar más transacciones o mantener una mayor seguridad. Además, cuanto más descentralizada esté una red, más tiempo tardará en llegar a un consenso, lo que dificulta aún más lograr una descentralización y seguridad simultáneas ideales de la cadena de bloques. Actualmente, muchas personas están intentando averiguar cómo hacer que ambos conceptos funcionen correctamente, sin grandes desventajas para la red.

Un ejemplo de red segura es Visa, mencionado anteriormente. Ofrece una red de procesamiento de tarjetas de crédito que ofrece millones de TPS. A pesar de esto, la seguridad de la cadena de bloques nunca es un problema para ellos. Casi nunca oímos hablar de nada que se esté explotando. Sin embargo, cuando sucede algo, normalmente se debe a que el proveedor ha hecho algo prohibido. Nunca se ha aprovechado el problema de la empresa de procesamiento de tarjetas de crédito. 

La mayoría de las cadenas de bloques son bastante seguras y las infracciones de seguridad no son un problema continuo para la mayoría de las redes. Sin embargo, como se ha mencionado, la seguridad está al precio de la escalabilidad. Esto hace que muchas personas piensen en varias formas de mejorar la seguridad y la capacidad de procesamiento de transacciones, sin destruir la esencia de la red.

Diferentes enfoques del Trilema de la cadena de bloques

Solana (SOL)

Solana intenta resolver el trilema de la cadena de bloques utilizando servidores de nivel empresarial y un
Sistema de prueba de participación (PoS). Se basa en la sincronización para lograr el consenso, utilizando un pequeño número de servidores para llegar a la descentralización de la cadena de bloques. Sin embargo, a pesar de esto, hay problemas con la descentralización de la cadena de bloques. El precio medio de un servidor es de unos $10,000, con el requisito de poner miles de monedas en staking para convertirse en parte del grupo de procesamiento, algo que, en general, solo es posible para empresas y personas adineradas. Esto dificulta los esfuerzos de descentralización, ya que SOL es una moneda que solo una minoría de las personas pueden apoyar.

Polkadot (DOT)

Polkadot ofrece un novedoso esquema de disponibilidad y validez de datos para permitir que muchos tipos de blockchains trabajen entre sí, con la capacidad de crear una blockchain personalizada bastante rápidamenteEsto significa que obtienes interoperabilidad y seguridad al mismo tiempo. Utiliza un marco de POS de última generación para lograr la eficiencia energética. El corazón de esta cadena de bloques son su Relay Chain y Parachain . También utiliza validadores como forma de garantizar que la red alcance el consenso, una mejora significativa con respecto a Solana.

Cardano (ADA)

Cardano ofrece la ventaja de ser uno de los protocolos más sostenibles desde el punto de vista medioambiental. Utiliza el protocolo de cadena de bloques segura de Ouroboro, lo que significa que tiene seguridad incorporada. Sin embargo, esa seguridad sacrifica la velocidad de procesamiento, lo que significa que la red no procesa transacciones tan rápido como otros. Sin embargo, es mucho más fácil convertirse en parte de la red, ya que no tiene los enormes requisitos de procesamiento necesarios para una red como Solana.

Fantom (FTM)

Fantom afirma haber resuelto el problema del trilema de la cadena de bloques Su red ofrece más de 200 DApps, lo que la convierte en uno de los tokens cripto más utilizados. El protocolo de consenso aBFT de Fantom permite a la red alcanzar la velocidad, seguridad y fiabilidad de las que presumen. Otra parte de la solución de Fantom para el trilema de la cadena de bloques son sus nodos validadores, que ayudan a establecerlo como un sistema sin confianza y sin líder. Por lo tanto, la descentralización de la cadena de bloques se logra en gran medida con Fantom y FTM.

Avalanche (AVAX)

La red Avalanche tiene otro enfoque exitoso para frenar las limitaciones del trilema de la cadena de bloques. Su descentralización de la cadena de bloques se logra principalmente ofreciendo recompensas a las personas que hacen staking y ejecutan un nodo validador. Estas recompensas son bastante impresionantes, lo que significa que los posibles validadores no tienen que poner muchos tokens para empezar. 

Además, los requisitos mínimos de hardware de Avalanche son impresionantes. Se puede empezar como validador con hardware barato por menos de 1/10 del precio del hardware necesario para convertirse en validador en la red Solana.

Está claro que ser un validador es importante tanto para la descentralización como para la escalabilidad de la cadena de bloques. Sin embargo, no se incentiva a muchas personas a convertirse en validadores. Hacerlo a menudo es demasiado caro o complicado para que funcione, limitando sus beneficios a solo unos pocos

Posibles soluciones para el trilema de la cadena de bloques

Hay algunas soluciones potenciales para el trilema de la cadena de bloques, que se implementarán de forma independiente. Muchos desarrolladores también están averiguando cómo lograr el trilema de la cadena de bloques en cada parte de una red.

Capa 0

El consenso de Prueba de trabajo (PoW) como el de Bitcoin es inferior para lograr una solución al trilema de la cadena de bloques. En su lugar, lo mejor para las redes PoW es cambiar a un sistema PoS. Al hacerlo, las cadenas de bloques aumentan la escalabilidad y las velocidades de procesamiento. Este cambio también hace que sea mucho más fácil para las personas formar parte de una red. Con un buen algoritmo de consenso, también es más fácil hacer crecer una red. Los aspectos fundamentales de la capa 0 no se pueden exagerar. No se puede hacer nada bien si esta capa está mal diseñada.

Cadenas de relés

Relay Chain de Polkadot permite que múltiples redes de cadena de bloques se conecten entre sí bastante fácilmente porque pueden conectarse a muchas redes sin los inconvenientes inherentes al trilema de la cadena de bloques. Las parachains funcionan en paralelo a la blockchain de Polkadot. Utilizan Polkadot Relay Chain para lograr la máxima escalabilidad, seguridad y gobernanza.

Capa 1

La principal consideración para la capa 1 es averiguar cómo escalar. Eso significa modificar el mecanismo de consenso u otros aspectos de la cadena de bloques que pueden aumentar la escalabilidad. La capa 1 proporciona la base necesaria para garantizar que la red funcione a su capacidad adecuada. Las redes que no tienen una capa 1 sólida siempre terminan teniendo problemas en el futuro.

Mejoras del protocolo de consenso

Hay muchas formas de alcanzar el consenso en una cadena de bloques, pero cuanto más rápido se haga, mejor podrá resolver el trilema de la cadena de bloques. El principal problema es garantizar que se alcance el consenso de forma correcta y completa. Varios algoritmos toman atajos, pero generalmente terminan donde deben estar. Solana ofrece una prueba de consenso histórico, que garantiza que las transacciones se realicen en la secuencia actual y del líder adecuado. Los líderes se eligen con anticipación, lo que ahorra tiempo en lograr el consenso de la red.

Raspado

El sharding es un concepto tomado del mundo de las bases de datos. Esta innovación es importante para las bases de datos porque es una de las muchas formas de escalar entre varios servidores. De lo contrario, tendrías que mantener toda la base de datos en un servidor. Lo mismo sucede con una cadena de bloques. Si cada validador debe contener toda la cadena de bloques, es ineficiente porque hay varios validadores que mantienen los mismos datos, incluso cuando no los necesitan. Esto dificulta alcanzar el consenso porque debe hacerse entre todos los nodos de la cadena de validadores. 

El sharding divide la cadena de bloques y la separa entre varios validadores. Es una forma arriesgada de hacer las cosas debido a la posibilidad teórica de que todos los validadores que tienen un cierto fragmento puedan caer. En este caso, se perdería toda la parte de la cadena de bloques. Hay varios algoritmos para evitar que esto ocurra, que es una de las muchas formas de mejorar el proceso que Ethereum ofrece a las cadenas de fragmentos como forma de mejorar la escalabilidad. Este método divide toda la cadena de bloques horizontalmente, colocando la carga en múltiples servidores y haciendo posible que la participación en la red y la potencia de procesamiento aumenten geométricamente.

Capa 2

Existen cadenas de bloques de capa 2 para mejorar la velocidad de procesamiento de la cadena de bloques base. Sin embargo, estas soluciones deben abordarse de forma inteligente para lograr suficientes velocidades de procesamiento de la cadena de bloques.

Cadenas de bloques anidadas

Existe una cadena de bloques anidada dentro de otra cadena de bloques. Las cadenas de bloques de capa 1 delegan el procesamiento a una cadena de bloques anidada, lo que significa que las soluciones de procesamiento personalizadas se pueden crear relativamente fácilmente. Esta es una de las mejores y más fáciles formas de resolver el trilema de la cadena de bloques sin demasiada dificultad. El mayor ejemplo de esto es Ethereum Plasma, que utiliza una cadena de bloques independiente anclada a la cadena principal, capaz de ofrecer pruebas de fraude para arbitrar disputas.

Canales de estado

Un canal de estado ha delegado esencialmente el procesamiento y la capacidad de las transacciones. Sus nodos no requieren validación, lo que significa que es como un recurso adyacente que hace lo que necesita. La red de capa 1 solo requiere que el estado final del canal se registre en la cadena de bloques.

Cadenas laterales

Una cadena lateral es esencialmente una cadena de bloques independiente que se conecta a la cadena de bloques principal utilizando una clavija bidireccional. Aumenta la interoperabilidad y la potencia de procesamiento de la cadena de bloques existente. Por ejemplo, la red de Bitcoin puede utilizar cadenas laterales para procesar transacciones aún más rápido. Esta es una de las muchas formas en que las personas obtienen más rendimiento del Bitcoin, incluso cuando técnicamente no debería ser posible.

Rollups

Básicamente, los rollups procesan transacciones fuera de la cadena de bloques de capa 1 y la publican más tarde cuando se alcanza el consenso. Esto separa gran parte del proceso que entra en el rendimiento de capa 1. Una gran parte del rompecabezas es Zero-Knowledge Rollup (ZK-Rollup), que procesa cientos de transferencias de la cadena de bloques actual y las publica en una fecha posterior. Acelera todo y, por lo tanto, es una de las mejores formas de mejorar el rendimiento.

¿Puede resolverse el trilema de la cadena de bloques?

No hay una solución al analizar cómo se puede resolver el trilema de la cadena de bloques. Teóricamente, es imposible lograr el Santo Grial. Lo mejor que podemos hacer hasta el momento es optimizar cada cadena de bloques lo máximo posible para alcanzar su objetivo establecido. Podríamos experimentar un futuro con una potencia informática virtualmente infinita y velocidades de transferencia de red geométricamente más rápidas. En ese entorno, el trilema de la cadena de bloques podría resolverse relativamente fácilmente. Dejaría de ser un problema porque las velocidades de transacción se impulsarían “a la luna”.

En resumen

El trilema de la cadena de bloques es actualmente un problema importante para la mayoría de los desarrolladores. Sin embargo, como cualquier otra cosa, una vez que entendemos la naturaleza del problema, tenemos muchas más posibilidades de encontrar una solución. Muchos desarrolladores están trabajando en las complejidades del trilema de la cadena de bloques y son bastante optimistas, por lo que nosotros también deberíamos hacerlo.