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
Algoritmo Bitcoin
Moderatori:
PietroBaima,
Ianero
12 messaggi
• Pagina 1 di 2 • 1, 2
5
voti
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
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
Marco
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
3
voti
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".

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.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
0
voti
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!
Grazie!
0
voti
@
aldofad
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.
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.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
1
voti
"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.
Quel che ci dà la vera forza per affrontare con piacere la vita è il sentirsi utile agli altri. z.m.
-

m_dalpra
37,5k 6 10 12 - -EY Legend-

- Messaggi: 1155
- Iscritto il: 30 ago 2004, 11:04
- Località: Mestre (Venezia)
0
voti
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
0
voti
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.

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.

Più so e più mi accorgo di non sapere.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
Qualsiasi cosa abbia scritto, tieni presente che sono ancora al mio primo rocchetto di stagno.
12 messaggi
• Pagina 1 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 6 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


