Smart contract
Codice che vive su una blockchain e viene eseguito da ogni nodo quando qualcuno lo invoca. Il termine fu coniato da Nick Szabo nel 1994; Ethereum lo ha reso praticabile nel 2015.
Di norma scritto in Solidity, compilato in bytecode EVM e immutabile una volta distribuito, da cui i pattern di aggiornamento basati su proxy contract. «Il codice è legge» ha retto fino all'hack del DAO nel 2016, quando 3,6 milioni di ETH furono drenati con un bug di reentrancy e la comunità Ethereum eseguì un hard fork per cancellare l'evento (ciò che è rimasto è Ethereum Classic). Classi di vulnerabilità comuni: reentrancy, integer overflow (meno dalla versione 0.8 di Solidity), manipolazione degli oracoli, front-running. Ogni riga costa gas, quindi ottimizzazione e sicurezza tirano in direzioni opposte.