1
0
mirror of https://github.com/fazo96/tesina.git synced 2025-01-10 11:34:20 +01:00
tesina/bitcoin.md
2015-05-05 09:28:27 +02:00

5.1 KiB

Bitcoin

Bitcoin logo

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.

Concetti

Il protocollo Bitcoin consiste in una rete decentralizzata (da ora in poi detta semplicemente "la rete") di nodi che processano le richieste di trasferimento di denaro e da una blockchain ovvero una lista di tutte le transazioni eseguite a partire dall'origine della moneta.

  • Un portafoglio è usato come contenitore di denaro (Bitcoins) identificato dalla sua chiave pubblica, ma in realtà è semplicemente una coppia di chiavi crittografiche usate per associare la quantità di denaro posseduta al proprietario.
    • E' possibile creare liberamente uno o più portafogli.
  • Una transazione è un trasferimento di denaro: tutte le transazioni vanno validate dalla rete e sono poi aggiunte, se valide, alla blockchain.
    • la rete considera valida una transazione solo se il portafoglio sorgente possiede sufficienti bitcoin per poterli trasferire al portafoglio destinatario.
  • un nodo della rete Bitcoin consiste semplicemente in un computer in grado di comunicare con altri membri della rete.
    • i nodi eseguono il software di una delle implementazioni del protocollo Bitcoin
    • i nodi collaborano e si fidano delle informazioni ricevute dagli altri nodi solo se possono verificarne la validità indipendentemente. In alternativa, vengono considerate valide le informazioni solo se gran parte della rete le considera valide

Dalle suddette informazioni possiamo dedurre che:

  • non esiste alcun tipo di centralizzazione o server se non un tracker usato dai nodi per scoprire gli indirizzi IP degli altri nodi
  • un portafoglio vuoto è irrilevante per la rete, ma entra a far parte della blockchain se riceve dei bitcoin.
  • ovviamente, per generare una transazione da un portafoglio, essa va comunicata alla rete e firmata digitalmente con la chiave privata associata al portafoglio.
  • 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

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

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.

Limitazioni, problemi e vulnerabilità

L'esplosione di popolarità e la nascita dei cloni

La caduta di Mt. Gox

Il mistero delle origini dei Bitcoin