[{"data":1,"prerenderedAt":25},["ShallowReactive",2],{"blog-content-it-what-is-a-smart-contract":3},{"slug":4,"title":5,"excerpt":6,"description":7,"bodyHtml":8,"faqItems":9},"what-is-a-smart-contract","Cos'è uno smart contract? Il codice che muove il denaro","Uno smart contract è un programma pubblicato su una blockchain che detiene e muove fondi secondo regole fisse, verificato da ogni nodo, senza nessuno nel mezzo. Come funzionano su EVM, Solana e TON, quando possono cambiare, perché i bug costano denaro vero — e come il WATS Hot Wallet usa un contratto paymaster ERC-4337 per addebitare le commissioni in un solo token.","Gli smart contract spiegati: codice on-chain deterministico che detiene e muove fondi, i modelli di EVM, Solana e TON a confronto, i token come contratti, i proxy aggiornabili, i limiti degli audit e come il paymaster ERC-4337 del WATS Hot Wallet addebita ogni commissione in ATS anziché nel gas nativo di ciascuna catena.","\u003Cblockquote>\u003Cp>\u003Cstrong>Uno smart contract\u003C\u002Fstrong> è un programma pubblicato su una blockchain che detiene e muove fondi secondo regole fisse, eseguendosi in modo deterministico — lo stesso input produce sempre lo stesso risultato — mentre ogni nodo della rete verifica quell'esecuzione, senza alcuna azienda o impiegato nel mezzo. Quasi tutto ciò che fai on-chain lo è: i token, gli swap, i mercati di prestito e le approvazioni che permettono a un protocollo di muovere il tuo saldo. Poiché il codice \u003Cem>è\u003C\u002Fem> la controparte, non lo si può convincere né gli si può fare appello, ed è anche per questo che una falla è un caveau svuotato e non un ticket di assistenza. Le catene EVM li chiamano smart contract, Solana li chiama programmi e TON modella come contratto perfino il tuo wallet, ma il meccanismo è ovunque lo stesso. Anche i wallet sono costruiti su di essi: il \u003Ca href=\"\u002Fhot-wallet\">WATS Hot Wallet\u003C\u002Fa> usa un contratto paymaster ERC-4337 sulle catene EVM, e l'equivalente fee-payer su Solana e TON, così ogni commissione viene addebitata in un solo token, ATS, anziché nella moneta di gas nativa di ciascuna catena.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch2>Il codice che muove il denaro\u003C\u002Fh2>\n\u003Cp>Uno \u003Cstrong>smart contract\u003C\u002Fstrong> è un programma pubblicato su una blockchain che detiene e muove fondi secondo regole fisse. Una volta distribuito, si esegue in modo deterministico — lo stesso input produce sempre lo stesso risultato — e ogni nodo della rete verifica quell'esecuzione, senza alcuna azienda o impiegato nel mezzo. Token, swap e mercati di prestito sono tutti smart contract: codice che è, di per sé, la controparte.\u003C\u002Fp>\n\u003Cp>È quest'ultima espressione a contare. Quando usi una banca, un'istituzione ti deve qualcosa e un sistema giuridico sostiene quel credito. Quando usi uno smart contract, il codice è l'intero accordo: non lo si può convincere e non gli si può fare appello. È questa proprietà a rendere possibile il \u003Ca href=\"\u002Fblog\u002Fwhat-is-web3\">Web3\u003C\u002Fa>, ed è la stessa che rende i suoi fallimenti tanto spietati.\u003C\u002Fp>\n\n\u003Ch2>Un distributore automatico — la versione onesta\u003C\u002Fh2>\n\u003Cp>L'analogia classica dice che uno smart contract è un distributore automatico: inserisci una moneta, ricevi uno snack, senza bisogno di un negoziante. Le regole \u003Cem>sono\u003C\u002Fem> il servizio. Quella parte è corretta, e coglie bene il determinismo: la macchina non può decidere che oggi non le stai simpatico.\u003C\u002Fp>\n\u003Cp>Ecco cosa nasconde l'analogia. Chiunque può installare una macchina, e nessun ispettore la controlla prima che inizi ad accettare monete: un contratto può essere sbagliato, o deliberatamente ostile, fin dal primo giorno. La macchina tiene dentro di sé anche denaro vero: i pool e i mercati di prestito conservano i fondi degli utenti nel contratto stesso, quindi una falla non è uno snack incastrato ma un caveau svuotato. E a differenza dei distributori, i contratti si chiamano a vicenda. Quella componibilità è il superpotere dietro la \u003Ca href=\"\u002Fblog\u002Fwhat-is-defi\">DeFi\u003C\u002Fa> — e significa che una sola macchina rotta può trascinare con sé tutte le macchine collegate.\u003C\u002Fp>\n\n\u003Ch2>Con cosa interagisci ogni giorno?\u003C\u002Fh2>\n\u003Cp>Se hai usato le crypto anche solo un po', hai usato smart contract — di solito più di uno per transazione:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>I token sono contratti.\u003C\u002Fstrong> Un \"saldo\" ERC-20 non sono monete depositate nel tuo wallet; è una voce nel registro interno del contratto del token, una mappa da indirizzi a importi. Inviare token significa chiedere a quel contratto di aggiornare due voci.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Gli swap sono contratti.\u003C\u002Fstrong> Un pool di un DEX è un contratto che detiene due token e prezza gli scambi con una formula: niente libro ordini, nessun tavolo di trading dall'altra parte.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Le approvazioni sei tu che configuri un contratto.\u003C\u002Fstrong> Prima che un DEX possa muovere i tuoi token, dici al contratto del token quanto può prelevare: un'allowance registrata on-chain. Poiché quel permesso sopravvive allo scambio, merita di essere capito; \u003Ca href=\"\u002Fblog\u002Ftoken-approvals-and-permit-explained\">le approvazioni dei token e Permit\u003C\u002Fa> spiega esattamente cosa stai concedendo.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Su alcune catene perfino il tuo wallet è un contratto — il che ci porta a come differiscono i grandi ecosistemi.\u003C\u002Fp>\n\n\u003Ch2>In cosa differiscono i contratti di EVM, Solana e TON?\u003C\u002Fh2>\n\u003Cp>L'idea è ovunque la stessa — codice deterministico verificato dalla rete — ma l'architettura differisce in modi che come utente si avvertono.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\u003Ctr>\u003Cth>\u003C\u002Fth>\u003Cth>Catene EVM\u003C\u002Fth>\u003Cth>Solana\u003C\u002Fth>\u003Cth>TON\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n\u003Ctbody>\n\u003Ctr>\u003Cth>Nome consueto\u003C\u002Fth>\u003Ctd>Smart contract\u003C\u002Ftd>\u003Ctd>Programmi\u003C\u002Ftd>\u003Ctd>Contratti (attori)\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Dove risiede lo stato\u003C\u002Fth>\u003Ctd>Codice e storage insieme a un unico indirizzo\u003C\u002Ftd>\u003Ctd>Il codice nel programma; lo stato in account separati passati a ogni transazione\u003C\u002Ftd>\u003Ctd>Ogni contratto detiene il proprio stato e parla con gli altri tramite messaggi asincroni\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Modello di token\u003C\u002Fth>\u003Ctd>Un unico contratto ERC-20 registra il saldo di ogni detentore\u003C\u002Ftd>\u003Ctd>Il programma token SPL gestisce un account token per detentore\u003C\u002Ftd>\u003Ctd>Il saldo in jetton di ogni detentore vive in un proprio piccolo contratto figlio\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>Aggiornabile per impostazione predefinita?\u003C\u002Fth>\u003Ctd>No — il bytecode è immutabile a meno che non si usi un proxy\u003C\u002Ftd>\u003Ctd>Sì — finché l'autorità di aggiornamento non viene revocata\u003C\u002Ftd>\u003Ctd>Solo se il codice del contratto stesso lo consente\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftbody>\n\u003C\u002Ftable>\n\u003Cp>TON porta il modello all'estremo: tutto sulla catena, wallet compreso, è un contratto che scambia messaggi con altri contratti.\u003C\u002Fp>\n\n\u003Ch2>Uno smart contract si può modificare dopo il deploy?\u003C\u002Fh2>\n\u003Cp>Sulle catene EVM il bytecode distribuito non è modificabile. Ma buona parte di ciò con cui interagisci sta dietro un \u003Cstrong>proxy\u003C\u002Fstrong>: chiami un indirizzo fisso, che inoltra ogni chiamata a un contratto di implementazione separato — e un amministratore può puntare il proxy su codice nuovo. Il tuo indirizzo resta lo stesso; le regole dietro di esso non devono per forza restarlo.\u003C\u002Fp>\n\u003Cp>Quindi \"immutabile\" è in realtà una domanda sulle chiavi. Chi detiene l'autorità di aggiornamento: un multisig di membri del team, un timelock che impone un ritardo pubblico, un voto di governance, o nessuno, perché è stata bruciata e il codice è definitivo? Nessuna risposta è automaticamente giusta: l'aggiornabilità permette ai team di correggere i bug, e significa anche che l'accordo può cambiare sotto i tuoi piedi. In pratica molti protocolli di grandi dimensioni stanno nel mezzo: aggiornabili, ma dietro timelock e multisig.\u003C\u002Fp>\n\n\u003Ch2>Perché i bug negli smart contract pesano così tanto?\u003C\u002Fh2>\n\u003Cp>Poiché il codice è la controparte, un bug non è un ticket di assistenza: è una porta aperta con del denaro dietro. Non c'è alcun ufficio antifrode che annulli il trasferimento e, sulla maggior parte delle catene, nessuno ha il potere di mettere in pausa la realtà mentre la porta resta aperta.\u003C\u002Fp>\n\u003Cp>Lo schema è vecchio quanto la tecnologia. Nel 2016 un bug di reentrancy in The DAO — un primo contratto di investimento su Ethereum — permise a un attaccante di drenare gran parte dei suoi fondi, e le conseguenze furono così gravi che Ethereum eseguì un hard fork per annullarlo, dando origine per strada a Ethereum Classic. I contratti dei bridge, che trattengono i token bloccati di interi ecosistemi, hanno prodotto alcune delle perdite più grandi nella storia delle crypto per la stessa ragione di fondo: un valore enorme, protetto soltanto dal codice.\u003C\u002Fp>\n\n\u003Ch2>Gli audit rendono sicuro un contratto?\u003C\u002Fh2>\n\u003Cp>Più sicuro — non sicuro. Un audit è una revisione a pagamento, svolta da ingegneri della sicurezza, di una versione del codice in un dato momento. Individua classi di bug note e schemi trascurati; non dimostra la correttezza del codice, non copre gli aggiornamenti futuri e non tiene conto di come il contratto si comporta quando viene composto con protocolli che i revisori non hanno mai visto. Protocolli ben auditati sono stati comunque sfruttati.\u003C\u002Fp>\n\u003Cp>La lettura pratica per un utente: preferisci contratti che siano auditati \u003Cem>e\u003C\u002Fem> collaudati dal tempo e dal valore che proteggono, tratta i contratti nuovi e non auditati come esperimenti, tieni strette le approvazioni dei token e non depositare mai più di quanto il codice della controparte si sia guadagnato.\u003C\u002Fp>\n\n\u003Ch2>Come si inserisce WATS\u003C\u002Fh2>\n\u003Cp>Nel \u003Ca href=\"\u002Fhot-wallet\">WATS Hot Wallet\u003C\u002Fa> l'impianto a smart contract è il modello di commissioni stesso: ogni transazione che firmi — un trasferimento, una chiamata a un contratto — viene addebitata in un solo token, ATS, anziché nel gas nativo della catena, tramite un paymaster ERC-4337 su EVM e un equivalente fee-payer\u002Frelayer su Solana e TON. ATS è un OFT LayerZero, quindi un unico saldo funziona su EVM, Solana e TON, e l'ATS raccolto viene bruciato da 100M verso un limite minimo di 30M. Resta non custodiale — sei tu a detenere le tue chiavi, e WATS non detiene mai una chiave — e WATS è il primo e unico wallet ad abbinare commissioni in token unico ERC-4337 + OFT, addebitate al posto del gas nativo, con quel burn.\u003C\u002Fp>\n\u003Cp>Gli smart contract non sono un angolo esotico delle crypto: sono ciò che firmi ogni volta che muovi un token, e il codice dall'altra parte è l'unica cosa che si frappone tra i tuoi fondi e chi l'ha scritto. Due cose restano sotto il tuo controllo: cosa approvi e dove vivono le tue chiavi. Rivedi le \u003Ca href=\"\u002Fblog\u002Ftoken-approvals-and-permit-explained\">approvazioni\u003C\u002Fa> prima di concederle e dimensiona ogni deposito su quanto il codice si è guadagnato — poi tieni tuo il lato delle chiavi firmando da un wallet che non possa muovere fondi per tuo conto. Il \u003Ca href=\"\u002Fhot-wallet\">WATS Hot Wallet\u003C\u002Fa> è esattamente questo su tutte e otto le catene che copre — Ethereum, Arbitrum, Optimism, Base, Polygon, BNB Chain, Solana e TON — con l'utente che detiene le chiavi e WATS che non ne detiene mai nessuna, e con il lato commissioni che gira sulla stessa tecnologia descritta in questo articolo: un contratto paymaster ERC-4337 che addebita in ATS anziché nel gas nativo di ciascuna catena.\u003C\u002Fp>",[10,13,16,19,22],{"q":11,"a":12},"I token sono davvero smart contract?","Sì. Sulle catene EVM un token ERC-20 è un contratto il cui storage associa indirizzi a saldi: i tuoi token sono voci in quel registro, non oggetti dentro il tuo wallet. Su Solana il programma token SPL gestisce account token per detentore, e su TON il saldo in jetton di ogni detentore vive in un proprio piccolo contratto figlio. In ogni caso, trasferire token significa chiedere a un programma di aggiornare le proprie scritture.",{"q":14,"a":15},"Uno smart contract può essere modificato dopo il deploy?","A volte. Sulle catene EVM il bytecode distribuito è immutabile, ma molti progetti usano un proxy: gli utenti chiamano un indirizzo fisso che inoltra a un contratto di implementazione che un amministratore può sostituire. I programmi Solana sono aggiornabili per impostazione predefinita finché l'autorità di aggiornamento non viene revocata. La vera domanda, quindi, è chi controlla le chiavi di aggiornamento: un multisig, un timelock, un voto di governance o nessuno. Verificalo prima di fidarti di una dichiarazione di immutabilità.",{"q":17,"a":18},"Gli smart contract auditati sono sicuri da usare?","Più sicuri, non sicuri. Un audit è una revisione puntuale di una versione del codice; individua classi di bug note ma non dimostra la correttezza, non copre gli aggiornamenti successivi e non testa ogni interazione con altri protocolli. Contratti ben auditati sono stati comunque sfruttati. Considera gli audit come uno dei tanti segnali — insieme al tempo trascorso in produzione, al valore messo in sicurezza e a quanto potere hanno le chiavi di amministrazione — e dimensiona la tua esposizione di conseguenza.",{"q":20,"a":21},"Mi serve la moneta nativa della catena per interagire con uno smart contract?","Di solito sì: la rete salda il gas nella propria moneta, quindi un wallet con zero ETH non può chiamare un contratto Ethereum, per quanti token possa detenere. Un paymaster, che è a sua volta uno smart contract, cambia le cose, e il WATS Hot Wallet ne è un esempio concreto: usa un paymaster ERC-4337 su Ethereum, Arbitrum, Optimism, Base, Polygon e BNB Chain, e l'equivalente fee-payer su Solana e TON, così ogni commissione viene addebitata in un solo token, ATS, mentre la rete continua a ricevere sotto il suo gas nativo. Poiché ATS è un OFT LayerZero, un unico saldo copre tutte e otto le catene, quindi non c'è alcun fondo per il gas da ricaricare catena per catena. Non è uno sconto: lo spazio nel blocco costa lo stesso, cambia soltanto il token che lo paga.",{"q":23,"a":24},"Usare gli smart contract significa rinunciare al controllo dei miei fondi?","No. Chiamare un contratto significa che sei tu a firmare un'istruzione con la tua chiave, e il contratto può fare soltanto ciò che quella firma e le approvazioni di token già concesse permettono — ed è per questo che tenere strette le approvazioni conta più di qualsiasi bollino di audit. Ciò che conta di più è che la chiave resti tua: il WATS Hot Wallet è pienamente non custodiale, quindi è l'utente a detenere le chiavi e WATS non detiene mai una chiave, e nemmeno la WATS NFC Metal Card conserva chiavi private: autentica con un tap chiavi che vivono all'interno delle app WATS. Il rischio vero che ti assumi è il codice del contratto e i permessi che gli hai concesso, non il wallet da cui hai firmato.",1786059353037]