13. Smart Contracts
- Definizione: Programmi deterministici che codificano accordi tramite condizioni "if/then", eseguendo azioni automaticamente quando le condizioni sono soddisfatte.
- Requisiti: Osservabilità, verificabilità, riservatezza, applicabilità.
- Immutabilità: Una volta pubblicati sulla blockchain, non possono essere modificati, solo sostituiti.
Ciclo di Vita di uno Smart Contract
- Sviluppo: Scrittura e compilazione in bytecode.
- Pubblicazione: Deploy sulla blockchain come transazione.
- Interazione: Richiamo tramite transazioni con metodi e parametri.
- Validazione: Esecuzione e verifica da parte dei nodi.
- Registrazione: Inserimento del risultato in un blocco.
14. Bitcoin
- Modello UTXO: Transazioni basate su output non spesi, senza saldi memorizzati.
- Scripting: Programmi semplici e deterministici per controllare l'accesso alle transazioni.
15. Ethereum
- World State: Stato distribuito con saldi memorizzati negli account.
- Account:
- EOA: Account personali gestiti da utenti.
- Contract Account: Account per smart contract con codice associato.
- Transazioni: Includono mittente, destinatario, quantità e dati per chiamare smart contract.
- Solidity: Linguaggio per smart contract con tipizzazione statica, ereditarietà e ABI.
16. Hyperledger Fabric
- Blockchain Permissioned: Rete privata con partecipanti noti e autenticati.