BitBox App Accountprinzip Erklärung?

Es gibt bei der Bitbox App ja die Möglichkeit mehrere Accounts zu erstellen. Aber so richtig verstehe ich den technischen Hintergrund nicht. Die neuen Accounts sind ja keine neuen Puplic Keys? Und Puplic Adressen können es ja nicht sein, da pro Account ja sowieso immer 20 neue Adressen für Einzahlungen generiert werden. Vielleicht kann mir das jemand einfach erklären.

Und wie würde die Wiederherstellung der Wallet dann zum Bsp bei einem anderen Anbieter aussehen? Ist das bedenkenlos möglich?

Danke schon mal im Voraus!

Jeder neue Account ist ein ganzer Satz von neuen Public Keys bzw. Adressen, die Bitcoin empfangen können. Diese werden alle von derselben Seed Phrase abgeleitet, sind aber ansonsten im Prinzip unabhängig voneinander. Das Verfahren, nachdem Keys aus der Seed Phrase abgeleitet werden, ist hauptsächlich in den BIPs 32 und 39 spezifiziert. Wenn du es ganz genau wissen willst, müsstest du dort nachlesen, ist aber sehr technisch. Für den praktischen Gebrauch ist gut zu wissen: Jeder Public Key / Satz von Public Keys / Account wird aus der Seed Phrase deterministisch nach mit einem sogenannten Ableitungspfad berechnet, der mit einer Formel angegeben wird, die etwa so aussieht: m/84’/0’/0’
Damit ist die Wiederherstellung prinzipiell auch mit einer anderen Wallet möglich, sofern sie nur die BIPs 32 und 39 implementiert.

Dass man pro Account nur 20 Adressen erzeugen könne, wäre mir neu. Eigentlich sollten praktisch beliebig viele möglich. Woraus entnimmst du die Beschränkung auf 20? Das kann eigentlich nur eine Unklarheit (oder Bug?) in der Software sein.

1 „Gefällt mir“

@renna hat das Prinzip der Ableitungspfade (Accounts sind ein Teil davon) in diesem Artikel klasse erklärt:

5 „Gefällt mir“

Danke, jetzt habe ich es so langsam verstanden.
Also ist ein Account dann in der Hierarchie (Seed/Master Key → Child Keys → Grandchild Keys) so zu sagen ein anderer Child Key?

Und ja es gehen natürlich mehr als 20 Adressen. Aber es werden ja immer nur die nächsten 20 freien angezeigt.

1 „Gefällt mir“

Ja, ganz genau.

So wird es im Artikel erklärt, wusste ich bis eben auch nicht :slight_smile:

1 „Gefällt mir“

Das Lob geht an @sutterseba, das ist ein Gastbeitrag von ihm, als er noch nicht regelmäßig für uns geschrieben hatte :slight_smile:

6 „Gefällt mir“

In diesem Zusammenhang würde mich nochmal interessieren, wie sichergestellt wird, dass die verschiedenen Unterkonten nicht miteinander in Zusammenhang gebracht werden können. Z.B. wenn man auf der BitBox zwei Unterkonten hat, einmal KYC und no-KYC → Ist man da wirklich auf der sicheren Seite?

Du kannst von einem öffentlichen Schlüssel auf Adressebene nicht auf den Account-Schlüssel zurückrechnen, also auch keinen Zusammenhang zu anderen Accounts herstellen. Das gilt auch für den erweiterten öffentlichen Schlüssel eines Accounts (xpub). Selbst mit dem können keine anderen Accounts abgeleitet werden.

Solange du keine manuellen Transaktionen zwischen deinen Accounts tätigst, haben diese rein gar nichts miteinander zu tun. Von außen betrachtet sind es sozusagen zwei verschiedene Wallets. Deine Wallet-Software (z.B. BitBoxApp) wird die Accounts auch getrennt voneinander behandeln und keine UTXO aus unterschiedlichen Accounts gemeinsam ausgeben.

Genau, es gehen 2147483647. Wenn du die voll hast, musst du auf einen anderen Account wechseln. :wink:

2 „Gefällt mir“

OK. Danke für die ausführliche Antwort. Klar, wenn ich KYC-Coins auf das No-KYC Unterkonto packe, ist meine Anonymität für das ganze Unterkonto dahin, richtig?

  1. Nein, natürlich nicht. Aber dann steht die Tür offen für schlechtes UTXO-Management, da deine Wallet UTXO für zukünftige Transaktionen wählen könnte, die deine Non-KYC mit den KYC Bitcoin miteinander in Verbindung bringen würden.

    Theoretisch wären aber Transaktionen zwischen den beiden Konten ohne Privatsphäre-Nachteil möglich, vorausgesetzt man kennt sich gut aus. Idealerweise lässt man es aber nicht darauf ankommen, sondern trennt die beiden Konten sauber voneinander, ansonsten kann man es auch gleich bleiben lassen.

  2. Es gibt keine „Anonymität“ im Bitcoin-Netzwerk. Du bist grundsätzlich immer pseudonym unterwegs.

1 „Gefällt mir“

Verstehe, das war auch der Plan es so handzuhaben. :+1:

Meinte mit Anonymität, dass die Coins nicht mit meinem Namen in Verbindung gebracht werden können. War vllt nicht ganz eindeutig ausgedrückt.