Aleo é um projeto blockchain focado na proteção da privacidade, alcançando maior privacidade e escalabilidade através da tecnologia de prova de conhecimento zero (ZKP). A ideia central do Aleo é permitir que os usuários autentiquem e processem dados sem revelar seus dados pessoais.

Este artigo apresenta principalmente o esboço do projeto Aleo e o progresso mais recente, e fornece uma explicação detalhada da atualização do algoritmo do quebra-cabeça que preocupa o mercado.

Uma prévia do algoritmo mais recente

A rede Aleo gera aleatoriamente um circuito ZK a cada hora, os mineradores precisam tentar diferentes nonce como entrada do circuito durante esta hora, calcular a testemunha (ou seja, todas as variáveis ​​no circuito, esse processo de cálculo também é chamado de sintetizar), e encontre a raiz Merkle para a testemunha. Finalmente, determine se ela atende aos requisitos de dificuldade de mineração. Devido à aleatoriedade do circuito, esse algoritmo de mineração não é amigável para GPUs e tem grande dificuldade em computar aceleração.

Histórico de financiamento

Aleo concluiu uma rodada de financiamento Série A de US$ 28 milhões em 2021, liderada por a16z, e uma rodada de financiamento Série B de US$ 200 milhões em 2024, com investidores incluindo Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures e Samsung A seguir, entre outros. A rodada de financiamento avalia Aleo em US$ 1,45 bilhão.

Visão Geral do Projeto

Privacidade

No centro do Aleo está a tecnologia de provas de conhecimento zero (ZKPs), que permite que transações e execução inteligente de contratos sejam realizadas, mantendo a privacidade. Os detalhes da transação do usuário, como remetente e valor da transação, ficam ocultos por padrão. Este design não apenas protege a privacidade do usuário, mas também permite a divulgação seletiva quando necessário, o que é muito adequado para o desenvolvimento de aplicações DeFi. Seus principais componentes incluem:

  • Linguagem compilada Leo: adaptada da linguagem Rust e usada especificamente para desenvolver aplicativos de conhecimento zero (ZKApps), reduzindo os requisitos dos desenvolvedores para conhecimento de criptografia.

  • snarkVM e snarkOS: o snarkVM permite que os cálculos sejam realizados fora da cadeia e apenas os resultados dos cálculos sejam verificados na cadeia, melhorando assim a eficiência. snarkOS garante a segurança dos dados e da computação e permite a execução de funções sem permissão.

  • zkCloud: Fornece um ambiente de computação fora da cadeia seguro e privado, suportando interações de programação entre usuários, organizações e DAOs.

Aleo também fornece um ambiente de desenvolvimento integrado (IDE) e kit de desenvolvimento de software (SDK) para apoiar os desenvolvedores a escrever e publicar aplicativos rapidamente. Além disso, os desenvolvedores podem implantar aplicativos no registro de programas do Aleo sem depender de terceiros, o que é conveniente Redução do risco da plataforma; .

Escalabilidade

Aleo adota um método de processamento fora da cadeia. A transação é primeiro calculada no dispositivo do usuário para comprová-la e, em seguida, apenas o resultado da verificação é carregado no blockchain. Essa abordagem melhora muito a velocidade de processamento de transações e a escalabilidade do sistema, além de evitar congestionamento de rede e altas taxas semelhantes às do Ethereum.

mecanismo de consenso

Aleo apresenta AleoBFT, um mecanismo de consenso de arquitetura híbrida que combina a finalidade instantânea dos validadores com o poder computacional dos provadores. AleoBFT não só aumenta a descentralização da rede, mas também melhora o desempenho e a segurança.

  • Finalidade rápida do bloco: AleoBFT garante que cada bloco seja confirmado imediatamente após a geração, melhorando a estabilidade do nó e a experiência do usuário.

  • Garantia de descentralização: Ao separar a produção de blocos da geração de coinbase, o verificador é responsável por gerar blocos e o provador realiza cálculos de prova para evitar que algumas entidades monopolizem a rede.

  • Mecanismo de incentivo: Verificadores e certificadores compartilham recompensas em bloco. Os certificadores são incentivados a se tornarem verificadores através do penhor de tokens, melhorando assim a descentralização e o poder computacional da rede.

Aleo permite que os desenvolvedores criem aplicativos que não sejam limitados por gás, tornando-o especialmente adequado para aplicativos de longa duração, como aprendizado de máquina.

Progresso atual

Aleo lançará sua testnet incentivada em 1º de julho. Aqui estão algumas informações importantes e recentes:

  • Votação ARC-100 aprovada: A votação para ARC-100 (proposta "Melhores Práticas de Conformidade para Desenvolvedores e Operadores Aleo", envolvendo aspectos de conformidade, bloqueio e atraso no pagamento de fundos na rede Aleo, etc.) terminou e foi aprovada. A equipe está fazendo os ajustes finais.

  • Programa de Incentivo ao Validador: Este programa será lançado em 1º de julho para validar novos mecanismos de quebra-cabeça. O programa vai até 15 de julho, período em que 1 milhão de pontos Aleo serão distribuídos como recompensa. A porcentagem de pontos gerados por um nó determinará sua parcela de recompensas, sendo que cada validador precisará ganhar pelo menos 100 tokens para receber as recompensas. Detalhes específicos ainda não foram finalizados.

  • Fornecimento inicial e fornecimento circulante: O fornecimento inicial é de 1,5 bilhão de tokens e o fornecimento inicial em circulação é de aproximadamente 10% (ainda não finalizado). Os tokens, derivados principalmente de missões da Coinbase (75 milhões), serão distribuídos ao longo dos primeiros seis meses e incluirão recompensas por piquetagem, execução de validadores e validação de nós.

  • Testnet Beta Reset: Esta é a última redefinição da rede, nenhum novo recurso será adicionado quando concluído e a rede será semelhante à mainnet. Redefina para adicionar ARC-41 e novas funcionalidades de quebra-cabeça.

  • Congelamento de código: O congelamento de código foi concluído há uma semana.

  • Plano de expansão dos nós de validação: O número inicial de nós de validação é 15, com a meta de aumentar para 50 dentro do ano e eventualmente chegar a 500. São necessários 10.000 tokens para se tornar um delegador e 10 milhões de tokens para se tornar um validador, e esses valores diminuirão gradualmente com o tempo.

Interpretação de atualizações de algoritmo

Embora Aleo tenha anunciado recentemente as últimas notícias do testnet, ele também atualizou a versão mais recente do algoritmo de quebra-cabeça. O novo algoritmo não se concentra mais na geração de resultados de prova zk e removeu MSM e NTT (ambos cálculos muito usados ​​em zk). módulo de geração de prova), os participantes anteriores da testnet otimizaram a eficiência do algoritmo para aumentar a receita de mineração) cálculos, com foco na geração de testemunhas de dados intermediários antes de gerar a prova. Daremos uma breve introdução ao algoritmo mais recente após consultar as especificações e o código oficial do quebra-cabeça.

processo de consenso

No nível do protocolo de consenso, o provador e o validador no processo são respectivamente responsáveis ​​por gerar a solução do resultado do cálculo e gerar blocos e agregar e empacotar a solução. O processo é como se segue:

  1. O provador calcula o quebra-cabeça para construir soluções e as transmite para a rede

  2. O validador agrega transações e soluções no próximo novo bloco, garantindo que o número de soluções não exceda o limite de consenso (MAX_SOLUTIONS)

  3. A legalidade da Solução precisa ser verificada se seu epoch_hash está em conformidade com o last_epoch_hash mantido pelo validador, e seu proof_target calculado está em conformidade com o last_proof_target mantido pelo validador na rede. Ao mesmo tempo, o número de soluções contidas no bloco. é menor que o limite de consenso.

  4. Soluções eficazes podem receber recompensas de consenso

Quebra-cabeça de síntese

O núcleo da versão mais recente do algoritmo é chamado Synthesis Puzzle. Seu núcleo é gerar um EpochProgram comum para cada época. Construindo um circuito de prova R 1 CS para a entrada e o EpochProgram, a atribuição R 1 CS correspondente (ou seja, a testemunha que todos mencionaram) é gerada e como o nó folha da árvore Merkle, após calcular todos os nós folha, a raiz Merkle é gerada e convertida no proof_target da solução. O processo detalhado e as especificações para a construção do Synthesis Puzzle são os seguintes:

1. Cada cálculo do quebra-cabeça é chamado de nonce, que é construído a partir do endereço que recebe a recompensa de mineração, epoch_hash e um contador de números aleatórios. Cada vez que uma nova solução precisa ser calculada, um novo nonce pode ser obtido atualizando o contador.

2. Em cada época, o EpochProgram que todos os provadores na rede precisam calcular é o mesmo. Ele é amostrado a partir do conjunto de instruções pelo número aleatório gerado pelo epoch_hash atual.

  • O conjunto de instruções é fixo. Cada instrução contém uma ou mais operações de cálculo. Cada instrução possui um peso predefinido e uma contagem de operações.

  • Ao amostrar, um número aleatório é gerado com base no epoch_hash atual. De acordo com o número aleatório, as instruções são obtidas do conjunto de instruções combinadas com o peso e organizadas em ordem após a contagem cumulativa de operações atingir 97.

  • Combine todas as instruções no EpochProgram

3. Use nonce como uma semente de número aleatório para gerar a entrada do EpochProgram

4. Agregar R 1 CS e entrada correspondente ao EpochProgram e realizar cálculo de testemunha (atribuição R 1 CS)

5. Depois que todas as testemunhas forem calculadas, essas testemunhas serão convertidas em sequências de nós de folha da árvore merkle correspondente. A árvore merkle é uma árvore K-ary Merkle de 8 elementos com profundidade de 8.

6. Calcule a raiz merkle e converta-a no proof_target da solução e determine se ela atende ao last_proof_target da época atual. Se atender ao cálculo, o cálculo foi bem-sucedido. Envie o endereço de recompensa, epoch_hash e contador necessários para construir. a entrada acima como a solução e transmiti-la.

7. Na mesma época, a entrada do EpochProgram pode ser atualizada iterando o contador para realizar vários cálculos de solução.

Mudanças e impactos na mineração

Após esta atualização, o quebra-cabeça mudou de geração de prova para geração de testemunha. A lógica de cálculo de todas as soluções em cada época é a mesma, mas a lógica de cálculo de diferentes épocas é bem diferente.

Na rede de teste anterior, podemos descobrir que muitos métodos de otimização se concentram no uso de GPU para otimizar os cálculos MSM e NTT na fase de geração de provas para melhorar a eficiência da mineração. Esta atualização abandona completamente esta parte do cálculo; o processo de geração de testemunha Devido à execução de um programa que muda de época, as instruções nele contidas terão algumas dependências da execução serial, portanto, conseguir a paralelização é um grande desafio.