Wiki ZooBC
Sécurité et architecture

Sécurité et architecture

La sécurité de ZooBC repose sur des signatures et des hachages, pas sur de l’énergie dépensée. Chaque bloc, chaque transaction, chaque reçu et chaque preuve de graine est signé, et chaque nœud vérifie tout ce qu’il accepte, de sorte qu’aucun nœud n’a à croire un autre sur parole. Autour de ce noyau, l’architecture ajoute quelques limites fermes : l’historique réglé ne peut pas être réécrit, un nouveau nœud peut trouver seul la chaîne authentique, et une signature ne vaut que sur une seule chaîne.

L’attaquant que ZooBC prend en compte

La conception suppose un attaquant capable de faire tourner autant de nœuds et de comptes qu’il le souhaite, qui voit chaque message, exploite toute faille de logique et dispose de grands moyens, mais qui ne peut ni falsifier de signatures, ni trouver de collisions de hachage, ni acheter tous les jetons. Ses objectifs seraient de voler, de censurer, de réécrire l’historique ou de perturber la chaîne. La page consacrée au modèle de menace passe en revue chaque attaque et la réponse qui lui est apportée.

Deux chaînes dans chaque nœud

Chaque nœud conserve deux chaînes. La chaîne principale produit un bloc toutes les 15 secondes et transporte les transactions ; ses blocs sont produits par des nœuds enregistrés tirés au sort (voir preuve de participation). La chaîne dorsale produit un bloc par jour sur le mainnet et ne transporte aucune transaction : chaque bloc est un point de contrôle de la chaîne principale, un relevé des clés de nœud qui ont rejoint ou quitté le registre et les manifestes des derniers instantanés de l’état, le tout cosigné par deux tiers des sièges.

Les couches de défense

CoucheCe qu’elle garantitArticle
validation par chaque nœudun bloc ne compte que si son producteur tiré l’a signé et si sa preuve de graine, ses transactions et ses reçus sont validesLa preuve de participation
sièges égaux, admis à un rythme fixéle pouvoir ne s’achète pas rapidement : une chance égale par siège, une admission par cycleCe contre quoi protège la preuve de participation
retour arrière bornéaucun nœud ne revient en arrière de plus de 720 blocs (3 heures)Finalité et retour arrière
points de contrôle de la dorsaleaucun nœud ne se réorganise sous un point de contrôle cosigné par deux tiers des siègesLa chaîne dorsale
synchronisation rapide vérifiéeun nouveau nœud charge l’état que nomme la dorsale, vérifie chaque hachage et recoupe un échantillon auprès de ses pairsInstantanés et synchronisation rapide
épingle de versionune nouvelle installation refuse un historique de dorsale qui contredit sa versionL’épingle de version
signatures liées à la chaîneune transaction signée pour une chaîne est refusée sur toutes les autresSignatures liées à la chaîne
décisions aux deux tierspoints de contrôle, transferts du pont, faits d’oracle et vetos de version exigent deux tiers des siègesLes règles des deux tiers
graines imprévisiblesaucun producteur ne peut choisir l’aléa qui désigne le producteur suivantLa graine du bloc (VRF)
signalement des doubles signaturesun producteur qui signe deux blocs sur un même parent est confondu par la preuve et sanctionnéLa double signature (équivocation)

Les couches se recouvrent. Une réécriture de l’historique remontant à un an, par exemple, est arrêtée par plusieurs couches dont chacune suffit à elle seule : la limite de retour arrière, le plancher des points de contrôle, les cosignatures de la dorsale et l’épingle de version.

Une fausse branche partie de très loin se heurte à trois boucliers : la limite de retour arrière de 720 blocs, le plancher des points de contrôle de la dorsale et l’épingle de dorsale de la version, sous une dorsale dont chaque bloc porte deux tiers des signatures. Les nœuds en fonctionnement comme les nouveaux nœuds la refusent.
Une fausse branche partie de très loin se heurte à trois boucliers : la limite de retour arrière de 720 blocs, le plancher des points de contrôle de la dorsale et l’épingle de dorsale de la version, sous une dorsale dont chaque bloc porte deux tiers des signatures. Les nœuds en fonctionnement comme les nouveaux nœuds la refusent.

Ce qu’une majorité pourrait faire, et ce qu’elle ne pourrait pas faire

Même un attaquant détenant plus de la moitié des sièges pourrait seulement retarder ou censurer des transactions et remplacer des blocs récents dans la limite des 3 heures. Il ne pourrait ni falsifier de signatures, ni dépenser les pièces d’autrui, ni frapper plus que ne le prévoit le barème de la coinbase, ni descendre sous le point de contrôle de la dorsale, car chaque nœud vérifie lui-même chaque bloc.

Ce sur quoi la sécurité de ZooBC ne repose pas

  • Le secret. Le trafic entre pairs circule en gRPC en clair ; la protection vient des signatures et de la vérification.
  • L’énergie ou le matériel. Aucune énigme n’est résolue et aucune machine ne confère d’avantage.
  • Un tiers de confiance. Aucune fondation ne contresigne les blocs, aucun site web ne se porte garant des instantanés, et un seul pair honnête suffit pour apprendre l’existence de la chaîne la plus lourde.

Voir aussi

Articles de ce thème