Wiki di ZooBC
Sicurezza e architettura

Sicurezza e architettura

La sicurezza di ZooBC poggia su firme e hash, non sull'energia consumata. Ogni blocco, transazione, ricevuta e prova del seed è firmato, e ogni nodo verifica tutto ciò che accetta, quindi nessun nodo deve fidarsi sulla parola di un altro. Attorno a questo nucleo, l'architettura aggiunge alcuni limiti rigidi: la cronologia consolidata non può essere riscritta, un nuovo nodo può trovare da solo la catena autentica e una firma vale su una sola catena.

L'attaccante che ZooBC mette in conto

Il progetto presuppone un attaccante in grado di gestire un numero qualsiasi di nodi e account, che vede ogni messaggio, sfrutta qualsiasi difetto logico ed è ricco, ma che non può falsificare firme, trovare collisioni di hash o comprare ogni token. I suoi obiettivi sarebbero rubare, censurare, riscrivere la cronologia o disturbare la catena. Da cosa si difende il Proof of Participation esamina ogni attacco e la relativa risposta.

Due catene in ogni nodo

Ogni nodo mantiene due catene. La catena principale produce un blocco ogni 15 secondi e contiene le transazioni; i suoi blocchi sono prodotti da nodi registrati estratti a sorte (vedi Proof of Participation). La catena spine produce un blocco al giorno su mainnet e non contiene transazioni: ogni blocco è un checkpoint della catena principale, una registrazione delle chiavi dei nodi entrate o uscite e i manifest degli snapshot di stato più recenti, co-firmato da due terzi dei seggi.

Livelli di difesa

LivelloChe cosa garantisceArticolo
validazione da parte di ogni nodoun blocco conta solo se lo ha firmato il produttore estratto e se la prova del seed, le transazioni e le ricevute sono corretteProof of Participation
seggi uguali e cadenzatiil potere non si compra in fretta: una possibilità uguale per seggio, un'ammissione per cicloDa cosa si difende il Proof of Participation
rollback limitatonessun nodo fa rollback di più di 720 blocchi (3 ore)Finalità e rollback
checkpoint della spinenessun nodo si riorganizza sotto un checkpoint co-firmato da due terzi dei seggiLa catena spine
fast sync verificatoun nuovo nodo carica lo stato indicato dalla spine, verifica ogni hash e interroga a campione i suoi peerSnapshot e fast sync
pin della releaseuna nuova installazione rifiuta una cronologia della spine che contraddice la sua releaseIl pin della release
firme legate alla catenauna transazione firmata per una catena viene rifiutata su ogni altraFirme legate alla catena
decisioni dei due terzicheckpoint, trasferimenti del bridge, fatti degli oracoli e veti sulle release richiedono due terzi dei seggiLe regole dei due terzi
seed imprevedibilinessun produttore può scegliere la casualità che sceglie il produttore successivoIl seed del blocco (VRF)
segnalazioni di doppia firmaun produttore che firma due blocchi sullo stesso padre viene smascherato e sanzionatoDoppia firma (equivocazione)

I livelli si sovrappongono. Una riscrittura della cronologia a partire da un anno prima, per esempio, fallisce di per sé a ciascuno di più livelli: il limite di rollback, la soglia dei checkpoint, le co-firme della spine e il pin della release.

Un ramo falso che parte da molto indietro incontra tre scudi: il limite di rollback di 720 blocchi, la soglia dei checkpoint della spine e il pin della spine nella release, sotto una spine i cui blocchi portano ciascuno due terzi delle firme. I nodi in funzione e i nuovi nodi lo rifiutano.
Un ramo falso che parte da molto indietro incontra tre scudi: il limite di rollback di 720 blocchi, la soglia dei checkpoint della spine e il pin della spine nella release, sotto una spine i cui blocchi portano ciascuno due terzi delle firme. I nodi in funzione e i nuovi nodi lo rifiutano.

Che cosa potrebbe e non potrebbe fare una maggioranza

Anche un attaccante che detenesse più della metà dei seggi potrebbe solo ritardare o censurare transazioni e sostituire blocchi recenti entro il limite di 3 ore. Non potrebbe falsificare firme, spendere le monete altrui, coniare più del piano della coinbase o scendere sotto il checkpoint della spine, perché ogni nodo verifica ogni blocco da sé.

Su che cosa non si basa la sicurezza di ZooBC

  • Sulla segretezza. Il traffico tra peer è semplice gRPC; la protezione viene da firme e verifiche.
  • Su energia o hardware. Non si risolve alcun enigma e nessuna macchina dà un vantaggio.
  • Su una parte fidata. Nessuna fondazione controfirma i blocchi, nessun sito web garantisce gli snapshot, e un solo peer onesto basta per conoscere la catena più pesante.

Vedi anche

Articoli su questo argomento