1
0
mirror of https://github.com/fazo96/tesina.git synced 2025-01-25 13:54:19 +01:00

Update bitcoin.md

This commit is contained in:
Enrico Fasoli 2015-05-05 09:20:18 +02:00
parent 8477ecf4d8
commit 76814de9e0

View File

@ -21,14 +21,43 @@ Dalle suddette informazioni possiamo dedurre che:
- le transazioni vengono diffuse e validate da ogni nodo. Se considerate valide (ovvero il portafoglio sorgente ha sufficienti bitcoin), vengono aggiunte alla __blockchain__ da tutta la rete.
- la quantità di bitcoin in un portafoglio è calcolabile semplicemente leggendo tutte le transazioni che lo riguardano in ordine cronologico
## Incentivi e disincentivi
Per disincentivare la creazione di __enormi quantità di transazioni in poco tempo__ (che creerebbe numerosi problemi alla rete) le transazioni vanno accompagnate con un __proof of work__, ovvero la soluzione ad un complesso problema matematico, per provare che del tempo è stato speso per generare la transazione.
### La messa in circolo tramite Bitcoin Mining
I bitcoin vengono messi in circolazione tramite __bitcoin mining__, che consiste nel diffondere una __"taglia"__ per la __soluzione di un complesso problema matematico__ in modo che __la rete conceda dei bitcoin come premio a chi lo risolva per primo__. Limitando il numero di problemi matematici e impostando una quantità specifica come premio, viene decisa la quantità di bitcoin totale.
All'origine della rete, essa è __inutilizzabile__ a causa delle sue stesse regole: __se nessuno può trasferire bitcoins senza possederli, come è possibile ottenere dei bitcoin?__
I bitcoin vengono messi in circolazione tramite __bitcoin mining__, che consiste nel effettuare i controlli matematematici per __provare la validità di una transazione__.
Il processo di __controllo della validità di una transazione__ è lento e richiede molta potenza di calcolo, di coseguenza __per incentivarlo, la rete premia i "lavoratori" inserendo dei bitcoin nel loro portafoglio__.
Nel tempo, i Bitcoin hanno acquistato __un valore anche di centinaia di dollari per un singolo Bitcoin__ quindi il __bitcoin mining__ può essere un'attività estremamente __lucrativa__.
### Proof of Work
Un proof of work consiste semplicemente nel trovare un __valore__ il cui __hash SHA-256__, quando rappresentato tramite notazione esadecimale, inizia con una certa quantità di __zeri__.
Esempi:
| Valore | Hash (Troncato)|
| -- | -- |
| test | 9f86d081884c7d65... |
| valore_di_esempio | a9a23159b7c4555b... |
| stringa_hash | 4b4c1b2efca629b62... |
Essendo l'__hashing__ una procedura __non prevedibile__, l'unico modo per trovare un hash che soddisfi i requisiti è __procedere casualmente__.
Dunque il tempo richiesto per calcolare __miliardi di hash__ fino a trovare un valore che soddisfi i __requisiti__ è immenso, rendendo il __proof-of-work__ una procedura inventata per essere lenta, in modo da __provare__ che numerosi minuti sono stati usati.
### Bitcoin mining come reddito principale
## Anonimato
Secondo le regole suddette, __tutti possono sapere quanti soldi ci sono in ogni portafoglio e l'intero elenco di tutte le transazioni della storia__, però __i portafogli sono identificabili esclusivamente tramite la loro chiave pubblica, non conservano informazioni sul proprietario__.
I Bitcoin sono infatti molto usati per __pagare servizi o merci illegali__, ma vengono anche accettati da alcuni legittimi negozi o come donazioni.