Clientes apátridas: el camino de Ethereum hacia la descentralización

Autor: YQ, fundador de AltLayer; Traducción: criptonativa Golden Finance

A medida que aumenta el uso de Ethereum, ejecutar un nodo completo exige más recursos y ancho de banda. Esto da como resultado que cada vez menos personas puedan ejecutar nodos completos, lo que hace que la red esté menos descentralizada. Además, Ethereum enfrenta dificultades para escalar a medida que aumenta la demanda de transacciones, lo que genera congestión de la red y altas tarifas de gas.

El cliente apátrida propuesto por Vitalik en 2017 ofrece una solución potencial a los desafíos de descentralización que enfrenta Ethereum. La idea clave de un cliente sin estado es reducir los requisitos de almacenamiento y ancho de banda necesarios para ejecutar un nodo completo, permitiendo que más personas participen y descentralizando la red. Este artículo analizará en profundidad cómo trabajan los clientes apátridas y sus posibles ventajas y desventajas.

¿Qué es el estado de Ethereum?

Para comprender a los clientes sin estado, primero debemos comprender el concepto de "estado" en Ethereum. El estado de Ethereum se refiere al estado actual de todas las cuentas, contratos, saldos, nonces y almacenamiento en el mundo Ethereum. Se puede considerar como una base de datos que almacena toda la información relevante sobre la red Ethereum en un momento determinado.

El estado persiste en la forma de un trie Merkle Patricia, que es esencialmente un árbol Merkle modificado que se utiliza para almacenar pares clave-valor. El hash raíz del trie resume todo el estado. Con cada nuevo bloque, el estado se actualiza en función de las transacciones en ese bloque. El nuevo hash raíz del estado se incluye en el encabezado del bloque.

Con el tiempo, el estado de Ethereum creció cada vez más a medida que se agregaron más cuentas, contratos y transacciones. Actualmente, el tamaño del estado supera el 1 TB, y cada año se añaden decenas de GB. Este estado en crecimiento es la causa fundamental del problema de la descentralización.

Por qué el crecimiento estatal causa problemas

El aumento en el tamaño del estado de Ethereum ha generado algunos problemas clave:

● Tiempo de sincronización prolongado para nodos nuevos: los nodos nuevos tardan mucho tiempo en sincronizar todos los cambios de estado históricos. Esto aumenta la dificultad de ejecutar nuevos nodos completos, lo que dificulta la descentralización. Sincronizar nuevos nodos desde el bloque de génesis con el último estado actualmente lleva muchos días o incluso semanas, lo que para el hardware de consumo es un obstáculo importante para lanzar nuevos nodos de manera efectiva y permitir que más participantes se unan a la red.

● Mayores requisitos de hardware: los estados más grandes requieren más almacenamiento, memoria y potencia de procesamiento para almacenar, acceder y actualizar. Esto hace imposible que los usuarios con menos recursos ejecuten nodos. La ejecución de un nodo Ethereum completamente sincronizado ahora requiere al menos un SSD con una capacidad de 1 a 2 TB. Esto está fuera del alcance de muchos operadores potenciales de nodos.

● Mayor uso de ancho de banda: la transmisión de un nuevo bloque también debe incluir el estado actualizado, lo que requiere más ancho de banda. Esto aumenta los costos para los operadores de nodos. Actualmente, el estado domina la mayoría de las transmisiones en bloque, por lo que el tamaño de los bloques continúa creciendo. Más ancho de banda se traduce en mayores costos para los operadores de nodos.

● Verificación de bloques lenta: leer y actualizar estados más grandes hace que la verificación de bloques sea más lenta, lo que limita el rendimiento de las transacciones. Cada transacción requiere múltiples lecturas y escrituras en el almacenamiento para actualizar saldos, nonces, estado del contrato, etc. Un estado más grande significa más lecturas/escrituras por bloque, lo que reduce la cantidad de transacciones que se pueden procesar por segundo.

● Costo de almacenamiento permanente: una vez que los datos se agregan al estado, deben almacenarse permanentemente. Esto hace que el estado ilimitado crezca. Actualmente no existe ningún mecanismo para eliminar de forma proactiva datos estatales antiguos y no utilizados. Por lo tanto, mientras Ethereum siga funcionando, los costos de retención estatales aumentarán indefinidamente.

¿Qué es un cliente apátrida?

Los clientes sin estado proporcionan una forma de validar nuevos bloques sin necesidad de acceder al estado completo de Ethereum. Utilizan pruebas criptográficas llamadas "testigos" para demostrar la validez de los cambios de estado en un bloque sin requerir datos de estado específicos.

El cliente sin estado funciona de la siguiente manera:

  1. El cliente solo almacena el encabezado del bloque y la raíz del estado, no los datos de estado completos. El encabezado del bloque contiene metadatos como el hash raíz del estado de prueba después de procesar el bloque.

  2. Al validar un nuevo bloque, el cliente recibe un "testigo" junto con el bloque. Este testigo es un conjunto de pruebas de Merkle que demuestran que una actualización de estado específica en la transacción es válida.

  3. El testigo contiene prueba Merkle de un valor estatal específico, que se utiliza para procesar transacciones. Por ejemplo, actualizaciones de saldos de cuentas o almacenamiento de contratos.

  4. El cliente utiliza un testigo para garantizar la validez del último estado raíz conocido del par de transacciones. La prueba verifica que el cambio de estado coincide con la raíz anterior.

  5. Si es válido, el cliente se actualiza al nuevo estado raíz proporcionado en el encabezado del bloque. Esta nueva raíz de estado se utilizará para validar el siguiente bloque.

Al utilizar testigos para verificar el estado, en lugar de almacenar el estado completo localmente, los clientes sin estado obtienen varias ventajas:

● Tiempos de sincronización muy rápidos: no es necesario sincronizar completamente los cambios de estado históricos. Los clientes sin estado pueden sincronizarse casi instantáneamente y solo requieren encabezados de bloque.

● Bajos requisitos de almacenamiento: el estado raíz es de sólo 32 bytes. En lugar de cientos de gigabytes de estado, sólo se necesitan encabezados de bloque.

● Menos uso de ancho de banda: sólo se transmiten encabezados de bloque y testigos, en lugar del estado completo. Se minimiza el uso de ancho de banda.

● Verificación rápida: los testigos contienen sólo un pequeño subconjunto de estados relevantes. Sólo las cuentas/tiendas actualizadas han demostrado ser útiles.

● Admite fácilmente clientes ligeros: los clientes ligeros pueden verificar pruebas fácilmente. El modelo de cliente ligero es muy compatible con la validación sin estado.

Desafíos de los clientes apátridas

Si bien los clientes apátridas aportan algunos beneficios importantes, también existen algunos desafíos técnicos importantes:

● Tamaño de los testigos: los testigos pueden ser demasiado grandes para transmitirse de manera eficiente. Si se utilizan pruebas completas de Merkle, pueden exceder el límite de tamaño de bloque.

● Creación de testigos: generar testigos óptimos es complejo para los proponentes de bloques. El proponente debe reunir las pruebas correctas para verificar cada transacción.

● Sin incentivos para testigos: no hay recompensa directa por brindar testimonio. A diferencia de la minería, no existen incentivos incorporados para la creación de testigos.

● Datos temporales: los testigos demuestran el estado en un momento determinado y deben regenerarse. Los testigos no se pueden reutilizar durante el desarrollo estatal.

● Almacenamiento de estado: alguien aún necesita mantener el estado completo para generar testigos. La validación sin estado se basa en la generación de testigos con estado.

● Aplicaciones complejas: algunos contratos pueden depender de subconjuntos más grandes de estados, lo que hace que el testigo esté inflado. Por ejemplo, un contrato que actualiza muchos espacios de almacenamiento por transacción.

Soluciones posibles

Los investigadores han propuesto varias soluciones para abordar estos desafíos:

● Árbol Verkle: una estructura de datos especial utilizada para reducir el tamaño de los testigos. Los árboles Verkle utilizan compromisos criptográficos concisos para minimizar el tamaño de la prueba.

● Caché de testigos: los proponentes pueden mantener testigos recientes para su reutilización. El almacenamiento en caché puede resultar útil nuevamente en caso de que el costo de creación se pueda amortizar.

● Incentivos de protocolo: proporcionan un mecanismo de recompensa para testigos útiles. Nuevas estructuras de incentivos pueden compensar la creación de testigos.

● Raíces de estado intermedio: realice un seguimiento de las raíces a lo largo del tiempo para evitar la regeneración de pruebas. Mantener partes de la raíz permite la reutilización de fragmentos testigo.

● Alquiler por condición: requiere pago para mantener la condición a lo largo del tiempo, podando la condición no utilizada. Rent exige la limpieza del almacenamiento obsoleto para limitar el tamaño de la prueba.

● Modelo de testigo particionado: procesamiento de estado dividido entre proponentes y validadores. Varios nodos proponentes dedicados generan testigos.

Existen compensaciones entre estos enfoques y se necesita más investigación para descubrir la implementación óptima. Afortunadamente, la rápida innovación en criptografía de conocimiento cero puede generar nuevas posibilidades para clientes apátridas eficientes.

Impacto potencial

Si se pueden superar los obstáculos técnicos, los clientes apátridas podrían impulsar significativamente el crecimiento de Ethereum:

● Sincronización y verificación más rápidas para soportar un mayor rendimiento de transacciones. La verificación sin estado acelerará enormemente el procesamiento de bloques.

● Reducir los recursos necesarios para ejecutar nodos y mejorar la descentralización. De manera realista, las computadoras portátiles y los aficionados pueden ejecutar nodos completos.

● Mejor soporte para clientes livianos, como billeteras móviles. La prueba de estado es altamente compatible con el modelo de cliente ligero.

● Introduzca la fragmentación con mayor fluidez y realice una verificación sin estado entre fragmentos. Las transacciones entre fragmentos pueden aprovechar pruebas estatales eficientes.

● La capacidad de eliminar y podar datos de estado antiguo que ya no son útiles. El crecimiento del Estado se puede gestionar activamente, en lugar de crecer indefinidamente.

● La capacidad de los operadores de nodos de personalizar de manera más flexible el estado según las necesidades. Los nodos pueden personalizar las políticas de retención de estado según los casos de uso.

● Transición a un modelo en el que la computación y el ancho de banda sean más importantes que el almacenamiento. Cambios de arquitectura hacia modelos más amigables con la nube.

También existen riesgos potenciales, como una mayor vulnerabilidad a los ataques DDoS y el hecho de que solo unos pocos operadores de nodos almacenan de manera confiable el historial de blockchain. Sin embargo, las pruebas criptográficas pueden reducir estos riesgos. En general, los clientes apátridas son una de las formas más prometedoras de superar las limitaciones actuales de Ethereum.

en conclusión

A medida que aumenta la adopción, el creciente tamaño del estado de Ethereum plantea un desafío para la descentralización. Los clientes sin estado brindan una solución al permitir que los nodos verifiquen transacciones sin requerir el estado completo de la cadena de bloques. Esto podría eventualmente permitir que los teléfonos móviles ejecuten nodos Ethereum, aumentando considerablemente la descentralización.

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)