diff --git a/bitcoin.md b/bitcoin.md index dc1f424..941c6c2 100644 --- a/bitcoin.md +++ b/bitcoin.md @@ -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.