La preuve de participation comparée à la PoW et à la PoS
Toute blockchain doit décider qui écrit le bloc suivant. En preuve de travail, la chance de produire un bloc suit la puissance de calcul ; en preuve d’enjeu, elle suit les pièces mises en jeu. Les conceptions déléguées et fédérées la confient à un groupe élu ou agréé. La preuve de participation (PoP), le consensus de ZooBC, donne la même chance à chaque siège admis, admet les nouveaux sièges lentement, à un rythme fixé par le protocole, et rémunère un travail mesuré. Cette page met ces conceptions côte à côte.
Qui produit les blocs
| Preuve de travail | Preuve d’enjeu | Déléguée / fédérée | Preuve de participation | |
|---|---|---|---|---|
| La chance d’un producteur suit | la puissance de hachage | les pièces mises en jeu | le fait d’être élu ou agréé | une part égale par siège actif |
| Plus de pouvoir vient de | l’achat de matériel | l’achat de pièces | votes gagnés, nomination | plus de sièges, admis un par cycle |
| Qui peut devenir producteur | quiconque a du matériel | quiconque a des pièces | les quelques élus ou inscrits | quiconque bloque une mise et attend dans la file |
En preuve de travail comme en preuve d’enjeu, le pouvoir s’achète aussi vite que l’argent le permet : du matériel dans un cas, des pièces dans l’autre. En preuve de participation, chaque siège actif et non suspendu du registre des nœuds a la même chance dans le tirage de chaque bloc. Le matériel, le solde du compte, la mise et même le score de participation du nœud n’entrent pas dans le tirage. Un opérateur qui détient 3 des 30 sièges produit environ un bloc sur dix.
Ouvert, mais rythmé
Les conceptions déléguées concentrent la production des blocs entre quelques producteurs élus, les conceptions fédérées dans une liste fixe de validateurs connus. La preuve de participation garde l’ensemble des producteurs ouvert et plat.
Ouvert. Tout compte propriétaire peut enregistrer une clé de nœud et bloquer au moins le minimum de la file d’attente, qui démarre à 100 ZBC sur le mainnet ; les sièges peuvent le fixer par vote n’importe où entre une unité atomique et 250 ZBC. Personne ne vote pour admettre les candidats, et aucune fondation ne les approuve. Chaque chaîne démarre avec 11 sièges de genèse détenus par la ZooBC Foundation et ne grandit que par la file d’attente.
Rythmé. La file d’attente est ordonnée par la mise multipliée par le nombre de blocs attendus, et le protocole admet un nœud par cycle. Un cycle dure 600 jours divisés par le nombre de sièges, maintenu entre 7 et 90 jours : environ 54,5 jours avec 11 sièges. Le premier nouveau venu entre 7 jours après la genèse. Voir rythme d’admission.
Plat. Une fois admis, un siège est un siège. Une mise plus élevée achète une place plus tôt dans la file d’attente, jamais davantage de blocs : pour dépasser un candidat qui attend depuis dix fois plus longtemps, un candidat doit bloquer dix fois plus.
Le prix d’une adhésion rythmée est une croissance lente. Tant que la base de 600 jours fixe le rythme, un registre de n sièges admet un nouveau venu tous les 600 ÷ n jours : il lui faut donc environ 416 jours (600 × ln 2) pour doubler, quelle que soit sa taille. Un attaquant fait face au même rythme : les sièges ne s’achètent pas du jour au lendemain (voir le modèle de menace).
Ce qui permet de conserver un siège
En preuve de participation, un siège ne se conserve pas avec de l’argent : il ne se conserve qu’en faisant le travail, c’est-à-dire en produisant à ses tours et en relayant blocs et transactions vers les pairs qui lui sont assignés. Un nœud qui saute des tours ne gagne rien et perd du score de participation, et à zéro il est expulsé (voir les tours manqués). La mise est une caution : elle ne rapporte rien par elle-même, et il n’existe aucun intérêt de staking.
Ce qui rend un bloc difficile à falsifier
En preuve de travail, un bloc est difficile à falsifier parce qu’il incorpore un travail coûteux à refaire. La preuve de participation ne dépense aucune énergie en casse-têtes ; sa conception appelle cela « aucun travail gaspillé ». Un bloc ZooBC est signé avec la clé d’un nœud tiré pour son tour, et il porte une graine que seule cette clé pouvait produire (voir la graine du bloc). Chaque nœud vérifie les deux, ainsi que chaque transaction et chaque reçu du bloc. La sécurité repose sur les signatures Ed25519, le hachage SHA3-256 et une fonction aléatoire vérifiable. La puissance de calcul ne joue aucun rôle, et un bloc vide est parfaitement valide.
Récompenses et finalité
Les nouveaux ZBC ne proviennent que de la coinbase, répartie à chaque bloc par une loterie pondérée par le score de participation, et non par la mise ou la puissance de hachage (voir la loterie coinbase).
La preuve de travail offre une finalité probabiliste : les utilisateurs de Bitcoin attendent souvent six blocs avant de considérer un paiement comme réglé. ZooBC fixe plutôt des limites strictes : aucun nœud ne revient en arrière de plus de 720 blocs (3 heures), et aucun ne descend en deçà du dernier point de contrôle cosigné par les deux tiers des sièges (voir finalité et retour arrière).