Seleziona una pagina

Blog

Blog

Contracts in blockchain: Smart Contracts

Posted on Mar 5, 2019

Pepeeta - Smart Contracts

In the last few years there has been a lot of talk about blockchain technology thanks to which the concept of dApp (distributed app) has developed. A dApp differs from a traditional app mainly because it does not reside on a single central server, but it’s stored in a distributed register (usually called ledger) that is replicated on all the nodes connected to a particular blockchain. That’s where Smart Contract come into play.

A smart contract is a software program that establishes the rules of interaction between two or more users who want to execute a specific transaction. It is effectively the source code translation of a traditional contract that establishes the constraints to which all users who use it must comply with.

The implementation of one or more smart contracts that interact with each other constitute a dApp.
One of the first blockchain that gave a strong attention to smart contracts was Ethereum, conceived by Russian Vitalik Buterin, through Solidity, a language dedicated to the writing of smart contracts that makes it very easy to write.
Analyzing the issue from a more practical point of view, writing a smart contract is like writing a software program that, once memorized inside the ledger through particular consensus mechanisms by the network nodes, can be performed by users who intend to to use the services that it provides.
The services that a contract can provide can be of various types, such as the exchange of assets, the storage of particular data or other types.
But what are the advantages offered by smart contracts?

Immutability: once loaded in blockchain the status of the smart contract can change, but the methods and classes are immutable (eg a smart contract that implements a token, has memorized that in the wallet A there are 10 tokens and in the wallet B there are 20 of them. We make a transfer from A to B of 5 tokens, due to the transaction we will have that in wallet A there will be 5 tokens and 25 tokens in the wallet B , so it means that the status of the contract has changed);

information security: thanks to the structural strength and immunity from attempts to tamper with the blockchain, the data stored within the smart contract are totally safe from malicious users attempts;

partial or total autonomy in the execution of transactions: as previously mentioned, it is actually the smart contract that verifies the conditions necessary for a user to carry out the transaction.
Ultimately we can say that smart contracts are a powerful tool, useful and with a vast field of application, and will be increasingly present within our society.

* * * * * * * * * *

Negli ultimi anni si è molto sentito parlare di tecnologia blockchain grazie alla quale si è sviluppato il concetto di dApp (distribuited app).
Una dApp si differenza da una tradizionale app principalmente perché non risiede su un unico server centrale, ma è memorizzata in un registro distribuito (di solito chiamato ledger) che è replicato su tutti i nodi connessi ad una particolare blockchain.
Proprio qui entrano in gioco gli smart contract.

Uno smart contract è un programma software che stabilisce le regole d’interazione tra due o più utenti che vogliono eseguire una determinata transazione.
E’ a tutti gli effetti la traduzione in codice sorgente di un contratto tradizionale che stabilisce dei vincoli a cui tutti gli utenti che lo utilizzano devono sottostare. L’implementazione di uno o più smart contract che interagiscono tra loro costituiscono una dApp.

Una delle prime blockchain a dare una forte attenzione agli smart contract è stata Ethereum, ideata dal russo Vitalik Buterin, attraverso Solidity, un linguaggio dedicato alla scrittura degli smart contract che rende molto agevole la loro scrittura.
Analizzando la questione da un punto di vista più pratico scrivere uno smart contract è come scrivere un programma software che, una volta memorizzato all’interno del ledger attraverso particolari meccanismi di consenso da parte dei nodi della rete, può essere eseguito dagli utenti che abbiano intenzione di utilizzare i servizi che esso mette a disposizione.
I servizi che un contratto può fornire possono essere di varie tipologie, come la memorizzazione di particolari dati o lo scambio di asset o altro.

Ma quali sono i vantaggi che offrono gli smart contract?

immutabilità: una volta caricato in blockchain lo stato dello smart contract può cambiare, ma i metodi e le classi sono immutabili (es. uno smart contract che implementa un token, ha memorizzato che nel wallet A ci sono 10 token e nel wallet B ce ne sono 20. Effettuiamo un trasferimento da A a B di 5 token, successivamente alla transazione avremo che nel wallet A ci saranno 5 token e nel B 25 token, quindi vuol dire che è mutato lo stato del contratto);

• sicurezza delle informazioni: grazie alla robustezza strutturale e all’immunità dai tentativi di manomissione della blockchain, i dati memorizzati all’interno degli smart contract sono totalmente al sicuro da tentativi di manomissione di utenti malintenzionati;

parziale o totale autonomia nell’esecuzione di transazioni: come precedentemente detto è lo stesso smart contract che verifica le condizioni necessarie affinché un utente possa effettuare la transazione.
In definitiva possiamo dire che gli smart contract sono uno strumento potente, utile e con un vastissimo campo di applicazione, e saranno sempre più presenti all’interno della nostra società.

Giacomo Onori