Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Algoritmo Bitcoin

Analisi, geometria, algebra, topologia...

Moderatori: Foto UtentePietroBaima, Foto UtenteIanero

0
voti

[1] Algoritmo Bitcoin

Messaggioda Foto Utentealdofad » 24 feb 2017, 14:51

Ciao a tutti,
ho visto che si è già parlato di bitcoin nel forum da un punto vista qualitativo-utente.
Mi permetto ora di chiedere nella sezione matematica se gentilmente qualcuno ha voglia di chiarire il funzionamento del sistema bitcoin da un punto di vista prettamente matematico e informatico.
Sto cominciando a documentarmi su questo argomento e non riesco a fare il punto. Ad esempio, ho capito che un "miner" si occupa di generare un codice hash per un blocco di transazioni vuote che saranno usate successivamente dalla rete. Per tale compito dispendioso il miner ottiene una piccola ricompensa in bitcoin.
Fino a qui ci sono?
Abbiate pazienza, grazie e un saluto a tutto il forum
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

0
voti

[2] Re: Algoritmo Bitcoin

Messaggioda Foto Utenterugweri » 24 feb 2017, 15:24

Dovresti parlarne con Foto Utentem_dalpra, che mi pare stia scrivendo degli articoli in merito.
Avatar utente
Foto Utenterugweri
5.948 2 8 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 1366
Iscritto il: 25 nov 2016, 18:46

5
voti

[3] Re: Algoritmo Bitcoin

Messaggioda Foto Utentem_dalpra » 5 mar 2017, 17:03

aldofad ha scritto:Ciao a tutti,
ho visto che si è già parlato di bitcoin nel forum da un punto vista qualitativo-utente.
...
Sto cominciando a documentarmi su questo argomento e non riesco a fare il punto. Ad esempio, ho capito che un "miner" si occupa di generare un codice hash per un blocco di transazioni vuote che saranno usate successivamente dalla rete. Per tale compito dispendioso il miner ottiene una piccola ricompensa in bitcoin.


Carissimo Foto Utentealdofad,
sono settimane che volevo scrivere un articolo a tal proposito, quindi colgo l'occasione di questa tua domanda per dare una prima spiegazione.

Il minatore è colui che si occupa di convalidare le transazioni.
A tutti gli effetti è come un "impiegato" della banca che controlla che i bonifici siano corretti.
Secondo me il nome è sbagliato o comunque furviante, dovevano chiamarlo "VALIDATORE", ma pazienza.

Vediamo le due cose fondamentali che deve fare il minatore (ad esempio prendiamo bitcoin) :
1. PROCEDURA DI VALIDAZIONE
Deve prendere un tot di transizioni (cioè pagamenti, bonifici) in attesa di conferma, posizionate nella MEMPOOL (https://blockchain.info/charts/mempool-count).
Un tot significa : fino a riempire uno spazio di circa 1 MB.
A questo punto deve controllare che le transizioni siano congruenti con i blocchi precedenti della blockchain (cioè che qualche furbo non si sia inventato di generare "soldi" dal nulla, o fare un double-spending con la stessa cifra).

2. LOTTERIA
Poi, deve generare l'Hash del nuovo blocco (il contenitore delle ultime di transazioni).
Questo Hash deve rispondere alle caratteristiche richieste dal sistema (di solito deve iniziare con 5 Zeri).
Ad esempio il bitcoin Block #455867 ha questo Hash
0000000000000000001f827d050caeac5b815328849dd25dfd8d2fefc4de61e1

Se il minatore riesce in questo difficile compito, il blocco è confermato ed entra a far parte della Blockchain.
E gli utenti si vedono passare la propria operazione da PENDING a CONFERMATA.
E il minatore si prende 12,5 Bitcoin, generati a nuovo dal sistema.
....buona parte dei quali vanno per pagare la sua bolletta elettrica !!!

Se invece il calcolo è sbagliato deve riprovare inserendo nel Header del blocco un campo fittizzio (nonce) con dei numeri sparati a caso finché non riesce ad azzeccare la "lotteria", cioé l'hash corretto.
Sempre che un altro minatore, in qualche altra parte del mondo, non sia più veloce di lui.

A questo punto si cancella tutto e si ricomincia dal punto 1.

Ultime 2 cose :
a) Di solito ci vogliono circa 10 minuti affinché un minatore bitcoin riesca a calcolare l'Hash corretto.
Mentre per Ethereum bastano 15 secondi.
b) I minatori non devono scrivere software : usano quelli Open-Source creati dagli sviluppatori della moneta.

Per vedre il contenuto dei blocchi si può usare il block-explorer della relativa moneta elettronica.
Ad esempio https://blockchain.info/ , oppure https://etherscan.io/
ecc...

Per vedere come funziona l'algoritmo di Hash SHA256 di bitcoin, puoi vedere qui su Wikipedia
https://it.wikipedia.org/wiki/Secure_Hash_Algorithm

Spero di averti aiutato.
Ringrazio Foto Utenterugweri per avermi gentilmente segnalato la questione.
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

3
voti

[4] Re: Algoritmo Bitcoin

Messaggioda Foto Utentem_dalpra » 6 mar 2017, 1:09

Non so esattamente come sia nato il nome di minatore.
in realtà il minatore non gestisce una mole immensa di dati, anzi.
Ogni blocco è solamente 1 MB
e ci stanno dentro circa 2000 pagamenti (le transazioni).
Transazioni che lui deve solo controllare che siano "coperte" dai blocchi precedenti.
Non serve farci nessuna ricerca.
Il lavoro del minatore è quello di calcolare Hash, per cercare di azzeccare quello giusto.

Molti sostengono (e io sono d'accordo) che l'inventore di Bitcoin volesse creare qualcosa del tutto simile all'oro.
Questo perché nell'algoritmo è scritto che "un tot" di bitcoin vengono creati ogni 10 minuti, ma fino al raggiungimento di 21 milioni.

Io, del tutto sinceramente, penso che l'inventore di Bitcoin fosse anche un "buontempone"
Bè, dovete sapere che tutto l'oro del mondo sta in un cubo di 21 metri.
E' una strana coincidenza.
Comunque, l'associazione 21m cubo d'oro <> 21 Milioni di bitcoin è una mia supposizione.

In ogni caso, il minatore se è bravo a fare i conti...si trova la sua "pepita-bitcoin".
;-)
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[5] Re: Algoritmo Bitcoin

Messaggioda Foto Utentealdofad » 9 mar 2017, 18:11

Grazie per le competenti spiegazioni. Avresti la pazienza di spiegarmi anche come avvengono le biforcazioni del blockchain? E' evidente che questo problema/incubo e' dovuto proprio all'assenza di un coordinamento centrale, ossia e' un inevitabile compromesso della stessa architettura peer-to-peer

Grazie!
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

0
voti

[6] Re: Algoritmo Bitcoin

Messaggioda Foto Utentem_dalpra » 12 mar 2017, 12:43

@ Foto Utentealdofad
la parola "biforcazioni" riguarda due diverse problematiche : provo ad esporle entrambe.

Ma l'argomento è molto interessante,
quindi
lo butto giù in un post dentro il blog.
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[7] Re: Algoritmo Bitcoin

Messaggioda Foto Utentealdofad » 13 mar 2017, 0:08

Sei davvero in gamba, complimenti. Mi e' venuta voglia di capirne di piu' e di cercare di fare un esempio semplificato di una blockchain con java
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

1
voti

[8] Re: Algoritmo Bitcoin

Messaggioda Foto Utentem_dalpra » 13 mar 2017, 0:29

Foto Utentealdofad Sono un semplice appassionato.
"Davvero in gamba" mi pare eccessivo....
;-)

Comunque qui trovi la riposta
http://www.electroyou.it/m_dalpra/wiki/ ... blockchain

PS : scrivere il programma mi pare cosa molto lunga. Dovresti scrivere il programma degli utenti (il wallet), poi quello dei nodi e quello dei minatori.
Se lo fai per passatempo, direi che un paio d'anni non ti bastano !!!
Te ne serve solo uno per capire come funziona la crittografia ellittica dei wallet.
Meglio dedicare tempo e risorse per studiare un progetto open-source già funzionante, come ad esempio Hyperledger (Fabric, ecc), ma di sicuro ce ne saranno anche altri.
Marco

Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Avatar utente
Foto Utentem_dalpra
37,5k 6 10 12
-EY Legend-
-EY Legend-
 
Messaggi: 1155
Iscritto il: 30 ago 2004, 11:04
Località: Mestre (Venezia)

0
voti

[9] Re: Algoritmo Bitcoin

Messaggioda Foto Utentealdofad » 13 mar 2017, 3:25

m_dalpra ha scritto:PS : scrivere il programma mi pare cosa molto lunga. Dovresti scrivere il programma degli utenti (il wallet), poi quello dei nodi e quello dei minatori.
[b]Se lo fai per passatempo, direi che un paio d'anni non ti bastano !!!

No no, figurati, intendo un programmino Pippo e Pluto tanto per avere chiaro il principio, tipo questo ad esempio http://www.programcreek.com/java-api-examples/index.php?source_dir=Curecoin-master/Blockchain.java
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

0
voti

[10] Re: Algoritmo Bitcoin

Messaggioda Foto UtenteSjuanez » 13 mar 2017, 8:40

vado a memoria, perché mi sono interessato ai bitcoin qualche tempo fa.

Il termine minatore è nato per allegoria. Proprio come un minatore o prospettore, il "coniatore" o "cercatore" di bitcoin ne troverà molti con facilità solo in un primo periodo. L'algoritmo è poi chiaramente fatto per rendere sempre più difficile (e costosa) la ricerca.

Per me la cosa evidente è che agli albori te ne facevi qualcuno in casa, mi pare ci riuscissero addirittura con dei raspberry lasciati la notte a "minare".

Poi furono necessarie le potenzialità di calcolo delle più importanti schede video.

Si giunse allo sviluppo di hardware dedicato, i famosi ASIC che voi conoscete molto meglio di me.

Ora è già da un poco che, perfino le più importanti mining farm (cercatele su youtube e rimarrete impressionati! giuro!) sono in difficoltà. Infatti invece di minare gli conviene gestire le transazioni e vivere di commissioni.

O_/ O_/ O_/
Più so e più mi accorgo di non sapere.

Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Avatar utente
Foto UtenteSjuanez
11,3k 6 8 13
G.Master EY
G.Master EY
 
Messaggi: 3479
Iscritto il: 18 mar 2015, 13:48

Prossimo

Torna a Matematica generale

Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti