Gli smart contract su blockchain
Gli smart contract su blockchain
DApps & Smart Contracts

Gli smart contract su blockchain

By Marco Cavicchioli - 14 Giu 2020

Chevron down

A differenza di quanto potrebbe suggerire il nome, gli smart contract su blockchain non sono contratti. 

Infatti in genere con il termine tecnico “contratto” si intende un vero e proprio istituto giuridico tra più o più parti, che le vincola tra di loro di fronte alla legge. 

Gli smart contract che girano su blockchain invece non sono istituti giuridici, non prevedono necessariamente la sottoscrizione di più parti, e soprattutto non creano vincoli legali. 

A dire il vero inizialmente la definizione di “smart contract”, ideata nei primi anni ’90 dallo scienziato informatico, avvocato e crittografo Nick Szabo, si riferiva ad oggetti utili alla gestione dei diritti in un sistema informatico, ma assunse un significato diverso quando nel 2015 venne lanciata la rete Ethereum. 

Infatti Ethereum introdusse un oggetto informatico non ancora presente sulle blockchain precedenti, come quella di Bitcoin: un blocco di codice che è possibile registrare in modo virtualmente immutabile sulla blockchain, in modo che venga eseguito automaticamente dalla macchina virtuale. 

In altri termini è un programma informatico che non viene eseguito da una singola macchina, ma dalla macchina virtuale di una rete decentralizzata. 

In questo modo non solo non è manipolabile, ma è anche pubblico, e si ha certezza pressoché assoluta che venga eseguito esattamente così come è stato programmato di fare. 

Quando uno smart contract è in esecuzione su una rete decentralizzata è praticamente impossibile impedire che venga eseguito, o manometterlo per fargli eseguire istruzioni differenti rispetto a quelle previste. Essendo le reti decentralizzate pubbliche è anche possibile esaminarlo per capire esattamente come agisce. 

Un limite di questi programmi è che possono operare solo con risorse presenti sulla rete su cui girano, pertanto ad esempio uno smart contract su Ethereum non può operare con Bitcoin. 

Tuttavia esistono vari sistemi che consentono di ottenere interoperabilità con altre blockchain, oppure di interagire con informazioni provenienti dall’esterno, ed in particolare dal mondo fisico (grazie ai cosiddetti oracoli). 

Visto che una blockchain fondamentalmente è un registro per convalidare transazioni, uno smart contract su blockchain spesso non è altro che un gestore automatizzato di transazioni, tanto che spesso viene definito “denaro programmabile”. Proprio grazie a questa sua caratteristica è stato paragonato ad un contratto, visto che molti contratti prevedono che debbano essere eseguite delle transazioni qualora vengano rispettate determinate condizioni. 

In uno smart contract tutto ciò avviene in automatico, perchè una volta registrato sulla blockchain sarà la macchina virtuale della rete, e solo essa, ad eseguirlo. 

Tuttavia non tutte le blockchain prevedono la possibilità di utilizzare smart contract. Infatti per poterli eseguire è necessaria una macchina virtuale, ed alcune blockchain, come ad esempio quella di Bitcoin, quella di Litecoin o quella di Monero, ne sono sprovviste. 

La prima e più utilizzata blockchain al mondo che supporta gli smart contract è ovviamente Ethereum. 

Tuttavia nel corso del tempo si sono aggiunte anche molte altre blockchain, o similari, che consentono l’esecuzione di smart contract. 

In particolare le due blockchain più utilizzate con questo scopo, dopo Ethereum, sono EOS e Tron, sebbene lo sia sempre di più anche Binance Chain, grazie soprattutto ad alcune novità da poco introdotte. 

In realtà però sono molti i registri distribuiti che possono ospitare smart contract, come ad esempio Cardano, Stellar o Neo, anche se non si tratta sempre di vere e proprie blockchain. Infatti gli smart contract sono molto usati anche dalle DLT private o permissioned, che dal punto di vista strettamente tecnico non sono blockchain perchè non pubbliche o non decentralizzate. Un perfetto esempio di questa tipologia di DLT che supportano smart contract è Libra, ma anche Corda di R3 o Hyperledger li supportano. 

Il fatto è che gli smart contract spesso sono il principale utilizzo delle blockchain dotate di una criptovaluta nativa non particolarmente interessante, e visto che la stragrande maggioranza delle criptovalute native non sono particolarmente interessanti in quanto tali, questo significa che gran parte dei progetti blockchain in realtà puntano sugli smart contract. 

Anzi, a dire il vero di vere blockchain di successo senza smart contract ve ne sono ormai ben poche, perché in questi casi si tratta di blockchain che puntano tutto sulla loro criptovaluta nativa, e di criptovalute native interessanti in quanto tali non ve ne sono poi molte. 

A ciò va anche aggiunto che in alcuni casi, come ad esempio per Bitcoin, si è cercato di aggiungere funzionalità simili a quelle degli smart contract anche a blockchain che inizialmente non li prevedevano, aggiungendo livelli superiori basati sulla blockchain originale. Anche Ripple ha aggiunto gli smart contract in un secondo momento. 

Negli ultimi tempi ad esempio ci sono alcune blockchain dotate di smart contract che stanno facendo parlare molto di sé, come ad esempio Tezos, VeChain e Zilliqa, ma in realtà la lista delle DLT che supportano queste funzionalità è molto lunga. 

Va tuttavia detto che il settore delle blockchain pubbliche con smart contract è letteralmente dominato da Ethereum, con EOS e Tron a ruota. In futuro però potrebbero esserci novità, a partire proprio dal progetto di Facebook, Libra, che seppur non completamente decentralizzato ha il potenziale per essere davvero molto utilizzato.

Marco Cavicchioli
Marco Cavicchioli

Classe 1975, Marco è un docente di web-technologies e divulgatore online specializzato in criptovalute. Ha fondato ilBitcoin.news, ed il suo canale YouTube ha più di 11mila iscritti.

Utilizziamo i cookie per essere sicuri che tu possa avere la migliore esperienza sul nostro sito. Se continui ad utilizzare questo sito noi assumiamo che tu ne sia felice.