Smart contract
Leggi l’edizione PDF (2 pagine)
Uno smart contract è un programma memorizzato sul registro che viene eseguito quando una transazione lo richiama. Il termine “contract” fu scelto da Nick Szabo nel 1994 e da allora trae in inganno i giuristi.1 Uno smart contract non è un accordo, bensì una macchina che sposta token secondo regole fissate al momento della sua implementazione. Se tra le persone che interagiscono con la macchina esista un contratto in senso giuridico è una questione distinta, cui risponde il diritto contrattuale ordinario, come spiegano la Parte D, Capitolo V, e la Parte J, Capitolo III. Uno smart contract può dare esecuzione a un contratto, può comprovarlo oppure può funzionare senza alcun rapporto giuridico sottostante.
Tre proprietà tecniche sono rilevanti. La prima è che un contratto implementato è di regola immutabile, a meno che il suo autore non abbia previsto un meccanismo di aggiornamento, tipicamente un proxy pattern in base al quale una chiave di amministratore può reindirizzare le chiamate verso nuovo codice. L’esistenza di una simile chiave è la prima cosa da ricercare quando si valuta se un protocollo sia “decentralizzato”, perché chi la detiene può modificare le regole per ogni utente. La seconda è che gli smart contract non hanno accesso a informazioni esterne al registro e devono ricevere prezzi, date ed eventi da una fonte di dati esterna chiamata oracolo, di cui si tratta più avanti. La terza è che il codice è pubblico e può contenere errori che chiunque può sfruttare. L’attacco a The DAO del 2016, l’exploit del bridge Wormhole del 2022 e i numerosi attacchi flash-loan che ne sono seguiti sono tutti casi di codice che si è comportato esattamente come era stato scritto e in modo ben diverso da quanto intendevano i suoi autori.
Nel suo rapporto del 2018 il Consiglio federale svizzero ha preso in considerazione e respinto un regime giuridico speciale per gli smart contract, ritenendo che il Codice delle obbligazioni consenta già di concludere ed eseguire contratti con mezzi automatizzati.2 L’Electronic Transactions Act 2010 di Singapore, modificato nel 2021 per recepire la UNCITRAL Model Law on Electronic Transferable Records, conferma parimenti che un contratto può essere concluso mediante sistemi automatizzati di messaggistica senza revisione umana.3 Entrambi gli ordinamenti trattano quindi lo smart contract come uno strumento di esecuzione, mentre l’analisi giuridica proviene dall’esterno del codice.
Note
- Nick Szabo, “Smart Contracts”, 1994, e “Formalizing and Securing Relationships on Public Networks”, First Monday vol. 2 no. 9 (1997). ↩
- Rapporto del Consiglio federale del 14 dicembre 2018, sezione 6.2 (nessuna necessità di una legislazione speciale sugli smart contract; si applica il diritto contrattuale generale). ↩
- Electronic Transactions Act 2010 (Singapore), s. 15 (conclusione del contratto mediante sistemi automatizzati di messaggistica), e Part 2A, introdotta dall’Electronic Transactions (Amendment) Act 2021, sui documenti trasferibili elettronici. ↩
Solo a scopo informativo generale. Il presente articolo non costituisce consulenza legale o fiscale, non sostituisce la consulenza sul singolo caso e non instaura alcun rapporto tra avvocato e cliente. Riflette la situazione giuridica aggiornata a novembre 2026.