Ethereum

Da Wikipedia, l'enciclopedia libera.
Jump to navigation Jump to search
Ethereum
software
Logo
GenereCrittografia
Software applicativo di gruppo
SviluppatoreVitalik Buterin, Gavin Wood, Jeffrey Wilcke, heikoheiko, e altri
Data prima versione30 luglio 2015
Ultima versioneFrontier (30 luglio 2015)
Sistema operativoMicrosoft Windows
Linux
macOS
POSIX
LinguaggioRust
Python
Go
C++
JavaScript, Java, Solidity, Node.js
LicenzaGPL3, MIT, LGPL, e altri
(licenza libera)
LinguaInglese
Sito web
Ethereum
Nome localeEther
Codice ISO 4217ETH
SimboloΞ
Frazionifinney, szabo, shannon, babbage, lovelaces, wei
In circolazione dalTBD
Tasso di cambio1 ETH = 0.000524 BTC at pre-sale ()
Lista valute ISO 4217 - Progetto Numismatica

Ethereum è una piattaforma decentralizzata del Web 3.0 per la creazione e pubblicazione peer-to-peer di contratti intelligenti (smart contracts) creati in un linguaggio di programmazione Turing-completo.

Caratteristiche[modifica | modifica wikitesto]

Per poter girare sulla rete peer-to-peer, i contratti di Ethereum "pagano" l'utilizzo della sua potenza computazionale tramite una unità di conto, detta Ether, che funge quindi sia da criptovaluta sia da carburante. In altre parole, contrariamente a molte altre criptovalute, Ethereum non è solo un network per lo scambio di valore monetario, ma una rete per far girare contratti basati su Ethereum. Questi contratti possono essere utilizzati in maniera sicura per eseguire un vasto numero di operazioni: sistemi elettorali, registrazione di nomi di dominio, mercati finanziari, piattaforme di crowdfunding, proprietà intellettuale, ecc.

La piattaforma fu inizialmente menzionata da Vitalik Buterin nel Bitcoin Magazine, di cui lui stesso è co-fondatore con Joseph Lubin, agli inizi del 2013.[1]. È stata successivamente concettualizzata nel White Paper[2] dello stesso Buterin e formalizzata da Gavin Wood nel cosiddetto Yellow Paper, a inizio 2014[3]. Il rilascio della prima versione "live" della piattaforma (cosiddetta versione Frontier) è avvenuto il 30 luglio 2015.

Ethereum fa parte di un gruppo di piattaforme blockchain detto di "nuova generazione" (o "2.0").[non chiaro]

Come per le altre criptovalute, la validità di ciascun Ether è garantita da una blockchain, che è un elenco di record in continua crescita, chiamati blocchi, in quali sono collegati tra loro e protetti mediante crittografia. Per definizione, la blockchain è in sè resistente alla modifica dei dati. È un libro mastro contabile, aperto e distribuito che registra le transazioni tra due parti in modo efficiente e permanentemente verificabile.

A differenza di Bitcoin, Ethereum opera utilizzando conti e saldi secondo le cosiddette transizioni di stato, che non si basano su output di transazione non spesi (unspent transaction outputs , UTXOs), ma sui saldi correnti (chiamati stati) di tutti i conti, oltre ad alcuni dati aggiuntivi. L'informazione relativa allo stato non è memorizzata nella blockchain, bensì è archiviata in un proprio albero di Merkle, vale a dire un albero binario nel quale ogni nodo è padre di due figli e il suo hash è dato ricorsivamente dalla concatenazione degli hash dei due blocchi a esso associati, secondo il seguente schema:

[4]

Un portafoglio di criptovaluta memorizza le "chiavi" o "indirizzi" pubblici e privati che possono essere utilizzati per ricevere o spendere Ether.

Le chiavi private (deterministiche) possono essere generate mediante il protocollo Bitcoin chiamato BIT32, a partire da una sequenza di 12 oppure di 18 parole che è memorizzata nel portafoglio Bitcoin, dalla quale è ricavata la chiave privata master di livello 0 e, a scendere, quelle dei livelli successivi. Per ogni chiave privata viene generato l'indirizzo Bitcoin associato al suo livello.[5]
Tuttavia, in Ethereum, questo procedimento non è richiesto, poiché non può funzionare in uno schema UTXO[non chiaro]: tramite la chiave privata è possibile scrivere nella blockchain, concludendo effettivamente una transazione Ether.

Per indirizzare l'Ether a un conto, è necessario essere in possesso dell'hash calcolato della relativa chiave pubblica, che è calcolato con l'algoritmo di crittografia Keccak-256. I conti Ether non sono nominativi, non identificano univocamente il beneficiario, quanto piuttosto uno o più indirizzi specifici.

Ether

Ether è un componente fondamentale per il funzionamento di Ethereum, perché fornisce un libro mastro per le transazioni. È utilizzato per pagare il gas, un'unità di calcolo per le transazioni e altre transizioni di stato. È indicato con l'icona di transazione ETH (ticker symbol) e con simbolo di valuta la lettera greca Ξ maiuscola, in modo tale da poter essere scambiato nei mercati elettronici denominati in crittovalute, ovvero pagare le commissioni di transazione e servizi aggiuntivi alla rete Ethereum.[6]

Indirizzi

Gli indirizzi della rete Ethereum incominciano e sono identificati dal prefisso "0x", comune per i numeri numeri in base 16, seguito dai 20 byte più a destra (ordine dei byte) dell'hash Keccak-256 della chiave pubblica ECDSA dove la curva utilizzata è la cosiddetta secp256k1, la stessa di Bitcoin. Dato che in base 16 due digit corrispondono a un byte, gli indirizzi Ethereum contengono 40 cifre esadecimali (il prefisso standard "0x", che è la parte invariante, non è memorizzato, ma "reinserito" di volta in volta). Un esempio di indirizzo Ethereum è il seguente: 0xb794F5eA0ba39494cE839613fffBA74279579268.

Gli indirizzi di contratto sono nello stesso formato, ma sono determinati dal mittente e dal nonce[7], uno scalare di valore pari al numero di transazione inviato dal mittente (contract creation).[8] In altre parole, i conti utente sono indistinguibili dai conti-contratto, ai quali viene associato un singolo indirizzo per ciascuno e nessun dato blockchain. Un utente, al contrario, può avere molteplici livelli di chiave privata, dai quali sono generati altrettanti indirizzi Ethereum.
Qualsiasi hash Keccak-256 valido inserito nel formato descritto è valido, anche se non corrisponde a un account con una chiave privata o a un contratto. Diversamente da Ethereum, Bitcoin utilizza base58check[9] per assicurarsi che gli indirizzi siano digitati correttamente.

Sviluppo[modifica | modifica wikitesto]

Lo sviluppo di Ethereum è incominciato nel dicembre 2013, e le prime versioni del software in linguaggio Go e in linguaggio C++ sono state rilasciate agli inizi del febbraio 2014.[10] Da allora sono state pubblicate diverse versioni successive, che hanno incluso lo sviluppo di tre linguaggi di programmazione appositamente creati per scrivere smart contracts: il Serpent (ispirato al linguaggio Python), il Mutan (ispirato al linguaggio Go) e LLL (ispirato al linguaggio di programmazione Lisp).[11]

Per finanziare il lavoro di sviluppo, Ethereum ha lanciato un'offerta pubblica di pre-vendita di Ether. L'offerta pubblica è durata 42 giorni e ha totalizzato la raccolta di 31 591 Bitcoin, pari (al tasso di cambio del 2 settembre 2014) a circa 18,4 milioni di dollari statunitensi, o 60 102 216 ETH.[12]

La Proof of Concept numero 5, è stata distribuita su GitHub il 22 luglio 2014, contemporaneamente al lancio della prevendita di Ether, e comprendeva numerosi cambiamenti rispetto alla Proof of Concept precedente. Per la prima volta i due client, uno scritto in C++ e un altro in Go, hanno incominciato a interagire alla perfezione e lavorare sulla stessa Blockchain. Ad agosto 2014, un client scritto in Python è stato aggiunto alla lista delle piattaforme disponibili.

Con la Proof of Concept numero 7 è stato lanciato Solidity, un linguaggio di programmazione ibrido, ispirato a JavaScript/C++, contenente numerosi arricchimenti sintattici in modo da poter essere compatibile e versatile per la compilazione degli smart contract su Ethereum. I tempi dei blocchi sono stati ridotti da 60 secondi ai 12 secondi, utilizzando un nuovo protocollo basato su GHOST.

Nel 2015, Ethereum ha incominciato a utilizzare la raccolta di fondi della pre-vendita per espandere le proprie operazioni, a partire dalla fondazione con base a Zugo, in Svizzera e con team di sviluppo a Londra, Berlino e Amsterdam. La versione beta con rete funzionante e in cui il mining dà ricompensa in vero Ether, detta Frontier, è stata distribuita il 30 luglio 2015[13]. Inoltre, è stato lanciato un programma di ricerca di bug aperto alla comunità degli sviluppatori.[14]

Ethereum è un progetto open source, e ogni sviluppatore può contribuire al codice sorgente.

L'unità di conto della valuta di Ethereum si chiama Ether ed è abbrieviata dal simbolo ETH. L'Ether è divisa in sottounità di conto chiamate finney, szabo, shannon, babbage, lovelace, e wei, rispettivamente in onore di Hal Finney, Nick Szabo, Claude Shannon, Charles Babbage, Ada Lovelace e Wei Dai, personalità più o meno note nel mondo della crittografia, programmazione e criptovalute.

Enterprise Ethereum Alliance[modifica | modifica wikitesto]

A marzo del 2017 è stata fondata l'Enterprise Ethereum Alliance (EEA) da 30 soggetti fra startup, gruppi di ricerca e aziende classificate nella Fortune 500.[15] A maggio l'organizzazione senza scopo di lucro aveva 116 membri, fra i quali: ConsenSys, CME Group, Cornell University's research group, Toyota Research Institute, Samsung SDS, Microsoft, Intel, J. P. Morgan, Cooley LLP, Merck KGaA, Depository Trust & Clearing Corporation, Deloitte, Accenture, Banco Santander, BNY Mellon, ING e National Bank of Canada.[16][17][18] A luglio del 2017, i membri erano divenuti 150, con i recenti ingressi di MasterCard, Cisco Systems, Sberbank e Scotiabank.[19][20]

Reazioni del pubblico[modifica | modifica wikitesto]

La piattaforma di Ethereum è stata menzionata in articoli su alcuni dei più importanti periodici di tecnologia e informazione come Wired, The Globe and Mail, SiliconANGLE, Yahoo News, Medium.com, Al Jazeera, Forbes, il Daily Telegraph e il Keiser Report.

Primavera De Filippi, una ricercatrice post-doc del CERSA / CNRS / Università Panthéon-Assas, ha tenuto una conferenza sulle implicazioni legali di Ethereum a Harvard il 15 aprile 2014.[21] Quinn DuPont, dottorando dell'Università di Toronto ha discusso della transizione da Bitcoin a Ethereum in una lecture pubblica all'Università di Dalhousie il 2 ottobre 2014. Steve Randy Waldman ne ha parlato come di uno strumento che può essere utilizzato per "ingegnerizzare sicurezza distribuita economicamente".

Ethereum nel mondo e in Italia[modifica | modifica wikitesto]

La community di appassionati che sostiene Ethereum si è rapidamente allargata fino a comprendere 111 gruppi in 83 città di oltre 34 paesi.[22] I gruppi di appassionati si organizzano tramite la piattaforma Meetup. Il gruppo locale di Ethereum Italia (con base a Roma) è stato fondato il 9 giugno 2014 e conta circa 654 membri.[23]

Note[modifica | modifica wikitesto]

  1. ^ Vitalik Buterin, Ethereum: A Next-Generation Cryptocurrency and Decentralized Application Platform, in Bitcoin Magazine, 23 gennaio 2014. URL consultato il 9 aprile 2014.
  2. ^ Vitalik Buterin, Ethereum: Libro Bianco (tradotto in Italiano), in Self published, 6 aprile 2014. URL consultato il 21 aprile 2015.
  3. ^ Gavin Wood, Ethereum: A Secure Decentralised Generalised Transaction Ledger (PDF), in Self published, 6 aprile 2014. URL consultato il 20 febbraio 2015.
  4. ^ B. Bertani e prof. Davide Aliffi (relatore), 2.2 Gli alberi di Merkle (PDF), in La crittografia nel sistema di moneta digitale Bitcoin, Università di Bologna- Corso di laurea in Matematica, a.a. 2013/2014, pp. 8-9. URL consultato il 23 ottobre 2019 (archiviato il 15 dicembre 2017).
  5. ^ (EN) Sudhir Khatwani, What Are HD Wallets? [Deterministic Wallet], su themoneymongers.com, 20 maggio 2019 (archiviato il 23 ottobre 2019).
  6. ^ Nathaniel Popper, Ethereum, a Virtual Currency, Enables Transactions That Rival Bitcoin's, in New York Times, 27 marzo 2016 (archiviato dall'url originale il 24 luglio 2016).
  7. ^ Cfr. ' nel wikizionario in inglese
  8. ^ Gavin Wood, ETHEREUM: A SECURE DECENTRALISED GENERALISED TRANSACTION LEDGER (EIP-150), su yellowpaper.io, 3 febbraio 2018, p. 4 (archiviato dall'url originale il 3 febbraio 2018).
  9. ^ Base58Check encoding, su en.bitcoin.it.
  10. ^ Stephan Tual, C++ Code+Build FAQ, Ethereum. URL consultato il 3 settembre 2014.
  11. ^ Stephan Tual, Writing Smart Contracts FAQ, Ethereum Forum. URL consultato il 3 agosto 2014.
  12. ^ Vitalik Buterin, Ethereum was second largest crowdsale in history?, Reddit. URL consultato l'8 settembre 2014.
  13. ^ Stephan Tual, Ethereum Launches, Ethereum. URL consultato il 17 agosto 2015.
  14. ^ Ethereum Bounty Program, Ethereum. URL consultato il 21 febbraio 2015 (archiviato dall'url originale il 21 febbraio 2015).
  15. ^ Nathaniel Popper, Business Giants to Announce Creation of a Computing System Based on Ethereum, in New York Times, 27 febbraio 2017 (archiviato dall'url originale il 20 giugno 2017).
  16. ^ Morgan Peck, Corporate Titans Unite to Build an Enterprise Version of the Ethereum Blockchain, Institute of Electrical and Electronics Engineers (IEEE), 2 marzo 2017. URL consultato il 5 giugno 2017 (archiviato dall'url originale il 17 giugno 2017).
  17. ^ Enterprise Ethereum Alliance expands dramatically announcing 86 new members (PDF), Enterprise Ethereum Alliance (EEA), 19 maggio 2017. URL consultato il 5 giugno 2017 (archiviato dall'url originale il 7 giugno 2017).
  18. ^ Laura Shin, Ethereum Enterprise Alliance Adds 86 New Members Including DTCC, State Street And Infosys, in Forbes, 22 maggio 2017. URL consultato il 22 maggio 2017 (archiviato dall'url originale il 22 maggio 2017).
  19. ^ The Enterprise Ethereum Alliance Just Got A Whole Lot Stronger, su inc.com.
  20. ^ Sberbank joins Enterprise Ethereum Alliance to broaden cooperation, su bankingtech.com, 19 ottobre 2017.
  21. ^ Primavera di Filippi, Ethereum: Freenet or Skynet ?, in Berkman Center for Internet & Society, Harvard University. URL consultato il 10 aprile 2014.
  22. ^ Ethereum MeetUp, Ethereum. URL consultato il 3 maggio 2015.
  23. ^ MeetUp group, Italian Ethereum MeetUp. URL consultato il 3 maggio 2015.

Voci correlate[modifica | modifica wikitesto]

Altri progetti[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Software libero Portale Software libero: accedi alle voci di Wikipedia che trattano di software libero