Vai al contenuto principale
Change page

Attestazioni

Ci si aspetta che un validatore crei, firmi e trasmetta un'attestazione durante ogni epoca. Questa pagina delinea l'aspetto di queste attestazioni e come vengono elaborate e comunicate tra i client di consenso.

Cos'è un'attestazione?

Ogni (6,4 minuti) un validatore propone un'attestazione alla rete. L'attestazione è per uno slot specifico nell'epoca. Lo scopo dell'attestazione è votare a favore della visione della catena del validatore, in particolare il blocco giustificato più recente e il primo blocco nell'epoca corrente (noti come checkpoint source e target). Queste informazioni vengono combinate per tutti i validatori partecipanti, consentendo alla rete di raggiungere il consenso sullo stato della blockchain.

L'attestazione contiene i seguenti componenti:

  • aggregation_bits: una lista di bit dei validatori in cui la posizione corrisponde all'indice del validatore nel proprio comitato; il valore (0/1) indica se il validatore ha firmato il data (ovvero, se è attivo e concorda con il proponente del blocco)
  • data: dettagli relativi all'attestazione, come definito di seguito
  • signature: una firma BLS che aggrega le firme dei singoli validatori

Il primo compito per un validatore attestante è costruire il data. Il data contiene le seguenti informazioni:

  • slot: Il numero di slot a cui si riferisce l'attestazione
  • index: Un numero che identifica a quale comitato appartiene il validatore in un dato slot
  • beacon_block_root: L'hash radice del blocco che il validatore vede in testa alla catena (il risultato dell'applicazione dell'algoritmo di scelta del fork)
  • source: Parte del voto di definitività che indica ciò che i validatori vedono come il blocco giustificato più recente
  • target: Parte del voto di definitività che indica ciò che i validatori vedono come il primo blocco nell'epoca corrente

Una volta costruito il data, il validatore può invertire il bit in aggregation_bits corrispondente al proprio indice del validatore da 0 a 1 per mostrare di aver partecipato.

Infine, il validatore firma l'attestazione e la trasmette alla rete.

Attestazione aggregata

C'è un notevole sovraccarico associato al passaggio di questi dati attraverso la rete per ogni validatore. Pertanto, le attestazioni dei singoli validatori vengono aggregate all'interno di sottoreti prima di essere trasmesse più ampiamente. Ciò include l'aggregazione delle firme in modo che un'attestazione trasmessa includa il data di consenso e una singola firma formata combinando le firme di tutti i validatori che concordano con quel data. Questo può essere verificato utilizzando aggregation_bits perché fornisce l'indice di ciascun validatore nel proprio comitato (il cui ID è fornito nel data) che può essere utilizzato per interrogare le singole firme.

In ogni epoca 16 validatori in ciascuna sottorete vengono selezionati per essere gli aggregators. Gli aggregatori raccolgono tutte le attestazioni di cui vengono a conoscenza sulla rete gossip che hanno un data equivalente al proprio. Il mittente di ogni attestazione corrispondente viene registrato in aggregation_bits. Gli aggregatori trasmettono quindi l'aggregato di attestazioni alla rete più ampia.

Quando un validatore viene selezionato per essere un proponente del blocco, impacchetta le attestazioni aggregate dalle sottoreti fino all'ultimo slot nel nuovo blocco.

Ciclo di vita dell'inclusione dell'attestazione

  1. Generazione
  2. Propagazione
  3. Aggregazione
  4. Propagazione
  5. Inclusione

Il ciclo di vita dell'attestazione è delineato nello schema seguente:

attestation lifecycle

Ricompense

I validatori ricevono una ricompensa per l'invio di attestazioni. La ricompensa dell'attestazione dipende dai flag di partecipazione (origine, destinazione e testa), dalla ricompensa di base e dal tasso di partecipazione.

Ciascuno dei flag di partecipazione può essere vero o falso, a seconda dell'attestazione inviata e del suo ritardo di inclusione.

Lo scenario migliore si verifica quando tutti e tre i flag sono veri, nel qual caso un validatore guadagnerebbe (per flag corretto):

reward += base reward * flag weight * flag attesting rate / 64

Il tasso di attestazione del flag viene misurato utilizzando la somma dei saldi effettivi di tutti i validatori attestanti per il flag specificato rispetto al saldo effettivo attivo totale.

Ricompensa di base

La ricompensa di base viene calcolata in base al numero di validatori attestanti e ai loro saldi effettivi di ether in staking:

base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)

Ritardo di inclusione

Nel momento in cui i validatori hanno votato sulla testa della catena (block n), block n+1 non era ancora stato proposto. Pertanto le attestazioni vengono naturalmente incluse un blocco dopo, quindi tutte le attestazioni che hanno votato affinché block n fosse la testa della catena sono state incluse in block n+1 e il ritardo di inclusione è 1. Se il ritardo di inclusione raddoppia a due slot, la ricompensa dell'attestazione si dimezza, perché per calcolare la ricompensa dell'attestazione la ricompensa di base viene moltiplicata per il reciproco del ritardo di inclusione.

Scenari di attestazione

Validatore votante mancante

I validatori hanno un massimo di 1 epoca per inviare la loro attestazione. Se l'attestazione è stata persa nell'epoca 0, possono inviarla con un ritardo di inclusione nell'epoca 1.

Aggregatore mancante

Ci sono 16 aggregatori per epoca in totale. Inoltre, validatori casuali si iscrivono a due sottoreti per 256 epoche e fungono da backup nel caso in cui manchino gli aggregatori.

Proponente del blocco mancante

Si noti che in alcuni casi un aggregatore fortunato può anche diventare il proponente del blocco. Se l'attestazione non è stata inclusa perché il proponente del blocco è scomparso, il proponente del blocco successivo raccoglierà l'attestazione aggregata e la includerà nel blocco successivo. Tuttavia, il ritardo di inclusione aumenterà di uno.

Letture consigliate

Conosci una risorsa della community che ti è stata utile? Modifica questa pagina e aggiungila!

Ultimo aggiornamento della pagina: 21 ottobre 2025