Wiki ZooBC
Proof of Participation

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 travailPreuve d’enjeuDéléguée / fédéréePreuve de participation
La chance d’un producteur suitla puissance de hachageles pièces mises en jeule fait d’être élu ou agrééune part égale par siège actif
Plus de pouvoir vient del’achat de matériell’achat de piècesvotes gagnés, nominationplus de sièges, admis un par cycle
Qui peut devenir producteurquiconque a du matérielquiconque a des piècesles quelques élus ou inscritsquiconque 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.

Trente sièges actifs dans l’ordre des identifiants de nœud, dont trois sont à vous ; chaque tirage rend tous les sièges également probables, si bien que 3 sièges sur 30 produisent environ 1 bloc sur 10.
Trente sièges actifs dans l’ordre des identifiants de nœud, dont trois sont à vous ; chaque tirage rend tous les sièges également probables, si bien que 3 sièges sur 30 produisent environ 1 bloc sur 10.

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.

Une file d’attente ordonnée par mise × blocs attendus franchit un tourniquet, une admission par cycle, vers un cercle de sièges identiques où chaque siège actif est également probable ; 11 d’entre eux sont des sièges de genèse.
Une file d’attente ordonnée par mise × blocs attendus franchit un tourniquet, une admission par cycle, vers un cercle de sièges identiques où chaque siège actif est également probable ; 11 d’entre eux sont des sièges de genèse.

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).

Voir aussi