Python Blockchain - Introduzione
Nel tutorial su Blockchain, abbiamo appreso in dettaglio la teoria alla base della blockchain. La blockchain è l'elemento costitutivo fondamentale dietro la valuta digitale più popolare al mondo Bitcoin. Il tutorial ha affrontato a fondo le complessità di Bitcoin spiegando completamente l'architettura blockchain. Il prossimo passo è costruire la nostra blockchain.
Satoshi Nakamoto ha creato la prima valuta virtuale al mondo chiamata Bitcoin. Guardando al successo di Bitcoin, molti altri hanno creato le proprie valute virtuali. Per citarne alcuni: Litecoin, Zcash e così via.
Ora, potresti anche voler lanciare la tua valuta. Chiamiamolo TPCoin (TutorialsPoint Coin). Scriverai una blockchain per registrare tutte le transazioni che hanno a che fare con TPCoin. Il TPCoin può essere utilizzato per acquistare pizze, hamburger, insalate, ecc. Potrebbero esserci altri fornitori di servizi che si unirebbero alla tua rete e inizierebbero ad accettare TPCoin come valuta per offrire i loro servizi. Le possibilità sono infinite.
In questo tutorial, cerchiamo di capire come costruire un tale sistema e lanciare la tua valuta digitale sul mercato.
Componenti coinvolti nello sviluppo di progetti Blockchain
L'intero sviluppo del progetto blockchain consiste di tre componenti principali:
- Client
- Miners
- Blockchain
Cliente
Il Cliente è colui che acquisterà beni da altri venditori. Il cliente stesso può diventare un venditore e accetterà denaro da altri contro i beni che fornisce. Partiamo dal presupposto che il cliente possa essere sia un fornitore che un destinatario di TPCoin. Pertanto, creeremo una classe client nel nostro codice che ha la capacità di inviare e ricevere denaro.
Minatore
Il minatore è colui che preleva le transazioni da un pool di transazioni e le assembla in un blocco. Il minatore deve fornire una valida prova di lavoro per ottenere la ricompensa mineraria. Tutto il denaro che il minatore raccoglie come compenso sarà per lui da tenere. Può spendere quei soldi per acquistare beni o servizi da altri fornitori registrati sulla rete, proprio come fa un Cliente sopra descritto.
Blockchain
Infine, una Blockchain è una struttura di dati che concatena tutti i blocchi estratti in ordine cronologico. Questa catena è immutabile e quindi a prova di tempra.
Puoi seguire questo tutorial digitando il codice presentato in ogni passaggio in un nuovo notebook Jupyter. In alternativa, è possibile scaricare l'intero notebook Jupyter da www.anaconda.com .
Nel prossimo capitolo svilupperemo un client che utilizza il nostro sistema blockchain.