Desafíos de Ethereum y Propuestas de Mejora
Ethereum (ETH) enfrenta un cuello de botella del 80% en la eficiencia de prueba. Vitalik Buterin ha propuesto dos cambios técnicos para abordar este desafío en la red blockchain, según lo expuesto en la propuesta EIP-7864 y la documentación relacionada.
Propuesta a Corto Plazo: EIP-7864
La propuesta a corto plazo, designada como EIP-7864, sugiere reemplazar el actual árbol Merkle Patricia hexario keccak de Ethereum por una estructura de árbol binario que utiliza una función hash más eficiente. La estructura hexaria existente fue diseñada con prioridades diferentes a las que los desarrolladores de Ethereum están buscando actualmente en su arquitectura pesada en pruebas.
La nueva estructura del árbol binario generaría ramas Merkle que son cuatro veces más cortas que el sistema actual, ya que las operaciones binarias requieren 32 veces log(n), en comparación con las 512 veces log(n) divididas por 4 del hexario, según las especificaciones técnicas de la propuesta.
Esta reducción disminuiría los costos de verificación de ramas del lado del cliente y reduciría los requisitos de ancho de banda de datos para herramientas como Helios y sistemas de recuperación de información privada en el mismo factor, según se afirma en la propuesta.
Mejoras en la Eficiencia de Prueba
Las mejoras en la eficiencia de prueba no solo se limitarían a la longitud de las ramas. La propuesta indica que las ramas más cortas ofrecerían una mejora de tres a cuatro veces, independientemente de la optimización de la función hash. Implementar blake3 en lugar de keccak podría proporcionar una mejora adicional de tres veces, mientras que una variante de Poseidon podría potencialmente ofrecer una mejora de hasta 100 veces, aunque se requiere un análisis de seguridad adicional antes de implementar Poseidon, según el documento.
El diseño del árbol binario incluye un sistema de almacenamiento basado en páginas que agrupa espacios de almacenamiento adyacentes en páginas de 64 a 256 espacios, aproximadamente de 2 a 8 kilobytes. El encabezado del bloque y los primeros 1 a 4 kilobytes de código y almacenamiento compartirían la misma página, permitiendo que los contratos que leen de los espacios de almacenamiento iniciales se beneficien de la eficiencia por lotes en lugar de los costos de acceso individuales.
La propuesta estima que esto podría ahorrar más de 10,000 gas por transacción para aplicaciones descentralizadas que cargan datos desde espacios de almacenamiento iniciales, lo que representa una parte sustancial de los contratos activos desplegados.
Propuesta a Largo Plazo: Reemplazo de la EVM
La propuesta a largo plazo implica reemplazar la Máquina Virtual de Ethereum (EVM) con una máquina virtual más eficiente, como RISC-V. La propuesta argumenta que la arquitectura de la EVM no está optimizada para una blockchain pesada en pruebas y que su reemplazo abordaría ineficiencias fundamentales en lugar de gestionarlas a través de precompilaciones acumuladas y soluciones alternativas.
Buterin cita cuatro ventajas de RISC-V sobre la EVM:
- Eficiencia de ejecución en bruto: RISC-V supera a la EVM en un grado que eliminaría la necesidad de muchas precompilaciones.
- Eficiencia del probador: Los probadores de conocimiento cero están actualmente escritos en RISC-V.
- Prueba del lado del cliente: Una VM RISC-V permitiría a los usuarios generar pruebas de conocimiento cero localmente.
- Simplicidad: Un intérprete de RISC-V puede implementarse en varios cientos de líneas de código.
Hoja de Ruta de Implementación
La hoja de ruta de implementación delineada en la propuesta incluye tres etapas:
- Una nueva máquina virtual, potencialmente RISC-V, manejaría solo precompilaciones.
- Los usuarios podrían desplegar contratos directamente en la nueva VM.
- La EVM sería retirada y reimplementada como un contrato inteligente escrito en la nueva VM.
Buterin caracteriza ambos cambios como abordando el mismo desafío fundamental desde diferentes ángulos. El árbol de estado y la VM juntos representan más del 80% del cuello de botella en la eficiencia de prueba, según la propuesta.
«Abordar cualquiera de los componentes sin el otro deja el problema más grande parcialmente sin resolver, mientras que abordar ambos produciría un protocolo estructuralmente alineado con la arquitectura pesada en pruebas de conocimiento cero que Ethereum ha estado desarrollando.»
La propuesta reconoce que el reemplazo de la VM no cuenta actualmente con consenso dentro de la comunidad de desarrollo de Ethereum, describiéndolo como un cambio que se volverá más evidente una vez que se completen las modificaciones del árbol de estado.