Hallo liebe Blocktrainer Gemeinde.
Kann man von einer Paperwallet beziehungsweise den Masterkey in 12 beziehungsweise in 24 umstellen? Und geht das auch umgekehrt?
Beispiel: btc1j5he3hiijhfzewf in 12/24 Worter?
Lg Roadrunner
Hallo liebe Blocktrainer Gemeinde.
Kann man von einer Paperwallet beziehungsweise den Masterkey in 12 beziehungsweise in 24 umstellen? Und geht das auch umgekehrt?
Beispiel: btc1j5he3hiijhfzewf in 12/24 Worter?
Lg Roadrunner
Nein, das geht nicht.
Wenn Du aktuell einen Seed mit 24 Wörtern hast und aus Gründen der Vereinfachung auf 12 Wörter reduzieren möchtest (was nicht nennenswert weniger sicher ist), dann musst Du eine neue Wallet mit 12 Wörtern anlegen und bekommst ganz neue Adressen. Du musst Deine Bestände dann auf die neue Wallet senden.
Du hast ja derzeit eine Paperwallet. Also nur einen PrivateKey und PublicKey etc.
Irgendwann hat man sich überlegt HDWallets einzuführen. Dort gibt es dann die 12 oder 24 Wörter und aus diesen wird dann ein Baum mit nahezu unendlich vielen PrivateKeys und Adressen abgeleitet.
Hier ist das ganz gut erklärt.
Ich glaube ich habe mich nicht präzise ausgedrückt. Letztendlich versuche ich einen Weg zu finden wie ich aus dem Key auf der Paperwallet (Beispiel: Btc1hJRhk75HjGRklgh…) in 24 Wörter umwandeln kann. Und wenn ja wie geht das?
Lg Roadrunner
Nein, das geht leider nicht.
Wenn überhaupt würdest du doch erwarten, dass man passende Wörter aus dem Private Key ermitteln kann, was aber eben nicht geht.
Wenn man allerdings sogar aus der Adresse, die du eingekreist hast, auf passende Wörter schließen könnte, dann wäre doch jeder, der die Adresse kennt, mit den ermittelten Wörtern in der Lage, deine Coins zu stehlen.
Ich hoffe mal du hast keine Sats auf dieser Wallet.
das war nur ne Beispiel Wallet… okay… dann muss ich die über Electrum einspeisen und auf meine Bitbox02 senden.
Ich hab nur etwas schiss weil die beträge nicht unerheblich sind
Wie macht Roadrunner das am besten/sichersten, ohne dass der PrivateKey seiner Paperwallet „hot“ wird? Ich meine bei der BitBox kann man nur 12/24 Wörter eingeben und nicht den rohen PivateKey um eine Wallet wiederherzustellen.
Soll eine Paperwallet gesweept, also vollständig geleert, dann ist der kurze „hotte“ Zustand nicht so entscheidend.
Er könnte einen offline PC nutzen, um die Transaktion zu bauen und zu signieren und dann per USB Stick und einem online Gerät zu broadcasten.
Aber da Paperwallets immer geleert werden und durch modernere Verfahren der Aufbewahrung ersetzt werden sollten, kann der Key ruhig hot werden.
Natürlich besteht dann das Risiko, dass er sofort durch eine manipulierte Software abfließt. Bei kleinen Werten würde ich dieses Risiko aus Gründen der Faulheit eingehen
Um meine Bitcoin - die auch nicht wenig waren - damals von meinen „Paper Wallets“ an meine neue Bitbox zu schicken, habe ich die Blue Wallet App verwendet.
Ich habe (gefühlt) dutzende Male über vertrauenswürdige Quellen gegengeprüft, ob ich die originale App installiert habe. Dann habe ich jeden Private Key einzeln mittels QR Code eingescannt und den Betrag sofort an eine Adresse der Bitbox geschickt. Dieses Prozedere habe ich mit jedem Key einzeln wiederholt.
Eine vertrauenswürdige Alternative wäre Bitcoin Core zu verwenden. Aber zum einen vermute ich dass du das nicht lokal laufen hast und zum anderen ist es dort etwas fummlig, sich Zugang zu einzelnen Adressen zu verschaffen. Aber es funktioniert.
Genau das war mein Gedanke
Es sind keine kleine Beträge mehr in Euro gerechnet 2018
Boah ist das Aufregend. Die Transaktion wird Angezeigt als Ausstehend
Ich hoffe, du hast die Gebühren gut bemessen
Die Spannung steigt. Noch keine Bestätigungen herrjemine.
Eigenverantwortung kann sich schon komisch anfühlen zeitweise.
Man bräuchte allerdings auch eine Internetverbindung, um die Transaktion zu bauen, zumindest kurzzeitig. Lokal hat die Wallet keine Informationen über die Adresse (es sei denn man hat lokal eine Node laufen ) und muss erstmal den konkreten UTXO kennenlernen, der überhaupt ausgegeben werden soll.
Bevor man den privaten Schlüssel importiert, sollte man also mithilfe der Adresse die Transaktion bis zur Signatur vorbereiten und dann erst offline gehen, Schlüssel eingeben und signieren.
In Electrum lassen sich dafür z.B. einzelne Adressen watch-only importieren und man kann entspannt die Transaktion erstellen und abspeichern. Anschließend dann die Transaktion in der Wallet inklusive Schlüssel mit Tools → Load transaction → From file öffnen und signieren.
Idealerweise exportiert man die signierte Transaktion dann über USB oder QR-Code und geht mit dem offline Rechner erst wieder online, nachdem die Transaktion bestätigt ist.
Für @Roadrunner scheint es dafür wohl zu spät zu sein, aber falls das in Zukunft mal jemand liest, wäre das eine gute Herangehensweise, um so „cold“ wie möglich zu bleiben. Gerade bei hohen Beträgen sollte man diesbezüglich kein Risiko eingehen – auch ein noch so kurzer Kontakt mit einem kompromittierten Rechner kann Totalverlust bedeuten.
Das war mir egal… mich hat es 24€ an Transaktion gekostet. Ich bin nur froh das ich meine alten Fehler korrigiert habe.
Ist alles durch…
Ich stelle auf jedenfall Fall fest das es noch viel zu lernen gibt. Ich hab noch Schwierigkeiten teilweise zu verstehen was technisch im Hintergrund abläuft
Lehrgeld zahlen wir alle. Mit 24€ bist du aber gut dabei
Zwar zu spät, aber das geht prinzipiell schon.
Ein private key sind auch nur 256 bits, die sich durchaus auf 24 Wörter mappen lassen (dann ohne Prüfsumme im letzten Wort). Das ist zwar fehleranfällig und entspricht nicht einem Wallet Seed, aber wenn es darum ginge (gegangen wäre) sich den Key einzuprägen, könnte man das schon machen.
Dafür müsste man einfach den hexadezimalen key in bits und die bits in 11er Blöcken in Wörter umschreiben. Auch wenn dabei nicht gerechnet werden muss, ist das wegen der fehlenden Prüfsumme und der händischen Arbeit sehr fehleranfällig und deshalb auf keinen Fall zu empfehlen.
Falls das hier doch jemand versucht, unbedingt auch den Rückweg kontrollieren, also die Wörter wieder auf jeweils 11 Bits mappen, zusammensetzen und danach die Bits in 16er Blöcken wieder auf hexadezimal schreiben.
Ersetzt man die fehlende Prüfsumme am Ende durch 0, ist das eine bijektive Abbildung.
Falls die Wiederherstellung doch misslingt, dann sind einzelne geflippte, fehlende oder überschüssige Bits per brute-force auffindbar. (Die Hilfe Dritter wäre dann sicherlich teurer als die Transaktionskosten für den Sweep)
Keine Empfehlung, aber machbar.
P.S. analog für Base58 encodierte Schlüssel.
P.P.S.: Eine kurze Anleitung als Erklärung.
Angenommen, die letzten zwei Bytes in hexadezimaler Schreibweise seien: '49fe'
.
In Binärdarstellung ergibt das: '0100 1001 1111 1110'
.
Diese sind dann in 11er Stücke zu gruppieren: '01001001111', '11110'
.
Weil das letzte Stück nicht ganz aufgeht, füllen wir mit Nullen auf: '01001001111', '11110000000'
. (Bei 256 Bits bleiben 3 Bits am Ende übrig: 256 Bits = (11 Bits * 23) + 3 Bits
).
Die Binärzahlen wandeln wir in Dezimalschreibweise um: '01001001111' -> 591
, '11110000000' -> 1920
.
Das sind die Wörter aus der Wortliste
591
: endorse
1920
: useful
Der Rückweg funktioniert ganz genauso:
erhalten wir die Indizes 792
für glass
und 2048
für zoo
.
In Binärdarstellung ist das '1100011000'
bzw. 100000000000
Weil das aber keine 11 Stellen ergibt, müssen wir links mit Nullen auffüllen (führende Nullen sind redundant). Bei zoo
, dem letzten Wort in der Liste erhalten wir 12 Stellen. Das liegt daran, dass wir bei 1 angefangen haben zu zählen. Das ist auch einer der Gründe, warum das Vorgehen nicht empfohlen werden kann. Es gibt keinen Standard dafür. Wir müssen uns merken, ob wir bei 0 oder bei 1 beginnen die Wörter durchzuzählen. In unserer Zählweise ist zoo
die Null.
Die beiden 11-stelligen Binärzahlen sind nun zu aneinanderzureihen: 0110001100000000000000
In den erhaltenen 22 Bits sind nur genügend Bits für eine Hexadezimalzahl, also 16 mit Rest 6. Bei 24 Wörtern bleibt ein Rest von 3 Bits, die alle Null sein sollten.
Die ersten 16 Bits ergeben in hexadezimal Schreibweise (0110 == 6
, 0011 == 3
, 0000 == 0
). Das wären also die ersten 4 Stellen des private key: 6300...
.