[Start] [TitleIndex] [WordIndex

btc-Bankix

Beschreibung

btc-Bankix ist eine von c't-Bankix abgeleitete Live-CD (ein sog. "Remix"). Wer c't-Bankix noch nicht so gut kennt, dem sei diese Seite für den Einstieg empfohlen. Die wichtigsten Veränderungen/Erweiterungen von btc-Bankix gegenüber dem Original:

Trotz des veränderten Desktops basiert btc-Bankix natürlich weiterhin auf Ubuntu (nicht auf Xubuntu). Der volle Ubuntu-Support bleibt somit erhalten. Ebenfalls steht die volle c't-Bankix-Funktionalität zur Verfügung. Insbesondere das Nachinstallieren von Updates, das Brennen solcher Änderungen als 'zweite Session', sowie das Sichern und Einbinden des Heimatverzeichnisses über einen USB-Stick (den sog. Home-Stick) funktioniert wie gehabt. Auch der Kernel ist derselbe, wodurch Zugriffe auf SATA/PATA-Platten unterbunden werden, der Zugriff auf (virtuelle) SCSI Host-Adapter aber weiter möglich ist.

Auch wenn btc-Bankix ein anderes Erscheinungsbild hat, bleibt es ein Remix von c't-Bankix. Dadurch hat es u.U. auch dieselben Macken wie dieses. Unterm Strich ist das aber natürlich ein Vorteil, da c't-Bankix ein erprobtes und weit verbreitetes System ist. Verbesserungen an c't-Bankix fließen somit auch in btc-Bankix ein.

Repositories

btc-Bankix basiert wie c't-Bankix auf Ubuntu-12-04 (precise). Alle vorinstallierten Programme stammen aus öffentlichen Ubuntu-Repositories und werden über den normalen Updatemechanismus des Betriebssystems fortlaufend aktualisiert. Zusätzlich zu Canonicals Ubuntu-Quellen kommen drei weitere Repositories zum Einsatz.

Zusätzliche Repositories

deb http://www.heise.de/ct/projekte/ctbankix precise main deb

Quellen des Heise Verlages (Kernel)

deb http://ppa.launchpad.net/bitcoin/bitcoin/ubuntu precise main

Bitcoin Stable-Channel des Core-Teams

deb http://ppa.launchpad.net/lau6chpad/btcx/ubuntu precise main

Erweiterungen für btc-Bankix

Download

Die aktuelle Version wird als Torrent über diese URLs bereitgestellt:

https://www.olivere.de/download/torrent/info/btc-Bankix.txt.asc (siehe Magnet-Link)

https://www.olivere.de/download/torrent/btc-Bankix.iso.torrent

Motivation und Anwendungsszenarien

btc-Bankix ist nicht die erste Live-CD für die Verwaltung von Bitcoin-Konten. Die meisten Live-CDs beschränken sich allerdings auf die Verwaltung des Cold-Wallets oder setzen Electrum ein. btc-Bankix bietet hingegen einige Erweiterungen, die den Betrieb als Hot-Wallet erleichtern, so dass man dafür nicht noch eine zusätzliche Installation benötigt.

btc-Bankix soll zudem regelmäßiger aktualisiert werden als dies bei anderen Projekten der Fall ist. Dadurch, dass bei btc-Bankix alle Pakete aus öffentlichen und gepflegten Repositories stammen, kann man sich jederzeit auf einfache Art und Weise selbst eine aktualisierte Version erstellen, indem man den entsprechenden Update-Mechanismus von c't-Bankix verwendet; dabei kann die CD (oder ein USB-Stick mit Schreibschutz) einmalig aktualisiert werden, bevor sie abgeschlossen wird (bei geeigneten USB-Sticks wird stattdessen ein Schreibschutz aktiviert).

Ich denke, dass btc-Bankix einige neue Möglichkeiten bietet. Deshalb ist es für den ein oder anderen vielleicht ganz nützlich. Es lässt sich leicht auf die eigenen Bedüfnisse anpassen.

COLD-Wallet

Im Fordergund steht natürlich wie bei allen solchen Projekten die Sicherheit. Diese wird ganz klassisch dadurch erreicht, dass zur Erzeugung des Cold-Wallets ein physisch vom Netzwerk getrenntes Computersystem mit der Live-CD (btc-Bankix) gebootet wird. Das Cold-Wallet wird dann mit dem bekannten und weit verbreiteten Programm Armory erzeugt und kann auf unterschiedlichen Medien gespeichert werden (auf USB-Speichern, auf einer CD/DVD, auf Papier). USB-Sticks und andere externe Datenspeicher können mittels btc-Bankix verschlüsselt werden bevor man dort Daten ablegt. Zum Verschlüssel empfehle ich die Laufwerksverwaltung.

Das Anlegen von TrueCrypt-Containern ist eine optionale Möglichkeit und erfolgt (vorerst) über die Kommandozeile und das Tool tcplay.

HOT-Wallet

Zur Implementierung eines Hot-Wallet wird die Blockchain benötigt. Die meisten Live-CD Bitcoin-Projekte, die ich mir angesehen habe, nutzen Electrum. Das ist sicher ein pragmatischer Ansatz, aber ich wollte gerade an dieser Stelle die volle Sicherheit. Das bringt natürlich die Problematik des Speicherbedarfes für die Blockchain und die Metadaten mit sich. Der Speicherbedarf wächst dabei kontinuierlich und liegt längst im zweistelligen Gigabyte-Bereich. Zum Verwalten dieser Datenmengen hat man bei btc-Bankix prinzipiell zwei alternative Ansätze.

1. Betrieb als virtuelle Maschine

Die Live-CD kann ohne weiteres im VMWare-Player ausgeführt werden. Die entsprechenden Tools und Module sind bereits installiert. Um andere Virtualisierungs-Plattformen zu nutzen, müssen ggf. noch weitere Pakete installiert werden. Ich habe mich erst mal auf VMWare beschränkt.

Mit einer virtuellen Maschine bieten sich mehrere Möglichkeiten, um die Blockchain zu verwalten. Naheliegend ist (und so arbeite ich selbst bisher) die Blockchain einfach in einer virtuellen Festplatte zu verwalten. Der Speicherort der Blockchain lässt sich in Armory über File -> Settings -> Bitcoin Home Dir leicht ändern.

Wichtiger Hinweis / Falle

Es gibt hierbei eine kleine Falle: Der Speicherort für das Arbeitsverzeichnis von Armory (.armory) lässt sich leider nicht konfigurieren. Armory sucht sein Arbeitsverzeichnis immer unter .armory im Heimatverzeichnis des Benutzers. Da Armory selbst einige Gigabyte an Metadaten verwaltet, muss man dafür sorgen, dass auch für diese Daten genügend Speicherplatz zur Verfügung steht. Das kann man entweder dadurch erreichen, dass man im Heimatverzeichnis des c't-Bankix-Nutzers für das Verzeichnis .armory einen Symlink anlegt, der auf einen Speicherort auf der virtuellen Festplatte zeigt (Kommandozeile nutzen), oder, man richtet über die entsprechende c't-Bankix-Funktionalität einen USB-Stick als Heimatverzeichnis ein, der über genügend Speicherplatz verfügt (8 GB sollten reichen).

Welche Lösung man hier wählt, ist im Grunde Geschmackssache. Man kann auch beides miteinander kombinieren. Mit einem USB-Stick als persistentes Heimatverzeichnis sollte man btc-Bankix - und das gilt natürlich auch für c't-Bankix - nicht mehr in den Suspend/Bereitschaftsmodus versetzen. Das funktioniert nicht. Auf das Heimatverzeichnis kann nach dem Wiederaufwachen nicht mehr zugegriffen werden. Die (virtuelle) Maschine muss dazu erst wieder rebootet werden. Ansonsten gibt es aber keine Einschränkungen durch die Verwendung des sog. "Home-Sticks".

2. Betrieb auf Hardware

Die zweite Möglichkeit ist der Betrieb auf echter Hardware. Hierzu kann man seinen normalen Arbeits-PC oder ein altes ausgemustertes Laptop verwenden. Das funktioniert analog zum Cold-Wallet. CD oder USB-Stick ein-legen/stecken und Rechner booten. Einziger Unterschied: Man kappt natürlich nicht die Netzwerkverbindung. ;)

btc-Bankix implementiert eine Sandbox, d.h. der Zugriff auf die Systemplatten ist nicht möglich und auch nicht gewünscht. Der no-disk-access.patch ist ein von c't-Bankix geerbtes Feature. Hierdurch sollte ursprünglich verhindert werden, dass sich Schädlinge im System einnisten. Die Sache hat aber noch einen anderen entscheidenden Vorteil: Dadurch, dass btc-Bankix die Finger konsequent von SATA-Platten lässt, kann man als Anwender an dieser Stelle nichts kaputt machen (auch nicht durch Fehlbedinung). Es ist nicht möglich, dass man sich versehentlich die eigene SATA-Systemplatte formatiert. So etwas ist leider schneller passiert als man glaubt. Deshalb sollte man trotzdem zusätzlich Vorsicht walten lassen und darauf achten, dass btc-Banix auch tatsächlich keine Systemplatten erkennt und zur Verfügung stellt (siehe Laufwerkveraltung).

Auch auf "echtem Eisen" hat man dasselbe Probleme wie unter VMWare: Wohin mit der Blockchain und Armorys Arbeitsverzeichnis? Eine virtuelle Festplatte steht auf echter Hardware natürlich nicht zur Verfügung. Man muss deshalb zusätzlich externen Speicher einbinden. Hier gibt es wiederum grundsätzlich zwei Möglichkeiten: Netz oder USB. Für das Einbinden von Netzwerklaufwerken steht unter btc-Bankix bereits sshfs zur Verfügung. Über die Paketverwaltung kann man natürlich auch andere Protokolle nachinstallieren, um z.B. auf Windows-Netzlaufwerke zuzugreifen (SMB). Am einfachsten ist es aber wohl eine externe USB-Festplatte an den Rechner zu hängen und diese zu verwenden, um die Blockchain und Weiteres darauf zu speichern. Man kann, wenn man mag, diese auch gleich als Home-Stick einrichten. Das erspart einem das Verlinken und Umkonfigurieren der Armory-Verzeichnisse. Aber Vorsicht: Bereits vorhandene Daten auf der USB-Festplatte werden in diesem Fall komplett gelöscht. Doch wenn man noch eine alte USB-Festplatte herumliegen hat, die man dafür verwenden mag, ist das eine recht komfortable Möglichkeit, die zudem komplett ohne Kommadozeile auskommt.

Live USB

Über Programme wie UNETBOOTIN lässt sich die "CD" natürlich auch auf einen USB-Stick installieren. Die meisten werden so arbeiten wollen, weil das i.d.R. komfortabler ist als mit CDs zu hantieren. Hierdurch verliert man (theoretisch) ein wenig an Sicherheit, aber das lässt sich durch einen USB-Stick mit Schreibschutzschalter ausgleichen.

Anwendung konkret

Eine detailliertere Dokumentation mit Screenshoots und so folgt noch. Fürs Erste gehe ich davon aus, dass ihr mit der Benutzung von Armory vertraut seid. Somit ist euch klar wie ihr beim Cold-Wallet vorzugehen habt. Einfach euren Rechner vom Netz abziehen (Stecher raus!) und dann btc-Bankix booten. Mit Armory ein Cold-Wallet erzeugen und dann auf einen (vorher verschlüsselten) USB-Stick wegsichern. Beim Erzeugen eines verschlüsselten USB-Sticks hilft euch wie schon erwähnt die Laufwerkverwaltung. Damit ist das sehr einfach. Kommandozeilenkenntnisse werden nicht benötigt.

Andere Einsatzmöglichkeiten

Grundsätzlich gibt es N+1 Möglichkeiten wie man die Live-CD im Bitcoin-Umfeld nutzen kann. Da sind der Phantasie wirklich keine Grenzen gesetzt. Über die Paketverwaltung und das Speichern der Systemeinstellungen kann sich jeder in wenigen Schritten seine eigene CD erstellen. Für Tipps und Anregungen bin ich dankbar und nehme sie gerne in die Dokumentation mit auf. Als einen der nächsten Schritte plane ich libbitcoin in das Projekt zu integrieren. Dadurch werden sich weitere Anwendungsmöglichkeiten ergeben und man hat eine saubere Arbeitsumgebung, um mit der genannten Bibliothek zu spielen.

TrueCrypt-Klon tcplay

btc-Bankix enthält das relativ neue Kommandozeilenwerkzeug tcplay. Wer es noch nicht kennt und keine Angst vor der Kommandozeile hat, sollte es mal ausprobieren. In Verbindung mit dd lassen sich damit sehr einfach TrueCrypt-Container erstellen ohne, dass man dafür TrueCrypt braucht. ;) Siehe: https://wiki.archlinux.org/index.php/Tcplay

Für Interessierte: tcplay basiert auf dm-crypt.

Bitcoin Core

Der Standard-Client darf natürlich nicht fehlen. Der bitcoind wird zudem von Armory benötigt. Zur Verwaltung des Hot/Cold-Wallets via Armory benötigt man den QT-Client streng genommen nicht. Aber wie gesagt: btc-Bankix soll vielfältig einsetzbar sein und da ist der Standard-Client eben Standard. ;)

Bekannte Probleme

TODO


2021-06-02 14:59