What is Ethereum Mining? [The Most Comprehensive Step-by-Step Guide]

Updated on: April 24th, 2020
This content has been Fact-Checked.
ethereum mining

Ethereum, come Bitcoin, attualmente utilizza il meccanismo di consenso proof-of-work (POW). Il mining è la linfa vitale di tutte le criptovalute basate su POW-based. L'estrazione di Ethereum coinvolge minatori di tutto il mondo che usano il loro tempo e la loro potenza di elaborazione per risolvere enigmi crittograficamente duri. In caso di successo, i minatori saranno in grado di aggiungere blocchi alla blockchain di Ethereum e guadagnare una ricompensa in cambio.

Comprendere l'estrazione di Ethereum e la necessità di un modello ibrido a prova di stake/prova di lavoro

Per capire l'estrazione di Ethereum, è necessario capire cos'è POW e perché è stato richiesto in primo luogo. Una rete decentralizzata come Ethereum richiede meccanismi di consenso per prendere decisioni. Prima che Satoshi Nakamoto creasse Bitcoin e il suo algoritmo POW sottostante, ci sono stati diversi tentativi di creare un legittimo sistema di valuta digitale peer-to-peer decentralizzato. Tuttavia, tutti non hanno avuto successo perché non hanno risposto al «Problema del generale bizantino».

Qual è il problema del generale bizantino?

Understanding Ethereum Mining and the Need for Proof of Stake

Immagine Cortesia: Medium

Ok quindi immaginate che ci sia un gruppo di generali bizantini e vogliono attaccare una città. Si trovano ad affrontare due problemi molto distinti:

I generali e i loro eserciti sono molto distanti, quindi l'autorità centralizzata è impossibile, il che rende un attacco coordinato molto duro.

La città ha un enorme esercito e l'unico modo per vincere è se tutti attaccano in una volta.

Al fine di rendere il coordinamento di successo, gli eserciti sulla sinistra del castello inviano un messaggero agli eserciti sulla destra del castello con un messaggio che dice «ATTACK MERCODÌ». Tuttavia, supponiamo che gli eserciti sulla destra non siano preparati per l'attacco e dicano: «NO. ATTACCO VENERDI» e rispedisci il messaggero attraverso la città agli eserciti sulla sinistra. E' qui che affrontiamo un problema. Un certo numero di cose possono accadere al povero messaggero. Potrebbe essere catturato, compromesso, ucciso e sostituito con un altro messaggero dalla città. Questo condurrebbe agli eserciti di essere manomessi con informazioni che possono portare ad un attacco e una sconfitta non coordinati.

Questo ha chiari riferimenti anche alla blockchain. La catena è una rete enorme; come puoi fidarti di loro? Se stavi mandando qualcuno 4 Ether dal tuo portafoglio, come sapresti per certo che qualcuno nella rete non lo manometterà e cambierà da 4 a 40 Ether?

Satoshi Nakamoto fu in grado di aggirare il problema del generale bizantino inventando il protocollo di prova del lavoro. E' cosi' che funziona. Supponiamo che l'esercito a sinistra voglia inviare un messaggio chiamato «ATTACK MONDIY» all'esercito a destra, stanno andando a seguire alcuni passi.

In primo luogo, aggiungeranno un «nonce» al testo originale. Il nonce può essere qualsiasi valore esadecimale casuale.

Dopodiché, cancellano il testo aggiunto con un nonce e vedono il risultato. Supponiamo, ipoteticamente parlando, che gli eserciti abbiano deciso di condividere solo messaggi che, sull'hashing, danno un risultato che inizia con 5 zeri.

Se le condizioni di hash sono soddisfatte, invieranno il messenger con l'hash del messaggio. In caso contrario, continueranno a cambiare il valore del nonce in modo casuale fino a ottenere il risultato desiderato. Questa azione è estremamente noiosa e richiede molto tempo e richiede molta potenza di calcolo.

Se il messenger viene catturato dalla città e il messaggio viene manomesso, in base alle proprietà della funzione hash, l'hash stesso verrà drasticamente modificato. Se i generali sul lato destro, vedi che il messaggio hash non inizia con la quantità richiesta di 0, allora possono semplicemente annullare l'attacco.

Tuttavia, c'è una possibile scappatoia.

Nessuna funzione hash è 100% priva di collisioni. Quindi cosa succede se la città riceve il messaggio, manomette e quindi cambia di conseguenza il nonce fino a ottenere il risultato desiderato che ha il numero richiesto di 0? Ciò richiede molto tempo, ma è ancora possibile. Per contrastare questo, i generali useranno la forza nei numeri.

Supponiamo, invece di un solo generale a sinistra che invia messaggi a un generale sulla destra, ci sono 3 generali a sinistra che devono inviare un messaggio a quelli a destra. Per fare ciò, possono creare il proprio messaggio e quindi hash il messaggio cumulativo e quindi aggiungere un nonce all'hash risultante e cancellarlo di nuovo. Questa volta, vogliono un messaggio che inizia con sei 0.

Ovviamente, questo richiederà molto tempo, ma questa volta, se il messaggero viene catturato dalla città, la quantità di tempo che impiegheranno per manomettere il messaggio cumulativo e quindi trovare il nonce corrispondente per l'hash sarà infinitamente di più. Potrebbero anche volerci anni. Quindi, ad esempio, se invece di un messaggero, i generali inviano più messaggeri, quando la città è anche a metà del processo di calcolo verranno attaccati e distrutti.

I generali sulla destra hanno abbastanza facile. Tutto ciò che devono fare è aggiungere il messaggio con il nonce corretto che verrà dato loro, cancellarli e vedere se l'hash corrisponde o meno. L'hashing di una stringa è molto facile da fare. Questo, in sostanza, è il processo alla base della prova di lavoro.

Il processo dietro la ricerca del nonce per il target hash appropriato dovrebbe essere estremamente difficile e dispendioso in termini di tempo.

Tuttavia, il processo di verifica del risultato per verificare se non è stata commessa alcuna negligenza dovrebbe essere molto semplice.

Ok, ora sai qual è il principio fondamentale dietro l'estrazione mineraria. Ora diamo un'occhiata a come succede realmente.

I diversi tipi di estrazione mineraria

CPU Mining: Questa è la forma più basilare di mining. L'idea alla base del mining della CPU è semplice. Chiunque, ovunque, può usare il proprio computer per il mio. Anche se questo metodo non è più così applicabile, è un buon punto di ingresso

GPU Mining: Il prossimo abbiamo il mining della GPU. La GPU, o unità di elaborazione grafica, fa parte del sistema di rendering video di un computer. La funzione tipica di una GPU è quella di assistere con il rendering di grafica 3D ed effetti visivi in modo che la CPU non debba. Le GPU offrono un sistema molto più forte per il mining rispetto alla CPU. Alcune monete resistenti ASIC come Monero vengono estratte tramite GPU.Bitcoin/Ethereum originariamente estratte in questo modo, tuttavia questo è diventato sempre più difficile, con l'aumentare della difficoltà. Parleremo di più sulla difficoltà più avanti nella guida.

FPGA Mining: FPGA o Field-Programmable Gate Array Mining è il passo successivo dal mining GPU. Secondo questo articolo di Free Learner, FPGA «è un dispositivo che ha una serie di gate array (ovviamente) che creano tabelle di verità per calcolare gli input da un flusso di dati, e produrre un risultato desiderato. Nell'industria è possibile utilizzarlo per ottimizzare un processo industriale, ad esempio tagliare 2x4 da un registro, fornire l'apprendimento automatico o persino eseguire il sequenziamento del DNA. L'eccellenza di FPGA in qualsiasi attività che può essere eseguita in un processo parallelo, come un hash di mining per creare un output che porta a un hash di successo, e se sei fortunato un blocco di successo.»

ASIC Mining: ASIC sta per Application-Specific Integrated Circuit ed è stato creato per lo scopo specifico di mining Bitcoin e Litecoin. L'idea di avere macchinari appositamente progettati per l'estrazione mineraria era in anticipo, tanto che quando KncMiner ha lanciato i preordini per gli ASIC hanno ricevuto 25 milioni di dollari in ordini nelle prime 5 ore. Bitcoin e Litecoin sono ora estratti esclusivamente tramite ASIC. Bitmain ha recentemente rilasciato ASIC per Ethereum.

Come costruire un impianto minerario Ethereum

Va bene, ora che abbiamo attraversato i diversi tipi di estrazione mineraria, Impostiamo il tuo carro minerario Ethereum!

Prima di continuare un enorme grido a questo articolo di Antonio Madeira per Crypto Compare.

Avrai bisogno dei seguenti pezzi di hardware.

Scheda madre.

GPU.

Disco rigido.

ARIETE.

Unità di alimentazione.

Scheda madre

La scheda madre è la base del carro minerario. La quantità di GPU che è possibile utilizzare è direttamente correlata al numero di slot GPU presenti nella scheda madre. Più GPU è possibile collegare alla scheda madre, più la frequenza di hash, cioè la velocità con cui si sta calcolando gli hash.

Alcuni esempi di buone schede madri minerarie sono:

Esperto minerario Asus B250:

Understanding Ethereum Mining and the Need for Proof of Stake

ASRock H110 Pro BTC+

Understanding Ethereum Mining and the Need for Proof of Stake

GPU

Prima di ottenere GPU è necessario porsi due domande:

Quanto potente vuoi che la tua attrezzatura sia?

Quanto vuoi spendere?

Assicurati di ottenere GPU efficienti.

Ecco un grafico dei livelli di prestazioni delle diverse GPU nel mining di Ethereum come visto da NiceHashMiner:

Understanding Ethereum Mining and the Need for Proof of Stake

Disco rigido

Ora, avrai bisogno di qualcosa per memorizzare il tuo sistema operativo e il software di mining. Per questo, hai bisogno di un disco rigido. Per questo farà un disco rigido standard SSD (unità a stato solido).

Quindi, quanto dovrebbe essere grande il tuo disco rigido? Se stai pianificando di scaricare l'intera blockchain, dovresti avere abbastanza spazio per compensare la crescita futura.

ARIETE

RAM o memoria ad accesso casuale è necessaria per il calcolo rapido e il calcolo delle informazioni. Una RAM da 4 GB dovrebbe essere più che sufficiente.

Alimentatore

La dimensione dell'alimentatore (PSU) dipende dal numero di GPU in uso. Quindi in primo luogo è necessario riassumere il consumo energetico delle GPU e di tutti gli altri componenti per assicurarsi che la capacità dell'alimentatore sia superiore alla somma delle GPU. Quindi, se si utilizzano 2 GPU da 220 Watt e altri componenti stanno consumando 250 Watt, la PSU deve avere più di (2*220 + 250) 690 Watt.

Understanding Ethereum Mining and the Need for Proof of Stake

immagine Credito: HARDWARE di tom

Software per l'estrazione mineraria

In primo luogo, ovviamente, è necessario disporre di un sistema operativo.

È possibile scaricare ETHOS che è un'APP appositamente progettata per Ethereum Mining. Si tratta di una distribuzione Linux a 64 bit che mina Ethereum out-of-the-box, consentendo di controllare tutti i tuoi rig da un'unica posizione e drill-down su specifiche GPU dove necessario. ethOS supporta eth-proxy/stratum immediatamente dopo l'installazione

Puoi effettuare il checkout di ETHOS qui.

Configurazione di MyEtherWallet

Dopo aver impostato tutto, devi creare un Portafoglio Ethereum. Non ha senso estrarre tutte queste monete se non stai adottando misure adeguate. Puoi leggere la nostra guida sui portafogli crittografici proprio qui. My Ethereum Wallet è uno dei migliori portafogli là fuori, anche se ultimamente hanno affrontato alcuni problemi.

Di seguito sono riportati i passaggi necessari per configurare il tuo MyEtherWallet:

Per prima cosa, vai su MyEtherWallet.com.

Understanding Ethereum Mining and the Need for Proof of Stake

Quindi, fai clic sulla scheda Guida.

Understanding Ethereum Mining and the Need for Proof of Stake

Scorri verso il basso e fai clic sull'opzione 5:

Ora apri il link evidenziato qui:

Understanding Ethereum Mining and the Need for Proof of Stake

Dopodiché scarica questo file zip nel tuo computer:

Understanding Ethereum Mining and the Need for Proof of Stake

Ora apri il file zip nel tuo computer e fai clic sul file index.html. Prima di farlo, spegnere Internet in modo da essere offline.

Understanding Ethereum Mining and the Need for Proof of Stake

Ora crea una nuova password e genera il tuo portafoglio, assicurati di inserire una password complessa:

Understanding Ethereum Mining and the Need for Proof of Stake

Ora dovrai scaricare il tuo file keystore che è fondamentalmente il tuo file wallet. Assicurarsi di mantenere un backup di questo file. Dopo aver finito con quel clic su «Capisco. Continua.»

Understanding Ethereum Mining and the Need for Proof of Stake

Ed ecco fatto, il tuo portafoglio è stato generato. Quello che vedete qui è la vostra chiave privata. NON condividerlo con nessuno.

Understanding Ethereum Mining and the Need for Proof of Stake

Ora dovresti stampare il tuo portafoglio cliccando sul pulsante «Stampa». Questo è quello che otterrai. Tieni presente che puoi vedere sia le tue chiavi private che quelle pubbliche qui:

Understanding Ethereum Mining and the Need for Proof of Stake

Ed eccoti qui. Questo è il modo in cui si crea un portafoglio di carta Ethereum.

Ethereum Mining Solo vs Piscine minerarie

Ok, allora hai tutto il sistema e il tuo portafoglio. Ora devi decidere come andrai al mio.

Andrai al mio assolo o alla mia in piscina?

Ovviamente puoi fare il mio solo, ma c'è un motivo per cui nessuno miniera più Ethereum da solo. È estremamente poco pratico e non vedrai alcun risultato.

Questo è il motivo per cui le persone preferiscono le piscine minerarie.

Cosa sono le piscine minerarie?

(NOTA: In questa sezione, parleremo esclusivamente wrt BTC).

L'intera blockchain funziona a causa di una rete di «minatori». I minatori fondamentalmente «miei» per nuovi blocchi nella blockchain risolvendo complessi enigmi crittografici usando il loro potere computazionale. Come risultato di questo, ottengono una ricompensa mineraria che è 12.5 BTC.

Una volta estratto con successo un blocco, ottengono il potere di mettere in transazioni all'interno del blocco. Questo è fondamentalmente come le transazioni avvengono in tutte le criptovalute, un minatore inserisce nel record della transazione all'interno del blocco.

Ora ricorda una cosa, ci sono solo un numero limitato di bitcoin che sono stati creati (21 milioni di monete). Satoshi Nakamoto, il creatore di bitcoin, prevedeva che man mano che sempre più minatori entravano, il tasso di mining bitcoin sarebbe aumentato esponenzialmente, tanto che tutti i bitcoin disponibili potrebbero essere estratti in un paio d'anni!

Ora, questo potrebbe essere un disastro per i bitcoin, perché, come tutte le materie prime economiche, il valore del bitcoin risiede nell'offerta e nella domanda. Se l'offerta di bitcoin aumenta improvvisamente, allora ciò ridurrebbe la domanda, il che, a sua volta, danneggerebbe il suo valore. Il rapporto tra domanda e offerta è uno dei concetti economici più critici, il seguente è l'aspetto del grafico offerta-domanda:

Understanding Ethereum Mining and the Need for Proof of Stake

Per evitare che la fornitura di bitcoin vada fuori mano e per renderlo un modello più sostenibile, Satoshi ha implementato un sistema di regolazione della difficoltà.

Cos'è la regolazione della difficoltà? Man mano che sempre più blocchi vengono estratti, la difficoltà dei puzzle crittografici aumenta esponenzialmente. Fondamentalmente, più bitcoin si estrae, più difficile diventa il processo di estrazione. I minatori scoprirono presto che non possono più estrarre in modo efficiente da soli, il processo stava diventando sempre più costoso. Così, hanno deciso di mettere insieme le loro risorse e formare gruppi e gruppi per estrarre bitcoin in modo più efficiente. Questi gruppi di minatori sono chiamati «pool minerari».

Vantaggi e svantaggi delle piscine minerarie

Vantaggi

I pool sono gestiti da gestori di pool. È molto più facile aggiornare la rete complessiva perché invece di coordinarsi con minatori indipendenti casuali, i responsabili del pool possono semplicemente aggiornare la rete da soli.

Riduce la varianza nelle ricompense minerarie: uno dei principali motivi per cui i minatori si uniscono ai pool è ridurre la varianza nelle loro ricompense minerarie. Per capire cosa significa varianza e come ciò influisce sui minatori, dovremo fare un po 'di matematica. Credito a L.M. Goodman e al suo articolo medio per la spiegazione.

Per prima cosa, capiamo cos'è la distribuzione di Bernoulli. La distribuzione Bernoulli afferma fondamentalmente che per ogni distribuzione discreta che ha due risultati «successo» e «fallimento» se la probabilità di successo è p (dove, 0 p 1), allora la probabilità di fallimento è 1-p.

Ora, applichiamo questo in bitcoin. Se un minatore controlla una frazione «p» della potenza mineraria complessiva e, di conseguenza, ha una probabilità p di estrarre un nuovo blocco dove 0 p 1, quindi, applicando la distribuzione di Bernoulli, ha la probabilità di (1-p) di NON estrarre un nuovo blocco.

Nella distribuzione di Bernoulli: varianza = p* (1-p)

Ora, vediamo quanti blocchi vengono estratti in un anno.

Ogni 10 minuti viene estratto 1 blocco. Il che significa che ogni ora 6 blocchi, ogni giorno 24 * 6 blocchi e ogni anno 365*24*6 blocchi vengono estratti.

Fondamentalmente, per un minatore che ha una probabilità «p» di estrarre un blocco, si prevede di estrarre 365*24*6*p blocchi all'anno. E' il loro ritorno previsto.

Allo stesso modo, la varianza standard complessiva che dovranno affrontare per tutto l'anno è: 365*24*6*p* (1-p).

Ora, definiremo «deviazione standard». La deviazione standard è un termine che definisce da quanto sono i membri di un particolare gruppo distribuito che variano dalla media del gruppo.

Nel contesto della blockchain e di questo esempio, la deviazione standard è da quanto è la ricompensa di questo minatore sta per essere deviata dalla ricompensa prevista.

Deviazione standard = varianza [sqrt]/rendimento previsto.

Ora, come sappiamo:

varianza = 365*24*6*p* (1-p)

rendimento atteso = 365*24*6*p

Quindi, sostituendo questi valori otteniamo:

Deviazione standard = [sqrt] (365*24*6*p* (1-p))/365*24*6*p

Ora facciamo un esempio.

Supponiamo che un minatore possieda lo 0,01% della frequenza hash nella rete. (Significato p=0.0001).

Se si sostituiscono i valori in base all'equazione di deviazione standard, si otterrà una deviazione standard di 0,4364 O 43,6%!!

Una deviazione del 43,6% dalla ricompensa prevista o un minatore che possiede il tasso di hash dello 0,01%.

L'unica soluzione per ridurre questa deviazione e varianza è quella di unire le risorse insieme per aumentare la percentuale complessiva di hash rate, che è esattamente ciò che offrono i pool di mining.

Contro

Molto dipende dall'etica del gestore del pool.

Centralizzazione: ne parleremo più tardi.»

Vantaggi di diventare un minatore

Allora, perché dovresti diventare un minatore?

Avrai Ether! Prima di tutto, la ragione più ovvia. Avrai il tuo etere. Inoltre, nel momento in cui si miniera un blocco, si arriva a riscuotere una commissione di transazione per tutte le transazioni che vanno al suo interno.

Se credi in Ethereum o Cryptocurrency in generale, allora puoi avere una voce nella rete attraverso l'estrazione mineraria.

Infine, mentre Ethereum passa a Prova di palo, costruire un grande deposito di Ethereum ora tramite Proof of Work sarà sicuramente utile.

Cos'è la prova di palo?

Quindi, parlando di Proof of Stake (POS), cosa significa esattamente e perché Ethereum passerà ad esso? Concentriamoci sulla prima parte della domanda per ora.

La prova della puntata renderà virtuale l'intero processo minerario e sostituirà i minatori con i validatori.

Ecco come funzionerà il processo:

I validatori dovranno bloccare alcune delle loro monete come puntata.

Dopodiché, inizieranno a convalidare i blocchi. Significato, quando scoprono un blocco che pensano possa essere aggiunto alla catena, lo convalideranno piazzando una scommessa su di esso.

Se il blocco viene aggiunto, i validatori riceveranno una ricompensa proporzionata alle loro scommesse.

Understanding Ethereum Mining and the Need for Proof of Stake

POS renderà il mining completamente virtuale e ridurrà notevolmente gli sprechi che si realizzeranno attraverso POW.

L'implementazione POS di Ethereum è chiamata protocollo Casper.

Perche' c'era bisogno di Casper? Risulta, c'è un grosso problema quando si tratta di implementazione del POS.

Il più grande ostacolo alla prova del palo

Gli sviluppatori di Ethereum hanno sempre pianificato di passare alla prova della posta, che era sempre il loro piano. Tuttavia, prima di poterlo fare, hanno dovuto affrontare uno dei più grandi difetti della prova di palo (POS).

Considera questo scenario per un momento:

Understanding Ethereum Mining and the Need for Proof of Stake

Supponiamo di avere una situazione come quella sopra. Ci sono una catena blu principale e una catena rossa che sorta di rami dal principale stesso. Cosa c'è per fermare un minatore malevolo dall'estrazione sui blocchi rossi e forzare una forchetta dura?

In un sistema di prova del lavoro (POW), questo rischio può essere mitigato.

Supponiamo minatore malevolo Alice vuole estrarre sulla catena rossa. Anche se dedica tutto il suo potere di hash, non riuscira' a convincere nessun altro minatore a unirsi a lei sulla nuova catena. Tutti gli altri continueranno a estrarre sulla catena blu perché è più redditizio e privo di rischi per il mio sulla catena più lunga.

Ora ricordate, POW è estremamente costoso in termini di risorse.

Non ha senso che un minatore spreci tanta risorsa su un blocco che verrà comunque rifiutato dalla rete. Quindi le spaccature della catena sono evitate in un sistema di prova del lavoro a causa della quantità di denaro che l'attaccante dovrà sprecare.

Tuttavia, le cose sembrano un po 'diverso quando si porta in POS.

Se sei un validatore, allora puoi semplicemente mettere i tuoi soldi sia nella catena rossa che nella catena blu senza alcun timore di ripercussioni. Qualunque cosa accada, vincerai sempre e non avrai nulla da perdere, nonostante quanto possano essere dannose le tue azioni.

Questo è chiamato il problema «Niente in palio», e questo è qualcosa che Ethereum ha dovuto affrontare.

Avevano bisogno di un protocollo che potesse implementare POS e mitigare il problema «Niente in palio».

Ethereum Mining: Inserisci Casper

Casper è il protocollo POS che Ethereum ha scelto di andare con. Mentre c'è stato un intero team impegnato a crearlo, Vlad Zamfir è spesso accreditato come il «volto di Casper».

Understanding Ethereum Mining and the Need for Proof of Stake

Credito immagine: Blocknomi.

In che modo Casper è diverso dagli altri protocolli Proof of Stake?

Casper ha implementato un processo attraverso il quale possono punire tutti gli elementi dannosi. Ecco come funzionerebbe POS sotto Casper:

I validatori puntano una parte dei loro eteri come palo.

Dopodiché, inizieranno a convalidare i blocchi. Significato, quando scoprono un blocco che pensano possa essere aggiunto alla catena, lo convalideranno piazzando una scommessa su di esso.

Se il blocco viene aggiunto, i validatori riceveranno una ricompensa proporzionata alle loro scommesse.

Tuttavia, se un validatore agisce in modo malevolo e cerca di fare un «nulla in gioco», verrà immediatamente rimproverato e tutta la loro puntata verrà abbattuta.

Come puoi vedere, Casper è progettato per funzionare in un sistema affidabile ed essere più Byzantine Fault Tollerant.

Chiunque agisca in modo malizioso/bizantino verrà immediatamente punito facendo tagliare il proprio palo. Questo è dove differisce dalla maggior parte degli altri protocolli POS. Gli elementi maligni hanno qualcosa da perdere, quindi è impossibile che non ci sia nulla in gioco.

Questo non e' l'unico posto in cui Casper punisce i validatori.

Come notano Hudson James e Joris Bontje nelle loro risposte in «StackExchange», Casper progetta incentivi più severi al fine di garantire la sicurezza della rete, tra cui punire i minatori che vanno offline, involontariamente o meno.

Ciò significa che i validatori dovranno fare attenzione al loro tempo di attività del nodo. La disattenzione o la pigrizia porteranno loro a perdere il loro palo. Questa proprietà riduce la censura delle transazioni e la disponibilità complessiva.

Insieme a tutto ciò, la proprietà «slashing» conferisce anche a casper un vantaggio distinto rispetto ai normali protocolli di prova di lavoro.

Riportiamo di nuovo il nostro diagramma a catena:

Understanding Ethereum Mining and the Need for Proof of Stake

In un protocollo di prova del lavoro, non importa se un minatore estratto sulla catena blu o la catena rossa. Sia il minatore onesto che il minatore malevolo avrebbero speso la stessa quantità di risorse.

In Casper, tuttavia, se un validatore onesto miniera sulla catena blu allora riceverebbe una ricompensa proporzionata alla loro scommessa, tuttavia, un minatore malevolo otterrà la sua puntata scartata per scommettere sulla catena rossa.

Ok, quindi va tutto bene, ma in che modo Ethereum farà in modo che i minatori passino da POW a POS?

Hanno intenzione di farlo attraverso una bomba a orologeria di difficoltà.

Qual è la bomba a orologeria di difficoltà?

Cosa c'è per incentivare i minatori a passare da un protocollo di prova di lavoro a un protocollo di prova di palo?

I minatori comprano migliaia di dollari di attrezzature per poterlo estrarre per i blocchi. Nel momento in cui il POS salta a bordo; tutto quel materiale diventa inutile. Immagina di spendere così tanti soldi e di avere piscine super intricate, e tutto ciò che diventa completamente inutile.

Se questo è il caso, allora cosa c'è per impedire ai minatori di rimanere sulla vecchia catena di prove di lavoro e continuare a scavare su di essa? Questo, in sostanza, creerà tre monete Ethereum: Ethereum Classic, Ethereum Proof-of-work e Ethereum Proof-of-stake. Sarà un incubo assoluto.

Non solo diminuirà notevolmente il valore economico e la credibilità di Ethereum, ma diluirà anche il tasso di hash della catena complessiva che può renderla vulnerabile agli attacchi di hacker.

Al fine di assicurarsi che ci sia un adeguato incentivo per i minatori ad aderire alla nuova catena, gli sviluppatori di Ethereum hanno introdotto la bomba a orologeria difficoltà. La bomba a orologeria è stata introdotta il 7 settembre 2015. Per capire come funziona la bomba a orologeria difficoltà, è importante capire quanto sia difficile e lavori minerari.

Qual è la difficoltà e come funziona?

Il concetto di difficoltà è iniziato con bitcoin. Quando il bitcoin è stato introdotto per la prima volta, il mining era estremamente semplice e chiunque poteva farlo usando il proprio PC. Tuttavia, man mano che i bitcoin sono diventati sempre più popolari, il numero di minatori sulla rete è aumentato. Ciò ha sollevato una reale possibilità che i minatori andino fuori controllo e estrapolino tutti i bitcoin rimanenti nello spazio di un anno. Satoshi Nakamoto immaginò questo avvenimento e quindi introdusse il sistema di «difficoltà».

Il sistema di difficoltà funziona così: i minatori spendono il loro potere computazionale per risolvere enigmi crittografici. Il modo in cui lo fanno è che aggiungono casualmente una stringa casuale (chiamata nonce) all'hash del blocco e quindi hash l'intera stringa. Se il numero risultante è inferiore a un determinato numero fisso, allora è considerato successo e il nuovo blocco viene aggiunto alla blockchain. Trovare questo «nonce» è estremamente difficile e casuale e questo è il cuore di tutte le attività minerarie.

Se dovessimo ricapitolare l'intero processo, allora questo è come sarebbe:

Viene preso l'hash del contenuto del nuovo blocco.

Un nonce (stringa casuale) viene aggiunto all'hash.

La nuova stringa viene nuovamente hash.

L'hash finale viene quindi confrontato con il livello di difficoltà e visto se è effettivamente inferiore o meno.

In caso contrario, il nonce viene modificato e il processo si ripete di nuovo.

In caso affermativo, il blocco viene aggiunto alla catena e il libro mastro pubblico viene aggiornato e avvisato dell'aggiunta.

I minatori responsabili di questo dato la ricompensa blocco.

La difficoltà viene regolata ogni blocco 2016o.

Il livello di difficoltà è direttamente proporzionale alla velocità con cui i blocchi vengono estratti. Bitcoin ha un tempo medio di blocco di 10 minuti.

Se il tempo di blocco scende al di sotto di quello, il livello di difficoltà aumenta, se sale, quindi il tempo di difficoltà diminuisce. Questo viene fatto per assicurarsi che il tempo di blocco del bitcoin rimanga ~ 10 minuti.

Questo è fondamentalmente il modo in cui funziona il mining di bitcoin e Ethereum segue lo stesso protocollo, la differenza è che un blocco viene estratto ogni 15 secondi in Ethereum.

Il grafico seguente mostra la crescente difficoltà in Ethereum:

Understanding Ethereum Mining and the Need for Proof of Stake

Allora, cosa farà la bomba a orologeria difficile?

La bomba di difficoltà aumenterà esponenzialmente la difficoltà così tanto che l'estrazione mineraria diventerà impossibile.

Come abbiamo già detto, il livello di difficoltà si regola in base alla velocità con cui vengono estratti i blocchi. L'algoritmo di regolazione della difficoltà di Ethereum si presenta così:

block_diff = parent_diff + parent_diff // 2048 * max (1 — (block_timestamp — parent_timestamp) // 10, -99) + int (2** ((block.number // 100000) — 2))

(Qui «//» è l'operatore di divisione tale che 6//2 = 3 e 9//2 = 4.)

Quindi, capiamo cosa significa fondamentalmente in semplice inglese:

block_timestap = l'ora in cui il blocco è stato estratto.

parent_timestamp = l'ora in cui il blocco padre è il blocco prima che questo fosse estratto.

Se (block_timestamp — parent_timestamp) 10 secondi, alla difficoltà viene aggiunto un fattore «parent_diff // 2048 * 1».

Se (block_timestamp — parent_timestamp) è compreso tra 10-19 secondi, la difficoltà è mantenuta la stessa.

Se (block_timestamp — parent_timestamp) 20 secondi, la difficoltà viene ridotta di «parent_diff // 2048 * -1» ad un massimo di «parent_diff // 2048 * -99».

Questo è il modo in cui l'algoritmo di regolazione della difficoltà ha funzionato nella versione Homestead di Ethereum. L'idea è di mantenere il tempo di blocco ~ 15 secondi.

Quindi, quello che la bomba di difficoltà sta per fare è che aumenterà la difficoltà di una quantità così esponenziale senza regolarla che ci vorrà sempre più tempo per risolvere i puzzle crittografici. Alla fine diventerà quasi impossibile estrarlo sulla catena. Questo fenomeno è chiamato il «Ethereum Ice Age», il tempo tutto lo stile POW minerario diventa impossibile.

Quando ciò accade, i minatori non avranno opzione MA di andare alla nuova catena di Ethereum che ha Proof-Of-Stake su di essa.

Va bene, allora perché è desiderato? Quali sono i problemi che stiamo affrontando con la prova di lavoro che la prova di palo sta cercando di risolvere?

Perché il POS è necessario su POW?

Ci sono diversi vantaggi nell'implementazione della prova di palo. Tutti possono essere elencati in generale tra le seguenti categorie. (Grande grido a Jon Choi e il suo articolo).

Aiuta a raggiungere il decentramento.

Efficienza energetica.

Sicurezza economica.

Scala.

Transizione al POS.

Ethereum Mining: Raggiungere il decentramento

Come abbiamo visto sopra, i protocolli POW non sono più molto amichevoli per il decentramento. Diamo un'occhiata al grafico di distribuzione hashrate per bitcoin:

Understanding Ethereum Mining and the Need for Proof of Stake

Ed ecco la distribuzione hashrate dei pool minerari in Ethereum:

Understanding Ethereum Mining and the Need for Proof of Stake

Immagine Cortesia: Etherchain.org

Come puoi vedere, la maggior parte dell'hashrate è concentrata all'interno di alcuni pool specifici e questo significa che non importa cosa succede, avranno sempre maggiori possibilità di estrarre blocchi e ottenere premi rispetto a chiunque altro.

Poiché possono ottenere più denaro, possono quindi permettersi ASIC migliori e più veloci. Questo significa fondamentalmente, non importa cosa succede, grandi piscine minerarie avranno sempre un vantaggio sugli individui e sulle piscine più piccole. In altre parole, i ricchi diventeranno sempre più ricchi.

La prova di palo lo rende completamente irrilevante rendendo il mining completamente virtuale. Tuttavia, questo non è l'unico modo in cui POS mitiga gli effetti della centralizzazione. Per capire questo, prima dobbiamo sapere cosa significa «Economie di scala». (Grazie ACDCleadership canale youtube per i dati).

Quando si tratta di produzione, ci sono due tipi:

Produzione a corto raggio.

Produzione a lungo termine.

Nella produzione a breve termine, almeno delle risorse di input sono fisse. Considera una pizzeria di piccole dimensioni che ha un solo forno. Non importa se devono produrre 1 pizza da 25, c'è l'unico forno che possono usare per creare quelle pizze.

In una produzione a lungo termine, tutte le risorse sono variabili, ed è qui che entrano in funzione le economie di scala.

Quindi, in una produzione a lungo termine in cui la quantità delle risorse di input è variabile, cosa succede se raddoppi l'input? Ci sono solo tre risultati in questo particolare scenario. Lo chiamiamo «ritorna in scala».

L'uscita più che raddoppia. Significando che c'è un crescente ritorno alla scala.

L'uscita raddoppia. Significando che c'è un ritorno fisso alla scala.

L'uscita non raddoppia. Significando che ci sono ritorni in scala diminuenti.

Di seguito vi mostrerà una rappresentazione grafica delle economie di scala.

Understanding Ethereum Mining and the Need for Proof of Stake

Immagine Cortesia: Wikipedia

Cosa sta succedendo esattamente qui?

Quando la produzione viene aumentata da Q a Q2, il costo complessivo della produzione scende da C a C1. Questo è chiamato Economie di scala.

Dopo di che, si uniforma per un po '. Questo è dove ottieni ritorni costanti in scala.

E poi quando si va oltre questo, il costo aumenta man mano che si aumenta l'output oltre il Q2.

Ciò significa che le grandi aziende possono diminuire il costo medio dei loro prodotti aumentando il numero dei loro prodotti! (Fino a un limite)

In un certo senso... più è meno!

Prendiamo un esempio del mondo reale.

I costi iniziali di un panettiere di piccole dimensioni saranno ovviamente inferiori a quelli di una grande azienda di cottura perché l'azienda dovrà investire in un sacco di macchinari. Tuttavia, nel lungo periodo, il costo medio di ogni pane sarà molto inferiore per l'azienda rispetto al fornaio.

Ok, tutto questo va bene, ma come si applica alle piscine minerarie?

Proprio come le grandi aziende, i pool minerari più grandi possono ridurre il costo delle loro risorse di input di:

Ammortamento di un costo fisso su un'operazione più grande.

Avere potere contrattuale operando come entità più grande.

Ciò che significa fondamentalmente è che un grande pool minerario influente può, dollaro per dollaro, generare più hash-rate rispetto ad altri pool anche se spendono la stessa quantità di denaro.

Questo problema è completamente mitigato nella prova di palo a causa di una semplice ragione. In POS investi una quota. Non puoi semplicemente unire insieme e rendere la tua puntata più preziosa per dollaro. Alla fine della giornata, 1 dollaro = 1 dollaro. Le economie di scala non funzionano qui.

Efficienza energetica

Il problema più grande della prova di lavoro è lo spreco di energia. La parte peggiore è che si tratta di uno spreco di energia per il bene dello spreco energetico. Bitcoin, in particolare, è vorace nel suo appetito di energia. Dai un'occhiata a questo:

Understanding Ethereum Mining and the Need for Proof of Stake

Immagine Cortesia: Digicnomista

Che ne dici di qualche altro numero (cortesia Digicmonist)

Understanding Ethereum Mining and the Need for Proof of Stake

Ci sono due numeri su cui dovresti concentrarti:

I costi annuali di mining globali di bitcoin sono $1,423.794.674.

Bitcoin da solo consuma annualmente 28,48 TWh di energia elettrica. Il paese dell'Ecuador consumava circa 21 TWh!

In realtà, confrontiamo il consumo energetico di bitcoin rispetto ad alcuni paesi:

Understanding Ethereum Mining and the Need for Proof of Stake

Bitcoin consuma più energia di Irlanda, Bahrein e Repubblica Slovacca!

Ok, perfino il campo di gioco.

Cosa succede se confrontiamo Bitcoin con altri sistemi di pagamento? Diciamo... visto.

In che modo il consumo di energia del bitcoin è paragonato a quello del visto?

Understanding Ethereum Mining and the Need for Proof of Stake

Si'... non va bene.

Quindi è ovvio che il bitcoin mangia molto potere e ci sono molti soldi spesi per le risorse. Tuttavia, per quanto riguarda i costi esterni? L'effetto che questa quantità di consumo di energia ha sull'ambiente deve essere immenso.

Mentre non c'è dubbio che bitcoin e POW hanno apportato molti cambiamenti sociali positivi, dovremmo almeno vedere cosa può fare un sistema POS su larga scala e se funziona altrettanto bene senza consumare così tanta energia.

Sicurezza economica

Il più grande vantaggio che POS, e soprattutto Casper, ha è la sua sicurezza economica. Pensate a questo, supponete di essere un validatore e di avere i vostri soldi memorizzati come una quota nella rete. È nel tuo interesse agire nel miglior interesse della rete. Perché dovresti comportarti maliziosamente sapendo che c'è una parte enorme del tuo palo che può essere abbattuta e presa in consegna se lo fai?

Perché attaccare una rete e danneggiare il valore della moneta quando hai così tanta della tua valuta bloccata al suo interno?

Inoltre, questo «effetto di taglio» rimuove la possibilità di un «attacco da campeggio di uova» come Vitalik lo monete:

Understanding Ethereum Mining and the Need for Proof of Stake

Immagine Cortesia: Vitalik Buterin Twitter.

Gli attacchi di spawn possono essere prevenuti in POS dal semplice fatto che un solo attacco porterà al taglio e alla rimozione della puntata investita. E se non hai investito alcuna puntata, non puoi partecipare alla convalida del POS.

Scala

Il modo più ovvio in cui POS aiuterà la scalabilità è abilitare il sharding.

Come dice Vlad Zamfir, il frammento con POW non è impossibile, ma è difficile.

Cos'è il sharding?

Sharding è un termine che è stato preso dai sistemi di database. Vediamo cosa significa sharding rispetto al database. Supponiamo di avere un enorme database ingombrante per il tuo sito web. Avere un database ingombrante non solo rende la ricerca dei dati più lenta, ma ostacola anche la scalabilità. Allora, cosa fai in questo caso?

Cosa succede se fai una partizione orizzontale sui tuoi dati e li trasformi in tabelle più piccole e li memorizzi su server di database diversi?

Understanding Ethereum Mining and the Need for Proof of Stake

Immagine cortesia: Dzone

Così?

Ora, si potrebbe chiedere, perché una partizione orizzontale e non una partizione verticale? Questo è dovuto al modo in cui le tabelle sono progettate:

Consideralo. Supponiamo che questo sia il nostro tavolo principale:

Understanding Ethereum Mining and the Need for Proof of Stake

Ora, se dovessimo partizionare questa tabella verticalmente:

Understanding Ethereum Mining and the Need for Proof of Stake

Vedi cosa succede? Quando partizioni verticalmente una tabella tendono a diventare due tabelle completamente diverse.

Tuttavia, se dovessimo partirli orizzontalmente:

Understanding Ethereum Mining and the Need for Proof of Stake

Capisci? È la stessa tabella/database ma con dati minori. Questi database più piccoli sono noti come frammenti del database più grande. Ogni frammento deve essere identico alla stessa struttura della tabella.

Quindi cosa succederà se implementiamo lo sharding in un protocollo POW?

Sharding renderà l'elaborazione più veloce suddividendo uno stato in frammenti diversi. Tuttavia, se stiamo usando POW, i frammenti più piccoli rischieranno di essere rilevati dai minatori malintenzionati a causa della sua bassa frequenza di hash. In realtà, questo è il motivo più grande per cui le blockchain POW non possono mai implementare il sharding, qualsiasi e tutti i piccoli frammenti possono essere facilmente rilevati.

Questo rischio è completamente mitigato in POS poiché non ha il concetto di mining.

Conclusione mineraria di Ethereum

Come potete vedere, le cose cambieranno immensamente una volta implementata la prova di palo. Tuttavia, chiunque voglia entrare nel gioco minerario POW in Ethereum ha ancora molto tempo per farlo.

Like what you read? Give us one like or share it to your friends and get +16

281
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today

Already have an account? Sign In