Aleo met à jour l'algorithme de Mining en se concentrant sur la génération de witness pour améliorer la confidentialité et l'évolutivité.

Projet Aleo Blockchain : réaliser la protection de la vie privée et l'évolutivité grâce à la technologie zk-SNARKs

Aleo est un projet de blockchain axé sur la protection de la vie privée, utilisant la technologie zk-SNARKs (ZKP) pour améliorer la confidentialité et l'évolutivité. La philosophie centrale d'Aleo est de permettre aux utilisateurs de s'authentifier et de traiter des données sans divulguer de données personnelles.

Cet article présente un aperçu du projet Aleo et de ses dernières avancées, et explique en détail la mise à jour de l'algorithme puzzle, qui suscite un grand intérêt sur le marché.

Introduction aux derniers algorithmes

Le réseau Aleo génère un circuit ZK aléatoire chaque heure. Les mineurs doivent essayer différents nonce comme entrée du circuit pendant cette heure, calculer le witness(, c'est-à-dire toutes les variables dans le circuit, ce processus est également appelé synthèse), puis obtenir la racine Merkle du witness et déterminer si cela satisfait aux exigences de difficulté d'exploitation minière. En raison du caractère aléatoire du circuit, cet algorithme de minage n'est pas favorable aux GPU et présente des défis importants en matière d'accélération des calculs.

Interprétation du dernier algorithme Synthesis Puzzle d'Aleo : à la pointe de la révolution de la confidentialité dans le Web3

Situation de financement

Aleo a terminé en 2021 un tour de financement de série A de 28 millions de dollars dirigé par a16z, et a complété un tour de financement de série B de 200 millions de dollars en 2024. Les investisseurs de la série B incluent Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures et Samsung Next, entre autres. Ce tour de financement a porté la valorisation d'Aleo à 1,45 milliard de dollars.

Aperçu du projet

confidentialité

Le cœur d'Aleo repose sur la technologie des zk-SNARKs ( ZKPs ), permettant l'exécution des transactions et des contrats intelligents tout en protégeant la vie privée. Les détails des transactions des utilisateurs, tels que l'expéditeur et le montant de la transaction, sont cachés par défaut. Ce design protège non seulement la vie privée des utilisateurs, mais permet également une divulgation sélective lorsque cela est nécessaire, ce qui est particulièrement adapté au développement des applications DeFi. Les principaux composants comprennent :

  1. Leo Langage compilé : adapté du langage Rust, spécialement conçu pour le développement d'applications zk-SNARKs(ZKApps), réduisant ainsi les exigences en connaissances cryptographiques pour les développeurs.

  2. snarkVM et snarkOS : snarkVM permet l'exécution de calculs hors chaîne, tandis que la chaîne vérifie uniquement les résultats des calculs, améliorant ainsi l'efficacité. snarkOS garantit la sécurité des données et des calculs, et permet l'exécution de fonctionnalités sans autorisation.

  3. zkCloud : fournit un environnement de calcul hors chaîne sécurisé et privé, prenant en charge l'interaction de programmation entre utilisateurs, organisations et DAO.

Aleo offre également un environnement de développement intégré (IDE) et un kit de développement logiciel (SDK), permettant aux développeurs de rédiger et de publier rapidement des applications. Les développeurs peuvent déployer des applications dans le registre des programmes d'Aleo sans dépendre de tiers, réduisant ainsi les risques liés à la plateforme.

évolutivité

Aleo utilise un traitement hors chaîne, où les transactions sont d'abord calculées sur l'appareil de l'utilisateur, puis seuls les résultats de la vérification sont téléchargés sur la Blockchain. Cette méthode améliore considérablement la vitesse de traitement des transactions et l'évolutivité du système, évitant ainsi des problèmes de congestion réseau et de frais élevés similaires à ceux d'Ethereum.

mécanisme de consensus

Aleo a introduit AleoBFT, un mécanisme de consensus à architecture hybride, combinant la finalité instantanée des validateurs et la capacité de calcul des prouveurs. AleoBFT améliore non seulement le degré de décentralisation du réseau, mais renforce également ses performances et sa sécurité.

  1. Finalité rapide des Blocs : AleoBFT garantit que chaque Bloc est immédiatement confirmé après sa création, améliorant ainsi la stabilité des nœuds et l'expérience utilisateur.

  2. Garantie de décentralisation : en séparant la production de blocs de la génération de coinbase, les validateurs sont responsables de la génération des blocs, tandis que les prouveurs effectuent les calculs de preuve, empêchant ainsi un petit nombre d'entités de monopoliser le réseau.

  3. Mécanisme d'incitation : les validateurs et les prouveurs partagent les récompenses de bloc ; encourager les prouveurs à devenir des validateurs en misant des jetons, afin d'améliorer le degré de décentralisation et la capacité de calcul du réseau.

Aleo permet aux développeurs de créer des applications sans restrictions de gaz, ce qui est particulièrement adapté aux applications nécessitant une longue durée d'exécution, comme l'apprentissage automatique.

Progrès actuel

Aleo lancera son réseau de test incitatif le 1er juillet, voici quelques informations importantes :

  1. Vote ARC-100 approuvé : La proposition "Meilleures pratiques de conformité pour les développeurs et opérateurs Aleo" ARC-100(, qui concerne les aspects de conformité, le verrouillage des fonds sur le réseau Aleo et des mesures de sécurité telles que le retard dans la réception des fonds, a terminé son vote et a été approuvée. L'équipe procède aux ajustements finaux.

  2. Programme d'incitation des validateurs : Ce programme débutera le 1er juillet et vise à valider le nouveau mécanisme de puzzle. Le programme fonctionnera jusqu'au 15 juillet, période durant laquelle 1 million de points Aleo seront distribués en tant que récompense. Le pourcentage de points générés par les nœuds déterminera sa part de récompense, chaque validateurs devra gagner au moins 100 tokens pour recevoir une récompense. Les détails spécifiques ne sont pas encore finalisés.

  3. Approvisionnement initial et approvisionnement en circulation : L'approvisionnement initial est de 1,5 milliard de jetons, l'approvisionnement en circulation initial est d'environ 10 %) n'est pas encore définitivement fixé(. Ces jetons proviennent principalement de la tâche Coinbase)7500 millions(, qui seront distribués au cours des six premiers mois, incluant des récompenses pour le staking, l'exécution des validateurs et la validation des nœuds.

  4. Réinitialisation du Testnet Beta : c'est la dernière réinitialisation du réseau, après laquelle aucune nouvelle fonctionnalité ne sera ajoutée, le réseau sera similaire à la mainnet. La réinitialisation vise à ajouter ARC-41 et la nouvelle fonctionnalité de puzzle.

  5. Gel de code : le gel de code a été terminé il y a une semaine.

  6. Plan d'expansion des nœuds de validation : le nombre initial de nœuds de validation est de 15, l'objectif est d'augmenter à 50 dans l'année et d'atteindre finalement 500. Devenir un délégué nécessite 10 000 tokens, devenir un validateur nécessite 10 millions de tokens, ces montants diminueront progressivement avec le temps.

Interprétation de la mise à jour de l'algorithme

Aleo a récemment annoncé les dernières nouvelles de son testnet tout en mettant à jour la dernière version de l'algorithme puzzle. Le nouvel algorithme ne met plus l'accent sur la génération des résultats des zk proof, en supprimant MSM et NTT), deux modules de calcul largement utilisés pour générer des proof dans les zk. Auparavant, les participants au testnet se concentraient sur l'optimisation de l'efficacité de cet algorithme pour augmenter les rendements miniers, en mettant l'accent sur la génération des données intermédiaires witness avant la création des proof. Voici une brève introduction au nouvel algorithme.

( processus de consensus

Au niveau du protocole de consensus, dans son processus, le prover et le validateur sont respectivement responsables de la génération du résultat de calcul solution et de la création de blocs et de l'agrégation de la solution emballée. Le processus est le suivant:

  1. Prover calcule des puzzles, construit des solutions et les diffuse dans le réseau.

  2. L'agrégation des transactions Validator et la solution pour le prochain Bloc, garantissant que le nombre de solutions ne dépasse pas la limite de consensus )MAX_SOLUTIONS###

  3. La légitimité de la solution doit être vérifiée pour s'assurer que son epoch_hash correspond au latest_epoch_hash maintenu par le validateur, que le proof_target calculé correspond au latest_proof_target maintenu par le validateur dans le réseau, et que le nombre de solutions contenues dans ce bloc est inférieur à la limite de consensus.

  4. Une solution valide peut obtenir des récompenses de consensus.

( Synthesis Puzzle

La dernière version du noyau algorithmique s'appelle Synthesis Puzzle, dont le cœur consiste à générer un EpochProgram commun fixe pour chaque epoch. En construisant un circuit de preuve R1CS pour les entrées et l'EpochProgram, cela génère un R1CS assignment ), également connu sous le nom de witness ###, qui est utilisé comme nœud feuille d'un Merkle tree. Après avoir calculé tous les nœuds feuilles, la racine Merkle est générée et convertie en proof_target de la solution. Le processus détaillé et les spécifications pour construire Synthesis Puzzle sont les suivants :

  1. Chaque calcul de puzzle est appelé nonce, il est construit à partir de l'adresse qui reçoit la récompense de minage, de l'epoch_hash et d'un nombre aléatoire counter. Chaque fois qu'il est nécessaire de calculer une nouvelle solution, un nouveau nonce peut être obtenu en mettant à jour le counter.

  2. Dans chaque epoch, le programme EpochProgram que tous les proveurs du réseau doivent calculer est le même, il est extrait d'un ensemble d'instructions à partir d'un nombre aléatoire généré par le epoch_hash actuel, la logique d'échantillonnage est :

    • L'ensemble d'instructions est fixe, chaque instruction (instruction) contient une ou plusieurs opérations de calcul, chaque instruction ayant un poids et un compteur d'opérations prédéfinis.
    • Lors de l'échantillonnage, un nombre aléatoire est généré en fonction de l'epoch_hash actuel, puis les instructions sont obtenues à partir de l'ensemble des instructions en combinant les poids et en les ordonnant, l'échantillonnage s'arrête après avoir accumulé le nombre d'opérations à 97.
    • Composer tous les ordres en EpochProgram
  3. Utiliser le nonce comme graine aléatoire pour générer l'entrée du EpochProgram

  4. Agréger les R1CS et l'input correspondants à EpochProgram, effectuer le calcul d'attribution des témoins ( R1CS ).

  5. Après avoir calculé tous les witnesses, ces witnesses seront convertis en une séquence de nœuds feuilles du merkle tree correspondant, le merkle tree est un arbre de Merkle K-ary à 8 branches de profondeur 8.

  6. Calculez la racine Merkle et convertissez-la en proof_target de la solution, vérifiez si elle répond au latest_proof_target de l'epoch actuel. Si c'est le cas, le calcul est réussi, soumettez l'adresse de récompense, le epoch_hash et le counter nécessaires à la construction de l'entrée mentionnée ci-dessus comme solution et diffusez.

  7. Dans le même epoch, il est possible de mettre à jour l'entrée de l'EpochProgram par itération du compteur pour effectuer plusieurs calculs de solution.

Interprétation du dernier algorithme Synthesis Puzzle d'Aleo : à la tête de la révolution de la confidentialité Web3

Changements et impacts du minage

Après cette mise à jour, le puzzle est passé de la génération de proof à la génération de witness. La logique de calcul de toutes les solutions au sein de chaque epoch est cohérente, mais la logique de calcul entre les différents epochs présente des différences significatives.

À partir des tests précédents, nous pouvons constater que de nombreuses méthodes d'optimisation se concentrent sur l'utilisation de GPU pour optimiser le calcul MSM et NTT lors de la génération de preuves, afin d'améliorer l'efficacité de l'extraction. Cette mise à jour abandonne complètement cette partie du calcul. De plus, comme le processus de génération de témoins provient de l'exécution d'un programme qui évolue avec les époques, certaines instructions présenteront des dépendances d'exécution sérielles, rendant l'implémentation du parallélisme assez difficile.

Voir l'original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Récompense
  • 11
  • Partager
Commentaire
0/400
GateUser-3ae5cfe8vip
· Il y a 21h
Asseyez-vous bien et tenez-vous, ça décolle bientôt To the moon 🛫
Voir l'originalRépondre0
LuoGeMade1MillionDovip
· Il y a 21h
Incroyable, le printemps de zk塞道 arrive.
Voir l'originalRépondre0
ZeJun888vip
· Il y a 22h
Dessiner un BTC et parler de manière incroyable, c'est être le premier.
Voir l'originalRépondre0
GateUser-b199200avip
· Il y a 22h
Alors, ma Rig de minage peut-elle encore miner ?
Voir l'originalRépondre0
StakeTillRetirevip
· Il y a 23h
Je ne peux plus miner, allons directement à la lubrification.
Voir l'originalRépondre0
Rekt_Recoveryvip
· Il y a 23h
j'ai été ruiné sur le minage d'aleo... mais je suis toujours haussier af ngl
Voir l'originalRépondre0
SandwichDetectorvip
· Il y a 23h
Tous les algorithmes qui ne peuvent pas être réglés, bannez-les.
Voir l'originalRépondre0
RugPullProphetvip
· Il y a 23h
Le nouvel Algorithme de Mining est un peu complexe, qui comprend ?
Voir l'originalRépondre0
GweiObservervip
· Il y a 23h
Ah, ce zk est tellement bon.
Voir l'originalRépondre0
DYORMastervip
· Il y a 23h
Achetez tôt, gagnez tôt. Le marché de la confidentialité va bientôt commencer.
Voir l'originalRépondre1
Afficher plus
Afficher plus
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)