Ethereum è una piattaforma decentralizzata che permette di implementare contratti intelligenti, chiamati anche Smart Contracts. Si tratta di contratti che si autoeseguono esattamente come se fossero programmati per funzionare con continuità, senza alcun rischio di frode o interferenza di terzi. Ethereum è quindi un sistema operativo open source, pensato e progettato per sfruttare al meglio la blockchain technology ed utilizzato per sviluppare app decentralizzate di diverso tipo ed ambito di applicazione. La blockchain è l'ambiente virtuale ideale per gli Smart Contracts e ne garantisce la validità una volta che il contratto è online nella rete blockchain.
INTRODUZIONE
La piattaforma Ethereum possiede funzionalità diversificate per creare applicazioni decentralizzate, quelle che comunemente vengono definite dApp e che possono modificare radicalmente il modo in cui interagiamo sul web. Una delle principali implementazioni del protocollo Ethereum è la creazione e distribuzione di Smart Contracts che hanno un funzionamento molto simile ad una transazione blockchain standard. Nel protocollo Ethereum esistono due tipi di account, ciascuno dei quali è composto da 4 campi e con un indirizzo di 20 byte: l’Externally Owned Account (EOA) che viene controllato da una coppia di chiavi pubblica-privata ed il Contract Account (CA), controllato dal codice presente nel contratto. Gli Smart Contracts producono un’istruzione condizionale che deve essere soddisfatta prima dell’esecuzione di una funzione. Come la blockchain, anche gli Smart Contracts si basano su un meccanismo di fiducia condivisa dalle parti interessate, senza la necessità di un’autorità centrale volta al controllo ed alla validazione del contratto, esattamente come avviene nel meccanismo di validazione e controllo delle transazioni che dovranno essere inserite nei blocchi della catena, meccanismo che varia in funzione della tipologia di blockchain con la quale abbiamo a che fare e che vede coinvolti i nodi della rete. Gli Smart Contracts sono una delle dimensioni possibili della blockchain, il database transazionale che ha radicalmente modificato il modo di condividere le informazioni. Tuttavia, pur essendo spesso associati alla blockchain, i contratti intelligenti sono stati ideati molto prima ed hanno una propria connotazione a prescindere dalla blockchain che comunque continua a mantenere il primato in termini di fiducia, affidabilità e sicurezza, senza dover passare per un'autorità centrale di controllo. In sostanza uno Smart Contract è la traduzione in codice di un contratto in modo da verificare in automatico l'avverarsi di determinate condizioni e di autoeseguire determinate azioni quando le condizioni stabilite tra le parti si sono verificate. Per fare ciò utilizziamo la piattaforma decentralizzata Ethereum. Un nodo è un dispositivo che esegue il protocollo Ethereum e può essere in esecuzione su desktop e laptop. Ogni volta che ci colleghiamo al protocollo Ethereum, ci troviamo nella rete blockchain di Ethereum e stiamo facendo funzionare un nodo della rete. Quando eseguiamo un nodo Ethereum, possiamo connetterci ad altri nodi della rete, accedere direttamente alla blockchain, inviare transazioni ed implementare Smart Contracts. I nodi vengono scritti in linguaggio Go, detto anche Geth o Go Ethereum, in C++ ed in Python. [...]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 2135 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Uno Smart Contract può essere interpretato come un’ istruzione if-then perché non fa altro che autoeseguire determinate azioni al verificarsi di certe condizioni.