Implementierung eines Test- und Demo-Frameworks für Bitcoin- und Tor-basierte Anwendungen

  • BESCHREIBUNG

    Im Rahmen des Kompetenzzentrums für angewandte Sicherheitstechnologie KASTEL wird an mehreren Instituten des KIT an Sicherheitskonzepten für das Internet of Everything geforscht. Am Institut für Telematik werden in diesem Zusammenhang u.a. Blockchain-Netze wie Bitcoin untersucht. Blockchain-Netze werden dabei, z.B. in dem am Institut entwickelten Ansatz BitNym, als Basisdienst für die Realisierung von komplexen verteilten Systemen verwendet. Um einen ausreichenden Schutz der Privatsphäre beteiligter Nutzer zu gewährleisten und mobilen Endgeräten den Aufbau von Peer-to-Peer-Verbindungen zu erleichtern, wird für die Kommunikation zwischen Knoten zusätzlich auf das bestehende Onion-Routing-Netz Tor zurückgegriffen. Um Anwendungen, die auf Bitcoin und Tor aufbauen, testen zu können, bzw. um aussagekräftige Demonstratoren bauen zu können, ist man jedoch auf eine stabile Anbindung zu diesen Netzen und deren ungestörte Funktionalität angewiesen. Zusätzlich muss man realistische Latenzen in Kauf nehmen (was beim Testen störend sein kann) und hat keinen Einfluss auf die Parameter der Netze (z.B. das Block-Intervall bei Bitcoin, welches die Reaktivität von Bitcoin-basierten Tests und Demonstratoren maßgeblich beeinflusst).

    AUFGABENSTELLUNG

    In dieser Arbeit soll ein Framework von kleinen Programmen entworfen und implementiert werden, mit dessen Hilfe abgekapselte lokale Testversionen des Bitcoin-Netzes und des Tor-Netzes automatisiert ausgebracht und kontrolliert werden können. Die somit aufgebaute Testumgebung soll ohne eine aktive Internetverbindung nutzbar sein. Das Framework soll, ausgehend von einem zentralen Rechner, mehrere weitere Rechner ansteuern und automatisiert koordinieren können. Zusätzlich soll es automatisiert Konfigurationsdateien generieren können, mit deren Hilfe sich Bitcoin- bzw. Tor-Clients mit den alternativen Netzen verbinden können. Letztendlich sind auch automatisiert durchführbare (Parameter-)Änderungen der betrachteten Netze wünschenswert, insbesondere eine Verkürzung des Block-Intervalls bei Bitcoin. Als mögliche weiterführende Arbeiten sind Erweiterungen des Frameworks um Visualisierungs-Tools und Unterstützung für das Blockchain-Netz Ethereum denkbar. Abschließend erfolgt die ausführliche Dokumentation und Präsentation der Arbeit.

    ARBEITSUMGEBUNG

    Jederzeit geöffneter Institutspoolraum, Kaffeemaschine, leistungsstarke Simulationsrechner und sonstige Geräte (VMs, Raspberry Pis, Smartphones) nach Bedarf

    VORAUSSETZUNGEN

    Programmierkenntnisse (z.B. Python) und Kommandozeilen-Erfahrung auf Linux/Unix-Systemen sind sehr empfohlen, Kenntnisse in den Bereichen Tor und Blockchain sind hilfreich.