[Hardware] OPENDIME Bitcoin Stick

By | 3. April 2017

Als ich zum ersten Mal von dem Bitcoin Stick gelesen hatte musste ich irgendwie an Star Wars denken. Republikanische Credits dürften vermutlich jedem Star Wars Fan etwas sagen. Im Grunde sind das kleine „Sticks“, ähnlich einem USB Stick, mit einem bestimmten Geldwert. Heute war es mir endlich einmal möglich einen dieser Bitcoin Sticks zu testen. Und selbst nach einem ausführlichen Test haben sie ihren Science-Fiction-Zauber nicht verloren.

Ist der Bitcoin Stick eine Wallet?

Das muss man eigentlich mit einem klaren Nein beantworten. Das ist aber nicht weiter schlimm, da OPENDIME auch gar nicht versucht hat eine Hardware-Wallet zu machen. Hier wird ein ganz anderes Ziel verfolgt. Der Grundgedanke ist es, Bitcoins offline zu transferieren ohne Blockchain und, ganz wichtig, ohne Vertrauen! Wie soll das gehen? Die Idee dahinter ist es einen privaten Schlüssel zu generieren, dazu den entsprechenden öffentlichen Schlüssel bzw. die Bitcoin-Adresse, diese zu beladen und anschließend den privaten Schlüssel zu übergeben. Nur hier liegt eben der Hund begraben. Wie soll man einen privaten Schlüssel übergeben ohne diesen zu kennen? Da könnte ein Bitcoin Stick durchaus hilfreich sein.

Wie macht OPENDIME das? Ganz kurz gesagt: der Benutzer lädt etwas Entropie auf den Stick. Anschließend generiert der Stick automatisch aus der Entropie des Benutzers einen privaten und öffentlichen Schlüssel. Der private Schlüssel ist jedoch nicht frei zugänglich sondern muss erst „freigeschaltet“ werden. Diese „Freischaltung“ des privaten Schlüssels erfolgt physisch und hinterlässt eindeutige, physikalische Spuren auf dem Stick.

Das ging vielleicht etwas schnell. Daher jetzt etwas langsamer und ausführlicher. Beim Generieren von Bitcoin-Adressen wird der sogenannte ECDS-Algorithmus eingesetzt. Dieser benötigt zufällige Daten. Jedoch ist ein Computer an vielen Stellen sehr berechenbar, was auch das Ergebnis des Algorithmus berechenbar machen kann. Mit Entropie bezeichnet man Daten, die dazu verwendet werden um Ergebnisse von Verschlüsselungsalgorithmen unberechenbarer zu machen. Normalerweise wird Entropie aus allem möglichen bezogen: Benutzereingaben durch Tastatur und Maus, Netzwerkaktivitäten und anderen externen Vorgängen. Der Bitcoin Stick hat natürlich nur sehr beschränkte Möglichkeiten Entropie zu erzeugen. Selbst wenn er diese hätte wird durch die Entropie vom Benutzer garantiert, dass OPENDIME keinen Einfluss auf die Generierung des privaten Schlüssels hat. Sobald der private Schlüssel generiert wurde, wird er zunächst unzugänglich auf dem Stick gespeichert. Dieser ist nicht lesbar. Um ihn jedoch lesen zu können muss die Schutzfolie auf dem Stick entfernt werden. Anschließend muss ein kleiner Widerstand heraus gebrochen werden. Dazu befindet sich ein kleines Loch auf der Rückseite des Sticks mit einem Pfeil, der darauf zeigt. Durch dieses Loch kann der besagte Widerstand entfernt werden. Somit sieht man eindeutig, dass der private Schlüssel nicht mehr so privat ist – Schutzfolie wurde entfernt und der gekennzeichnete Widerstand fehlt.

Handhabung

Installation

OPENDIME Bitcoin Stick Lieferumfang

OPENDIME Bitcoin Stick Lieferumfang

Im Lieferumfang ist eine kurze Anleitung dabei. Diese besagt, dass man den Bitcoin Stick einstecken, die „index.htm“ starten und den Schritten folgen soll.  Zuerst wird der Benutzer aufgefordert mindestens 256kB Daten auf den Stick zu kopieren. Diese dienen der bereits erwähnten Entropie. Eine einfache Möglichkeit ist es, einfach ein Foto oder ähnliches auf den Stick zu kopieren. Fortgeschrittene Benutzer könnten dies auch mittels „dd“-Befehl in einer Linux/Unix-Umgebung erledigen. Ich habe dies mittels folgenden Befehls unter macOS bewerkstelligt.

1
dd if=/dev/random of=/Volumes/OPENDIME/random.file bs=1024 count=256

Da der Computer, auf dem ich das gemacht habe, über genug Entropie verfügt, hielt ich es für eine gute Idee die Datei mit zufälligen Daten zu füllen. An sich ist das auch eine sehr gute Idee, was dafür sorgt, dass die Entropie nicht „wiederholt“ werden kann. Später ist mir jedoch aufgefallen, dass es möglich ist den privaten Schlüssel mit der Entropie abzugleichen. Somit kann überprüft werden ob wirklich die benutzte Entropie in die Erzeugung des Schlüssels geflossen ist. Da die Entropie auf dem Stick jedoch gelöscht wird und auch nicht „wiederholt“ werden kann, ist so eine Prüfung im Nachhinein nicht mehr möglich. Was in der Praxis vermutlich aber auch nicht weiter schlimm ist. Wer dennoch diese Prüfung später durchführen möchte, kann natürlich als Eingabe eine existierende Datei, statt dem Zufallsgenerator, benutzen. Wichtig hierbei ist natürlich, dass die Datei mindestens 256kB groß ist.

1
dd if=EineDatei.dat of=/Volumes/OPENDIME/random.file bs=1024 count=256

Für die besagte Prüfung ist es jedoch absolut erforderlich den „dd“-Befehl zu benutzen. Durch ein einfaches Kopieren der Datei ist es nicht möglich. Dies hat damit zutun, dass der übliche Kopiervorgang anders funktioniert und nicht immer sichergestellt ist, dass der Vorgang jedes Mal identisch (auf Byte-Ebene) abläuft. Bei „dd“ ist dies jedoch sichergestellt, da hier wirklich byteweise kopiert wird.
Sobald die Entropie kopiert wurde beginnt der Stick mit der Generierung des privaten Schlüssels. Anschließend wirft er sich auch selbstständig aus und bindet sich auch wieder ein. Der Stick ist nun einsatzbereit.

Benutzung

Sobald der Stick wieder eingebunden bzw. eingesteckt ist befinden sich mehrere Dateien auf ihm. Allen voran wieder eine „index.htm“, welche die Bitcoin Adresse und ein paar andere nützliche Informationen bereithält. Der Stick muss nun nur noch mit Bitcoins „befüllt“ werden und kann anschließend weitergegeben werden.

Der Inhalt des Sticks setzt sich aus folgenden Dateien und Ordnern zusammen:

Datei / Ordner Funktion
index.htm Übersichtsseite mit der Bitcoin Adresse und vielen, nützlichen Hin- und Verweisen
address.txt Enthält die Bitcoinadresse
qrcode.jpg Enthält die Bitcoinadresse als QR-Code
private-key.txt Platzhalter für den privaten Schlüssel. Enthält den privaten Schlüssel erst nach dem entfernen des Widerstands.
README.txt Hilfe und Readme
Support Ordner mit allen Informationen zum Support
Advanced Ordner mit Funktionen und Skripten für fortgeschrittene Benutzer

Fortgeschrittene Benutzung

Wer mehr möchte als nur die Bitcoin Adresse zu sehen oder den „Kontostand“ zu prüfen wird um tiefer gehende Kenntnisse von gewissen Arbeitsweisen im IT-Bereich nicht herumkommen. Der „advanced“-Ordner enthält folgenden Inhalt:

Datei Funktion
balance.py "Kontostand" prüfen. Es werden diverse Blockchain-Dienste dafür verwendet.
Checksum.txt SHA256 Checksumme der Firmware.
trustme.py Prüft ob der Stick vertrauenswürdig und authentisch ist.
variables.json Speichert diverse Variablen auf dem Stick. Zum Beispiel: Adresse, privater Schlüssel (sobald freigegeben), usw.
verify.txt und verify2.txt Erzeugt einen zufälligen Text und signiert ihn mit dem privaten Schlüssel. Damit kann man prüfen ob der Stick über den privaten Schlüssel verfügt ohne den Schlüssel selber sehen zu können.
Chain.crt CA Zertifikat inkl. Chain von OPENDIME
unit.crt Zertifikat für den Stick. Ausgestellt durch OPENDIME selber.
rngverify.py Skript zum Gegenprüfen des privaten Schlüssels. Dazu wird jedoch die Entropie-Datei benötigt.
verstion.txt Zeigt die Version des Sticks

Für die Ausführung der „py“-Dateien wird python benötigt. Die Skripte sind alle einsehbar. Somit kann man selber überprüfen, dass hier seitens OPENDIME nicht geschummelt wird. Besonders bei dem Skript zur Überprüfung des private Keys mit der Entropie.

Usability und Einsatzmöglichkeit

Betrachtet man die einfachen Funktionen, wie das Installieren, Befüllen und Benutzen des Sticks ist die Benutzbarkeit relativ einfach zu handhaben. Geht man in die Tiefe wird es jedoch schnell sehr kompliziert für den einfachen Benutzer. Hier empfiehlt es sich dann schon genau zu wissen, was man macht. Um dies etwas zu entschärfen befinden sich auf dem Stick noch LEDs, die verschiedene Status anzeigen. Es ist zwar möglich physisch zu sehen ob der private Schlüssel freigelegt wurde oder nicht, jedoch könnte man sicherlich mit entsprechendem Aufwand hier tricksen. Spätestens beim Anschließen des Bitcoin Sticks würde man an den LEDs jedoch sehen ob der private Schlüssel immer noch so privat ist.

Sinnvoll ist so ein Bitcoin Stick zum Beispiel bei größeren Transaktionen, wenn man diese außerhalb der Blockchain machen möchte. Das heißt ohne Wartezeit (Bestätigungen) und offline. Aber auch als Geschenk eignet sich so ein Stick hervorragend. Wobei jedoch hier der Einstieg in die Bitcoin Welt sicherlich nicht die einfachste Möglichkeit ist.

Bitcoins auszahlen/transferieren

OPENDIME Bitcoin Stick "freigeschaltet"

OPENDIME Bitcoin Stick „freigeschaltet“

Wie bereits erwähnt muss ein Widerstand herausgelöst werden, um Zugriff auf den Schlüssel zu bekommen. Dazu muss zuerst vorsichtig die Folie entfernt werden. Anschließend kann dann durch das Loch auf der Rückseite der Widerstand heraus gebrochen werden. Der private Schlüssel liegt, nach dem Freischalten, im WIF-Format vor. Dieses kann in der Regel von den gängigen Wallets importiert werden. Sobald der Bitcoin Stick aufgebrochen wurde ist der private Schlüssel für jeden einsehbar. Ab diesem Moment sollte der Stick nicht mehr auf einer verseuchten Umgebung eingesetzt werden. Am Besten ist es ihn sofort zu entleeren bzw. die Bitcoins zu transferieren.

LED Status

Farbcode Bedeutung
Grün blinkend Bitcoin Stick ist versiegelt. Die Bitcoins sind sicher.
Grün und rot abwechselnd blinked Der private Schlüssel wurde freigelegt. Die Bitcoins sind nicht mehr sicher und sollten transferiert werden.
Durchgehend rot mit einem kurzen Rot-Blinker Stick ist bereit für die Installation. Es fehlt noch Entropie.
Schnell grün blinkend Der Stick wird gerade beschrieben.

Verarbeitung und Preis

OPENDIME Bitcoin Stick mit Folie

OPENDIME Bitcoin Stick mit Folie

Zur Verarbeitung gibt es eigentlich nicht viel zu sagen. Es ist ein kleiner Stick, der sehr stabil aussieht. Auf ein Gehäuse wurde aufgrund der Benutzbarkeit und vermutlich des Preises verzichtet. Jedoch habe ich ein Gehäuse nicht wirklich vermisst. Lediglich der Schutzmantel bzw. die Schutzfolie stört etwas. Beim Einstecken in ein MacBook hatte ich leichte Schwierigkeiten und musste etwas Kraft aufwenden. Der Preis von 35,65$ für 3 Stück ist zwar in Ordnung aber eher im oberen Segment einzuordnen. Hier muss man sich nämlich vor Augen führen, dass es letztlich ein Wegwerf-Produkt für einen einmaligen Einsatz ist.

 

Vielen Dank an OPENDIME für die Bereitstellung der Produktprobe.

 

Weitere Hardware Wallets im Test:

[Hardware] OPENDIME Bitcoin Stick

[Hardware] OPENDIME Bitcoin Stick
86.67%

Autor-Wertung

 
 
 

Fazit

Ein kleines, sehr interessantes Stück Technik. Wer Bitcoins verschenken möchte oder nach einer Möglichkeit sucht Transaktionen offline bzw. außerhalb der Blockchain zu tätigen dürfte bei OPENDIME genau richtig sein. Die einfache Funktionalität wie Einrichten, Aufladen und Stand prüfen sind von jedem Laien ohne größere Hindernisse durchführbar. Für die tieferen Funktionen wie Entropie gegenprüfen oder private Key prüfen verlangt es jedoch gewisses Wissen. Auch das Preis-Leistungsverhältnis ist absolut in Ordnung. Das zusätzliche SciFi-Flair macht dieses Produkt zu einer sehr netten aber auch hilfreichen technischen Errungenschaft.

Pros

  • Höchste Sicherheit
  • Einfache Handhabung der Basisfunktionalität
  • In verseuchter Umgebung einsetzbar (versiegelt)
  • Macht Bitcoins greifbar

Cons

  • Schutzmantel nervt beim Einstecken
  • Komplexe Handhabung der tieferen Funktionen

11 Kommentare zu “[Hardware] OPENDIME Bitcoin Stick

  1. Pingback: [Hardware] Trezor – WedTec

  2. Sebastian

    Ausführlich und verständlicher Test, Erklärungen einzelner Begriffe macht es leichter die Funktion des Gadgets zu verstehen – siehe Entropie.

    Antworten
  3. MordFustang

    Generell spricht mich dieser Stick schon allein aufgrund seiner Optik an. Wer ihn allerdings zum Verschenken von Bitcoins nutzen möchte, sollte sich des Preises bewusst sein.

    Antworten
  4. Pingback: [Hardware] CoolWallet | WedTec

  5. Sebastian Weissmuller

    ausführlicher testbericht – endlich mal einer der ins Detail geht! Werde mir den Stick sicher holen, vielen Dank!

    Antworten
  6. Pingback: [Hardware] BitLox | WedTec

  7. Pingback: [Hardware] Ledger Nano S | WedTec

  8. Pingback: [Hardware] KeepKey | WedTec

  9. Pingback: [Hardware] Digital Bitbox | WedTec

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.