Les fonds
ZooBC rassemble l’argent qu’il facture pour conserver des éléments sur la chaîne dans deux comptes système, le fonds de longévité et le fonds de stockage. Personne ne détient de clé pour ces comptes : leurs pièces ne bougent que selon les règles du protocole, et ces règles les versent aux nœuds enregistrés. Un troisième compte système, le pool des apps, sert de banque pour les paris sur la chaîne ; il est décrit à part (pool des apps).
Des comptes sans clé
L’adresse de chacun de ces comptes est un nom ASCII complété par des zéros jusqu’à 32 octets : ZBCLONGV pour le fonds de longévité, ZBCSTORE pour le fonds de stockage et ZBCAPPS pour le pool des apps. Aucune clé privée ne correspond à ces adresses, si bien qu’aucune signature ne peut dépenser depuis elles (comptes et adresses). Le fonds de longévité et le fonds de stockage sont exemptés du loyer de compte.
Le fonds de longévité
Le fonds de longévité rassemble ce que ZooBC facture pour conserver des éléments sur la chaîne, ainsi que ses pénalités. À partir de la version 0.5.8, il reçoit :
- le loyer des comptes (loyer de compte et l’élagage), le loyer des jeux de données (jeux de données), le loyer des marchés (marchés et ordres) et le loyer des séquestres (séquestre) ;
- le loyer prélevé sur les dépôts de longévité, qui maintiennent des transactions choisies stockées au-delà de l’historique ordinaire, et ce qui reste lorsqu’un tel dépôt est clôturé (payer pour conserver des données (longévité)) ;
- les dépôts récupérés sur des données qui ont cessé de payer, comme le reste du dépôt d’un fichier stocké lorsque ce fichier est élagué ;
- l’entretien payé pour maintenir les jetons en vie (entretien du jeton (persistance)) ;
- parce que le ZBC n’est jamais brûlé, la part de 10 % de mise qu’un nœud perd dans les cas énumérés à la page ZBC n’est jamais brûlé, les frais de présence des nœuds en file d’attente (file d’attente), et la poussière laissée dans chaque compte élagué et chaque groupe de comptes dissous.
La coinbase et les frais de transaction ordinaires prennent un chemin plus court. Ils vont directement dans la cagnotte de récompenses de leur propre bloc et sont partagés par la loterie de ce bloc, sans passer par le fonds de longévité.
Une tranche à chaque bloc
Le fonds de longévité verse de l’argent dans chaque bloc au-dessus de la hauteur 1. Chaque bloc prélève une tranche de son solde :
slice = floor(balance ÷ (period − height mod period))
La période est la période de facturation, soit un cycle d’instantané : 172 800 blocs, ou 30 jours, sur le mainnet. La tranche quitte le fonds et rejoint la cagnotte de récompenses de ce bloc avec la coinbase et les frais, et la loterie coinbase la répartit.
Comme le diviseur décompte jusqu’à 1, le fonds est vide à chaque limite de période, et l’argent qui arrive en milieu de période est réparti sur les blocs restants. Par exemple, 17,28 ZBC présents dans le fonds au début d’une période, sans aucune autre arrivée ni aucun autre versement, paient 10 000 unités atomiques (0,0001 ZBC) dans chacun des 172 800 blocs. Un fonds plus petit que le nombre de blocs restants ne paie rien tant qu’il ne grossit pas, car la division se fait en unités atomiques entières.
Payer à chaque bloc laisse les règles de la loterie décider qui gagne : seuls les nœuds matures qui ne sont ni manquants ni suspendus détiennent des tickets, et les parts suivent les détenteurs de tickets de chaque bloc, et non les nœuds qui se trouvent être éligibles à un seul instant. Le fonds n’est pas une réserve pour les urgences, et il ne rembourse personne : il existe pour payer les nœuds qui conservent les données de la chaîne.
Une part pour l’archive
Le fonds de longévité paie aussi l’archive, dans laquelle le stockage décentralisé conserve chaque instantané de la chaîne depuis le bloc zéro. À chaque époque de stockage, 10 % du fonds de longévité sont versés à parts égales aux nœuds qui prouvent les segments échantillonnés de ces instantanés.
Le fonds de stockage
Le fonds de stockage reçoit le loyer des fichiers conservés dans le stockage décentralisé et paie les nœuds qui les détiennent (stockage décentralisé). À chaque époque, soit 240 blocs ou environ une heure, les nœuds attribués aux fragments d’un fichier soumettent des preuves de stockage. Pour chaque fragment dont la preuve est confirmée, le propriétaire de chaque détenteur concordant est payé par le fonds : le loyer des fichiers actifs pour l’époque, divisé par le nombre de preuves attendues, et jamais plus que ce que contient le fonds. Un détenteur mis en minorité, ou non mature, renonce à la récompense de cette époque, qui reste dans le fonds.
Les prix qui alimentent les deux fonds, du loyer de compte au prix de stockage par Mio, sont votés par les sièges du registre à l’intérieur de bornes fixes (votes de prix).