Aleo es un proyecto blockchain centrado en la protección de la privacidad, logrando mayor privacidad y escalabilidad a través de tecnología de prueba de conocimiento cero (ZKP). La idea central de Aleo es permitir a los usuarios autenticar y procesar datos sin revelar sus datos personales.

Este artículo presenta principalmente el esquema del proyecto Aleo y los últimos avances, y proporciona una explicación detallada de la actualización del algoritmo de rompecabezas que preocupa mucho al mercado.

Un adelanto del último algoritmo

La red Aleo genera aleatoriamente un circuito ZK cada hora; los mineros deben probar diferentes nonce como entrada del circuito durante esta hora, calcular el testigo (es decir, todas las variables en el circuito, este proceso de cálculo también se llama sintetizar) y encuentre la raíz de Merkle para el testigo. Finalmente, determine si cumple con los requisitos de dificultad minera. Debido a la aleatoriedad del circuito, este algoritmo de minería no es compatible con las GPU y tiene grandes dificultades para calcular la aceleración.

Antecedentes financieros

Aleo completó una ronda de financiación Serie A de 28 millones de dólares en 2021, liderada por a16z, y una ronda de financiación Serie B de 200 millones de dólares en 2024, con inversores como Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures y Samsung. A continuación, entre otros. La ronda de financiación valora a Aleo en 1.450 millones de dólares.

Descripción del proyecto

Privacidad

En el núcleo de Aleo se encuentra la tecnología de prueba de conocimiento cero (ZKP), que permite realizar transacciones y ejecución de contratos inteligentes manteniendo la privacidad. Los detalles de la transacción del usuario, como el remitente y el monto de la transacción, están ocultos de forma predeterminada. Este diseño no solo protege la privacidad del usuario, sino que también permite la divulgación selectiva cuando sea necesario, lo cual es muy adecuado para el desarrollo de aplicaciones DeFi. Sus componentes principales incluyen:

  • Lenguaje compilado Leo: adaptado del lenguaje Rust y utilizado específicamente para desarrollar aplicaciones de conocimiento cero (ZKApps), lo que reduce los requisitos de conocimiento de criptografía de los desarrolladores.

  • snarkVM y snarkOS: snarkVM permite realizar cálculos fuera de la cadena y solo los resultados del cálculo se verifican en la cadena, mejorando así la eficiencia. snarkOS garantiza la seguridad de los datos y los cálculos y permite la ejecución de funciones sin permiso.

  • zkCloud: proporciona un entorno informático fuera de cadena seguro y privado, que admite interacciones de programación entre usuarios, organizaciones y DAO.

Aleo también proporciona un entorno de desarrollo integrado (IDE) y un kit de desarrollo de software (SDK) para ayudar a los desarrolladores a escribir y publicar aplicaciones rápidamente. Además, los desarrolladores pueden implementar aplicaciones en el registro de programas de Aleo sin depender de terceros, lo cual es conveniente para reducir el riesgo de la plataforma; .

Escalabilidad

Aleo adopta un método de procesamiento fuera de la cadena. La transacción primero se calcula en el dispositivo del usuario para probarla y luego solo se carga el resultado de la verificación en la cadena de bloques. Este método mejora en gran medida la velocidad de procesamiento de las transacciones y la escalabilidad del sistema, y ​​evita la congestión de la red y tarifas elevadas similares a las de Ethereum.

mecanismo de consenso

Aleo presenta AleoBFT, un mecanismo de consenso de arquitectura híbrida que combina la finalidad instantánea de los validadores con la potencia informática de los probadores. AleoBFT no sólo aumenta la descentralización de la red, sino que también mejora el rendimiento y la seguridad.

  • Finalidad rápida del bloque: AleoBFT garantiza que cada bloque se confirme inmediatamente después de la generación, lo que mejora la estabilidad del nodo y la experiencia del usuario.

  • Garantía de descentralización: al separar la producción de bloques de la generación de coinbase, el verificador es responsable de generar bloques y el probador realiza cálculos de prueba para evitar que unas pocas entidades monopolicen la red.

  • Mecanismo de incentivo: los verificadores y certificadores comparten recompensas en bloque; se anima a los certificadores a convertirse en verificadores prometiendo tokens, mejorando así la descentralización y la potencia informática de la red.

Aleo permite a los desarrolladores crear aplicaciones que no están ligadas a gas, lo que lo hace especialmente adecuado para aplicaciones de larga duración como el aprendizaje automático.

Progreso actual

Aleo lanzará su testnet incentivado el 1 de julio. Aquí hay información importante y reciente:

  • Votación ARC-100 aprobada: La votación para ARC-100 (propuesta de "Mejores prácticas de cumplimiento para desarrolladores y operadores de Aleo", que involucra aspectos de cumplimiento, bloqueo y retraso en el pago de fondos en la red Aleo, etc.) finalizó y fue aprobada. El equipo está haciendo los ajustes finales.

  • Programa de incentivos para validadores: este programa se lanzará el 1 de julio para validar nuevos mecanismos de rompecabezas. El programa se extenderá hasta el 15 de julio, tiempo durante el cual se distribuirán 1 millón de puntos Aleo como recompensa. El porcentaje de puntos generados por un nodo determinará su proporción de recompensas, y cada validador deberá ganar al menos 100 tokens para recibir recompensas. Los detalles específicos aún no se han finalizado.

  • Oferta inicial y oferta circulante: la oferta inicial es de 1.500 millones de tokens y la oferta circulante inicial es aproximadamente el 10 % (aún no finalizada). Los tokens, derivados principalmente de las misiones de Coinbase (75 millones), se distribuirán durante los primeros seis meses e incluirán recompensas por apostar, ejecutar validadores y validar nodos.

  • Reinicio Beta de Testnet: este es el último reinicio de la red, no se agregarán nuevas funciones cuando se complete y la red será similar a la red principal. Reinicie para agregar ARC-41 y una nueva funcionalidad de rompecabezas.

  • Congelación de código: la congelación de código se completó hace una semana.

  • Plan de expansión de nodos de validación: el número inicial de nodos de validación es 15, con el objetivo de aumentar a 50 dentro de un año y eventualmente llegar a 500. Se necesitan 10.000 tokens para convertirse en delegador y 10 millones de tokens para convertirse en validador, y estas cantidades disminuirán gradualmente con el tiempo.

Interpretación de actualizaciones de algoritmos.

Si bien Aleo anunció recientemente las últimas noticias de testnet, también actualizó la última versión del algoritmo de rompecabezas. El nuevo algoritmo ya no se centra en la generación de resultados de prueba de zk y eliminó MSM y NTT (ambos son cálculos muy utilizados en zk). módulo de generación de pruebas), los participantes anteriores de la testnet optimizaron la eficiencia del algoritmo para aumentar los ingresos mineros), centrándose en la generación de testigos de datos intermedios antes de generar pruebas. Daremos una breve introducción al último algoritmo después de consultar las especificaciones y el código oficiales del rompecabezas.

proceso de consenso

A nivel de protocolo de consenso, el probador y validador en su proceso son responsables de generar resultados de cálculo, generación de solución y bloque, agregación y solución de empaquetado respectivamente. El proceso es el siguiente:

  1. Prover calcula el rompecabezas para construir soluciones y las transmite a la red.

  2. El validador agrega transacciones y soluciones en el siguiente bloque nuevo, asegurando que la cantidad de soluciones no exceda el límite de consenso (MAX_SOLUTIONS)

  3. Es necesario verificar la legalidad de la solución para que su epoch_hash se ajuste al último_epoch_hash mantenido por el validador y que su prueba_objetivo calculado se ajuste al último_prueba_objetivo mantenido por el validador en la red. Al mismo tiempo, la cantidad de soluciones contenidas en el bloque. es menor que el límite de consenso.

  4. Las soluciones eficaces pueden recibir recompensas por consenso

Rompecabezas de síntesis

El núcleo de la última versión del algoritmo se llama Synthesis Puzzle. Su núcleo es generar un EpochProgram común para cada época mediante la construcción de un circuito de prueba R 1 CS para la entrada y EpochProgram, la asignación R 1 CS correspondiente (es decir, el testigo que todos mencionaron) se genera y como nodo hoja del árbol Merkle, después de calcular todos los nodos hoja, se genera la raíz de Merkle y se convierte en el objetivo de prueba de la solución. El proceso detallado y las especificaciones para construir Synthesis Puzzle son los siguientes:

1. Cada cálculo de rompecabezas se llama nonce, que se construye a partir de la dirección que recibe la recompensa minera, epoch_hash y un contador de números aleatorios. Cada vez que es necesario calcular una nueva solución, se puede obtener un nuevo nonce actualizando el contador.

2. En cada época, el EpochProgram que todos los probadores en la red deben calcular es el mismo. Se extrae del conjunto de instrucciones mediante el número aleatorio generado por el epoch_hash actual.

  • El conjunto de instrucciones es fijo. Cada instrucción contiene una o más operaciones de cálculo. Cada instrucción tiene un peso y un recuento de operaciones preestablecidos.

  • Al realizar el muestreo, se genera un número aleatorio en función del epoch_hash actual. Según el número aleatorio, las instrucciones se obtienen del conjunto de instrucciones combinadas con el peso y se organizan en orden. El muestreo se detiene después de que el recuento de operaciones acumuladas llega a 97.

  • Combine todas las instrucciones en EpochProgram

3. Utilice nonce como semilla de número aleatorio para generar la entrada de EpochProgram

4. Agregue R 1 CS y la entrada correspondiente a EpochProgram y realice el cálculo del testigo (asignación de R 1 CS)

5. Una vez calculados todos los testigos, estos testigos se convertirán en secuencias de nodos de hojas del árbol merkle correspondiente. El árbol merkle es un árbol K-ary Merkle de 8 elementos con una profundidad de 8.

6. Calcule la raíz de merkle y conviértala en el objetivo de prueba de la solución, y determine si cumple con el objetivo de prueba más reciente de la época actual. Si cumple con el cálculo, el cálculo se realizó correctamente. Envíe la dirección de recompensa, el epoch_hash y el contador necesarios para construir. la entrada anterior como la solución y transmítala.

7. En la misma época, la entrada de EpochProgram se puede actualizar iterando el contador para realizar múltiples cálculos de solución.

Cambios e impactos de la minería

Después de esta actualización, el rompecabezas pasó de generar pruebas a generar testigos. La lógica de cálculo de todas las soluciones en cada época es la misma, pero la lógica de cálculo de diferentes épocas es bastante diferente.

De la red de prueba anterior, podemos encontrar que muchos métodos de optimización se centran en usar GPU para optimizar los cálculos de MSM y NTT en la etapa de generación de pruebas para mejorar la eficiencia de la minería. Esta actualización abandona por completo esta parte del cálculo al mismo tiempo; el proceso de generación de testigos Debido a que la ejecución de un programa cambia con la época, las instrucciones que contiene tendrán algunas dependencias de la ejecución en serie, por lo que lograr la paralelización es un gran desafío.