# Bitcoin ![Bitcoin logo](http://media.tumblr.com/tumblr_lmupioyU7M1qznjpp.png) Bitcoin è una valuta digitale (la prima nella storia ad avere un reale valore) e un protocollo per lo scambio della stessa via rete. Esistono numerose implementazioni, varianti ed evoluzioni del protocollo Bitcoin, anche usate per motivi diversi dallo scambio di denaro. ## 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 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 | SHA-256 (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