ZYCORD docs
Français
ZycordDocsComment le réseau fonctionne
Zycord (ZCD) — comment le réseau fonctionne

Assemblée hors chaîne.
Vérifiée en parallèle.
Validée dans l'ordre.

Toute grande blockchain fait ré-exécuter chaque transaction par chaque nœud contre un état global. Zycord sort l'exécution de la chaîne : un paiement est construit par le portefeuille, un appel de contrat est exécuté par le séquenceur du contrat à partir de l'intent signé de l'utilisateur, et dans les deux cas le résultat arrive complet avec tout ce qu'il a lu et écrit. N'importe quelle machine le vérifie à partir des seuls octets, et une unique boucle le valide — ou l'omet, et facture celui qui a déposé pour lui.

Three phases: construction by sequencers, parallel verification, sequential fold Construction — hors chaîne Les séquenceurs exécutent l'intent et cosignent un fill Portefeuille Séquenceur contrat A Séquenceur contrat B Séquenceur contrat C Vérification — parallèle, sans état Chaque nœud vérifie chaque certificat, sur chaque cœur Fold — séquentiel Une boucle, compare et ajoute application ou omission, jamais d'exécution
Serveurs ordinaires, web2, sans consensus Croît avec chaque cœur qui rejoint le réseau La seule ressource rare

La transaction est un certificat

Elle ne demande pas “exécute ceci”. Elle déclare “j'ai lu ceci, j'ai écrit cela, et voici la preuve”. N'importe qui recalcule et compare.

Certificate { chain_id: u64 // le réseau auquel il est destiné seq: u64 // le compteur propre du déposant program: (type, body) // op native, appel machine, fill, forcé reads: [(slot, access, operand)] // ce que j'ai lu, et comment writes: [(slot, op, value)] // ce que j'écris sigs: [(key, signature)] // autorité de dépense deposit: (cell, amount, change) // qui en répond ttl: height // expire si non inclus d'ici là fee_bid: (seq_gas, par_gas) // deux marchés }
Valide = une fonction pure des octetsLes signatures se vérifient, la ré-exécution de program sur les reads produit exactement les writes, et le deposit couvre le pire cas. Pas de disque, pas d'historique.
Applicable = décidé par la positionLes reads déclarés tiennent-ils encore lorsque le certificat arrive à son tour dans le bloc ?
L'identifiant exclut les signaturesRe-signer avec un nonce différent donne le même identifiant. L'ensemble des vus repère la copie. Personne n'est facturé deux fois.
Types d'accès par slotEXACT fixe la valeur. GUARD déclare seulement “solde ≥ x”. DELTA ajoute sans lire. Paiements et pourboires commutent et n'entrent jamais en conflit.

Deux verbes, deux étapes

Toute la conception consiste à séparer ces deux questions — et à répondre à chacune à l'endroit le moins coûteux.

parallèle

Est-elle valide ?

On y répond en regardant le certificat seul. Des milliers à la fois, sur n'importe quelle machine.

  • Les signatures Ed25519 strictes sont correctes
  • La ré-exécution correspond aux écritures
  • Le dépôt couvre le pire cas
  • Invalide : n'entre jamais dans un bloc honnête
séquentielle

Est-elle applicable ?

On y répond à la position du certificat dans le bloc, en comparant les octets à la table d'état.

  • Les lectures tiennent toujours → les écritures sont validées
  • Lecture périmée ou dépassement → omission, le déposant paie des frais fixes
  • Dépôt non approvisionné ou dépensé → rejeté, rien n'est facturé
  • Le bloc reste valide dans tous les cas

Quatre issues, et qui paie

Un problème avec un certificat est une issue, jamais une raison de rejeter le bloc. Chaque issue est facturée à une partie qui a choisi le risque, et une même signature n'est facturée qu'une fois au plus.

Appliqué

Chaque lecture déclarée tient, si bien que les écritures prennent effet et que les frais se règlent au coût réel : les frais de base sont brûlés et les frais de priorité sont payés au producteur.

En échec forcé

Un certificat forcé dont l'appel a échoué (revert) ou a enfreint ses bornes. Ses payeurs sont débités, sa monnaie revient à l'utilisateur, rien d'autre n'est écrit, et l'identifiant est marqué comme vu.

Rejeté

La cellule de dépôt n'est pas approvisionnée ou est déjà dépensée, il n'y a donc rien à facturer. Le certificat est porté mais non facturé, et non marqué comme vu.

Le parcours, de la naissance au registre

1

Le portefeuille construit un paiement, ou signe un intent

Un paiement n'a besoin d'aucun serveur : le portefeuille garde une cellule à usage unique qu'il détient, la débite, la marque comme dépensée, crédite la nouvelle adresse du bénéficiaire et envoie la monnaie vers une nouvelle adresse qui lui est propre. Un appel à un contrat séquencé est plutôt un intent signé : quoi appeler, des bornes sur le résultat, ce que le séquenceur est payé, et les payeurs à usage unique qui le financent.

2

Le séquenceur exécute et confirme

Il exécute l'intent sur sa propre vue — la pointe de la chaîne plus chaque fill qu'il a déjà construit —, répond avec un reçu signé en quelques millisecondes, et publie le résultat sous forme de fill déposé depuis son propre solde. Un appel qui traverse des contrats liés à des séquenceurs différents est cosigné par chacun et atterrit comme un unique fill atomique.

3

Chaque nœud vérifie en parallèle

Chaque certificat est vérifié à partir de ses octets à son arrivée, avant d'être relayé : signatures, ré-exécution contre les lectures déclarées, dépôt. Pas d'état, pas d'historique, n'importe quel cœur, n'importe quelle machine.

Invalide → écarté ; à l'intérieur d'un bloc, il rend le bloc invalide
4

Le producteur ordonne

Un mineur en preuve de travail choisit des certificats valides et résout le bloc ; après la bascule vers la preuve d'enjeu, c'est le staker tiré au sort pour le slot qui le signe à sa place. Il n'exécute rien de ce qu'on lui donne et retient les identifiants vus dans la fenêtre du TTL, parce qu'en inclure un deux fois rend le bloc invalide. À la fin de son bloc, il peut exécuter des intents ouverts issus du chemin forcé.

5

Fold séquentiel

D'abord les fills, dans l'ordre du pipeline ; puis tous les autres certificats par (deposit address, seq, id) ; puis les certificats forcés par identifiant. Le producteur ne choisit rien de tout cela. Pour chaque certificat : les lectures déclarées tiennent-elles encore ?

Appliqué — les écritures prennent effet, frais de base brûlés, frais de priorité au producteur
Omis — rien n'est écrit, frais d'omission brûlés sur le dépôt, le bloc reste valide

État : cellules, adresses, accès typé

Une cellule est un entier de 256 bits à un slot. Les cellules absentes se lisent comme zéro. La concurrence n'est pas découverte à l'exécution : elle est déclarée, slot par slot.

Accès typé

Une lecture est soit EXACT, qui alimente le calcul et devient périmée quand la cellule bouge, soit une garde — GUARD_GE, GUARD_LE, GUARD_EQ — qui ne renvoie rien. Une écriture est SET, DELTA_ADD, DELTA_SUB ou MARK_SPENT. Seul EXACT devient périmé, si bien que les débits et crédits gardés sur un même slot commutent et ne donnent lieu à une omission qu'en cas de réel découvert.

Adresses à usage unique et adresses persistantes

Une adresse à usage unique se dépense une fois : le certificat qui la débite la marque comme dépensée, définitivement. Les portefeuilles donnent à chaque paiement entrant une nouvelle adresse, ce qui est la voie sans contention. Une adresse persistante est réutilisable — un compte — et c'est là que doivent aller les récompenses de minage : une adresse à usage unique brûle chaque récompense qu'elle détient une fois dépensée, si bien que le nœud en refuse une comme destination de paiement. Les contrats ont leur propre type d'adresse, pour lequel aucune clé ne peut signer.

Actifs natifs, sans machine

Dès le bloc 0 : TRANSFER d'au plus 32 mouvements, ISSUE avec un plafond d'offre, MINT gardé par ce plafond, RETIRE d'au plus 64 adresses à usage unique. Un crédit vers une nouvelle cellule est le pourboire. Dix mille pourboires dans un même bloc sont dix mille additions : zéro conflit, pas de séquenceur, pas de machine.

La machine et ses séquenceurs

Les deltas gardés dissolvent la contention des paiements. Ce qui reste, c'est la logique qui doit lire un état exact pour décider quoi écrire — un carnet d'ordres, un teneur de marché — et là, le contrat choisit son sérialiseur.

La cEVM

Un dialecte de la machine virtuelle d'Ethereum, si bien que Solidity, ses compilateurs et ses auditeurs s'y transposent. Le stockage est déclaré : SLOAD et SSTORE sont exacts, et six nouveaux opcodes offrent la discipline gardée et commutative. NUMBER et TIMESTAMP lisent la balise d'époque, constante pendant une journée ; les opcodes qui n'ont rien à quoi se référer sont supprimés. Le code voyage dans le certificat. Un jeton, une tirelire à pourboires et un séquestre, écrits en priorité delta, sont pré-déployés à l'ouverture de la machine.

Séquencé ou ouvert

L'enregistrement de chaque contrat nomme une clé de séquenceur. Si elle est non nulle, le chemin exact du contrat exige la signature de cette clé ; si elle est nulle, n'importe qui peut l'emprunter et le contrat n'est protégé que par son code. Les deltas gardés ne sont jamais soumis à cette porte : un jeton séquencé accepte toujours chaque transfert de quiconque. Un annuaire indique où chaque séquenceur répond — c'est de la découverte, pas de l'autorisation.

Intents, fills, reçus

L'intent est toute l'autorisation de l'utilisateur, valide pendant une fenêtre de 8 blocs au plus : le séquenceur peut changer le moment où il s'exécute, jamais ce qu'il fait. L'identifiant du fill est le hachage de l'intent, si bien que deux fills d'un même intent partagent un identifiant et qu'un seul peut être facturé. Un reçu est une pré-confirmation, la promesse du séquenceur jusqu'à ce que le fill s'applique ; deux reçus qui se contredisent sont une preuve que chacun peut vérifier à partir des octets, et les utilisateurs s'en vont.

Pipelines, le fence, coséquençage

La chaîne conserve le dernier seq appliqué pour chaque séquenceur et chaque contrat, et un fill n'entre qu'au suivant, si bien qu'un pipeline se valide dans l'ordre où son séquenceur a signé. Chaque contrat conserve aussi un compteur fence : un certificat forcé qui fixe son état, ou un changement de séquenceur, le fait avancer, et aucun fill construit sur l'état contourné ne peut entrer — personne n'est facturé, et le séquenceur reconstruit. Un appel entre séquenceurs est un unique fill portant la signature de chaque séquenceur, atomique par construction.

Le chemin forcé : l'inclusion est l'application

Un contrat dont la seule porte est son séquenceur serait une prison si le séquenceur censurait, surfacturait ou disparaissait. Chaque utilisateur dispose d'une porte lente qui n'a besoin de la permission de personne.

Chaque bloc passe par le fold en trois classes, dans un ordre que le producteur ne choisit pas

Fold order within a block: fills, then every other certificate, then forced certificates ordre du fold Fills dans l'ordre du pipeline un séquenceur paie toute omission Tous les autres certificats par adresse de dépôt, seq, id le déposant paie toute omission Certificats forcés exécutés par le producteur, par id 16 au plus ; un échec atterrit tout de même

L'utilisateur signe un intent ouvert — un intent sans séquenceur nommé, financé par les propres payeurs à usage unique de l'utilisateur — et le relaie au réseau. Le producteur, qui détient l'état à la fin de son bloc, exécute contre cet état les intents ouverts qu'il choisit et en ajoute les résultats comme derniers certificats du bloc. Il n'y a ni file, ni bail, ni quota, ni échéance. Le paiement de l'intent couvre les frais, si bien que le producteur gagne ce que gagnerait un séquenceur.

Il fait avancer le fence

Un certificat forcé qui fixe une cellule de l'état d'un contrat fait avancer le compteur fence de ce contrat, si bien que chaque fill construit sur l'état qu'il a contourné est reconstruit. Un certificat forcé qui ne fait que lire, garder ou ajouter des deltas laisse le fence intact, de même qu'un certificat qui échoue. Le séquenceur perd de la latence, rien de plus.

Borné par construction

Au plus 16 certificats forcés par bloc, chacun avec au plus 4 000 unités de dérivation de budget parallèle (200 000 gas machine) : au plus un tiers du plafond parallèle de genèse. La règle pour les auteurs de contrats est qu'un retrait tienne dans ce budget.

Qui fait quoi

Aucun rôle n'est requis pour la sûreté. Si tous les séquenceurs disparaissent, les contrats restent vivants grâce à leurs méthodes delta et au chemin forcé, par lequel les utilisateurs retirent leurs fonds et un contrat peut être lié à un nouveau séquenceur.

Portefeuille

Fait
Construit les paiements sous forme de certificats ; signe des intents pour les contrats
Voit
L'état public qu'il a besoin de lire
Fait confiance à
Personne

Séquenceur

Fait
Exécute les intents de ses contrats, signe des reçus, publie des fills
Objet de confiance pour
La vivacité seulement. S'il ment, son fill est omis et c'est son propre dépôt qui paie
Capture
Le flux d'ordres de sa propre application, explicitement

Nœud vérificateur

Fait
Vérifie chaque certificat à partir de ses octets, relaie, se synchronise
A besoin de
Des cœurs. L'état seulement pour exécuter le fold
Coût
La vérification se répartit sur tous ses cœurs ; le fold est une boucle sur la mémoire

Producteur de blocs

Fait
Mine avec RandomX, ordonne les certificats valides, exécute des intents ouverts à la fin de son bloc
Voit
Des octets et de l'état, pas du sens
Gagne
94 % de la subvention, plus les frais de priorité de ce qui s'applique

Auteur de contrat

Fait
Déclare chaque slot exact ou gardé ; choisit un séquenceur, ou aucun
Obtient
Le parallélisme, optionnel slot par slot
Doit aux utilisateurs
Un retrait qui tient dans le budget forcé

Le réseau : deux marchés de gas

Une chaîne qui facture tout dans une enchère unique met la vérification d'une preuve en concurrence avec une écriture d'état. Ici, chaque ressource a son propre prix.

Gas parallèle

Paie la vérification : signatures, octets, unités de dérivation — preuves lourdes, schémas post-quantiques.

L'offre croît avec chaque cœur et chaque GPU qui rejoint le réseau. Cible et plafond fixés à 3× leurs équivalents séquentiels. Plafond élevé, prix bas.

Gas séquentiel

Paie le fold : lectures, écritures, insertions dans le registre des dépensées, insertions dans l'ensemble des vus. L'unique boucle que chaque nœud exécute dans l'ordre.

Rare. Élastique : la cible évolue une fois par jour selon le gas appliqué, entre 1,6M et 5,12M ; plafond souple à 2× la cible, limite stricte à 4×. Personne ne vote.

Ères : ce qui tourne aujourd'hui, et ce qui vient ensuite

Une ère est une hauteur compilée dans une version, ou une condition mesurée sur la chaîne. Un bloc situé sous une porte et qui porte ce que la porte active est invalide ; une nouvelle ère ne change jamais le sens d'un bloc antérieur.

Ère 0 — miner et payer

En service depuis le bloc 0, 7 octobre 2026. Preuve de travail sous les règles de Nakamoto, actifs natifs, adresses à usage unique et persistantes, les deux marchés de frais, la répartition de la subvention 94/3/3 et la trésorerie, qui s'accumule et qu'aucun certificat ne peut débiter ; un mode de dépense, s'il y en a un, viendra par une mise à niveau ultérieure, pas avant la hauteur 259 200.

Ère 1 — la machine

Hauteur 80 640, vers le 4 novembre 2026, dans le binaire de lancement. La cEVM et sa bibliothèque standard, les enregistrements de contrat avec séquenceur et administrateur, les intents, les fills et le coséquençage, l'annuaire et le chemin forcé.

Ère 2 — preuve d'enjeu

L'engagement s'ouvre à l'époque 182, vers le 7 avril 2027 : l'enjeu est engagé, désengagé ou délégué à un pool, à partir d'une caution minimale de 1 000 ZCD. Dès que l'enjeu actif détient 10 % de l'offre pendant 30 époques, et au plus tard à partir de l'époque 273, une rampe de 90 époques commence : les blocs sont encore minés, chacun étant aussi signé par un staker tiré au sort selon l'enjeu, qui touche k/180 de la part du producteur. Une version à part entière, par hard fork.

La bascule

Le premier bloc de l'époque qui suit la 90e époque à franchir la porte — 90 % de ses blocs signés, un enjeu actif d'au moins 10 % de l'offre. Le minage prend fin ; le staker tiré au sort signe chaque slot de 5 secondes, et une époque de 17 280 slots paie ce que payait auparavant une journée. Un bloc est final par la profondeur, 120 blocs ou 10 minutes. Seule la double signature est punie, et jamais un délégateur.

Au-delà de la vérification complète

Une direction, non une spécification. Lorsque le volume quotidien approchera de ce qu'un nœud ordinaire vérifie, une ère ultérieure pourra tirer au sort un sous-ensemble d'enjeux pour vérifier chaque certificat au lieu de tous les nœuds, tandis que l'état et le fold restent uniques et que chaque certificat reste atomique. D'ici là, chaque nœud vérifie tout.

Ère S — paiements confidentiels

Montants cachés et adresses à usage unique, seulement après des audits indépendants et un testnet public adverse. Ne fait pas partie du protocole v2 : relèverait d'une spécification qui lui serait propre.

Le réseau vu d'en haut

Quatre couches qui ne se recouvrent pas : qui construit, qui vérifie, qui ordonne, et la porte que personne ne peut fermer. Chacune passe à l'échelle avec une ressource différente.

hors chaîne

Portefeuilles et séquenceurs

Du web2 ordinaire : websockets, files d'attente, mise à l'échelle automatique. Les portefeuilles construisent eux-mêmes les paiements ; les séquenceurs exécutent les intents et répondent en quelques millisecondes. Objets de confiance pour la vivacité, jamais pour la sûreté, et jamais dépositaires des données — l'état est toujours reconstructible à partir de la seule chaîne.

parallèle

Relais et vérification

Chaque nœud vérifie chaque certificat à partir de ses octets avant de le relayer. Les blocs voyagent sous forme d'un en-tête plus une liste de hachages que le destinataire détient déjà pour l'essentiel ; les corps sont des données de chaîne. Un nœud se synchronise vers le plus grand travail vérifié, non vers la plus grande hauteur annoncée.

séquentiel

Producteur et fold

Un mineur en preuve de travail ordonne les certificats et résout le bloc ou, après la bascule vers la preuve d'enjeu, le staker tiré au sort pour le slot le signe ; chaque nœud exécute le fold, qui compare, additionne et écrit. L'ordre du fold est fixé par les règles, si bien que le seul choix du producteur est ce qu'il inclut.

séquentielle

Le chemin forcé

Des intents ouverts, exécutés par le producteur à la fin de son bloc. L'inclusion est l'application — le mécanisme qui fait survivre le réseau à tout opérateur, y compris l'auteur.