Skip to main content

Ho già parlato di Bitcoin e blockchain, spiegando come quest’ultima equivalga ad un registro delle transazioni avvenute, di cui ogni utente deve avere una copia che viene costantemente aggiornata. Vi sono poi alcuni utenti in grado di forgiare nuovi blocchi. L’aspetto essenziale è che tutti i dati inseriti nella blockchain sono indelebili e di pubblico dominio. Questo apre le porte a una serie di applicazioni interessanti, al di là di Bitcoin.
Attualmente esistono blockchain alternative a quella di Bitcoin, come ad esempio Ethereum, dove è possibile inserire i cosiddetti smart contract. Secondo la definizione classica, uno smart contract è un protocollo di transazione computerizzato che esegue i termini di un contratto. Nel contesto della blockchain, lo smart contract è uno script memorizzato nel registro e quindi dotato di un identificativo univoco. Lo smart contract esegue delle operazioni in base alle transazioni che riceve. Quindi grazie agli smart contract possiamo realizzare elaborazioni generiche all’interno della blockchain.
Immaginiamo uno scenario di compravendita di asset digitali di tipo X e Y. Bob inserisce nella blockchain uno smart contract che definisce: una funzione deposit per depositare unità di tipo X; una funzione trade che restituisce 1 unità di tipo X ogni 5 unità di tipo Y che riceve; una funzione withdraw che consente di ritirare tutte le unità di asset presenti nel sistema. Le funzioni deposit e withdraw sono ad uso esclusivo di Bob. Supponiamo che Bob depositi 3 unità di X, poi Alice conferisca 10 unità di Y ricevendo in cambio 2 unità di X e che infine Bob ritiri tutto (1 unità di X e 2 di Y). Tre transazioni, ma un solo smart contract che resta sempre attivo, a meno che non sia prevista una data di scadenza.