Fides BitcoinIscriviti gratis

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

CaratteristicaBitcoin (Script)Ethereum (EVM/Solidity)
Turing-completo?No (by design)
LoopNo
Stato globale mutabileNo (solo UTXO)Sì (contract storage)
Gas per esecuzioneFee fissa per byteFee proporzionale alla computazione
Superfice d'attaccoRidotta — meno codice eseguitoAmpia — smart contract complessi
Bug catastrofici storiciNessuno nel core protocolThe DAO hack ($60M, 2016), vari hack DeFi
Flessibilità applicazioniLimitata — focus su denaroAlta — DeFi, NFT, DAO, qualsiasi app
Finalità ed equivalenza monetariaAlta — focus esclusivo su Bitcoin come denaroMedia — 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 →