Brüder, ich habe kürzlich eine tiefgehende Bewertung des rekursiven Beweis-Batch-Processing von @MidnightNetwork vorgenommen. Ich wollte das Gefühl von "schwarzer Technologie" erleben, aber ich wurde fast durch seinen Speicherverbrauch überwältigt.
1. Speicherleck: Die Benchmark, die nie zurückkommt.
Beim Schreiben in der Compact-Sprache fühlte es sich wirklich gut an, die Logik war sehr flüssig. Aber sobald ich eine Vielzahl von 100 Transaktionen für den Batch-Beweis laufen ließ, traten die Probleme vollständig zutage. Der Spitzenwert des einmaligen Auftrags stieg auf 12 GB RAM, ich dachte, ich könnte zur Benchmark von 4 GB zurückkehren, aber es blieb hartnäckig bei 9 GB stehen.
Am absurdesten war, dass ich drei Batch-Aufträge hintereinander ausgeführt habe und der Speicher wie eine Rakete auf 28 GB anstieg, der Knoten brach sofort zusammen. Ich habe auf GitHub eine Weile gesucht, die offizielle Antwort letzten Monat lautete, dass sie die Logik zur Bereinigung der Zeugen optimieren, aber bis jetzt gibt es noch keine konkreten Informationen. Diese Effizienz macht mich, als jemand, der Zeitdruck hat, wirklich fertig.
2. Gasgebühren: "Käufer-Show" vs. "Verkäufer-Show"
Für uns, die wir mit Blockchain arbeiten, ist das Wichtigste, Geld zu sparen. Die offizielle Dokumentation lässt darauf schließen, dass man bei 100 Transaktionen im Batch 80% der Validierungskosten im Vergleich zu Einzeltransaktionen sparen kann, klingt verlockend, oder? Aber ich habe festgestellt, dass ich maximal nur 65% gespart habe.
Wo sind die verschwundenen 15%? Ich habe festgestellt, dass die zusätzlichen Schaltkreiskosten, die durch rekursive Kombinationen entstehen, in den offiziellen Basisdaten überhaupt nicht erwähnt werden. Diese Intransparenz des Kostenmodells lässt meine Freunde, die im DeFi-Bereich arbeiten, zögern, es in Produktionsumgebungen zu verwenden.
3. Beweisgröße: Wo ist die versprochene "Konstanz"?
Midnight hat ständig damit geworben, dass rekursive Beweise "konstante Größe" haben, aber die Ergebnisse, die ich tatsächlich erhalten habe, sind sehr mysteriös. Die Beweisgröße für 10 und 100 Transaktionen unterscheidet sich um das Dreifache und zeigt eine nicht-lineare Expansion.
Ich wollte auch versuchen, über Compiler-Parameter zu optimieren, aber das Peinliche ist, dass die Logik zur Generierung der zugrunde liegenden Schaltkreise von Compact noch nicht Open Source ist, sodass wir draußen nur "Blackbox-Fehlerbehebung" machen können, und wenn man nicht aufpasst, kann man auf eine Mine treten.
4. Zusammenfassung und Empfehlungen zur Vermeidung von Fallen
Die allgemeine Richtung des rekursiven Beweises ist absolut in Ordnung, aber die technische Umsetzung von Midnight ist noch in der Phase des "Leckens".
* Aktuelle Gegenmaßnahmen: Gehe nicht blind in große Mengen, mache zuerst kleine Tests.
* Handlungsempfehlung: Ich habe mein aktuelles Batch-Skript gestoppt und bin wieder zu Einzeltransaktionen übergegangen. Obwohl die Effizienz geringer ist, bleibt der Speicher stabil wie ein alter Hund und stürzt nicht einfach ab.

