Anwendungsfälle für Blockchain Analytics
Bevor ich auf die Datenanalyse von Blockchain-Daten eingehe, möchte ich zunächst einige Anwendungsfälle für Analytics vorstellen, bei denen die Blockchain Technologie eine gewisse Rolle spielt.
Computer-Forensik und Verbrechensbekämpfung
Da die Blockchain noch eine eher neue Technologie ist, werden Regulierungen und gesetzliche Vorgeben erst langsam entwickelt. Insbesondere Cryptowährungen werden gerne für kriminelle Aktivitäten eingesetzt da hier die Blockchain-Technologie verschiedene Vorteile bietet: Durch die Anonymität werden Cryptowährungen für illegale Geschäfte verwendet und auch zur Geldwäsche. Die Analyse von Blockchain Daten kann dabei helfen, Zahlungsströme nachzuvollziehen und verbrechen zu bekämpfen.
Handel von Cryptowährungenund Preis-Vorhersage
Mit den Cryptowährungen ist ein komplett neuer Finanzmarkt entstanden. Zugegebenermaßen deutlich kleiner als beispielsweise Devisen- oder Rohstoffmärkte jedoch ist die große Volatilität von Cryptowährungen insbesondere bei Tradern beliebt. Für die Datenanalyse können die Blockchain-Daten selbst mit zusätzlichen Informationen verbunden werden um Modelle zu entwickeln, die es erlauben, Preise von Cryptowährungen vorherzusagen. Hierbei können insbesondere auch statistische Modelle und künstliche Intelligenz eingesetzt werden.
Daten-Quellen für Blockchain Analytics
Je nach Anwendung werden Daten für die Analyse benötigt. Hierbei können verschiedenene Datenquellen eingesetzt werden: Beispielsweise können Transaktionen direkt von der Blockchain mit Hilfe geeigneter Software geladen werden. Zunehmend gibt es auch Software-Lösungen die relevanten Daten in Dashboards anzeigen oder als Service zum Download anbieten.
Download von Blockchain Daten
Es gibt verschiedene Anbieter und Webseiten wo Blockchain Daten heruntergeladen werden können. Ein Beispiel ist dieser Beitrag im bitcointalk Forum wo Sie Bitcoin Transaktionen herunterladen können. Das Datenformat unterscheidet sich je nach Quelle.
APIs für Blockchain Daten
Insbesondere für Live-Anwendungen können APIs verwendet werden. Ein Beispiel für Ethereum ist etherscan API wo Details der Ethereum Blockchain abgefragt werden können: Beispielsweise können Account Stände, Transaktionen und weitere Events abgefragt werden. Die API verwendet REST via HTTP Protokoll. Auch eine API für websockets ist verfügbar um Informationen in Realtime auszutauschen. Eine weitere Datenquelle für Ethereum ist Ethplorer.
Interaktion mit der Blockchain
In manchen Situationen möchten Sie vermutlich nicht von Drittanbietern als Datenquelle abhängig sein. In diesem Fall können Sie eventuell auch direkt mit den Knoten des Blockchain-Netzwerkes kommunizieren.
Für Ethereum gibt es eine JavaScript API namens web3. Diese erlaubt es Transaktionen von der Ethereum Blockchain abzufragen und kann in einer entsprechenden Analyse-Software verwendet werden.
Modellierung von Blockchain Daten
Die geeignete Datenmodellierung richtet sich wiederum sehr stark nach Ihrer Anwendung und auch danach, mit welchen Technologien und Prinzipien der Datenmodellierung Sie bereits vertraut sind. Grundsätzlich gibt es zwei Ansätze, die hauptsächlich verwendet werden:
Der erste Ansatz ist es, eine relationale Datenstruktur zu wählen, bei denen verschiedene Typen gegeben sind wie z.B. Knoten, Blöcke der Blockchain, Adressen und Transaktionen. Als erster einfacher Einstieg könnte z.B. eine SQL Datenbank verwendet werden, die einfach zu handhaben ist.
Der alternative Ansatz wäre eine Graph-Struktur zu wählen bei der z.B. die Adressen durch Knoten dargestellt und die Transaktionen durch Verknüpfungen der Knoten modelliert werden können. Eine Technik die hier eingesetzt werden könnte, wäre z.B. Neo4j, eine open source Graph-Datenbank.
Daten-Pipeline für Blockchain Analyse Projekt
Bestenfalls setzen Sie eine automatisierte Pipeline auf, welche die gewünschte Analyse der Blockchain Daten für Sie ausführt. Die Pipeline sollte alle notwendige Schritte umfassen, vom Einlesen der Daten von der Quelle über Transformationen und die Analyse bis zur Darstellung der Ergebnisse in einem Dashboard bzw. in einem Bericht.
Spezielle Software und Programme für Blockchain Analytics
Aufgrund der Tatsache, dass die Blockchain noch eine relativ neue Technologie ist, befindet sich auch speziell dafür ausgerichtete Analyse-Software noch ganz am Anfang. Dennoch kann Standard-Software wie z.B. Excel oder Python verwendet werden, um gewisse Analysen für Blockchain Projekte durchzuführen.