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.
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.
program sur les reads produit exactement les writes, et le deposit couvre le pire cas. Pas de disque, pas d'historique.reads déclarés tiennent-ils encore lorsque le certificat arrive à son tour dans le bloc ?Deux verbes, deux étapes
Toute la conception consiste à séparer ces deux questions — et à répondre à chacune à l'endroit le moins coûteux.
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
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.
Omis
Une lecture ne tient plus, ou un delta sortirait de la plage de 256 bits. Rien n'est écrit. Des frais d'omission fixes de 0,01 ZCD sont brûlés sur le dépôt et le reste est restitué. L'identifiant est marqué comme vu, si bien qu'aucun producteur ne peut l'inclure à nouveau.
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.
L'utilisateur ne paie jamais une omission
Le déposant a choisi les lectures, c'est donc le déposant qui en répond. Pour un fill, c'est un séquenceur : celui qui s'est déclaré pour le contrat dont la lecture a échoué, ou à défaut celui dont le fill nomme le dépôt. Le paiement de l'utilisateur à chaque séquenceur ne se règle que lorsque le fill s'applique. Les échecs qui n'ont personne à facturer — un fill hors de l'ordre du pipeline, un fence qui a bougé, un certificat forcé dont les lectures ne tiennent pas — rendent au contraire le bloc invalide, parce que c'est le producteur qui aurait pu le savoir.
Le parcours, de la naissance au registre
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.
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.
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.
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é.
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 ?
É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.
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
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.
Un appel qui échoue atterrit tout de même
Un appel forcé qui échoue (revert), enfreint ses bornes ou épuise son gas entre comme FORCED_FAILED : ses payeurs paient, rien d'autre n'est écrit. Quiconque relaie des intents qui ne peuvent pas réussir paie pour chacun d'eux, si bien qu'ils ne peuvent pas affamer un intent sain.
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
Chemin forcé
- Fait
- Une porte sans permission : un intent ouvert, exécuté par le producteur
- Coût
- Le prix forcé à chaque fois, et la latence
- Garantit
- Aucun opérateur n'est une prison
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.
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.
Seul ce qui s'applique paie, et seul ce qui s'applique fait bouger le prix
Les frais de base sont brûlés et les frais de priorité paient le producteur, sur les certificats qui s'appliquent et sur eux seuls ; les frais d'un certificat omis sont brûlés en totalité. Si une omission payait le producteur, celui qui assemble le bloc aurait intérêt à organiser les échecs d'autrui. Brûler inverse cela : une omission prend de la place et ne rapporte rien. Et seul le gas appliqué fait bouger les frais de base, si bien que remplir les blocs de certificats en conflit avec eux-mêmes ne peut évincer personne par le prix.
È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.
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.
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.
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.
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.
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.