Man „braucht“ nicht explizit 256 bit. Das ist halt eine gängige Größe die so im Standard festgelegt ist. Die Mnemonic wird so oder so auf einen 512 bit Seed gestreckt aus welchem dann erst die Schlüssel deriviert werden. Das Ableiten der privaten Schlüssel sollte man gedanklich trennen von Mnemonic bzw. Seed. Ich kann theoretisch bereits aus einem einzigen Seed alle privaten Schlüssel ableiten (da ich beliebig viele Schlüssel ableiten kann) und ich kann natürlich auch ohne Seed nach privaten Schlüsseln suchen. Das letzteres i.d.R. der effizientere Angriff ist wurde ganz oben im Thread von @skyrmion erklärt.
Das letzte Wort wird halt als Prüfsumme für Fehlererkennung genutzt, daher der „Verzicht“ die letzten Bit der Mnemonic zufällig zu wählen.
Tatsächlich ist der Vorteil von 24 gegenüber 12 Wörtern in meinen Augen vernachlässigbar, zumindest was Sicherheit vor generischen Angriffen angeht. Der Unterschied von 2128 zu 2256 ist zwar gigantisch, aber nicht wirklich relevant, da ich an anderer Stelle immer „nur“ eine Sicherheit von 128 bit habe, nämlich bei den privaten Schlüsseln selbst, das ist durch die in Bitcoin verwendete Krypto so gegeben, sobald ich den öffentlichen Schlüssel kenne (wovon man ausgehen muss).
Ein privater Schlüssel ist immer 256 bit groß. Aber Schlüssellänge ist nicht automatisch gleich Entropie!
Wenn der ursprüngliche Zufall der in deiner Mnemonic steckt nur 32 bit groß ist (also 3 Wörter) dann haben die privaten Schlüssel in den Standardaccounts auch nur eine Entropie von 32 bit. Die Länge dieser Schlüssel kann mir herzlich egal sein wenn ich einfach nur 232 Wörterkombinationen ausprobieren muss um die richtigen abzuleiten.
Genau der Punkt ist eben dass diese Aussage auch schon bei 12 Wörtern zutrifft.
Alle möglichen Seeds kannst du auch mit 24 Wörtern nicht abbilden, da der Seed eben 512 bit groß ist. Um wirklich alle Seedwerte abzubilden (was natürlich vollkommen sinnlos ist) brauchst du die optionale Passphrase.
Das ist nur Klugscheisserei meinerseits, du meinst natürlich das Richtige…
Da es den Nutzer eigentlich nichts kostet 24 statt 12 (oder eine der anderen Längen) zu verwenden ist es sicherlich nicht sinnlos das auch zu tun. Wenn man z.B. seine Mnemonic sinnvoll aufteilen will braucht man 24 Wörter.
Oder allgemeiner: 12 Wörter sind an sich (aus mathematischer Sicht) zwar ausreichend, sollte aber ein Teil der Mnemonic aus welchem Grund auch immer kompromittiert werden steht man direkt am Abgrund. Mit 24 Wörtern ist der Spielraum deutlich größer. Auch die Qualität des Zufalls spielt hier eine Rolle.
Peter Wuille hat das hier etwas kompakter aufgeführt:
Frohes Neues!