12
Blockchain ed il Mining di Ethereum ETHEREUM Ethereum - The New Beginning

Ethereum italia mining.ppt

Embed Size (px)

Citation preview

Page 1: Ethereum italia   mining.ppt

Blockchain ed il Mining di Ethereum

ETHEREUM

Ethereum - The New Beginning

Page 2: Ethereum italia   mining.ppt

...Blockchain

La blockchain è un registro pubblico ed è la tecnologia sottostante una criptomoneta (valuta virtuale);

La blockchain è stata implementata per la prima volta con il Bitcoin.

Essa è costituita da blocchi che vengono “aggiunti” (in ordine cronologico ) ogni qual volta uno o più miner giunge(ono) alla risoluzione di un calcolo computazionale prestabilito “funzione di hash”.

La blockchain è “conservata” e distribuita informaticamente presso ogni nodo della rete che la “compone”.

I portafogli di criptomoneta si collegano a questi nodi per effettuare delle operazioni che vengono contestualmente segnate sul libro mastro “ledger” della blockchain

Page 3: Ethereum italia   mining.ppt

Cos’è il Mining ?Il Mining è un’attività computazionale volta ad eseguire calcoli

complessi (hashing) al fine di garantire la sicurezza di una rete

Blockchain.

MINING

Page 4: Ethereum italia   mining.ppt

MINING

Blockchain e Rewards

● I fruitori di una determinata blockchain sono “protetti” da frodi (quali ad es. il double spending) per mezzo dalla potenza computazionale garantita dall’attività dei miners;

● I miners sono privati (spesso società specializzate) che mettono a disposizione hardware specializzato (CPU, GPU, FPGA, ASIC)

● I miners garantiscono la sicurezza della rete. Il loro “lavoro” è “premiati” attraverso un reward corrisposto ogni qual volta viene risolto un blocco per mezzo della risoluzione di un algoritmo predeterminato.

Page 5: Ethereum italia   mining.ppt

L’ Algoritmo di Mining di Ethereum

Problema: Se da una parte gli algoritmi di mining delle criptomonete hanno assicurato un ottimo grado di sicurezza delle rispettive blockchain, dall’altro questi sono stato il loro “point of failure”. Pensiamo ai sistemi Pow ed in partciolare al Bitcoin...

Con riferimento al Bitcoin è noto come dalla progettazione ed assemblaggio di appositi circuiti integrati (Asic) sia derivata un’eccessiva concentrazione di ricchezza nelle “mani” delle industrie specializzate in questo settore. Infatti molto spesso è avvenuto che mining “farm”, costruite per mezzi di chip Asic proprietari, abbiano centralizzato una grande quantità di potenza di calcolo per ottenere ingenti quantità di Bitcoin.

Page 6: Ethereum italia   mining.ppt

Ethash, precedentemente conosciuto come Dagger-Hashimoto è un nuovo algoritmo scritto appositamente per Ethereum. Al contrario degli attuali algoritmi di mining esso è stato pensato per essere resistente agli Asic, ma “GPU friendly”. Il suo fine è quello di prevenire eccessive concentrazioni di ricchezza “nelle mani” dei produttori di chip.

Gli sviluppatori di Ethereum hanno specificato che nel corso della prima fase del rilascio di Ethereum detta “Frontier” l’algoritmo utilizzato sarà del tipo Pow…

Ethash !

Possibile soluzione...

Page 7: Ethereum italia   mining.ppt

Blockchain e Mining

La blockchain di Ethereum è in molti modi simile a quella del Bitcoin, seppur con qualche differenza. La differenza princiale tra Ethereum e Bitcoin con riguardo all'architettura della blockchain, è che, contrariamente al Bitcoin, i blocchi di Ethereum contengono una copia sia dell'elenco delle transazioni sia lo stato più recente. A parte questo, gli altri due valori, il numero di blocco e la difficoltà, vengono memorizzati nel blocco. L'algoritmo di validazione del blocco alla base in Ethereum funziona in questo modo:

1) Controlla se il se il precedente blocco di riferimento esiste ed è valido.2) Controlla se la marca temporale del blocco è più grande di quella del blocco di

riferimento precedente ed inferiore di 15 minuti nel futuro.3) Controlla che il numero del blocco, difficoltà, l'origine della transazione, la

transazione derivata ed il limite del gas ( vari e specifici concetti di basso-livello di Ethereum) sono validi.

4) Controlla se il proof of work sul blocco sia valido.5) Sia S[0] lo stato alla fine del blocco precedente.6) SiaTX la lista delle transazioni del blocco, con n transazioni. Per tutti in 0...n-1,

set S[i+1] = APPLY(S[i],TX[i]). Se qualsiasi applicazioni dà errore, o se il gas totale è consumato nel blocco fino a che questo punto eccede il GASLIMIT, anche questo, dà errore.

7) Sia S_FINAL S[n], ma aggiungendo la ricompensa per il blocco pagata al miner.8) Controlla che lo stato originario del Merkle tree S_FINAL sia uguale allo stato finale

originario fornito nell'intestazione del blocco. In tal caso, il blocco è valido; in caso contrario, quest'ultimo non è valido.

Page 8: Ethereum italia   mining.ppt

TESTNET E MINING

https://stats.ethdev.com/ : è possibile osservare visionare molte info sul mining e sulla blockchain di Ethereum

Page 9: Ethereum italia   mining.ppt

… segue

Il Dev Team di Ethereum ha, in via precauzionale, deciso di “stressare”(per mezzo di una Testnet e mediante la collaborazione della community), l’intera infrastruttura di Ethereum.

Gli utenti che hanno “minato” sulla Testnet, cercando e trovando dei blocchi, per mezzo dei loro hardware (sia Cpu che Gpu), hanno ottenuto in cambio 0.5 Eth per ogni blocco trovato (distribuiti al monmento della Genesis Block).

Con riferimento all’immagine della precedente slide è interessante analizzare come il totale della “hashing power” convogliato, per mezzo dell’ elaborazione dell’ algoritmo Ethash, sulla blockchain di Ethereum sia stato molto rilevante 1.2 Gh/s.

Mai prima d’ora, una Testnet era stata “bersagliata” in tal modo ed in così poco tempo

Page 10: Ethereum italia   mining.ppt

GENESIS BLOCK (FRONTIER)

Il momento del Genesis Block è davvero vicinissimo. Gli sviluppatori di Ethereum hanno deciso che entro 48 ore dall’ottimizzazione (raggiungimento del 100% su Github) del Client scritto in linguaggio Go (implementazione principale è più aggiornata del wallet) sarà rilasciato il Genesis Block e contesualmente la prima versione di Ethereum: Frontier

Status dello Sviluppo del Client (Frontier ) di Ethereum scritto in linguaggio Go https://github.com/ethereum/go-ethereum/milestones:

Page 11: Ethereum italia   mining.ppt

CLIENTS (WALLETS)

Ethereum sarà accessibile per mezzo di Wallets compatibili con:

● Linux● Windows● Mac

https://github.com/ethereum/go-ethereum

Al momento del rilascio del Genesis Block basterà lanciare un eseguibile per accedere alla blockchain e minare. Ethereum Italia rilascierà a tal proposito un How to

Page 12: Ethereum italia   mining.ppt

ETHEREUM ITALIA

Sito principale: https://www.ethereum.orgItalia

http://www.ethereum-italia.it/@ethereumita

http://www.meetup.com/Italian-Ethereum-Meetup

presented by Leonardo Maria Pedretti @LeonPedretti e Massimiliano Terzi @terzim