– Tempo di lettura: 6 minuti-
La blockchain è una delle tecnologie più discusse al giorno d’oggi: potenzialmente rivoluzionaria ma con ancora molte incognite sul suo futuro. Ethereum è uno dei progetti più importanti e ampiamente utilizzati in questo contesto e oggi esploreremo proprio il suo funzionamento. Prima di iniziare, se non sai ancora cos’è una blockchain, ti consiglio di recuperare l’articolo in cui ti parlo di Bitcoin: il progetto con il quale è nato il primo esempio di tale tecnologia.
DApp (Decentralized Application)
Nell’articolo che ti ho appena citato, abbiamo visto come la blockchain di Bitcoin nasca principalmente per lo scambio di valuta in modo decentralizzato. Questa tipologia di blockchain viene in genere chiamata “blockchain di prima generazione” ed è la tipologia più semplice di blockchain. Con il tempo si è capito che tale tecnologia poteva essere sfruttata anche in altri contesti. Infatti, nel 2013 con Ethereum nascono le cosiddette “blockchain di seconda generazione” che rivoluzionano il concetto di blockchain permettendo di sfruttare la sicurezza e l’immutabilità di quest’ultima non solo per lo scambio di denaro ma anche per costruire delle vere e proprie applicazioni decentralizzate chiamate DApp (Decentralized Application). Pensa alle applicazioni che usi tutti i giorni, ciò che le accomuna è il fatto che sono centralizzate, esiste ovvero un’unica organizzazione che le gestisce, ha il pieno controllo su queste ultime e su tutti i dati che gli utenti forniscono con la loro navigazione. Con Ethereum si elimina questa autorità centrale sfruttando una rete di nodi decentralizzata, con un meccanismo simile a quello che abbiamo visto con Bitcoin.
Alla base di tutto c’è il concetto di “Smart contract” che, con una traduzione molto rudimentale, in italiano potrebbe essere chiamato “Contratto intelligente”. Probabilmente saprai già cos’è un contratto, sicuramente ti sarà capitato di firmarne uno. In breve, un contratto è un accordo tra due o più parti che crea obblighi legalmente vincolanti tra di loro. Esso definisce i diritti e gli obblighi delle parti coinvolte, stabilendo le condizioni e i termini sotto cui le parti si impegnano reciprocamente a compiere determinate azioni, a fornire beni o servizi specifici. Possiamo vedere uno smart contract come nient’altro che una trasposizione del concetto di contratto nel mondo digitale. Nello specifico, uno smart contract si occupa anche di verificare in automatico l’avverarsi delle condizioni definite in questo contratto e di autoeseguire azioni quando tali condizioni sono raggiunte e verificate. Questo elimina la necessità di intermediari tra le parti e rende i processi più trasparenti, efficienti e sicuri.
Transazioni su Ethereum
Su Ethereum le transazioni vengono effettuate utilizzando la criptovaluta Ether(ETH). In questo caso per transazioni non intendiamo solo il semplice scambio di valuta ma sono definite come tali anche le diverse interazioni con funzionalità degli smart contract. Cerchiamo di capire meglio cosa avviene quando si utilizza una tale funzionalità:
Innanzitutto, devi sapere che ad ogni smart contract viene associato un indirizzo. Per utilizzare una sua funzionalità, dunque, l’utente dovrà far partire una transazione verso quell’indirizzo pagando, se necessario, una quantità di ETH come tassa. A quel punto la transazione dell’utente sarà inserita in un pool di transazioni, una sorta di cesto nel quale vengono inserite tutte le transazioni ancora non eseguite. I nodi che costituiscono la rete di Ethereum sceglieranno periodicamente delle transazioni da questo pool, eseguendo man mano tutte le operazioni richieste. Una volta scelte un certo numero di transazioni, sarà creato un blocco che verrà condiviso con gli altri nodi della blockchain. A questo punto ci sarà una fase di validazione in cui tutti questi altri nodi della blockchain analizzeranno il contenuto del nuovo blocco e si confronteranno tra di loro per raggiungere un consenso.
La validazione delle transazioni garantisce che solo transazioni corrette e legittime vengano incluse nella blockchain. Ciò previene frodi, attacchi malevoli e transazioni non autorizzate. Una volta che si sarà raggiunto un accordo, il blocco proposto verrà aggiunto alla blockchain.
Proof of Stake (PoS)
Come per Bitcoin, Ethereum nasce con un meccanismo di consenso che utilizza la PoW. Tuttavia con l’aggiornamento del 15 settembre 2022, Ethereum passa al cosiddetto “Proof of Stake (PoS)”. L’idea alla base del PoS è sempre quella di disincentivare comportamenti disonesti. In questo caso, ogni nodo che vuole partecipare alla rete deve “ipotecare” degli ETH come garanzia del fatto che si comporterà in modo onesto. Questo meccanismo viene chiamato staking e, se tale nodo si comportasse male, rischierebbe di perdere tutti gli Ether che aveva messo in stake per partecipare alla rete. D’altro canto, per incentivare alla partecipazione onesta nella rete, i nodi che si comportano bene riceveranno una ricompensa. La tassa sulle transazioni della quale ti parlavo prima, infatti, viene utilizzata proprio per quello.
Tieni presente che i nodi di Ethereum devono investire tempo e risorse per eseguire le transazioni. Ciò richiede potenza di calcolo ed energia elettrica. Inoltre, i nodi devono allocare spazio di archiviazione per memorizzare la blockchain e le transazioni confermate. Tutto ciò ha un costo di base non indifferente, dunque, è lecito che ricevano delle ricompense. E’ da sottolineare però come il passaggio al PoS abbia portato ad un abbassamento di questi costi e, soprattutto, dei consumi energetici della rete poiché adesso i nodi non sono più costretti ad effettuare calcoli complessi e lunghi per generare una PoW.
Token e NFT
Ethereum ha avuto un ruolo significativo nello sviluppo dell’industria delle criptovalute e della tecnologia blockchain in generale. Ha introdotto molte innovazioni, aiutando l’evoluzione dei cosiddetti token fungibili e token non fungibili (NFT). I token fungibili non sono altro che nuove criptovalute nate dalla stessa Ethereum. Questi ultimi sono banalmente altri contratti intelligenti specifici che seguono il cosiddetto standard ERC-20. Essi sono progettati per gestire l’emissione, il trasferimento e la gestione di tali token sulla rete Ethereum. I token non fungibili, meglio conosciuti come NFT, invece, sono contratti che seguono lo standard ERC-721. Quest’ultimo ha reso possibile la creazione e lo scambio di beni digitali unici come delle opere d’arte digitali. Ora, cerchiamo di capire meglio la differenza tra token fungibili e non fungibili:
Nello scorso articolo “Motori di ricerca: amici o nemici della tua privacy?” ti ho parlato del token PRE, se non sai cos’è ti consiglio di andare a rivederlo. Il token PRE è proprio un esempio di token ERC-20. Ci sono 500 milioni di PRE al mondo, sono tutti dello stesso tipo. Ciò che intendo è che non c’è differenza tra un PRE ed un altro. Puoi avere tutti i PRE che vuoi fino al 500 milionesimo, avranno tutti lo stesso valore e potranno essere scambiati l’uno con l’altro senza alcuna distinzione. Queste sono le caratteristiche che in genere distinguono un token ERC-20 da un token ERC-721. Un token non fungibile infatti, è un oggetto unico. Nel momento in cui acquisti un NFT stai acquistando un qualcosa di ineguagliabile, un qualcosa che ha un suo valore e che non può essere suddiviso in più pezzi.
Con questo ho riassunto in breve tutte le cose più importanti che dovevi sapere di Ethereum. C’è tutto un mondo da approfondire dietro questa tecnologia, spero di esserti stato utile e di aver stimolato la tua curiosità. Continua a seguirmi se ti interessa il tema delle criptovalute e della cybersecurity, ti ringrazio per aver letto fino a qui, un saluto!