In questa repository sono presenti gli script di supporto alla tesi triennale in informatica @ UniPi "Modellazione a grafo dei dati Blockchain: rappresentazione e analisi della rete Bitcoin nel graph database Neo4j".
Questi script hanno consentito di:
-
Dividere il dataset originale di transazioni Bitcoin in chunk contenti blocchi corrispondenti a 6 mesi di scambi di valore
-
Automatizzare l'importazione e l'analisi dei chunk di dati della blockchain Bitcoin in Neo4j, registrando per ogni chunk importato:
- statistiche su tempi impiegati, nodi, relazioni e proprietà introdotte/eliminate/aggiornate
- l'evoluzione della dimensione del database sul disco
- i tempi di esecuzione delle query di analisi considerando
$n$ indirizzi scelti casualmente nel database costruito fino all'ultimo chunk importato
Le cartelle presenti in questa repository che consentono di eseguire i task sopra descritti sono:
-
generateDataset
, contenente:generateDataIndexes.sh
: script per individuare le righe del dataset originale da considerare per ogni singolo chunk della blockchainindexAnalyzer.sh
: script per analizzare i risultati ottenuti dallo script precedente e dividere il dataset originale in chunk- vedere il file README.md per ulteriori dettagli
-
automateImportAndAnalysis
: contiene 3 sotto-cartelle:addrtrxgraph
che contiene lo scriptprocessing_addrtrx.sh
per automatizzare la creazione e analisi dell'Address-transaction graph in Neo4j- NB: la scelta degli indirizzi casuali viene fatta in questa rappresentazione della blockchain come grafo, gli indirizzi scelti sono indirizzi coinvolti come input in almeno una transazione. Questi indirizzi sono poi utilizzati per le analisi di tutte le rappresentazioni della blockchain come grafo
paymentgraph
che contiene lo scriptprocessing_payment.sh
per automatizzare la creazione e analisi del Payment graph in Neo4jaddrvalaggr
che contiene lo scriptprocessing_addrvalaggr.sh
per automatizzare la creazione e analisi dell'Address graph con valori aggregati in Neo4j- vedere il file README.md per ulteriori dettagli