Förderjahr 2017 / Project Call #12 / ProjektID: 2200 / Projekt: BlockNinjas
Das Projekt blockninjas.io macht erheblich Fortschritte. Nachdem wir lange nichts von uns gegeben haben, da wir mit dem Projekt viel zutun hatte und einige Termine hinter uns gebracht haben, möchten wir hier einen Einblick geben und ein bisschen von der Datenverarbeitung der Bitcoin Blockchain Daten erzählen. Zu Beginn ein paar News aus den eigenen Reihen: Wie bereits angekündigt, ist die in Arbeit befindliche Doktoratsarbeit des Projekts für den Sallinger Award nominiert. Außerdem haben wir einige Gespräche mit Institutionen hinter uns, die das Projekt ebenfalls vorwärts bringen wollen. Geplant ist eine netidee Anschlussförderung und ein Grant zu AWS Credits, damit unsere Infrastruktur, die momentan einiges an Geld einnimmt, auch weiterhin bestehen kann. Nun zu Data Statistics. Die Blockchain von Bitcoin gesamt gesehen, hat im Moment ca. 160 GB. Wie wir schon in einem anderen Artikel zu den Datenstrukturen dahinter erwähnt haben, werden Daten wie ein Transaktionshash bzw. die Bitcoin Adresse, aus den Blockchaindaten berechnet und sind NICHT teil der Blockchain selbst. Dementsprechend vergrößert sich der Speicherbedarf. Wir halten im Moment eine Datenbank die sich wie folgt auseinander setzt:
Datentyp: Addresses
Größe: 50 GB
Datensätze: ~ 400.000.000
Datentyp: Transactions
Größe: 30 GB
Datensätze: ~ 290.000.000
Datentyp: Inputs
Größe: 170 GB
Datensätze: ~ 656.00.000
Datentyp: Outputs
Größe: 75 GB
Datensätze: ~ 775.000.000
Datentyp: Blocks
Größe: 90 MB (!)
Datensätze: ~ 520.000
Hier ergeben sich interessante Einblicke in die Bitcoin Blockchain. Zum Ersten sind seit dem Beginn von Bitcoin rund 290 Mio Transaktionen durchgeführt worden. Des Weiteren gibt es rund 400 Mio Bitcoin Adressen mit Stand April 2018. Interessant ist auch die Differenz von rund 100.000.000 zwischen Inputs und Outputs. Eine Interpretation dieser Werte ist, dass man hier deutlich die “Verbreitung” von Bitcoin sieht, die immer größer wird, die Beträge dabei aber kleiner werden, denn es gibt max. 21 Mio Bitcoin, wobei aktuelle knapp 17 Mio Bitcoin im Umlauf sind. Bitcoin “verteilt” sich somit auf immer mehr Menschen. Zuletzt sei noch erwähnt, dass wir aktuell rund 520.000 Blöcke in unserer Datenbank gespeichert haben, was mit den Daten von https://blockchain.info/ übereinstimmen (Abgerufen am 21.4.2018), da hier die Blockhöhe aktuell bei rund 519.000 liegt.
Zum aktuellen Projektstatus lässt sich sagen, dass wir die Daten, wie oben beschrieben, eingelesen haben, wir die API implementiert haben und uns nun an die semantische Analyse der Daten machen und das Frontend, mit den von unserem Designer erstellten Interfaces, umsetzen. Weiters haben wir die Customer Segments deutlich genauer ausgearbeitet, Use Cases für diese definiert und die Competitors genau unter die Lupe genommen und ein Pitch Deck erarbeitet. Wir haben somit im Moment eine sehr genaue und konkrete Übersicht des Marktes bzw. eine Einschätzung unserer User.
Das Frontend selbst wird mit React umgesetzt. Das Backend besteht aus einem PostgreSQL Server, verschiedenen als Docker Container bereitgestellten Services, sowie unserer API, welche in Elixir implementiert ist. Aktuell planen wir die Indizierung der Daten basierend auf einem Redis Server, der effzizienteren Zugriff erlaubt. Das alles sitzt auf AWS.