Gli smart contract sono una delle tecnologie chiave di PLATINCOIN. Grazie a loro, centinaia di migliaia di nostri utenti in tutto il mondo ricevono entrate passive, supportano progetti su Platin Hero e acquistano beni su PlatinDeal. In questo articolo non parleremo solo di come funzionano gli smart contract, ma considereremo anche le loro possibili aree di applicazione.

Gli smart contract consistono in un codice di programmazione che imposta i termini di determinate transazioni. In tale contratto, ci possono essere due o più parti. Esso agisce automaticamente quando si verificano le condizioni specificate nel contratto stesso. Questa è la sua principale somiglianza con un contratto convenzionale.

Chi ha inventato gli “smart contract”?

All’inizio degli anni ’90 del XX secolo, lo scienziato americano Nick Szabo ha proposto una nuova fase programmatica nello sviluppo del diritto contrattuale. A suo avviso, i protocolli crittografici avrebbero dovuto essere utili al commercio su Internet. E con l’introduzione dei protocolli di sicurezza elettronici, gli “smart contract” possono diventare più sicuri dei contratti tradizionali.

Nick Szabo ci ha tenuto a sottolineare che il nome dei contratti non è in alcun modo correlato all’intelligenza artificiale. Piuttosto, in termini di funzionamento essi sono simili ad un distributore automatico che, in cambio di una moneta inserita, eroga un bicchiere di soda o un piccolo prodotto. Prima della creazione della tecnologia blockchain, tali contratti erano solo un concetto speculativo; il loro rapido sviluppo è avvenuto solo nel primo e nel secondo decennio del XXI secolo. Oggi, esistono già diversi linguaggi di programmazione specifici pensati esclusivamente per la redazione degli “smart contract”.

Come funzionano gli “smart contract”

Come accennato in precedenza, questi contratti sono dei codici di programmazione che vengono eseguiti in modalità automatica. Hanno dati di input e output, che possono essere transazioni finanziarie. La criptovaluta Bitcoin ha già la capacità di redigere tali contratti, ma il codice di programmazione della prima valuta digitale è molto limitato sotto questo aspetto.

La svolta rivoluzionaria è arrivata con la seconda valuta digitale, Ethereum. Quest’ultima è  rivoluzionaria in quanto supporta un linguaggio di programmazione Turing completo. In poche parole, Ethereum ti consente di operare su loop, condizioni e altri strumenti che esistono in tutti i linguaggi di programmazione. E questo rende possibile implementare un numero enorme di “smart contract”.

Con Ethereum sono emerse le applicazioni decentralizzate (Dapp). Tutte quest’ultime sono controllate da un singolo protocollo e la blockchain di questa criptovaluta funge da base. L’adempimento delle condizioni stabilite dall’algoritmo è lo “smart contract”, che opera senza l’intervento umano.

I vantaggi degli “smart contract”

In alcuni casi semplici, gli “smart contract” possono già sostituire i servizi di avvocati e notai. Il loro uso esclude l’influenza del “fattore umano”, e risulta molto più economico. È possibile accedere ai dati nella blockchain da qualsiasi luogo, in quanto è necessario solo l’accesso a Internet. Allo stesso tempo, con l’aiuto della crittografia, i dati sono protetti da interferenze di terze parti. E la blockchain stessa è archiviata in forma distribuita su molte macchine appartenenti alla rete.

Oltre ad essere veloci e sicuri, gli “smart contract” sono apprezzati per essere automatizzati. Possono essere stipulati sia da persone fisiche che da persone giuridiche, riducendo il numero di intermediari necessari nella conclusione delle transazioni e facendo risparmiare tempo e denaro.

Gli svantaggi degli “smart contract” 

Gli svantaggi degli “smart contract” derivano dai loro vantaggi. Il codice di programmazione deve essere verificato in modo che le parti del contratto abbiano la certezza del suo corretto funzionamento. L’immutabilità definitiva della blockchain fissa i termini della transazione in maniera troppo rigida, non potendo questi essere ulteriormente modificati. Siamo ancori lontani dall’uso diffuso degli “smart contract” con i dispositivi IoT (Internet of Things, l’Internet delle cose).

Come redigere uno “smart contract”?

Molte criptovalute supportano già tali contratti, ma Ethereum è la principale tra queste. Ethereum utilizza il linguaggio di programmazione integrato Solidity, che ha molte somiglianze con C++. Inoltre, gli “smart contract” possono essere redatti nel linguaggio di programmazione Serpent, anche se meno comune. La compilazione dei contratti avviene all’interno della EVM (Ethereum Virtual Machine, la Macchina Virtuale Ethereum). I contratti vengono eseguiti in modo decentralizzato, su tutte le macchine della rete, il che significa che sono piuttosto lenti. Come pagamento per la loro esecuzione, viene addebitato il “gas” virtuale, che viene acquistato in criptovaluta Ethereum.

Caratteristiche tecniche degli “smart contract”

Se non sei un esperto tecnico, puoi saltare questa sezione. Per gli utenti esperti di criptovalute sarà interessante sapere che gli “smart contract” si basano su record replicati ed eseguono conteggi hash attraverso le radici dell’albero Merkle. In questo modo, il “problema dei generali bizantini” viene risolto in modo rapido ed efficiente, senza il quale sarebbe impossibile immaginare la moderna crittografia a chiave pubblica. In poche parole, ogni nodo in una rete peer-to-peer verifica in modo indipendente il funzionamento degli altri nodi in modo che non possano entrare in collusione dannosa tra loro.

Ambiti di applicazione degli “smart contract”

L’ambito degli “smart contract” è insolitamente ampio e comprende potenzialmente tutte le aree di utilizzo dei contratti cartacei convenzionali. D’ora in poi, i pagamenti (ad esempio i pagamenti di stipendi) possono essere programmati automaticamente. Ciò semplifica il processo di registrazione e modifica del proprietario di qualsiasi proprietà intellettuale o fisica.

L’uso di tali contratti nel settore energetico si sta sviluppando attivamente, in particolare per transazioni automatiche nella fornitura di energia elettrica. Dopotutto, gli “smart contract” possono essere conclusi non solo tra persone e organizzazioni, ma anche tra vari dispositivi e persino sensori. Si sta aprendo la strada alla locazione automatizzata di qualsiasi proprietà, ad esempio per le auto o per gli immobili, con pagamenti automatici in criptovalute. Il principio di funzionamento degli “smart contract” consente di creare ogni giorno nuove modalità di applicazione nella vita economica e sociale.