Gibt es eine Möglichkeit, den Seed selbst zu bestimmen?

Gibt es eine Möglichkeit die 24. Worte für meine wallet egal obr ledger bitbox paperwallet selbst zu bestimmen?

Hey showmaster :slight_smile:

Es gibt zum Beispiel einen „Mnemonic Code Converter“. Der generiert dir per Zufall deinen Seed.
Du solltest aber zur deiner eigenen Sicherheit die Offline-Version benutzen und darauf achten, dass dein System frei von Viren ist.

1 „Gefällt mir“

hi Showmaster
Die 23 Wörter kannst Du „schnell“ selbst generieren. Nimm vielleicht zwei 8er Würfel (zum wechseln) und würfel
PS: 43 bis 86 mal
und schreibe den Wert im Binärsystem auf. Dies ist der Zufall / Entropy den Du brauchst für deinen Seed. Die Webseiten sofern sie offline verwendet werden können helfen Dir leicht das richtige 24 Wort zu finden, welches Teil der Entropy ist und der Rest ist Checksumme. Die Bitbox02 soll jetzt oder demnächst die Funktion beinhalten nach der Eingabe von 23 Wörter die verbleibenden Möglichkeiten des 24 Wort stark einschränken, weil es nur die Wörter nimmt, die durch die richtige Checksumme möglich sind. Aber wisse was Du tust, sei es das die Webseiten runtergeladen werden, offline verwendet werden und dieses Betriebssystem danach gelöscht wird (Linux Live System auf USB Stick). Wenn du dann deine 24 Wörter hast, dann mit diesen dein Hardwarewallet wiederherstellen und Du hast dann nach meiner Meinung eine sehr gute Möglichkeit eines sicheren Seeds. Diese Entropie sollte eine ähnliche Anzahl von Nullen und Einsen beinhalten und kein Muster enthalten das erkennbar ist wie 01 im Wechsel. Und trotzdem nochmal zur Erinnerung. Wisse was Du tust und gehe das einige Male durch bis das Verständnis dessen gereift ist.
Lg

2 „Gefällt mir“

Das nächste BitBox Update wird genau diese Funktion bieten: Du kannst Deine eigenen 23 Mnemonic Wiederherstellungswörter eingeben, und die BitBox berechnet die Checksumme (das 24. Wort) und zeigt die 8 passenden Wörter zur Auswahl.

Natürlich darf man nicht einfach seine Lieblingswörter aussuchen (schlechte Zufälligkeit), aber wir werden eine genaue Anleitung bieten, wie man seine eigene Seed mit Casino-geprüften Würfeln werfen kann.

Stay tuned! :slight_smile:

4 „Gefällt mir“

Spitze! Das es so etwas nicht schon längst in die HW Wallets integriert gibt, ist eigentlich seltsam. Für mich die neue Referenzlösung.

2 „Gefällt mir“

Ja, ist echt krass, dass man aktuell noch irgendwelche Python-Skripte auf airgapped Laptops laufen lassen muss… :smile:

Wie soll jemand auf meine 23 lieblingsworte kommen?
Das sollte doch sehr sicher sein oder?

Die menschliche Psyche ist berechenbarer als Du glaubst und deswegen sind deine Lieblingswörter nicht der beste Zufallsgenerator.

1 „Gefällt mir“

Hi!

Bedeutet das, ich nehme mir wenn ich das möchte ein Buch meiner Wahl, zwei, drei oder vier Würfel, schlage random eine Seite auf und erwürfle mir so dann meine 23 Wörter? Sprich die müssen dann nicht zwingend Teil der BIP39 Liste sein? Falls ja, lässig. Sollt ich dann tunlichst nach wie vor drauf achten dass die ersten vier Buchstaben nicht ident sind, denn wenn ich das korrekt verstehe sollten die ja unique sein um eben mit den ersten vier Buchstaben das Wort zu haben. Oder hab ich da jetzt einen meiner vielen Verständnisfehler?

thnx

1 „Gefällt mir“

Wir werden eine exakte Schritt-für-Schritt Anleitung mit diesem neuen Feature bereitstellen. Die Idee ist, dass Du mit gutern Würfeln eine wirklich zufällige und gleichmässig verteilte Auswahl aus den gegebenen 2048 BIP39-Wörtern erzielst. Dazu musst Du exakt 11 Bit würfeln (2^11), was mit 6er-Würfeln gar nicht so einfach ist.

Ich rate definitv davon ab, einfach selber Wörter aus der Liste auszuwählen (Menschen sind unglaublich schlecht darin, einen zufällige Wahl zu treffen).

Und es ist wichtig zu sagen, dass dieses Feature nicht verwendet werden muss. Auch damit ist es kaum möglich, einen bessere Zufalls-Seed als die BItBox02 zu generieren (welche dank Open Source auch ncihts geheimes damit macht). Daher: entweder richtig zufällig, oder dann doch lieber einfach die BitBox02 machen lassen.

1 „Gefällt mir“

Man braucht nicht die 11 Bit würfeln. Man würfelt z.B. mit 2 8er Würfeln einfach die 256Bit Entropie oder die 128Bit Entropie was dann 86 oder 43 mal würfeln wäre. Finde die 8er Würfeln nicht schlecht, weil man mit denen 3Bit Entropie würfeln kann. Den zweiten 8er Würfel braucht man zum wechseln zwecks einer höheren Zufallsrate bei schlecht verarbeitetem Würfel.

Ich würde auch dringendst davon abraten! Vor allem wenn man den Fragen aus so manchen Beiträgen hier im Forum entnehmen kann, dass die Leute die entsprechenden BIPs gar nicht verstanden haben…
Paranoia gepaart mit Unwissenheit ist ein ganz schlechter Ratgeber und verursacht mehr Schaden als Nutzen…

Natürlich muss man der Firmware in der jeweiligen Hardware Wallet grundsätzlich vertrauen. Aber auch hier würde ich der Wallet den Vorzug geben, da man es selber gar nicht „besser“ oder „zufälliger“ hinbekommen würde. Und bei dem von Dir erwähnten „richtig zufällig“ sehe in der Praxis das viel größere Risiko…

Klar, rein technisch braucht man für den gesamten Seed nicht 23x 11 Bits würfeln. Wenn Du aber pro Würfelrunde genau auf ein spezifisches Wiederherstellungswort kommen willst, und nicht die gesamte 256 Bit-Zahl am Schluss umrechnen willst (eher schwierig im Kopf), dann halt schon.

Anyway, es geht mir ja auch weniger drum, andere Methoden kritisch zu beäugen (siehe auch diese Möglichkeit von Lunaticoin), sondern zu erläutern wie es mit der BitBox ohne weitere Hard- und Software geht. :slight_smile:

Du hast Recht und habe das am Anfang auch nicht gleich mit den 11Bits verstanden. Würde halt bei einer Würfelrunde 11 mal würfeln für 3 Wörter bis man die 21 Wörter voll hat. Dann 9 Mal würfeln und 2 Bits streichen. Das wären dann 7 mal 11 = 77 +9 = 86 mal würfeln. Das mit der Checksumme müsste ich mir noch anschauen. Falls das jemand mit der Checksumme verstanden hat. Ansonsten viel Erfolg weiterhin mit der Bitbox. Lg

1 „Gefällt mir“

Ich muss zugeben, dass ich beim Durchlesen des BIP39 das mit der Checksumme auch nicht auf Anhieb verstanden habe, da es doch recht theoretisch und ohne Beispiel beschrieben ist.

Versuchen wir mal, das Pferd von der anderen Seite aufzuzäumen. Ich verwende hier als Beispiel ein 24 Wort Mnemonic. Bei 12 Wörtern sieht es ein klein bisschen anders aus, das Prinzip bleibt aber das gleiche.

Was will man mit dem 24 Wort Mnemonic absichern?

Eine 256 Bit Zufallszahl.
Jetzt habe ich aber 24 Wörter, die jeweils aus 2048 Möglichkeiten bestehen.
2048 entspricht 11 Bit, weil 2^11 = 2048.
Also habe ich am Ende 24 Wörter x 11 Bit = 264 Bit.
Dann habe ich also 8 Bit zu viel, verglichen mit der ursprünglichen Zufallszahl von 256 Bit. Genau diese überzähligen 8 Bit werden mit der Checksumme gefüllt.

Wie wird diese Checksumme berechnet?

Entsprechend BIP39 wird die Checksumme aus der 256 Bit Zufallszahl berechnet, in dem aus dieser Zufallszahl zunächst ein Hash (SHA256) berechnet wird und von diesem Hash die führenden Bits als Checksumme verwendet werden. Es werden genau so viele führende Bits von dem Hash als Checksumme abgezwackt, wie oft die Zufallszahl durch 32 Bit teilbar ist.
Hintergrund: Dadurch bleibt das Endergebnis immer durch 11 Bit teilbar, weil N x (32 + 1) = N x 33 Bit.
Also bekommen wir 256 Bit / 32 = 8 Bit zusätzlich dazu. Da sind sie also wieder, unsere 8 Bit. Diese 8 Bit (=Checksumme) werden an die ursprünglichen 256 Bit angehängt, also haben wir wieder 264 Bit.

Wie komme ich jetzt von den 264 Bit zu den 24 Wörtern zurück?

Die 264 Bit werden in Blöcke aus 11 Bit zerteilt:
264 Bit / 11 Bit = 24 Blöcke.
Diese 24 Blöcke stellen die 24 Wörter dar, die man jetzt anhand der Wortliste aus der 11 Bit Zahl jeweils in ein Wort übersetzen kann.

Wie setzt sich also das letzte Wort zusammen?

Das letzte Wort (also das 24. Wort) besteht aus:

  • 3 Bit vom verbleibenden Rest der 256 Bit Zufallszahl [Z], weil 11 Bit x 23 Wörter = 253 Bit. Es fehlen also noch 3 Bit, bis die 256 Bit voll sind.
  • 8 Bit Checksumme [C]

Hier nochmal das letzte Wort bitweise (11 Bit) veranschaulicht (jeder Buchstabe steht für ein Bit):

Z Z Z C C C C C C C C

Deshalb kann man das letzte Wort der 24 Wörter also nicht zufällig aus der Wortliste auswählen, weil man sonst eine ungültige Checksumme bekommen würde.

Ich hoffe, ich habe das richtig beschrieben. So zumindestens verstehe ich BIP39.

2 „Gefällt mir“

Genau so sollte es sein. Sehr schön zusammengefasst!

Der Vollständigkeit halber hier der Link: bips/bip-0039.mediawiki at master · bitcoin/bips · GitHub

Das würde prinzipiell mit deinem 8er Würfel funktionieren. Allerdings hast du das Problem eben genau am Ende mit der Checksumme. Das ist kein Mathe-Problem, sondern ein Sicherheits-Problem.

Um den Hash für die Checksumme zu berechnen, müsstest du deine 256 Bit in einen PC eingeben. Dabei muss man aufpassen, dass man den HW-Wallet Vorteil nicht verspielt.

Man darf das also entweder nur mit einem frischen, sauberen Offline-PC machen.
Oder man verwendet die neue Funktion der Bitbox, so dass der Mnemonic niemals in einen PC eingegeben werden muss.

Wie die Funktion umgesetzt wird kann man ja noch überlegen. Entweder würfelt man die 3 Bit des letzten Worts noch mit aus, dann stehen alle Wörter fest. Die Bitbox müsste dann nur die Checksumme berechnen.
Oder man würfelt nur 23 Wörter aus. Dann müsste man 2^3 = 8 Wörter zur Auswahl angezeigt bekommen.

Ich würde es übrigens so machen (aus meiner Sicht möglichst zufällig und noch praktikabel):

  1. Ungerade Anzahl von n Standard Casino Würfeln mit sechs Seiten (für diese Standard Variante gibt es vermutlich die beste Qualität/Symmetrie)
  2. Jedes Bit einzeln auswürfeln:
    Ich werfe immer alle n Würfel gleichzeitig. Dann lese ich ab, ob die Mehrheit der Würfel eine gerade oder ungerade Zahl anzeigt. Mehrheit gerade ist dann z.B. Bit=0, ungerade Bit=1.
    Alternative:
    Ich lese ab, ob die Summe größer oder kleiner als n*3,5 ist.

Damit kann ich alle 256 Bit auswürfeln. Außerdem gleichen sich auf jedem einzelnen Würfel, und auf den Würfeln untereinander, die Asymmetrien teilweise aus. Je mehr Würfel desto besser (zentraler Grenzwertsatz).

https://iancoleman.io/bip39/
Bei Iancoleman habe ich z.B. die Entropie von
fe8606452c58bd5711ad1675cb4cfebd52a6f93ee8adb908c1ef2d3d0b39fb5b
Die Checksumme wäre dann
10100110 bei „Use Raw Entropy (3 words per 32 bits)“
oder
00111110 bei „24 words“
Ich kriege das nicht nachgerechnet.

@skyrmion > sauberen Offline-PC machen.

Würde das vielleicht auf einer Linux Live Distribution machen und einen zweiten USB Stick mit dem Tool von Iancoleman. Ging eher um das Verständnis wie es funktioniert.

@Franky123 Super erklärt, bis dahin war ich auch, aber das letzte Quäntchen an Verständnis fehlt mir leider noch.

Bei einer 265Bit Entropie hätte ich doch schon den ersten Buchstaben des 24zigsten Wortes, wenn mich nicht alles täuscht und bei nur 8 Wörtern zur Auswahl dürfte das richtige Wort dann dabei sein oder man gibt sich mit 23 Wörtern zufrieden als Zufall gewürfelt und das 24Wort aus Zufall von 8 Wörtern gewählt.

Bei 256 Bit Entropie stehen schon alle 24 Wörter fest. Wenn du dir das als Binärzahl hinschreibst, hast du vom 24. Wort schon die ersten drei Bit.
Dann hashst du diese 256 Bit Zahl mit SHA-256 und nimmst vom Hash die ersten 8 Bit. Diese hängst du an die drei vorhandenen Bit des 24. Wortes an, so dass du alle 11 Bit des Wortes hast.

Wenn du 256 Bit auswürfelst, aber nur die ersten 253 Bit in die Bitbox eingibst, dann ist in der Liste von acht Wörtern für das 24. Wort das entsprechende Wort dabei, das ist richtig. Du wirst aber ohne SHA-256 nicht herausfinden welches das ist. Das ist natürlich kein Weltuntergang.

1 „Gefällt mir“

@Stadicus Unabhängig von der Methode, die ihr vorschlagen werdet, wäre es super, wenn man die Bits einzeln eingeben könnte! Dann ist man bei der Methode flexibel.