Tutte le competenze

07

Blockchain

Registri verificabili e token, quando servono davvero

Serve a poche aziende, e va detto: nella maggior parte dei casi un database fatto bene risolve lo stesso problema costando molto meno. Quando invece serve davvero un registro che nessuno può riscrivere, il lavoro cambia natura.

Prima del rilascio
  1. Modello delle minacceAttori, confini di fiducia e dove si muovono i fondi
  2. TestLe proprietà che non devono mai rompersi, scritte come regole
  3. Analisi automaticaGli errori noti, cercati su tutti i contratti a ogni modifica
  4. Sequenze casualiMigliaia di combinazioni che nessuno scriverebbe a mano
  5. Verifica matematicaLa regola dimostrata per tutti i valori possibili, non solo per quelli provati
  6. Audit esternoObbligatorio prima della produzione: il codice vale soldi veri

Il codice vale soldi, quindi si dimostra

Test come base, poi analisi automatica su tutti i contratti, prove con migliaia di sequenze casuali sulle proprietà che non devono mai rompersi, e verifica matematica sulle regole critiche.

Sono strumenti che trovano cose diverse: l’analisi automatica riconosce gli errori noti, le sequenze casuali trovano combinazioni che nessuno avrebbe scritto a mano, la verifica matematica dimostra che una regola vale per tutti i valori possibili e non solo per quelli provati.

Aggiornabile ma non arbitrario

I contratti che devono poter evolvere passano da un ritardo obbligatorio prima di ogni modifica: chi tiene i fondi ha il tempo di vedere cosa sta per cambiare e di uscire. Quelli che non devono cambiare restano immutabili e senza poteri speciali.

Sui prelievi valgono limiti espliciti, e chi ha diritto a qualcosa se la ritira invece di riceverla: così un destinatario che si comporta male non blocca tutti gli altri.

Una catena è anche infrastruttura

Dietro una rete ci sono processi che devono restare in piedi: chi ordina le transazioni, il nodo pubblico, il componente che pubblica i dati sulla catena sottostante, l’esploratore e il monitoraggio. È lavoro di sistemi tanto quanto di contratti.

Portfolio

Cosa abbiamo fatto, progetto per progetto, su questa competenza.

Manora

Rete Layer 2 con moneta di gas propria

  • Sette contratti su base OpenZeppelin: moneta a offerta fissa immutabile, wrapper, rimborso dei costi di pubblicazione, distribuzione con maturazione progressiva, tesoreria con prelievi ritardati e tetto giornaliero, staking a cinque livelli con sconti sulle commissioni dal 10% al 70%.
  • Base comune aggiornabile con ritardo obbligatorio di 48 ore su ogni modifica, controllo dei ruoli e blocco d’emergenza.
  • 487 test automatici con copertura al 99,4% delle istruzioni; verifica matematica su 27 proprietà di 29 e su 50 regole di 51, sequenze casuali sulle invarianti dello staking, analisi automatica senza veri positivi.
  • Rete su Arbitrum Nitro con moneta di gas personalizzata e identificativi distinti fra sviluppo e produzione per la protezione dai replay.
  • Rilascio in fasi con manifesto e controlli successivi, più un pacchetto di tredici documenti per gli auditor esterni.
  • Solidity
  • OpenZeppelin
  • Hardhat
  • Foundry
  • Docker
  • Arbitrum Nitro

Ti serve questo?

Raccontaci il problema e vi diciamo come lo affronteremmo — e se non è il caso di farlo, ve lo diciamo lo stesso.

Parliamone