Wiki di ZooBC
Economia e governance

Commissioni

Ogni transazione ZooBC paga una commissione in ZBC. Il suo minimo, la soglia minima, viene calcolato allo stesso modo da ogni nodo a partire dalla transazione stessa e da alcuni parametri validi per tutta la rete, quindi un wallet lo conosce prima di firmare. Tutto ciò che viene dichiarato oltre la soglia minima torna indietro nello stesso blocco, e le commissioni trattenute vanno alla lotteria che paga i nodi registrati. Nulla viene bruciato, e nessun singolo nodo o organizzazione si prende le commissioni.

La commissione minima

La soglia minima ha due parti:

floor = base action fee × fee scale
      + price of the body and message bytes, kept for the minimum window,
        × number of registered nodes
  • La commissione base per azione è di 2.500.000 unità atomiche (0,025 ZBC). Non esiste una commissione base per tipo: un pagamento, l'emissione di un token e un ordine di mercato partono tutti dalla stessa base.
  • La scala delle commissioni è la commissione di trasferimento su cui votano i seggi del registro. Parte da 1,0 e può muoversi una volta per ciclo di 30 giorni (voti sui prezzi).
  • L'addebito per i byte fa pagare il corpo e il messaggio della transazione, conservati per una finestra minima di 17.280 blocchi (3 giorni) su mainnet, al prezzo di archiviazione dei dataset. Dalla versione 0.5.8 viene moltiplicato per il numero di nodi registrati al blocco precedente, perché ogni nodo conserva una copia di quei byte.

La soglia minima di un semplice pagamento è quindi appena superiore a 0,025 ZBC. L'endpoint GET /api/v1/blockchain/estimate-fee dell'API del nodo restituisce la soglia minima prima che tu firmi.

Una transazione che dichiara meno della propria soglia minima viene rifiutata, e un blocco che ne contiene una non è valido. Il tipo 0, la transazione no-op che non sposta nulla, deve comunque pagare una commissione maggiore di zero. Un nodo non rifiuta mai una commissione perché troppo alta. Più azioni raggruppate in una sola transazione pagano la somma di ciò che ciascuna azione pagherebbe da sola, con il messaggio addebitato una sola volta (una transazione per account per blocco, e i batch), e ogni addebito calcolato viene arrotondato per eccesso ad almeno un'unità atomica.

Ciò che si paga in eccesso viene rimborsato

Puoi dichiarare più della soglia minima. Quando il blocco viene applicato, l'intera commissione dichiarata lascia il tuo account, e la parte oltre la soglia minima torna subito indietro nello stesso blocco, come voce di rimborso separata nella cronologia del tuo account. Per esempio, a un pagamento su testnet che aveva dichiarato 0,02550004 ZBC sono stati addebitati 0,02500003 ZBC e rimborsati 0,00050001 ZBC. Pagare troppo per errore non costa quindi nulla.

Pagare di più, d'altra parte, non compra nulla. Il pool di attesa di un nodo ordina le transazioni in base alla commissione che il nodo tratterrà davvero, per byte, cioè la soglia minima, perché l'eccedenza viene rimborsata; a parità decide l'ordine di arrivo, poi l'id della transazione. Dichiarare dieci volte la soglia minima dà la stessa posizione che dichiarare la soglia minima: una commissione più alta non compra un posto più avanti, né protezione dall'essere scartata quando il pool è pieno, e non può spingere fuori altre transazioni.

Dove vanno le commissioni

Tutte le commissioni trattenute da un blocco si uniscono al suo pool di ricompensa, insieme alle monete appena rilasciate e a una fetta del pool di longevità, e la lotteria coinbase distribuisce quel pool tra i nodi registrati in proporzione al loro punteggio di partecipazione. Il nodo che ha prodotto il blocco non vanta alcun diritto particolare sulle commissioni. Non vengono bruciate (ZBC non viene mai bruciato), e la ZooBC Foundation non ne prende alcuna parte.

Una commissione dichiarata si divide: la commissione minima si unisce al pool di ricompensa del blocco con la coinbase e viene distribuita per lotteria tra i nodi; la parte pagata in eccesso viene rimborsata al mittente nello stesso blocco.
Una commissione dichiarata si divide: la commissione minima si unisce al pool di ricompensa del blocco con la coinbase e viene distribuita per lotteria tra i nodi; la parte pagata in eccesso viene rimborsata al mittente nello stesso blocco.

Un addebito a parte funziona diversamente. Sui mercati integrati, la commissione taker di uno scambio, dello 0,1 % all'inizio e prelevata da ciò che il taker riceve, va al produttore del blocco; i maker non pagano nulla (mercati e ordini).

Compiti esenti da commissioni

Alcune transazioni sono un lavoro che un nodo svolge per la rete e non per sé stesso. Questi compiti devono dichiarare una commissione esattamente pari a zero, e devono provenire dall'account proprio di un nodo registrato, l'indirizzo costruito dalla sua chiave del nodo:

Un compito con qualsiasi altra commissione, o inviato da qualsiasi altra chiave, viene rifiutato. Gratuito non significa illimitato: un nodo può avere al massimo un compito in sospeso per oggetto del compito (un frammento di archiviazione in un'epoca, un evento, un parametro, una finestra di voto), e i compiti viaggiano in una corsia propria del pool di attesa di un nodo, così il traffico ordinario non può soffocarli.

Altri addebiti

Alcune funzioni hanno addebiti propri oltre alla commissione, e questi non vengono mai rimborsati: il canone di un escrow (escrow), un deposito di longevità che mantiene una transazione archiviata oltre il pruning (pagare per conservare i dati (longevità)) e la manutenzione di un token (manutenzione dei token (persistenza)). Finiscono nel pool di longevità, che paga ai nodi una fetta in ogni blocco (pool).

Vedi anche