Topics Conocimiento tecnológico profundo

El trilema de la blockchain: ¿se podrá resolver alguna vez?

Avanzado
Conocimiento tecnológico profundo
2022年6月27日

El mundo que nos rodea se trata de 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 de la cadena de bloques, la seguridad y la descentralización pueden funcionar juntas. Estas tres características son fundamentales para el funcionamiento de las cadenas de bloques, con un reconocimiento creciente de que solo se pueden obtener dos de las 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 se pueden representar en una cadena de bloques.

El término trilema de cadena de bloques 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 Bitcoin. El principal problema con 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 las 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 no ideales. Esto hace que sea subóptimo si está intentando usarlo como moneda. En comparación con procesadores de tarjetas como Visa y Mastercard, Bitcoin se queda rezagado porque la competencia procesa transacciones en milisegundos. Aunque esta situación se ha solucionado gracias a la Red Lightning, esta solución de escalado de capa 2 presenta su parte justa de problemas. En última instancia, cualquier criptomoneda que busque ser utilizada 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 concluido que lograr las tres características es imposible, y que se trata de hacer lo que es posible con la tecnología actual, y de 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 del blockchain es una razón importante por la que las personas prefieren las criptomonedas en lugar de las divisas fiduciarias actuales. Cuando una persona o entidad controla su moneda, usted siempre está a su merced. Un ejemplo es el gobierno de EE. UU. y su monopolio sobre el dólar estadounidense. Si está en una lista negra o sancionado, sus activos en dólares podrían congelarse. Nunca tiene un control absoluto sobre su moneda. La descentralización de la cadena de bloques resuelve este problema garantizando que ninguna persona o entidad controle el activo. El bitcoin es el ejemplo más famoso. En esencia, nadie controla su acceso a Bitcoin, y usted puede poseer y transportar libremente su 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 lograrla. Un obstáculo es la gestión de la red. La red de 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 resistente y funcione siempre sin tiempo de inactividad. 

Sin embargo, debido a esto, controlan todo para que los tiempos de transacción sean inferiores a un segundo. Además, los cargos por transacción son relativamente bajos en comparación con muchas otras redes. Debido a esto, muchas personas están avanzando hacia una sociedad sin efectivo que eliminará la necesidad de llevar dinero físico.

Como puede 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 sacrifique otra característica 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 individuo 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.

Idealmente, los proyectos desearían que su cadena de bloques fuera capaz de escalar 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 usted necesitara esperar 20 minutos o más para que se procese su transacción, y ninguna tienda querría usar esta red si tuviera líneas largas porque tardaba tanto en procesar las transacciones. La escalabilidad de la cadena de bloques debe integrarse 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 característica 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, aprovechando 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 lograrla. Esto podría ser un problema si también entra en vigor la descentralización de la cadena de bloques. Cuando se combina esta necesidad con las realidades de la descentralización y escalabilidad de la cadena de bloques, significa que hay que ampliar enormemente la potencia de procesamiento para lograr una pequeña mejora en la calificación de TPS. Estas son las cosas que los desarrolladores de blockchain deben equilibrar al intentar 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 escribe una transacción en el libro mayor de cadena de bloques, ¿cómo se asegura 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 características 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 que la seguridad ha ido mal es con cadenas de bloques que utilizan contratos inteligentes.

Seguridad frente a 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 utilice 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 tienen que decidir entre procesar más transacciones o mantener una seguridad mejorada. 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 de cadena de bloques simultáneas ideales. Actualmente, muchas personas intentan averiguar cómo hacer que ambos conceptos funcionen correctamente, sin grandes inconvenientes 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 es la empresa de procesamiento de tarjetas de crédito la que ha sido explotada. 

La mayoría de las cadenas de bloques son bastante seguras y las brechas de seguridad no son un problema continuo para la mayoría de las redes. Sin embargo, como se mencionó, la seguridad tiene un precio de 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 del blockchain

Solana (SOL)

Solana intenta resolver el trilema de la cadena de bloques utilizando servidores de nivel empresarial y un
Sistema de prueba de apuesta (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 USD, con el requisito de apostar miles de monedas para formar parte del clúster de procesamiento, algo que, en general, solo es posible para corporaciones y personas adineradas. Esto dificulta los esfuerzos de descentralización, ya que el SOL es una moneda que solo una minoría de las personas pueden apoyar.

Polkadot (DOT)

Polkadot ofrece un novedoso esquema de validez y disponibilidad de datos para permitir que muchos tipos de cadenas de bloques trabajen entre sí, con la capacidad de crear una cadena de bloques personalizada bastante rápidoEsto significa que obtienes interoperabilidad y seguridad al mismo tiempo. Utiliza un marco de POS de próxima generación para lograr la eficiencia energética. El corazón de esta cadena de bloques son su cadena de relés y paracadena. También utiliza validadores como una 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 integrada. Sin embargo, esa seguridad sacrifica la velocidad de procesamiento, lo que significa que la red no procesa las transacciones tan rápido como otros. Sin embargo, es mucho más fácil formar 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 de criptomonedas más utilizados. El protocolo de consenso aBFT de Fantom permite a la red lograr 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 ni 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 de 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 apuestan 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 de la cadena de bloques como para la escalabilidad. Sin embargo, no se incentiva a muchas personas para que se conviertan 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, es mejor que las redes de PoW cambien 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 fundacionales de la capa 0 no se pueden exagerar. No se puede hacer nada bien si esta capa no está bien diseñada.

Cadenas de relés

La cadena de relés de Polkadot permite que varias redes de cadena de bloques se conecten entre sí con bastante facilidad porque pueden conectarse a muchas redes sin los inconvenientes inherentes al trilema de la cadena de bloques. Las paracadenas se ejecutan en paralelo a la cadena de bloques Polkadot. Utilizan Polkadot Relay Chain para lograr la máxima escalabilidad, seguridad y gobernanza.

Capa 1

La consideración principal para la capa 1 es averiguar cómo escalar. Esto significa ajustar 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 sólida 1 siempre terminan teniendo problemas en el futuro.

Mejoras del protocolo de consenso

Hay muchas formas de lograr el consenso en una cadena de bloques, pero cuanto más rápido se hace, mejor puede resolver el trilema de la cadena de bloques. El principal problema es garantizar que se logre 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 correcto. Los líderes se eligen con anticipación, lo que ahorra tiempo para lograr el consenso de la red.

Rasguño

La fragmentación 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 en múltiples servidores. De lo contrario, tendría que mantener toda la base de datos en un servidor. Lo mismo ocurre con una cadena de bloques. Si cada validador debe contener toda la cadena de bloques, es ineficiente porque hay varios validadores que conservan los mismos datos, incluso cuando no los necesitan. Esto hace que sea difícil lograr el consenso porque tiene que hacerse entre todos los nodos de la cadena del validador. 

El fragmentado divide la cadena de bloques y la separa entre múltiples 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 bajar. En este caso, se perdería toda la pieza 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 una 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 de la red y la potencia de procesamiento aumenten geométricamente.

Capa 2

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

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 separada que se conecta a la cadena de bloques principal mediante el uso de 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, las agrupaciones procesan transacciones fuera de la cadena de bloques de capa 1 y las publican más tarde cuando se alcanza el consenso. Esto separa gran parte del proceso que entra en el rendimiento de la capa 1. Una gran pieza del rompecabezas es el 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.

¿Se puede resolver el trilema de la cadena de bloques?

No hay una solución para ver 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 ahora es optimizar cada cadena de bloques lo máximo posible para lograr su objetivo establecido. Podríamos experimentar un futuro con una potencia informática prácticamente 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, así que nosotros también deberíamos hacerlo.