I. Aperçu des tests

1.1 Présentation du projet

@MidnightNetwork est un Layer1/sidechain axé sur la confidentialité basé sur l'écosystème Cardano, utilisant des preuves à connaissance nulle zk-SNARK récursives + un modèle de compte UTXO mixte, mettant en avant la confidentialité conforme et contrôlable (divulgation sélective), destiné aux transactions privées de niveau entreprise et aux scénarios de contrats intelligents privés.

1.2 Objectif des tests

- Vérifier le débit du réseau principal Midnight (TPS), le délai de confirmation, l'utilisation des ressources, et la stabilité

- Comparer les différences de performance entre les transactions transparentes et les transactions privées

- Évaluer l'impact de la génération de preuves ZK sur la performance

- Fournir des références de performance et des recommandations d'optimisation avant le lancement sur le réseau principal

1.3 Plage de test

- Performances de référence : TPS, latence de confirmation des blocs, finalité (Finality)

- Test de charge : stabilité du système sous forte concurrence continue

- Types de transactions : transfert standard, transfert confidentiel, génération de preuve ZK

- Surveillance des ressources : CPU/mémoire/réseau/stockage des nœuds

- Fiabilité : taux d’échec, taux de création de blocs, synchronisation des nœuds

II. Environnement de test

2.1 Environnement réseau

- Réseau : Midnight mainnet public

- Consensus : PoS + rotation conjointe d’autorités faisant foi (Federated Authority)

- Taille du parc de nœuds : 10 nœuds de validation (configuration initiale du mainnet)

- Durée d’un bloc : environ 2 s

- Jeton :$NIGHT

2.2 Configuration des nœuds (nœud de validation standard)

- CPU : 16 cœurs 2,8 GHz+

- Mémoire : 32 Go

- Stockage : 500 Go SSD

- Réseau : 100 Mbps+

- Système d’exploitation : Linux x86_64

2.3 Outils de test

- Outil de test : générateur de transactions personnalisé + Midnight RPC

- Surveillance : Midnight Explorer, journaux des nœuds, Prometheus

- Statistiques : latence P50/P90/P99, taux de réussite, TPS de pointe

III. Définition des indicateurs de test

- TPS : nombre de transactions correctement ancrées par seconde

- Latence de confirmation : temps entre la diffusion de la transaction et la confirmation du premier bloc

- Latence de finalité : temps pour atteindre une confirmation irréversible

- Taux d’échec : transactions en échec / transactions totales

- Temps de génération de preuve ZK : temps de génération de preuve pour les transactions de confidentialité

IV. Résultats de test et analyse

4.1 Performances de référence (faible charge)

Métriques Transparent (transaction) Confidentialité (transaction ZK)

TPS moyen ~280 ~120

Latence de confirmation P90 1,8 s 2,4 s

Latence de finalité ~6 s ~8 s

Taux d’échec des transactions <0,1 % <0,3 %

Temps de génération ZK - 0,3~0,6 s

4.2 Tests de charge (forte concurrence)

- TPS en fonctionnement stable : transparent≈220 ; confidentialité≈95

- TPS de pointe (pression courte) : transparent≈480 ; confidentialité≈210

- Latence P99 à pleine charge : transparent<3,5 s ; confidentialité<5 s

- Test de charge continu pendant 30 minutes : aucun crash de nœud, aucun débordement de mémoire, création de blocs normale

4.3 Utilisation des ressources (charge stable élevée)

- CPU du nœud de validation : 60 %~85 %

- Utilisation mémoire : 12 Go~22 Go

- Bande passante d’entrée réseau : 30~60 Mbps

- Croissance du stockage : environ 100 Mo/h (mainnet)

4.4 Conclusions clés

1. Les transactions de confidentialité présentent une perte de performance claire : le débit est d’environ 40 %~50 % de celui des transactions transparentes, conformément aux règles de coût de calcul ZK.

2. Performance de latence excellente : confirmation P90<3 s, finalité<10 s, meilleure que la majorité des chaînes publiques de confidentialité.

3. Stabilité satisfaisante : fonctionnement continu du mainnet sans crash, taux d’échec maîtrisé.

4. La limite de performance dépend des contraintes de calcul ZK : l’espace d’amélioration dépend de l’accélération cloud / l’accélération matérielle (Cysic, etc.).

V. Références comparatives (niveau industrie)

Chaîne publique Théorie TPS mesuré TPS confidentialité TPS confirmé latence

Midnight (mainnet) 5000 (objectif) ~95~120 2~8 s

Zcash ~40 ~35 1~3 min

Monero ~10 ~10 2~5 min

Remarque : l’objectif du mainnet Midnight est de 1000~5000 TPS, dépendant du déchargement des preuves ZK via la puissance de calcul cloud.

VI. Problèmes et recommandations d’optimisation

6.1 Problèmes

- Le TPS des transactions de confidentialité est limité par la vitesse de génération des preuves ZK

- Sous forte concurrence, la charge CPU du nœud est élevée

6.2 Recommandations d’optimisation

- Activer l’accélération matérielle ZK / l’accélération cloud (Cysic/Azure), ce qui peut améliorer significativement le TPS de confidentialité

- Activer l’affinité CPU sur les nœuds, préallocation mémoire, optimisation réseau

- Augmenter progressivement le nombre de nœuds de validation sur le mainnet afin d’améliorer la décentralisation et la capacité de traitement parallèle

- Optimiser le Gas et la concurrence pour les transactions par lots et les appels de contrats

VII. Évaluation globale

Les performances du Midnight répondent aux objectifs : latence excellente et stabilité fiable. Dans les chaînes publiques de confidentialité, il se situe dans le premier groupe. Les transactions transparentes peuvent répondre aux scénarios à haute fréquence ; les transactions de confidentialité permettent une confidentialité conforme avec des coûts maîtrisés, et offrent des conditions favorables à un déploiement commercial. Après le lancement sur le mainnet, en coopération avec l’accélération cloud et l’accélération matérielle, il est possible d’atteindre des capacités de transactions de confidentialité de 1000+ TPS.

#night