Vai al contenuto principale

Linee guida di sicurezza per gli Smart Contract

soliditysmart contractsicurezza
Intermedio
Trailofbits
Creare contratti sicuri(opens in a new tab)
6 settembre 2020
5 minuti letti minute read

Segui questi consigli di alto livello per creare Smart Contract più sicuri.

Linee guida di progettazione

La progettazione del contratto deve essere discussa in anticipo, prima di scrivere la prima riga di codice.

Documentazione e specifiche

La documentazione può essere scritta su diversi livelli e deve essere aggiornata durante l'implementazione dei contratti:

Calcolo sulla catena ed esterno alla catena

  • Mantieni quanto più codice possibile al di fuori della catena. Il livello sulla catena deve essere il più ridotto possibile. Elabora anticipatamente i dati con il codice esternamente alla catena così che la verifica su di essa sia semplice. Ti serve un elenco ordinato? Ordina l'elenco esternamente alla catena, poi controlla solo l'ordine sulla catena.

Aggiornabilità

Abbiamo discusso le diverse soluzioni di aggiornabilità nel nostro post di blog(opens in a new tab). Fai una scelta deliberata per supportare l'aggiornabilità o non prima di scrivere codice. La decisione influirà su come strutturi il tuo codice. In generale, consigliamo:

Linee guida per l'implementazione

Punta alla semplicità. Usa sempre la soluzione più semplice adatta al tuo scopo. Tutti i membri del team devono essere in grado di comprendere la tua soluzione.

Composizione della funzione

L'architettura della base di codice deve rendere il codice semplice da controllare. Evita le scelte architettoniche che riducono la capacità di ragionare sulla sua correttezza.

  • Dividi la logica del tuo sistema, tramite più contratti o raggruppando le funzioni simili (ad esempio, autenticazione, aritmetica, ...).
  • Scrivi funzioni piccole, con uno scopo chiaro. Questo faciliterà il controllo e consentirà di testare singoli componenti.

Ereditarietà

Eventi

  • Registra tutte le operazioni cruciali. Gli eventi aiuteranno ad eseguire il debug del contratto durante lo sviluppo e a monitorarlo dopo la distribuzione.

Evita trappole note

Dipendenze

Test e verifica

Solidity

Linee guida di distribuzione

Una volta sviluppato e distribuito il contratto:

Ultima modifica: @pettinarip(opens in a new tab), 8 dicembre 2023

Questo tutorial è stato utile?