Frage zu BIP-85 bei BitBox02

Die Implementierung von Bip-85 bei der Bitbox ist echt ziemlich cool!

Somit ist es nun möglich von meiner Seed+Passphrase nun noch weitere Seeds mit beispielsweise 12 Wörtern abzuleiten. Diesen Child-Seed kann ich zum beispiel bei einer Hot-Wallet verwenden und muss diese Wörter nicht extra aufschreiben / sichern, da ich immer wieder von meiner Hauptseed+Passphrase ableiten kann.

Soweit habe ich alles verstanden.

Nun zu meiner Frage:

Was wäre, wenn es BitBox irgendwann nicht mehr geben sollte. Ist das Verfahren, wie abgeleitet wird nur bei der BitBox so oder ist das ein Standard, wie abgeleitet wird?

Vielleicht kann @Stadicus das ja beantworten?

1 „Gefällt mir“

Die Antwort steckt im Titel deiner Frage: BIP-85!

Genau das ist der Standard, der auch von anderen Wallets verwendet wird, z.B. von Coldcard. Du bist hier also nicht von der BitBox02 abhängig, wie auch bei den Wiederherstellungswörtern (BIP-39). Dieselben Child Keys können also auch nach der Wiederherstellung in einer anderen – BIP-85 kompatiblen – Wallet neu abgeleitet werden.

Die Tage kommt wahrscheinlich auch ein erklärender Beitrag zu BIP-85 auf Blocktrainer.de. :)

2 „Gefällt mir“

Vielen Dank für die schnelle Antwort. Ich hatte nur irgendwas auf der Seite von Bitbox gelesen, was mich gewundert hatte. Da geht es irgendwie um die „Sortier-Reihenfolge“. Das hatte ich nicht verstanden. Ich füge den Text hjier mal ein (automatisch auf deutsch übersetzt)

TEXT

Aus diesem Grund folgte die BitBoxApp zuvor dem standardisierten Ansatz, Transaktionseingaben und -ausgaben in lexikografischer Reihenfolge zu sortieren ( BIP-69 ). Die Akzeptanz dieses Standards ist jedoch recht begrenzt, weshalb er nicht so effektiv ist, wie er sein könnte.

Das neue Update ersetzt diese alphabetische Sortiermethode durch einen randomisierten Ansatz. Das bedeutet, dass die Reihenfolge der Ein- und Ausgänge in mit Ihrer BitBox02 erstellten Transaktionen jetzt völlig zufällig ist, was das Blockchain-Fingerprinting schwieriger macht und die Privatsphäre des Benutzers verbessert.

Auf Deutsch. Ich verstehe das so:
wenn du ein Walletguthaben von hast und sich dieses aus mehreren Transaktionen und damit UTXOs zusammensetzt, etwa so

0: 0e53ec5dfb2cb8a71fec32dc9a634a35b7e24799295ddd5278217822e0b31f57[0]
1: 26aa6e6d8b9e49bb0630aac301db6757c02e3619feb4ee0eea81eb1672947024[1]
2: 28e0fdd185542f2c6ea19030b0796051e7772b6026dd5ddccd7a2f93b73e6fc2[0]
3: 381de9b9ae1a94d9c17f6a08ef9d341a5ce29e2e60c36a52d333ff6203e58d5d[1]
4: 3b8b2f8efceb60ba78ca8bba206a137f14cb5ea4035e761ee204302d46b98de2[0]
5: 402b2c02411720bf409eff60d05adad684f135838962823f3614cc657dd7bc0a[1]
6: 54ffff182965ed0957dba1239c27164ace5a73c9b62a660c74b7b7f15ff61e7a[1]

dann wären bislang die Transkationen wie oben alphanumerisch sortiert der Reihe nach verwendet worden, solange bis die UTXOs ausreichend für die zu signierende Transaktion gewesen wären.

Nun werden die volumenmäßig benötigten UTXOs eben zufällig aus der Transaktionsliste gewählt, was Fingerprinting erschweren soll.

Das ist nochmal was anderes und hat mit BIP-85 bzw. Child Keys nichts zu tun.

Nein, die Auswahl der UTXO ist davon unabhängig! Alphanumerisch sortiert wurden dann erst die für die Transaktion ausgewählten UTXO. Es geht nur um die Reihenfolge innerhalb der Transaktion, nicht um die Auswahl (meistens Coin Selection genannt) an sich.

Und jetzt wird eben nicht mehr nach BIP-69 alphanumerisch sortiert, sondern die Reihenfolge ist einfach zufällig.

Beispiel: 90 Wallets nutzen eine zufällige Sortierung und 10 Wallets BIP-69. Jetzt ist es relativ leicht für mich, die BIP-69 Transaktionen zu erkennen und einer kleineren Gruppe (bzw. bestimmten Wallets) zuzuordnen.

BIP-69 wäre erst dann richtig effektiv, wenn es alle Wallets implementieren würden. Dem ist aber nicht so, unter anderem deswegen jetzt bei der BitBox der Wechsel auf die zufällige Reihenfolge.

3 „Gefällt mir“

Achso okay. Vielen Dank für die Antwort.

@sutterseba eine Frage habe ich doch noch.

Sobald ich mir solch eine Child-Seed erstelle, wird mir auch ein Ableitungspfad angezeigt. Muss dieser zwingend aufgeschrieben werden?

Eigentlich reicht es doch, wenn ich mir einfach merke wie viele Wörter und welche Index-Nummer, oder?

Ja, der Ableitungspfad ist Teil des Standards bzw. „kein Geheimnis“. Es ist also nicht zwingend notwendigt, diesen zu notieren, kann aber auf der anderen Seite auch nicht Schaden.

Wichtig ist, wie du schon sagst, die Anzahl der Wörter sowie den Index zu notieren oder merken, die übrigens auch im Ableitungspfad mit drin stehen (m/83696968’/39’/0’/12’/1’ bei 12 Wörtern nach BIP-39 und Index 1).

2 „Gefällt mir“

Und was bedeutet in diesem Zusammenhang die Zahl m/83696968’/ davor? Ist diese bei allen Bitboxen gleich oder individuell?

Die ist fest so im Standard verankert, um unter anderem dafür zu sorgen, dass die BIP-85 Child Keys, egal was danach im Ableitungspfad folgt, nicht z.B. für das direkte Ableiten von privaten Schlüsseln genutzt wird. Es ist sozusagen ein abgeschotter Pfad, der nur für BIP-85 reserviert ist.

Wenn du mal in die Spezifikation reinschaust, wirst du die überall wiederfinden.

Easter Egg: Die Zahl selbst (83, 69, 69, 68) kann man in ASCII codieren und erhält dann die Buchstaben SEED. :slight_smile:

6 „Gefällt mir“

Oh cool. Vielen Dank. Ich denke, damit sind meine Fragen beantwortet.

@sutterseba : Nun habe ich gerade den neuen Newsletter erhalten wo auf die zufällig Sortier-Reihenfolge hingewiesen wird.

Was hat es denn damit auf sich? Betrifft das die Reihenfolge der neu generierten Empfangsadressen? Nee oder?

Das betrifft die Reihenfolge der Inputs und Outputs innerhalb einer Transaktion. Im Newsletter steht im Grunde nochmal dasselbe in kurz, was auch schon im Blog-Artikel zum Release erklärt wurde:

Falls dir noch nicht klar ist, was mit Inputs und Outputs überhaupt gemeint ist, kannst du mal hier reinschauen:

Es handelt sich hier um kein wirklich großes Feature, sondern einfach um eine kleine Verbesserung hinsichtlich der Privatsphäre. Die BitBoxApp wählt die Reihenfolge der Ein- und Ausgänge einer Transaktion jetzt zufällig, anstatt sie wie bisher alphanumerisch zu sortieren. Im Grunde muss man das gar nicht so im Detail verstehen, aber es ist natürlich lobenswert, dass dich das interessiert. :slight_smile:

Als mehr oder weniger gute Analogie kannst du es dir so vorstellen: Stell dir vor, ein Parkscheinautomat erkennt die Reihenfolge, in der Münzen hineingeworfen werden.

Angenommen 90 Leute werfen ihre Münzen komplett zufällig in den Automaten und 10 Leute aufsteigend mit der kleinsten Münze zuerst (also BIP-69). Innerhalb der Gruppen sind beide Ansätze eigentlich sehr gut.

Der Automat kann aber anhand der „Reihenfolge des Hineinwerfens“ feststellen, ob du zur Gruppe der 90 Leute oder der 10 Leute gehörst und damit evtl. zusammen mit anderen Faktoren Rückschlüsse auf dein Parkverhalten ziehen.

Idealerweise ist man in diesem einfachen Beispiel in der größten Gruppe, also hier beim zufälligen Ansatz, da Schlussfolgerungen dann schwieriger sind. Die Verteilung 90 vs. 10 war jetzt aber auch nur ein Beispiel.

3 „Gefällt mir“

Vielen lieben Dank dafür, dass du dir Zeit für die Erklärungen genommen hast. Ich denke, ich habe das verstanden.

Also wenn ich eine Transaktion mache und darin mehrere UTXO enthalten waren, ist das nun mit der Sortierung anders.

1 „Gefällt mir“

Vielen Dank für diese Frage „BIP-85“.
Ich kenne diese Superfunktion von der Coldcard und bin begeistert, dass die Bitbox nachgezogen hat.
Gleich mal eine Frage:

  • Ist bei BIP85 ausgeschlossen, dass man von einem Child-Seed auf den Parent-Seed oder einen anderen Child-Seed zurückrechnen kann? (Anwendungsfall: nur eine Steelwallet (wie Seedor) mit Parent-Seed mit Funds und Child-Seeds für alles mögliche „unsicherere“ verwenden (Eltern/Kinder), Passwort-Generator…wo man nicht immer Herr der Lage der Aufbewahrung/Verlust/Diebstahl ist)
  • anders ausgedrückt: gefährdet eine geleakte Child-Seed die anderen Seeds (vor allem: Parent-Seed)?

Dies soll wohl ausgeschlossen sein. So wie man von einer Bitcoin Adresse auch nicht auf eine andere schließen kann. Das geht nur in eine Richtung, aber nicht in die andere.

Aber vielleicht kann hier ja noch jemand schreiben wie genau so etwas „deterministisch gerechnet“ wird.

1 „Gefällt mir“

Nein, kryptografische Hashfunktionen funktionieren nur in eine Richtung. Ich kann von den Wiederherstellungswörtern einen BIP-85 Child Key ableiten, aber von einem Child Key nicht in die andere Richtung zurück – genau wie ich aus einer klassischen Bitcoin-Adresse nicht den öffentlichen Schlüssel berechnen kann.

Man könnte argumentieren, dass auf dieser Eigenschaft die gesamte Sicherheit des Bitcoin-Netzwerks beruht (siehe Mining).

Warum das sicher ist, wird hier etwas anschaulicher erklärt, die Lightning Wallet in der BitBoxApp wird nämlich auch mit BIP-85 erstellt:

Es gibt keine perfekte Sicherheit, die irgendetwas zu 100% ausschließen kann. Das ist dann aber keine Diskussion mehr um BIP-85, sondern um die SHA-2 Hashfunktion im Allgemeinen… :slight_smile:

3 „Gefällt mir“

Kann man bitte das Thema zu den Tutorials verschieben, ich finde, es passt sehr gut in diese Kategorie. :+1:

  • Wird der BIP-85 Schlüssel („Child Key“) nur anhand der BIP-39 Wörter erstellt?
  • Was ist mit dem Passphares kann dieser hinzugenommen werden für die Ableitung?