Sapere tutto su Ethereum e su come funziona
Ethereum è una piattaforma blockchain aperta che consente a chiunque di creare e utilizzare applicazioni decentralizzate alimentate dalla tecnologia blockchain. Come Bitcoin, nessuno controlla o possiede Ethereum. È un progetto open source creato da molte persone in tutto il mondo. Ma a differenza del protocollo Bitcoin. Ethereum è stato progettato per essere adattabile e flessibile. È facile creare nuove applicazioni sulla piattaforma Ethereum. Con il rilascio di Homestead, ora è sicuro per chiunque utilizzare queste app.
Una blockchain di nuova generazione
La tecnologia Blockchain è la base tecnologica di Bitcoin. Descritto per la prima volta dal suo misterioso autore Satoshi Nakamoto nel suo white paper «Bitcoin. Un sistema di cassa elettronico peer-to-peer”, pubblicato nel 2008. Mentre l’applicazione della blockchain per usi più generali era già discussa nel documento originale. Non è stato fino a pochi anni dopo che la tecnologia è emersa come termine generico.
Blockchain è un’architettura di elaborazione distribuita in cui ogni nodo di rete esegue e registra le stesse transazioni, che sono raggruppate in blocchi. È possibile aggiungere un solo blocco alla volta. Ogni blocco contiene una dimostrazione matematica che verifica che continua in sequenza dal blocco precedente.
In questo modo, il «database distribuito» della blockchain viene mantenuto consensualmente in tutta la rete. Le interazioni individuali dell’utente con il libro mastro (transazioni) sono protette da crittografia avanzata. I nodi che mantengono e verificano la rete sono attivati da incentivi economici applicati matematicamente codificati nel protocollo.
Nel caso di Bitcoin, il database distribuito è concepito come una tabella dei saldi dei conti. Un libro mastro e le transazioni sono trasferimenti del token bitcoin per facilitare il finanziamento senza fiducia tra le persone. Ma quando il bitcoin ha iniziato ad attirare più attenzione da parte di sviluppatori e tecnologi. Nuovi progetti hanno iniziato a utilizzare la rete bitcoin per scopi diversi dai trasferimenti di token di sicurezza.
Molti di loro hanno preso la forma di «valute alternative». Blocchi separati con criptovalute proprietarie che hanno migliorato il protocollo bitcoin originale per aggiungere nuove funzionalità o capacità. Alla fine del 2013, l’inventore di Ethereum, Vitalik Buterin. Ha proposto che una singola blockchain con la capacità di riprogrammarsi per eseguire qualsiasi calcolo arbitrariamente complesso potesse includere questi molti altri progetti.
Nel 2014, i fondatori di Ethereum Vitalik Buterin, Gavin Wood e Jeffrey Wilcke. Hanno iniziato a lavorare su una blockchain di nuova generazione che aveva l’ambizione di implementare una piattaforma di smart contract completa e completamente affidabile.
Macchina virtuale Ethereum
Ethereum è una blockchain programmabile. Invece di offrire agli utenti una serie di operazioni predefinite, ad esempio transazioni bitcoin. Ethereum consente agli utenti di creare le proprie operazioni di qualsiasi complessità desiderano. In questo modo, funge da piattaforma per molti diversi tipi di applicazioni blockchain decentralizzate. Questi includono ma non sono limitati alle criptovalute.
Ethereum in senso stretto si riferisce a un insieme di protocolli che definiscono una piattaforma per applicazioni decentralizzate. Al centro c’è la macchina virtuale Ethereum («EVM»). Che può eseguire codice di complessità algoritmica arbitraria. In termini informatici, Ethereum è «pieno Turing». Gli sviluppatori possono creare applicazioni che funzionano su EVM utilizzando linguaggi di programmazione amichevoli basati su linguaggi esistenti come JavaScript e Python.
Come ogni blockchain, Ethereum include anche un protocollo di rete peer-to-peer. Il database blockchain di Ethereum è mantenuto e aggiornato da molti nodi collegati alla rete. Ogni nodo della rete esegue l’EVM ed esegue le stesse istruzioni. Per questo motivo, a volte Ethereum viene evocativamente descritto come un «computer mondiale».
Un sistema sicuro
Questa massiccia parallelizzazione dell’elaborazione attraverso la rete Ethereum non viene eseguita per rendere l’elaborazione più efficiente. In effetti, questo processo rende il calcolo in Ethereum molto più lento e costoso rispetto a un «computer» tradizionale. Piuttosto, ogni nodo Ethereum esegue l’EVM per mantenere il consenso attraverso la blockchain. Il consenso decentralizzato offre a Ethereum livelli estremi di tolleranza ai guasti, garantisce zero tempi di inattività e rende i dati archiviati sulla blockchain invariati e resistenti alla censura.
La stessa piattaforma Ethereum è priva di caratteristiche o agnostica. Come nei linguaggi di programmazione, spetta agli imprenditori e agli sviluppatori decidere per cosa dovrebbe essere utilizzato. Tuttavia, è chiaro che alcuni tipi di applicazioni beneficiano più di altri delle capacità di Ethereum.
Applicazioni che beneficiano di Ethereum
In particolare, Ethereum è adatto per applicazioni che automatizzano l’interazione diretta tra pari o facilitano l’azione coordinata di gruppo attraverso una rete. Ad esempio, le applicazioni per coordinare i mercati peer-to-peer. O l’automazione di contratti finanziari complessi. Bitcoin consente alle persone di scambiare contanti senza coinvolgere intermediari come istituti finanziari, banche o governi.
L’impatto di Ethereum può essere di vasta portata. In teoria, le interazioni o gli scambi finanziari di qualsiasi complessità potrebbero essere effettuati automaticamente e in modo affidabile utilizzando un codice che gira su Ethereum.
Al di là delle applicazioni finanziarie, qualsiasi ambiente in cui fiducia, sicurezza e permanenza sono importanti. Ad esempio, i registri patrimoniali, il voto, la governance e l’Internet delle cose. Potrebbe essere fortemente influenzato dalla piattaforma Ethereum.
Come funziona Ethereum?
Ethereum incorpora molte funzionalità e tecnologie che saranno familiari agli utenti di Bitcoin. Allo stesso tempo introduce molte modifiche e innovazioni proprie.
Mentre la blockchain di Bitcoin era puramente un elenco di transazioni, l’unità di base di Ethereum è l’account. La blockchain di Ethereum tiene traccia dello stato di ciascun account. Tutte le transizioni di stato sulla blockchain di Ethereum sono trasferimenti di valore e informazioni tra conti.
Per la maggior parte degli utenti, la differenza fondamentale tra questi è che gli EOA sono controllati da utenti umani. Dal momento che possono controllare le chiavi private che danno il controllo su un EOA. I conti contrattuali, invece, sono regolati dal loro codice interno. Se sono «controllati» da un utente umano, è perché sono programmati per essere controllati da un EOA con un determinato indirizzo. Che a sua volta è controllato da chiunque abbia le chiavi private che controllano quell’EOA.
Il termine popolare «contratti intelligenti» si riferisce al codice in un account contrattuale. Programmi che vengono eseguiti quando una transazione viene inviata a quel conto. Gli utenti possono creare nuovi contratti implementando il codice sulla blockchain.
I contratti
Gli account di contratto eseguono un’operazione solo se diretti da un EOA. Pertanto, non è possibile per un account di contratto eseguire operazioni native. Come la generazione di numeri casuali o le chiamate API. Puoi fare queste cose solo se richiesto da un EOA. Questo perché Ethereum richiede che i nodi siano in grado di concordare il risultato del calcolo. Ciò richiede una garanzia di prestazione rigorosamente deterministica.
Simile a Bitcoin, gli utenti devono pagare piccole commissioni di transazione alla rete. Questo protegge la blockchain di Ethereum da attività computazionali frivole o dannose, come attacchi DDoS o loop infiniti. Il mittente di una transazione deve pagare per ogni passaggio del «programma» da lui attivato, compreso il calcolo e l’archiviazione in memoria. Queste commissioni vengono pagate in importi del token di valore nativo di Ethereum, Ether.
Aliquote
Queste commissioni di transazione vengono raccolte dai nodi che convalidano la rete. Questi «minatori» sono nodi della rete Ethereum che ricevono, propagano, verificano ed eseguono transazioni. I minatori quindi raggruppano le transazioni, che includono molti aggiornamenti allo «stato» degli account sulla blockchain di Ethereum, in quelli che vengono chiamati «blocchi», e i minatori quindi competono tra loro per fare in modo che il loro blocco successivo venga aggiunto al blockchain.
I minatori vengono ricompensati con Ether per ogni blocco che hanno estratto con successo. Ciò fornisce l’incentivo economico per le persone a dedicare hardware ed elettricità alla rete Ethereum.
Simile alla rete Bitcoin, i minatori hanno il compito di risolvere un complesso problema matematico al fine di «estrarre» con successo un blocco. Questo è noto come «Prova di lavoro». Qualsiasi problema computazionale che richiede ordini di grandezza in più di risorse da risolvere algoritmicamente rispetto a quelle necessarie per verificare che la soluzione sia un buon candidato per la prova del lavoro.
Per scoraggiare la centralizzazione dovuta all’utilizzo di hardware specializzato (es. ASIC), come è successo nella rete Bitcoin, Ethereum ha scelto un problema di hard compute per la memoria. Se il problema richiede memoria e CPU, l’hardware ideale è infatti il computer generico.
Ciò rende il Proof of Work ASIC di Ethereum resistente, consentendo una distribuzione della sicurezza più decentralizzata rispetto alle blockchain il cui mining è dominato da hardware specializzato, come Bitcoin.