Aleo ist ein Blockchain-Projekt, das sich auf den Schutz der Privatsphäre konzentriert und durch wissensfreie Technologie (ZKP) eine höhere Privatsphäre und Skalierbarkeit erreicht. Die Kernidee von Aleo besteht darin, Benutzern die Authentifizierung und Verarbeitung von Daten zu ermöglichen, ohne ihre persönlichen Daten preiszugeben.

Dieser Artikel stellt hauptsächlich die Aleo-Projektskizze und die neuesten Fortschritte vor und bietet eine detaillierte Erläuterung des Puzzle-Algorithmus-Updates, das dem Markt große Sorge bereitet.

Ein kleiner Vorgeschmack auf den neuesten Algorithmus ;) TLDR

Das Aleo-Netzwerk generiert jede Stunde zufällig eine ZK-Schaltung; der Bergmann muss während dieser Stunde verschiedene Nonce als Eingabe der Schaltung ausprobieren, den Zeugen berechnen (dh alle Variablen in der Schaltung, dieser Berechnungsprozess wird auch als Synthese bezeichnet) und Finden Sie die Merkle-Wurzel für den Zeugen. Stellen Sie abschließend fest, ob er die Anforderungen an die Mining-Schwierigkeit erfüllt. Aufgrund der Zufälligkeit der Schaltung ist dieser Mining-Algorithmus nicht GPU-freundlich und weist große Schwierigkeiten bei der Berechnung der Beschleunigung auf.

Finanzierungshintergrund

Aleo schloss 2021 eine Serie-A-Finanzierungsrunde in Höhe von 28 Millionen US-Dollar unter der Leitung von a16z und 2024 eine Serie-B-Finanzierungsrunde in Höhe von 200 Millionen US-Dollar mit Investoren wie Kora Management, SoftBank Vision Fund 2, Tiger Global, Sea Capital, Slow Ventures und Samsung ab Als nächstes unter anderem. Die Finanzierungsrunde bewertet Aleo mit 1,45 Milliarden US-Dollar.

Projektübersicht

Privatsphäre

Das Herzstück von Aleo ist die Zero-Knowledge-Proofs-Technologie (ZKPs), die die Durchführung von Transaktionen und die Ausführung intelligenter Verträge unter Wahrung der Privatsphäre ermöglicht. Die Transaktionsdetails des Benutzers, wie Absender und Transaktionsbetrag, werden standardmäßig ausgeblendet. Dieses Design schützt nicht nur die Privatsphäre der Benutzer, sondern ermöglicht bei Bedarf auch eine selektive Offenlegung, was sich sehr gut für die Entwicklung von DeFi-Anwendungen eignet. Zu seinen Hauptbestandteilen gehören:

  1. Von Leo kompilierte Sprache: von der Rust-Sprache adaptiert und speziell zur Entwicklung von Zero-Knowledge-Anwendungen (ZKApps) verwendet, wodurch die Anforderungen der Entwickler an Kryptographiekenntnisse reduziert werden.

  2. snarkVM und snarkOS: snarkVM ermöglicht die Durchführung von Berechnungen außerhalb der Kette und nur die Überprüfung der Berechnungsergebnisse in der Kette, wodurch die Effizienz verbessert wird. snarkOS gewährleistet die Sicherheit von Daten und Berechnungen und ermöglicht die erlaubnislose Funktionsausführung.

  3. zkCloud: Bietet eine sichere und private Off-Chain-Computing-Umgebung und unterstützt Programmierinteraktionen zwischen Benutzern, Organisationen und DAOs.

Aleo bietet außerdem eine integrierte Entwicklungsumgebung (IDE) und ein Software Development Kit (SDK), um Entwickler beim schnellen Schreiben und Veröffentlichen von Anwendungen zu unterstützen. Darüber hinaus können Entwickler Anwendungen in der Programmregistrierung von Aleo bereitstellen, ohne auf Dritte angewiesen zu sein, was das Plattformrisiko verringert .

Skalierbarkeit

Aleo verwendet eine Off-Chain-Verarbeitungsmethode. Die Transaktion wird zunächst auf dem Gerät des Benutzers berechnet, um sie zu beweisen, und dann wird nur das Verifizierungsergebnis in die Blockchain hochgeladen. Diese Methode verbessert die Verarbeitungsgeschwindigkeit von Transaktionen und die Skalierbarkeit des Systems erheblich und vermeidet Netzwerküberlastungen und hohe Gebühren, ähnlich wie bei Ethereum.

Konsensmechanismus

Aleo stellt AleoBFT vor, einen Konsensmechanismus mit hybrider Architektur, der die sofortige Endgültigkeit von Validatoren mit der Rechenleistung von Prüfern kombiniert. AleoBFT erhöht nicht nur die Dezentralisierung des Netzwerks, sondern erhöht auch Leistung und Sicherheit.

  1. Schnelle Blockendgültigkeit: AleoBFT stellt sicher, dass jeder Block unmittelbar nach der Generierung bestätigt wird, was die Knotenstabilität und das Benutzererlebnis verbessert.

  2. Dezentralisierungsgarantie: Durch die Trennung der Blockproduktion von der Coinbase-Generierung ist der Verifizierer für die Blockgenerierung verantwortlich und der Prüfer führt Beweisberechnungen durch, um zu verhindern, dass einige wenige Einheiten das Netzwerk monopolisieren.

  3. Anreizmechanismus: Prüfer und Zertifizierer teilen sich Blockbelohnungen; Zertifizierer werden ermutigt, Prüfer zu werden, indem sie Token verpfänden, wodurch die Dezentralisierung und Rechenleistung des Netzwerks verbessert wird.

Aleo ermöglicht Entwicklern die Erstellung von Anwendungen, die nicht an Gas gebunden sind, wodurch es sich besonders für lang laufende Anwendungen wie maschinelles Lernen eignet.

Laufender Fortschritt

Aleo wird das Anreiz-Testnetz am 1. Juli starten. Hier sind einige wichtige aktuelle Informationen:

  1. ARC-100-Abstimmung bestanden: Die Abstimmung für ARC-100 („Compliance Best Practices for Aleo Developers and Operators“-Vorschlag, der Compliance-Aspekte, Sicherheitsmaßnahmen wie Sperrung und verzögerte Zahlung von Geldern im Aleo-Netzwerk abdeckt) ist beendet und angenommen. Das Team nimmt letzte Anpassungen vor.

  2. Validator-Incentive-Programm: Dieses Programm startet am 1. Juli, um neue Puzzle-Mechanismen zu validieren. Das Programm läuft bis zum 15. Juli. In dieser Zeit werden 1 Million Aleo-Punkte als Belohnung ausgeschüttet. Der Prozentsatz der von einem Knoten generierten Punkte bestimmt seinen Anteil an den Belohnungen, wobei jeder Validator mindestens 100 Token verdienen muss, um Belohnungen zu erhalten. Konkrete Details stehen noch nicht fest.

  3. Anfangsvorrat und Umlaufvorrat: Der Anfangsvorrat beträgt 1,5 Milliarden Token und der Anfangsvorrat im Umlauf beträgt etwa 10 % (noch nicht endgültig). Die Token, die hauptsächlich aus Coinbase-Missionen stammen (75 Millionen), werden in den ersten sechs Monaten verteilt und beinhalten Belohnungen für das Abstecken, das Betreiben von Validatoren und die Validierung von Knoten.

  4. Testnet Beta Reset: Dies ist der letzte Netzwerk-Reset. Nach Abschluss werden keine neuen Funktionen hinzugefügt und das Netzwerk ähnelt dem Mainnet. Zurücksetzen, um ARC-41 und neue Puzzle-Funktionalität hinzuzufügen.

  5. Code-Freeze: Der Code-Freeze wurde vor einer Woche abgeschlossen.

  6. Plan zur Erweiterung der Validierungsknoten: Die anfängliche Anzahl der Validierungsknoten beträgt 15, mit dem Ziel, innerhalb des Jahres auf 50 zu steigen und schließlich 500 zu erreichen. Um ein Delegator zu werden, sind 10.000 Token erforderlich, und um ein Validator zu werden, sind 10 Millionen Token erforderlich. Diese Beträge werden mit der Zeit allmählich abnehmen.

Interpretation von Algorithmus-Updates

Während Aleo kürzlich die neuesten Testnet-Neuigkeiten bekannt gab, aktualisierte es auch die neueste Version des Puzzle-Algorithmus. Der neue Algorithmus konzentriert sich nicht mehr auf die Generierung von ZK-Proof-Ergebnissen und hat MSM und NTT (beides Berechnungen, die in ZK häufig verwendet werden) entfernt Mit dem Modul „Beweisgenerierung“ haben frühere Testnet-Teilnehmer die Effizienz des Algorithmus optimiert, um die Mining-Einnahmen zu steigern, wobei der Schwerpunkt auf der Generierung von Zwischendatenzeugen vor der Beweisgenerierung lag. Wir werden eine kurze Einführung in den neuesten Algorithmus geben, nachdem wir uns auf die offizielle Puzzle-Spezifikation und den Code bezogen haben.

Konsensprozess

Auf der Ebene des Konsensprotokolls sind der Prüfer und der Validator im Prozess jeweils für die Generierung der Berechnungsergebnislösung und die Generierung von Blöcken sowie für die Aggregation und Verpackung der Lösung verantwortlich. Der Prozess ist wie folgt:

  1. Der Prüfer berechnet das Rätsel, um Lösungen zu konstruieren, und sendet sie an das Netzwerk

  2. Der Validator fasst Transaktionen und Lösungen im nächsten neuen Block zusammen und stellt so sicher, dass die Anzahl der Lösungen das Konsenslimit (MAX_SOLUTIONS) nicht überschreitet.

  3. Die Rechtmäßigkeit der Lösung muss überprüft werden, indem ihr epoch_hash mit dem vom Validator verwalteten Latest_epoch_hash übereinstimmt und ihr berechnetes Proof_target mit dem vom Validator im Netzwerk verwalteten Latest_proof_target übereinstimmt. Gleichzeitig ist die Anzahl der im Block enthaltenen Lösungen geringer als die Konsensgrenze.

  4. Effektive Lösungen können im Konsens belohnt werden

Synthese-Puzzle

Der Kern der neuesten Version des Algorithmus heißt Synthesis Puzzle. Sein Kern besteht darin, ein gemeinsames EpochProgram für die Eingabe und das EpochProgram zu generieren, die entsprechende R1CS-Zuweisung (der von allen erwähnte Zeuge). Generiert und als Merkle-Baum verwendet, generieren die Blattknoten nach der Berechnung aller Blattknoten die Merkle-Wurzel und konvertieren sie in das Proof_Target der Lösung. Der detaillierte Prozess und die Spezifikationen für die Erstellung von Synthesis Puzzle sind wie folgt:

  1. Jede Rätselberechnung wird als Nonce bezeichnet und besteht aus der Adresse, die die Mining-Belohnung erhält, epoch_hash und einem Zufallszahlenzähler. Jedes Mal, wenn eine neue Lösung berechnet werden muss, kann durch Aktualisieren des Zählers eine neue Nonce erhalten werden.

  2. In jeder Epoche ist das EpochProgram, das alle Prüfer im Netzwerk berechnen müssen, das gleiche. Es wird aus dem Befehlssatz anhand der vom aktuellen epoch_hash generierten Zufallszahl abgetastet.

    • Der Befehlssatz ist fest. Jede Anweisung enthält eine oder mehrere Berechnungsoperationen. Jede Anweisung hat eine voreingestellte Gewichtung und Operationsanzahl.

    • Beim Sampling wird eine Zufallszahl basierend auf dem aktuellen epoch_hash generiert. Die Anweisungen werden aus dem Befehlssatz kombiniert mit der Gewichtung abgerufen und in der Reihenfolge angeordnet, sobald die kumulative Operationsanzahl 97 erreicht.

    • Kombinieren Sie alle Anweisungen in EpochProgram

  3. Verwenden Sie Nonce als Zufallszahlen-Startwert, um die Eingabe von EpochProgram zu generieren

  4. Aggregieren Sie R1CS und Eingaben entsprechend EpochProgram und führen Sie die Zeugenberechnung (R1CS-Zuweisung) durch

  5. Nachdem alle Zeugen berechnet wurden, werden diese Zeugen in Blattknotensequenzen des entsprechenden Merkle-Baums umgewandelt. Der Merkle-Baum ist ein 8-Elemente-K-ary-Merkle-Baum mit einer Tiefe von 8.

  6. Berechnen Sie die Merkle-Wurzel und konvertieren Sie sie in das Proof_Target der aktuellen Epoche. Wenn sie die Berechnung erfüllt, ist die Berechnung erfolgreich. Senden Sie die für die Konstruktionseingabe erforderliche Belohnungsadresse oben als Lösung und Sendung

  7. In derselben Epoche kann die Eingabe von EpochProgram durch Iterieren des Zählers aktualisiert werden, um mehrere Lösungsberechnungen durchzuführen.

Bergbauveränderungen und Auswirkungen

Nach diesem Update hat sich das Rätsel von der Generierung von Beweisen zur Generierung von Zeugen geändert. Die Berechnungslogik aller Lösungen in jeder Epoche ist dieselbe, aber die Berechnungslogik verschiedener Epochen ist ziemlich unterschiedlich.

Aus dem vorherigen Testnetzwerk können wir erkennen, dass sich viele Optimierungsmethoden auf die Verwendung der GPU zur Optimierung von MSM- und NTT-Berechnungen in der Proof-Generierungsphase konzentrieren, um die Mining-Effizienz zu verbessern der Prozess der Zeugengenerierung Da sich die Ausführung eines Programms mit der Epoche ändert, sind die darin enthaltenen Anweisungen in gewisser Weise von der seriellen Ausführung abhängig, sodass das Erreichen einer Parallelisierung eine große Herausforderung darstellt.