Informazioni sulle reti Ethereum pubbliche

Completato

Il protocollo Ethereum è costituito da più reti pubbliche. Le diverse reti Ethereum possono avere proprietà, usi, funzionalità e meccanismi di consenso diversi. Ethereum ha attualmente quattro reti di test, denominate testnet. Ha una rete di produzione, denominata mainnet.

Panoramica della mainnet

La mainnet, abbreviazione di "main network" (rete principale), è l'unica vera blockchain Ethereum pubblica. Le applicazioni distribuite nella mainnet possono scambiare e usare informazioni e interagire tra di esse.

Le applicazioni distribuite possono sfruttare appieno le funzionalità della blockchain decentralizzata. Non esiste alcuna autorità centralizzata. La mainnet è completamente decentralizzata.

Nella mainnet possono essere distribuiti tipi diversi di token e applicazioni. Le transazioni, una volta distribuite nella mainnet, non possono essere modificate.

Ogni transazione ha costi reali che richiedono la criptovaluta ether (ETH).

È possibile visualizzare tutti i blocchi della mainnet Ethereum usando Etherscan. Etherscan mostra le transazioni e i blocchi estratti più di recente. È possibile analizzare tutti i blocchi.

Screenshot che mostra la home page di Etherscan.

Testnet Ethereum

Ethereum ha quattro testnet pubbliche. Ogni testnet ha un metodo e un processo di distribuzione diversi. Le testnet preparano per il commit e testano le applicazioni in un ambiente live pubblico prima di distribuirle nella mainnet.

Le testnet usano i protocolli di consenso PoW (Proof of Work) o PoA (Proof of Authority) per determinare come aggiungere nuovi blocchi di transazioni alla rete. Ecco una rapida panoramica di ogni protocollo:

  • PoW: un mining rig risolve un problema di hashing crittografico relativo all'estrazione di un nuovo blocco e alle transazioni che dovranno fare parte di tale blocco.
  • PoA: le utilità di convalida dei blocchi ne verificano l'identità in una rete per decidere quali transazioni diventano parte del blocco successivo della catena.

Le testnet richiedono ether di test. Gli ether di test sono gratuiti ed è possibile accedervi dai faucet. Si fornisce ai faucet l'indirizzo di un account per ricevere una certa quantità di ether di test.

I faucet sono diventati il modo principale per ottenere ether di test per una testnet. La community gestisce le reti di test pubbliche a vantaggio degli sviluppatori e dei test. I faucet proteggono le testnet dagli attacchi di posta indesiderata perché gli ether sono controllati da parti attendibili.

Confronto tra le testnet

Di seguito verranno presentate le testnet Ethereum e le proprietà associate.

Ropsten

Ropsten è un protocollo di consenso PoW. È il più simile alla mainnet per funzionalità. Ropsten esiste dal 2016 e prende il nome da una stazione della metropolitana svedese. Secondo alcuni riproduce al meglio le condizioni della mainnet.

Altre informazioni:

  • Client supportati:
  • Tempo di blocco: 30 secondi o meno
  • Collegamenti specifici di Ropsten:

Kovan

Kovan è una testnet PoA, che prende il nome da una stazione della metropolitana di Singapore. Gli ether devono essere richiesti dal faucet e sono controllati da parti attendibili. A causa di questa proprietà, Kovan è immune agli attacchi di posta indesiderata.

Altre informazioni:

Goerli

La testnet multiclient PoA Goerli prende il nome da una stazione della metropolitana di Berlino. Questa testnet vuole essere largamente utilizzabile in diversi client. È sufficientemente affidabile da garantire una disponibilità coerente. È nata con l'iniziativa Goerli nel 2018.

Altre informazioni:

Ropsten viene considerata la testnet più simile alla mainnet. È stata la prima testnet importante. Kovan, Goerli e Rinkeby sono stabili e hanno un utilizzo elevato. Prima di eseguire la distribuzione nella mainnet, eseguirla e testarla in più testnet.

Client e API per la distribuzione nelle testnet e nella mainnet

Ethereum è progettato per offrire più client. I client possono essere sviluppati da team diversi e possono usare linguaggi di programmazione diversi. Questa varietà rende la rete più affidabile e diversificata. L'obiettivo è la diversità senza client dominanti. Questa progettazione riduce le probabilità che si verifichino singoli punti di guasto.

Client

Ecco alcuni client Ethereum di uso comune:

  • Client Geth

    Go Ethereum (noto anche come Geth) è una delle prime implementazioni del protocollo Ethereum. Questo client ha la base di utenti più grande ed è quello più comunemente usato. Geth offre un'ampia gamma di strumenti per sviluppatori e utenti di blockchain.

    Il client Geth è scritto in Go ed è open source. È concesso in licenza in base a GNU LGPL (Lesser General Public License) versione 3.

  • OpenEthereum

    Il client OpenEthereum è utile per tutte le operazioni con il protocollo. Semplifica attività come la personalizzazione, l'integrazione di prodotti, l'archiviazione dei dati e la gestione della memoria. Punta a essere il client Ethereum più leggero, veloce e sicuro di tutti.

    OpenEthereum è scritto nel linguaggio di programmazione Rust. È concesso in licenza in base a GNU GPL (General Public License) versione 3.

  • Nethermind

    Nethermind fornisce il client Ethereum .NET Core più veloce del mondo e il marketplace di dati P2P. Offre servizi di consulenza agli sviluppatori di soluzioni blockchain Ethereum.

API

Ecco alcune API Ethereum di uso comune:

  • Infura

    La suite di API Infura fornisce accesso immediato tramite HTTPS e WebSocket alle reti Ethereum e IPFS. Usare questa interfaccia intuitiva per connettersi agli endpoint di tutte le testnet. Infura supporta sia la suite Truffle che il kit di sviluppo Blockchain di Visual Studio Code per Ethereum.

  • MetaMask

    Quando si esegue la distribuzione in una testnet o nella mainnet, il client MetaMask fornisce un'interfaccia affidabile e un portafoglio che si connette e interagisce con le blockchain Ethereum.

    L'uso di MetaMask per inviare ether e token tramite una testnet è semplice. Il client fornisce un'interfaccia semplice per selezionare e usare reti Ethereum diverse. Quando è necessario interagire con le reti di sviluppo, MetaMask semplifica la connessione a localhost 8545 o a RPC personalizzato in modo che sia possibile connettersi con Ganache e Truffle. Analogamente, MetaMask ha connessioni predefinite alle testnet pubbliche e alla mainnet.

    Se ci si connette alla mainnet, prestare attenzione a proteggere la chiave privata. Per questa connessione vengono usati veri ether.