Protocollo · Tecnica
Bitcoin Script e smart contract
Bitcoin non supporta smart contract nel senso Ethereum — ma ha un sistema di scripting nativo che abilita logica condizionale nelle transazioni. Questa limitazione è deliberata: la semplicità del linguaggio è una proprietà di sicurezza fondamentale del protocollo.
Bitcoin Script: il linguaggio delle transazioni
Ogni transazione Bitcoin include due script:
scriptPubKey (locking script)
Incluso nell'output della transazione. Definisce le condizioniche devono essere soddisfatte per spendere quei bitcoin. Es: "Chi può fornire la firma corrispondente a questa chiave pubblica?"
scriptSig (unlocking script)
Fornito dal mittente nella transazione di spesa. Deve soddisfare le condizioni del scriptPubKey per sbloccare i fondi. Es: "Ecco la mia firma digitale."
Script è un linguaggio stack-based, simile a Forth. Opera con un insieme limitato di operazioni (opcodes) — non ha loop, non ha accesso al filesystem, non può chiamare funzioni esterne. Questo lo rende non-Turing-completo by design.
Smart contract nativi di Bitcoin
P2PK / P2PKH (Pay-to-Public-Key-Hash)
La transazione standard: spendibile da chi possiede la chiave privata corrispondente all'indirizzo. Usato da ~85%+ delle transazioni. Logica: verifica firma.
Use case: Pagamenti standard, self-custody base
Multi-sig (P2MS / P2SH multisig / P2WSH)
Richiede M firme su N chiavi per autorizzare la transazione. Es: 2-of-3 = servono 2 delle 3 chiavi specificate. Logica: verifica multiple firme.
Use case: Custodia istituzionale, corporate treasury, joint account, eredità
Time-lock (nLockTime, OP_CHECKLOCKTIMEVERIFY)
I bitcoin sono bloccati e non possono essere spesi prima di un certo blocco (altezza) o timestamp. OP_CLTV è un absolute time-lock; OP_CSV è relativo all'età dell'UTXO.
Use case: Vesting piani, eredità programmata, canali Lightning (HTLC timeout)
HTLC (Hashed Time Lock Contract)
Combina time-lock con hash lock: i fondi sono sbloccabili da chi conosce la preimage di un hash, oppure tornano al mittente allo scadere del timeout. Fondamentale per Lightning Network.
Use case: Atomic swap cross-chain, routing Lightning Network, pagamenti condizionali
Taproot / Tapscript (post-2021)
Con Taproot (BIP341), uno script può avere un percorso 'happy path' (key-spend) che appare come transazione normale, e percorsi alternativi nascosti in un MAST. I percorsi non usati non vengono mai rivelati.
Use case: Privacy avanzata, smart contract nascosti, ottimizzazione fee
Bitcoin vs Ethereum: programmabilità a confronto
| Caratteristica | Bitcoin (Script) | Ethereum (EVM/Solidity) |
|---|---|---|
| Turing-completo? | No (by design) | Sì |
| Loop | No | Sì |
| Stato globale mutabile | No (solo UTXO) | Sì (contract storage) |
| Gas per esecuzione | Fee fissa per byte | Fee proporzionale alla computazione |
| Superfice d'attacco | Ridotta — meno codice eseguito | Ampia — smart contract complessi |
| Bug catastrofici storici | Nessuno nel core protocol | The DAO hack ($60M, 2016), vari hack DeFi |
| Flessibilità applicazioni | Limitata — focus su denaro | Alta — DeFi, NFT, DAO, qualsiasi app |
| Finalità ed equivalenza monetaria | Alta — focus esclusivo su Bitcoin come denaro | Media — ETH è sia gas che riserva di valore |
Perché la limitazione è una feature, non un bug
Il design deliberatamente limitato di Bitcoin Script riflette una scelta di priorità: sicurezza e prevedibilità del sistema monetario sulla generalità della piattaforma.
Ogni opcode aggiunto a Bitcoin Script è una potenziale superfice d'attacco. Meno opcodes = meno vettori di vulnerabilità.
La non-Turing-completezza garantisce che ogni script termina in un tempo finito e prevedibile — impossibile con loop.
Un bug in un sistema Turing-completo come l'EVM può drenare miliardi in smart contract (The DAO: $60M, vari hack DeFi: miliardi di dollari). Bitcoin Script non ha questo tipo di vulnerabilità.
La semplicità rende la verifica del codice accessibile a più sviluppatori e ricercatori di sicurezza.
La funzione principale di Bitcoin è essere denaro — non una piattaforma di sviluppo. La limitazione è coerente con questa tesi.
Fondamentali del protocollo ogni settimana
Il Report Fides Bitcoin analizza gli sviluppi del protocollo — Taproot adoption, Lightning Network, Script upgrades — nel contesto del ciclo on-chain.
Iscriviti gratis →