Umgang mit den Mnemonic Code Converter

Hallo Leute,

ich habe mich schon seit einiger Zeit mit dem Mnemonic Code Converter Tool https://iancoleman.io/bip39/ beschäftigt. Zum einen zu meinen Verständnis, zum anderen um vorbereitet zu sein, für den Fall das man es mal benötigt.

Hatte mir auch schon ein Video angesehen, aber so richtig hab ich es noch nicht kapiert (es wurde leider nicht detailiert auf die einzelnen Schritte eingegangen).

Daher wäre es echt toll wenn Roman mal ein Video (wie man zum Beispiel aus einem Ledger Seed seine Private Keys und Adresen anzeigen lassen kann) machen könnte. Ich denke, das würde auch einige andere da draußen und hier im Forum interressieren. :wink:

Da man das nicht tun sollte, halte ich es nicht für klug, dass Roman da ein Video zu macht :smiley: .

Aber im Grunde musst du ja nur deine 24 Wörter eingeben und alles weitere (z.B. die Keys/Adressen) bekommst du dann doch direkt angezeigt. Was soll Roman denn da zeigen? =D

  1. Ja das sollte man online tunlichst nicht benutzen. Man kann es aber auch offline installieren und benutzen. Das könnte man zeigen.
  2. Ich finde es ein ziemlich nützliches Tool, um dieses Mysterium mit dem Seed, den Derivation Paths und den zugehörigen BIPs anschaulich zu zeigen.

Roman hat das bereits in einem Frag den Trainer mal erklärt.

Allerdings weiß ich gerade nicht in welchem. Ihr müsstet selbst mal suchen xD

Ich weis, das es nur für den absoluten Notfall ist und das man es offline benutzen soll und den PC solange nicht ans INet anschließen soll bis man seine Coins recovert hat und in ein anderes sicheres Wallet geschoben hat.

Wenn es nur so einfach wäre. :wink:

Er hatte das auch mal kurz in einen seiner Videos gezeigt, aber genau da wo meine Wissenslücke ist hat er aufgehört. :joy:

Folgendes ist mir soweit klar:.

  1. Mnemonic Language → english
  2. BIP39 Mnemonic → meine 24 Wörter (ich nehme zu Üben natürlich nicht meine echten)
  3. BIP39 Passphrase → meine Passphrase
  4. Coin → zB. Bitcoin

Nun fangen meine Probleme an:

Derivation Path ist für Ledger laut Wallets Recovery [Beta] m/49'|84'/0'/0' also BIP49 in den Video, das ich geshen habe wurde BIP44 eingestellt. Was ist nun richtig für ein Ledger Wallet?

Was ist der Unterschied zw. BIP32 Extended Private Key un den unten stehenden Private Key? Kann man theoretisch schon den BIP32 Extended Private Key in ein kompatibles Wallet was Private Key import unterstützt eingeben?

Bei den Path gibt es in der Tabelle/ Übersicht ja aufsteigende Werte mit jeweils anderer Adresse/ Public Key/ Private Key:

m/49’/0’/0’/0/0

m/49’/0’/0’/0/1

m/49’/0’/0’/0/2

usw:

Welchen Private Key soll man da nehmen… das geht ja bis ultimo. Woher weis man welchen Pfad zu den Coins führt?

Man kann ja nicht alle durchprobieren.

@renna @nittels

Könnte bitte bitte :slightly_smiling_face: jemand von euch mir bei den noch offenen Fragen helfen?

Ich stehe da immer noch auf den Schlauch und würde das gern verstehen, nur um für den Fall, das ich das irgendwann mal benötige vorbereitet zu sein (würde es natütlich nur mit meinen Übungswallet testen).

Youtube bzw. andere Seiten sind da keine Hilfe, dort wird es wenn überhaupt sehr stiefmütterlich behandelt obwohl es in meinen augen ziemlich wichtig ist.

Ich denke du machst momentan noch gedanklich den Fehler, dass nur die ganzen Keys und Adressen standardisiert sind und woanders importiert werden können. Allerdings ist auch deine Seed Phrase (24 Wörter) mit Passphrase standardisiert. Du brauchst das Ian Coleman Tool also auch im Notfall nicht.

Das hängt leider davon ab, welchen Typ du bei der Einrichtung deiner Ledger Wallet ausgewählt hast. Wenn du in Ledger Live nachsiehst und den Namen deiner Bitcoin Wallet nicht geändert hast, dann steht da z.B. „Bitcoin (native segwit)“. Native Segwit würde bedeuten, dass du den Pfad m/84’/0’/0’ verwendest. Segwit wäre m/49’/0’/0’.
Du kannst das auch herausfinden, wenn du in Ledger Live auf dein Bitcoin Wallet gehst, dann rechts oben auf den Schraubenschlüssel „Edit Account“, dann auf „> ADVANCED“. In dem Feld unten siehst du dann einen Eintrag, der folgendermaßen lautet: "„freshAddressPath“: „84’/0’/0’…“.
Die erste Zahl (hier 84) gibt an, welchen Adresstyp du verwendest und bei Ian Coleman auswählen musst.

Aus dem BIP32 Extended Private Key können für feste Account und Change (Internal/External) Parameter alle Private Keys und Adressen abgeleitet werden. Du hast auch recht. Wenn ein Wallet direkt BIP32 Extended Private Keys importieren könnte, dann müsstest du keine einzelnen Private Keys importieren. Du müsstest aber dann den BIP32 Extended Private Key für Change=0 und Change=1 importieren.
Vergiss das lieber. Es gibt zwei wesentlich einfachere Methoden (empfohlen ist 1.):

  1. Importiere im Notfall doch direkt deine 24 Wörter und Passphrase in eine Wallet wie Electrum. Dort musst du dann nur noch den Pfad auswählen (z.B. m/84’/0’/0’ ), schon hast du deine gesamten Coins.
  2. Du importierst nicht den BIP32 sondern den Account Extended Private Key für den Account 0 in eine Wallet

Doch, das kann man. Und genau das macht auch deine Wallet-Software. Solange, bis auf mehreren Adressen hintereinander kein Guthaben vorhanden ist. Deshalb wie gesagt besser direkt die 24 Wörter woanders importieren.

1 „Gefällt mir“

@skyrmion

Super vielen Dank für die Erklärungen.

Ja, natürlich werde ich erstmal versuchen meine Coins über die 24 Wörter in ein anderes HW oder SW Wallet zu importieren. Nur brauch ich immer noch ein Backup vom Backup für den Fall das alle Stricke reißen :wink: Zudem habe ich das mit den Pfaden nun endlich kapiert. :grinning:

Das ist genau die Antwort die ich überall gesucht habe, dafür noch ein extra Danke!

Habe gerade mal in Ledger Live geschaut und nach deiner Anleitung festgestellt, das es weder in den Pfad m/84’/0’/0’/0/0 noch m/84’/0’/0’/0/1 sondern höher ist. :slightly_smiling_face:
Hätte ich das nicht gewusst, hätte ich sicher später im Notfall schon das Handtuch geworfen, weil ich einen Fehler meinerseits vermutet hätte.

Dann brauch ich nicht die einzelnen Pfade m/84’/0’/0’/0/0; m/84’/0’/0’/0/1; m/84’/0’/0’/0/2; m/84’/0’/0’/0/3 usw. abzuklappern…das macht dann Electrum sozusagen für mich?

Gerne!

Richtig!

2 „Gefällt mir“

Perfekt. :slightly_smiling_face:

@skyrmion

Jetzt habe ich doch noch Fragen, sorry.

Ich hatte vorgestern etwas auf mein Wallet überwiesen und dann mehr durch Zufall habe ich mir den Derivation Path ("„freshAddressPath“) in Ledger Live anzeigen lassen.

Da habe ich festgestellt, das der Zähler/Pfad um 1 gestiegen ist, also von z.B. m/84’/0’/0’/0/5 auf m/84’/0’/0’/0/6 gestiegen ist.

Ist das normal? Ich dachte der ist immer konstant.

Was ist mit den vorherigen Zählern/Pfaden (m/84’/0’/0’/0/0 bis m/84’/0’/0’/0/5)? Sind die noch aktiv?

Befinden sich die BTC nun auf allen Pfaden verteilt oder nur auf den letzten m/84’/0’/0’/0/6?

Der erste Teil des Pfads, also m/84’/0’/0’, bleibt bei einem Account konstant. Der Purpose (hier: 84) gibt bei Bitcoin an welchen Adresstyp du verwendest, bei dir native Segwit. Der Coin Type (hier: 0) ist in deinem Fall Bitcoin. Der Account (hier: 0) ist ein Zähler, falls du wirklich mehrere getrennte
Accounts (= „Konten“) verwenden willst, die dann eine unabhängige, eigene Balance haben.

Die letzten beiden Stellen, startend von /0/0 an, werden zum Durchzählen der Adressen deines Accounts verwendet. Sinn der Sache ist, dass du nicht immer wieder die gleichen Adressen verwendest. Damit ist es für deine Transaktionspartner nicht so einfach festzustellen, was du so transferiert hast und wie hoch deine Gesamtbalance ist. Außerdem wird beim Senden von einer Adresse der Public Key dieser Adresse veröffentlicht, was die Sicherheit dieser Adresse minimalst verringert.

Immer wenn du dir in Ledger Live eine Adresse anzeigen lässt, auf der du Bitcoin empfangen möchtest, zählt Ledger die zweite Stelle eins hoch und generiert die entsprechende neue Adresse (also /0/0, /0/1, /0/2 etc.).
Wenn du Bitcoin an andere transferierst, prüft die Wallet ob einer deiner Zahlungseingänge (UTXOs) genau passt. Es können immer nur komplette UTXOs versendet werden. Falls die Summe dann zu groß ist (Normalfall), erhältst du Wechselgeld; wieder auf eine neue Adresse. Auch hierfür zählt die Wallet jedes Mal eins hoch, allerdings den Pfad /1/0, /1/1, /1/2 etc.). Du hast also eine Kette von Empfangsadressen m/84’/0’/0’/0/n und eine Kette von Change Adressen m/84’/0’/0’/1/n, die aber alle zu dem einen Account m/84’/0’/0’ gehören.

Ist also ganz normal, dass Ledger das hochzählt.

Kann sein, muss aber nicht. Das hängt von deiner Transaktions-Historie ab. Wenn du immer wieder Bitcoin empfängst, aber selten sendest, dann werden viele dieser Adresse noch eine Balance haben.

2 „Gefällt mir“

Und wieder muss ich dir für deine klasse Erklärung danken. Du schaffst es tatsächlich immer wieder komplizierte Sachverhalte einfach und verständlich zu erklären. Vielen Dank. :slightly_smiling_face:

Ich möchte jetzt nicht extra ein neues Thema auf machen, also setze ich mich mal hier hinten dran:

Ich bereite gerade einen Geocache vor, wo es um das Thema Mnemonic Seed geht. Die Cachekoordinaten habe ich in den erste 23Wörtern „versteckt“, nun bräuchte ich noch das 24te Wort (Checksum), damit der Seed auch gültig ist. Kann mir mal fix jemand das 24te Word berechnen? Im Netz habe ich nur ein paar Scripte gefunden, aber damit kann ich nichts anfangen.

hier die Wörter:
abandon accident rough breeze chapter absent impulse crater wheat imitate thought book idea radio thumb alien achieve doctor rocket useful account admit educate

Ich bedanke mich im voraus

Ich habe das mal hier beschrieben:

Gibt es eine Möglichkeit, den Seed selbst zu bestimmen? - #16 von Franky123

1 „Gefällt mir“

Kannst dir eins aussuchen:

Zufällig passt hier satoshi, das wäre sicherlich die coolste Wahl. :D

Das Script dazu kann man auch runterladen:

3 „Gefällt mir“

definitiv. sehr schön und herzlichen dank