Watch Only Wallet für BitBoxApp erstellen + Sicherheitstipp

In diesem Howto möchte ich eine Anleitung für das folgende Szenario beschreiben: BitBox02 ist so weit eingerichtet und die erste Einzahlung ist erfolgt. Nun wird die Hardware-Wallet sicher versteckt, Einzahlungen auf neue Adressen der Wallet sollten dennoch fortgeführt werden (#stacksats). Je nach Versteckort kann es sich als müßig bis unmöglich erweisen (z. B. physikalische und/oder geografische Hindernisse), die BitBox02 zwecks Verifizierung einer neu generierten Wallet-Adresse aus dem Versteck zu nehmen.

Hier soll eine Watch Only Wallet beispielsweise mit Sparrow Abhilfe schaffen. Der Plan: Man importiere in Sparrow das in der BitBoxApp erzeugte xPub, um an Empfangsadressen der BitBox-Wallet zu gelangen. An dieser Stelle ein wichtiger Sicherheitstipp, mehr dazu weiter unten.

FYI, der Hersteller beschreibt eine Methode, eine Watch Only Wallet mit BlueWallet anzulegen.

1. xPub in BitBoxApp finden und kopieren

Das xPub findet man in der BitBoxApp unter „Bitcoin“ (Account) - „Account info“ oben rechts.

Das gesuchte Feld heißt „Extended Public Key“. Dieser Wert erlaubt es uns, Adressen der Wallet zu „sehen“. Ebenfalls gebraucht wird der Inhalt des Feldes “Keypath”.

Klick auf den Button „Verify on device“ bestätigt uns auf dem Device die Echtheit des xPub-Wertes.

2. xPub in Sparrow Wallet importieren

An dieser Stelle überspringen wir die Installation der Sparrow-Applikation und fahren mit der Einrichtung einer neuen Wallet fort:

  • Name der Wallet eingeben.
  • Unter „Keystores“ die Schaltfläche „xPub / Watch Only Wallet“ anklicken.
  • In die rot-markierten Felder das jeweilige Äquivalent aus der BitBoxApp übernehmen: Derivation = Keypath, xpub = Extended Public Key.
  • Apply + Passwort-Vergabe, falls gewünscht.

Im Reiter „Receive“ zeigt Sparrow nun die nächste verfügbare Adresse für die Wallet, die mit der nächsten verfügbaren Adresse in der BitBoxApp übereinstimmen muss. Der Sparrow-Reiter „Addresses“ listet alle weiteren Adressen auf, die für die zukünftigen Einzahlungen genutzt werden sollen.

Ab sofort haben wir die praktische Möglichkeit auf die BitBox02-Wallet einzuzahlen, ohne die BitBox02 als Device zur Hand zu haben. Soweit so gut.

3. Verifizierung der Empfangsadressen

Ein potenzielles Risiko besteht darin, dass die Software (das Betriebssystem auf dem Desktop-PC oder die Sparrow-Wallet selbst) kompromittiert und dadurch in Sparrow manipulierte Empfangsadressen zeigt. Das wäre ein Fiasko. So löse ich das Problem der Verifizierung und Echtheit der Adressen:

  1. Bevor die BitBox02 ins Versteck wandert, lasse ich mir die nächsten X Empfangsadressen (je nach Einzahlungsrhythmus) direkt auf der BitBox02 wie folgt bestätigen:
  • Bitcoin (Account) - „Empfangen/Receive“.
  • Einzelne Adressen mithilfe der Pfeile durchblättern.
  • Jeweilige Adresse auf der BitBox02 bestätigen.
  • Beim Bestätigen die letzten X Zeichen (z.B. fünf) der Adresse aufschreiben.
  1. Jederzeit beim Generieren einer neuen Empfangsadresse in Sparrow werden die letzten X Zeichen dieser Adresse mit den letzten Zeichen der (an der Reihe nächsten) aufgeschriebenen Adresse abgeglichen. Die beiden Adressteile müssen übereinstimmen.

Auf diese Weise stelle ich sicher, dass die Empfangsadresse nicht manipuliert wurde, da sie mir durch BitBox02 bereits bestätigt wurde.

Value4Value, danke

12 „Gefällt mir“

Danke für die Anleitung! :slight_smile:

Vielleicht sollte man hier konkret für das Beispiel Sparrow noch erwähnen dass man die BitBox02 natürlich auch direkt mit Sparrow nutzen kann. Man muss dann nicht manuell den xpub importieren und kann auch ganz normal, wie mit der BitBox App, Adressen auf der BitBox02 verifizieren.

Für andere Wallet Software, z.B. BlueWallet, gilt natürlich genau das was du schon beschrieben hast.

8 „Gefällt mir“

Bisher habe ich meine Walletadresse bei einem beliebigen Blockchain-explorer eingegeben und konnte auf diesem Wege prüfen ob die Coins noch da sind. Ganz ohne Apps.
Nun bin ich auf die BitBox02 umgestiegen und diese hat meine Coins (nach einer Transaktion an die Börse) ungefragt aufgesplittet. Auf der BitBox sehe ich die richtige Summe aber für den Browserbasierten Blockchain-explorer benötige ich nun zwei Walletadressen. Lässt sich das wieder rückgängig machen? Es wäre schön nur eine Walletadresse im Explorer einzugeben um sich zu vergewissern, dass noch alle Coins da sind.

Der Sicherheitsaspekt des Aufsplittens ist mir bewusst. In meinem Fall aber irrelevant, da die Wallet nur mit einer Börse in Kontakt steht.
Wenn mich jemand wirklich tracken möchte, dann schafft er es sicherlich noch 3 klicks zu tätigen, ausgehend von der ersten Walletadresse.

PS: ich möchte xpub (Extended Public Key) nicht verwenden.

Danke vorab.

Das klingt eher nach einer Wechseladresse und ist daher eher völlig normales Verhalten jeder modernen Wallet. UTXO können nur in ihrer Gesamtheit verbraucht werden, d.h. wenn die Differenz zwischen Inputs und Outputs zu hoch ist musst du mit einem Output zurück an dich selbst aushelfen.

Mehr zu dem Thema: Was ist ein "Unspent Transaction Output" (UTXO) und was muss man beachten?

Ja, einfach alles was du hast auf eine neue (oder die alte) Adresse schicken.

Wieso? Das wäre jetzt mein Vorschlag gewesen. Ist doch viel einfacher den in einer App auf dem Smartphone importiert zu haben als ständig manuell bei einem Explorer abzufragen.

Auch wenn du den Privatsphäre Vorteil aktuell „nicht brauchst“ ist es doch trotzdem kontraproduktiv den nicht zu nutzen. Er kostet dich nichts und wird von deiner Wallet sowieso automatisch praktiziert. Du entscheidest dich also aktiv gegen Privatsphäre, um die du in Zukunft vielleicht froh bist wenn du mal was kaufst oder eine kleinere Transaktion tätigst. Jeder sieht dann deinen gesamten Besitz und deine gesamte Historie.

2 „Gefällt mir“

Danke für deine Antwort und den Tipp an sich selbst zu senden. Das hat geklappt.

Xpub möchte ich nicht verwenden, da ich irgendwo gelesen habe, dass man diese nicht auf Webseiten eingeben sollte. Die xpub soll ein winzig kleines Sicherheitsrisiko darstellen bzw. könnte in der Zukunft ein Sicherheitsrisiko werden.

Für mich ist eine App wie eine Webseite:)

Ja, dreimal darfst du raten warum: Wegen der Privatsphäre.

Wenn du aber nur eine einzige Adresse verwendest und die irgendwo eingibst hat das doch den gleichen negativen Effekt…

Damit ist wahrscheinlich gemeint dass mit dem xpub die öffentlichen Schlüssel und nicht nur die daraus abgeleiteten Adressen bekannt sind. Dadurch hast du einen theoretischen Sicherheitsnachteil der aber zu vernachlässigen ist.

Aber auch hier wieder: Sobald du von deiner einen Adresse eine Transaktion tätigst wird auch der öffentliche Schlüssel veröffentlicht. Liegen dann noch UTXO auf dieser Adresse hast du wieder genau diesen „Nachteil“.

Es gibt also nach wie vor keinen rationalen Grund Adressen mehrmals zu verwenden. Es ist eine aktive Entscheidung die mehr Aufwand bedeutet und ausschließlich Nachteile mit sich bringt.

Jedes mal wenn du jemandem Bitcoin schickst oder von jemandem Bitcoin empfangen willst sieht dieser alle deine vergangenen Transaktionen und deinen gesamten Besitz. Du kannst mir nicht erzählen dass dir das einfach egal ist, wo du das doch ohne zusätzlichen Aufwand ganz einfach vermeiden könntest.

2 „Gefällt mir“

Das auch aber am meisten zu Bedenken gab mir der User @skyrmion Bitcoin Extended Public Key (xpub)
Er schreibt: Außerdem gibst du bei Bekanntgabe des xpub ein winziges bisschen Sicherheit auf. Im extrem unwahrscheinlichen Fall, dass die Elliptic Curve Verschlüsselung unsicher werden sollte, kann jemand mit deinen Public Keys auf deine Private Keys zurückrechnen.

Ja, er schreibt extrem unwahrscheinlich aber das genügt mir schon. #Angsthase :slight_smile:

Egal wäre es mir tatsächlich nicht, wenn ich BTC an mehrere unterschiedliche Adressaten schicken würde oder von mehreren bekomme würde. Da bin ich bei dir.
In meinem Fall ist es jedoch so, dass ich BTC nur auf einer Börse kaufe und diese auf der eigenen Wallet aufhebe. Aufgrund dieser sehr geringen Anzahl an Transaktionen kann ich nichts „verschleiern“.
Ich möchte also bloß hin und wieder mal prüfen ob die Coins noch da sind wo ich sie abgelegt habe.

Darauf wollte ich hinaus. Kenne ich nur die Adresse muss ich erstmal den passenden öffentlichen Schlüssel suchen.

Sollte es aber, aus welchem Grund auch immer, einen effizienten Angriff auf öffentliche Schlüssel geben, dann würde das Vertrauen in Bitcoin sowieso komplett einbrechen.

Ein sehr großer Anteil der UTXO liegen auf wiederverwendeten Adressen, inklusive deiner. Ich erinnere mich an eine Statistik die in Richtung 50% geht. Diese Bitcoin wären in so einem Szenario also gefährdet, von der Angst die mit dem veröffentlichen von neuen Transaktionen verbunden wäre mal ganz abgesehen.

Das habe ich dir versucht zu erklären: Ob jetzt jemand deinen xpub kennt oder nicht spielt keine Rolle, der öffentliche Schlüssel dieser Adresse die du ständig verwendest ist (ab der ersten Transaktion) auch bekannt.

Es macht also absolut keinen Sinn aus diesem Grund auf das Nutzen eines xpubs zu verzichten, dein Status Quo ist nicht besser.

@skyrmion spricht noch einen weiteren Punkt an: Ist ein einzelner privater Schlüssel im entsprechenden Account bekannt kann ich zusammen mit dem xpub den kompletten Account leer räumen. Dafür muss aber erstmal ein einzelner privater Schlüssel kompromittiert sein – ein eher unrealistisches Szenario.

Beides sind Szenarien um die du dir keine Gedanken machen musst. Es sind theoretische Überlegungen um die Grenzen von Bitcoin zu veranschaulichen und um informiertere Entscheidungen zu treffen. Es geht nicht darum vor irgendetwas zu „warnen“.

Das will ich dir auch nicht ausreden, ich möchte nur dass du verstehst warum deine Gründe für den Verzicht auf eine normale watch-only Wallet nicht wirklich schlüssig sind.

2 „Gefällt mir“

Ich möchte nur der Vollständigkeit halber erwähnen, dass ich @sutterseba trotzdem in allen Punkten zustimme.

Das von dir angesprochene Sicherheitsargument ist technisch vollkommen richtig.

Allerdings sind eben schon so viele Public Keys bekannt, dass Bitcoin im Falle eines plötzlichen ECC Bruchs von heute auf morgen wahrscheinlich wertlos wäre. Deine (dann wertlosen) Coins wären zwar erst mal sicher, aber spätestens wenn du diese transferieren wolltest, müsstest auch du deinen Public Key im Mempool veröffentlichen.

Unter anderem wegen solcher Überlegungen wird bei Taproot also sogar wieder direkt an ungehashte Public Keys gesendet (keine Adressen mehr).

Dazu für Interessierte: Xpub (Gehärtete Ableitung)

Unabhängig davon würde ich persönlich aus Privacy-Gründen meinen xpub auf keiner Website eingeben. Vielleicht eher noch als Watch-only Wallet, z.B. in Blue Wallet.

2 „Gefällt mir“

Hier würde ich gerne mal nachhaken, denn mich interessiert die Frage, ob beispielsweise für eine Handelsbörse immer theoretisch meine gesamten Bestände ersichtlich sind, wenn ich von dort meine Sats abziehe, oder ob das nur der Fall ist, wenn ich die gleiche Adresse mehrmals verwende.

Die Börse sieht natürlich alle deine Bestände bzw. zukünftige Transaktionen, die mit den Adressen zusammenhängen, die du für die Auszahlung genutzt hast. Für die Börse ist erstmal egal, ob das mehrere Adressen sind oder nur eine.

Es ist aber grundsätzlich immer besser, Adressen nicht wiederzuverwenden. Die Börse ist schließlich nicht der einzig relevante Faktor für deine Privatsphäre.

Pauschale Aussagen sind wegen Bitcoins UTXO-Modell außerdem schwierig. Je nachdem kannst du auch Transaktionen/Bestände preisgeben, die eigentlich nichts mit der Börse zu tun haben.

Siehe:

Bei einigen Börsen wie zB Kraken kannst du deine Satoshis per Lightning zusenden oder abziehen.

So kann die Börse eigentlich kaum was zurückverfolgen.

1 „Gefällt mir“

Das ist richtig, das wollte ich gerade auch schreibe aber da bist du mir zuvor gekommen.

Viele Grüße,
Jeremy

Interessant, das ist natürlich schlecht in Hinblick auf die Privacy, denn damit ist man dann quasi ein offenes Buch für die Börse und damit auch den Staat.

Nur nochmal kurz, damit wir uns richtig verstehen: wenn ich meine Coins bei einer Börse auf eine Emfangsadresse einer Hardwarewallet überweise, dann sieht die Börse automatisch sämtliche Bestände und Transaktionen dieser Hardwarewallet, hat also quasi automatisch eine Watch-Only-Wallet für meine Bestände, richtig?

Die Börse sieht vorerst nur die Balance dieser Adresse und alle vorherigen und zukünftigen Transaktionen dieser Adresse. Deine komplette Balance der BitBox sieht die Börse nicht, es sei denn Du teilst den XPub deiner Wallet und nicht nur eine Emfangsadresse. Konsolidierst Du deine Bestände zwecks UTXO Management und diese Adresse ist involviert, dann könnte die Börse auch daraus Rückschlüsse ziehen.

1 „Gefällt mir“

Ok, danke, das hört sich ja schon wieder besser an und alles andere hätte mich auch echt desillusioniert.

Bei Kraken ist das anscheinend für Deutsche Kunden nicht mehr möglich

Was echt jetzt?
Bei mir auf iOS jedenfalls noch möglich:

Über den Browser ist bei mir Lightning nicht mehr verfügbar, die App nutze ich nicht.