Zum Inhalt springen

Wie ist eine Offline Paperwalleterstellung möglich?


Empfohlene Beiträge

Also was eine Paperwallet ist, ist mir klar.

Um maximale Sicherheit zu haben und trotzdem viel Komfort, habe ich  [...] zum erstellen mehrerer Wallets benutzt.

 

Einen PC neu installiert, darauf die Offlineversion von Bitcoinpaperwallet bei GitHub geladen, PC vom Internet getrennt, mehrere Paperwallets erstellt, ausgedruckt. PC gelöscht.

 

Ich frage mich nur,

1. Wie es technisch möglich ist, gülltige Paperwallets offline zu erstellen - Also Public Keys mit entsprechenden Private Keys, die im Bitcoin-Netzwerk Gültig sind, obwohl Offline erstellt.

 

2. Theoretisch muss es möglich sein, dass irgendwann mal 2x der gleiche Public Key erstellt wird. Hat diese dann automatisch den gleichen Private Key, wie der erste Public Key? Oder kann ein Public Key mehrere verschiedene Private Keys haben? 

 

3. Könnte man seinen Miner nicht einfach umfunktionieren, um Public/Private Keys zu finden? Vielleicht wäre das irgendwann einfacher, als Bitcoin-Blöcke damit zu finden? 30 Paperwallets waren sehr schnell mit Bitcoinpaperwallet erstellt. Man muss dann nur prüfen, ob auf der erstellten Paperwallet vielleicht schon was drauf ist.

 

Erkannt werden kann so ein Fall ja fast gar nicht, weil man einem Betroffenen immer vorwerfen kann, er hätte seinen Private Key weitergegeben/verloren.

 

Hat jemand sich mit dieser Thematik mal auseinandergesetzt und Antworten darauf?

 

Vielen Dank!

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich persönlich Nutze ungern Drittanbiter Software zum erstellen von Paperwallets, da bitcoin-core alle funktionen mitbringt. Das erstellen ist zwar nicht so komfortabel, aber in meinen Augen sicherer.

Darauf gehe ich weiter unten nochmal ein.

 

1.

Aus einem Private Key lässt sich ein Public Key über kryptographische Algorithmen generieren.

So muss dein Offline PC nur die Struktur eines Private Keys kennen, dir einen entsprechenden Private Key erstellen und daraus mit dem bekannten Algorithmus einen Public Key erstellen.

 

Hier kann sich nun ein 3. Anbieter einschleusen und die Generierung eines "Random" Private Keys manipulieren. Somit müsste dein Pc nicht online sein, der 3. könnte aber trotzdem an deinen Private Key kommen.

 

Das sowas passiert ist aber eher unwahrscheinlich, da der Code der Drittanbieter meist öffentlich ist.

 

Da ich (faul wie ich bin) mich aber nicht durch den Sourcecode lese, greife ich auf mittel zurück, bei denen ich sicher sein kann, das kein Schindluder getrieben wird.

 

 

2.

Ja, die Möglichkeit, das jemand anderes den gleichen Private Key generiert, besteht.

 

Da gab es vor kurzem mal eine Android App, die ihre Zufallszahl, zur Generierung des private Keys, von einer Website bezogen hat. Die Website gab durch eine technische Umstellung immer den gleichen Wert zurück, was zur Folge hatte, dass die User immer den gleichen private Key bekamen.

 

Durch die hohe Anzahl an Möglichkeiten ist sowas aber fast ausgeschlossen (Wahrscheinlichkeit kenne ich nicht exakt.), solange die Generierung richtig gemacht wird.

 

Ob es sein kann, das unterschiedliche Private Key den selben Public Key generieren kann ich garnicht genau sagen, da ich den Algorithmus nicht kenne.

€: Kurzes googlen hilft

There are 2^160 possible addresses, and 2^256 possible private keys, so each address corresponds to roughly 2^(256-160)=2^96 private keys.

Kurz: Ja

 

 

3.

Hier ähnlich, wie bei 2.

Man könnte, aber es dauert ewig.

Wie lange kann man aus den Werten oben berechnen. Das reine generieren dauert schon eine Weile, dann aber auch noch jede Adresse auf Bitcoins zu prüfen erhöht den Aufwand enorm.

 

Das gute: sollte das Berechnen mit Computern irgendwann zu schnell gehen und zu einem Problem werden, so kann einfach die länge der generierten Schlüssel angepasst werden und man hat wieder seine Ruhe.

Bearbeitet von cryptologe
  • Love it 9
  • Thanks 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

ich mache es wie Cryptologe. Paperwallets nur mit bitcoin-qt erstellenn.

 

ist auch sehr schnell gemacht. Es ist nicht viel langsamer als andere Möglichkeiten, wenn man etwas Übung damit hat. Wir hatten das Thema auch schon oft hier im Forum. Einfach mal nachsuchen.

 

Bei Fragen einfach Melden...

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

1. Das Stimmt natürlich... Theoretisch müsste der Anbieter einen Pool von z.B. 1000 Adressen anbieten und immer so tun, als würde es die Codes generieren, mir aber in Wirklichkeit einen der 1000 Adressen geben. Selbst könnte er irgendwann alle 1000 Adressen abgrasen.

 

2.

Du meinst das hier:

http://www.heise.de/security/meldung/l-f-Bitcoin-App-Blockchain-generierte-Gemeinschaftskonto-2678065.html

Davon habe ich auch schon gelesen...

 

2^96 =

7,922816251426430000000000000000E+28

 

Das ist ganzschön viel. Die Computerleistung steigt aber rasant an. Da ist es gut zu wissen, dass das System nötigenfalls erweiterbar ist.

 

Vielen Dank für deine ausführliche Antwort.

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Paperwallets lieber mit dem originalen Clienten oder selbst-kompilierter Software erstellen. Theoretisch kann jede Software ein Backdoor einbauen, sodass alle vom Programm generierten Bitcoin-Adressen (mehr als nur ein Pool von 1000 und auch die, die offline erstellt wurden) wiederhergestellt werden können:

http://www.coindesk.com/research-hackers-install-backdoor-bitcoin-cold-storage/

 

Auch wenn die Software Open-Source ist, heißt das noch nicht, dass sie auch wirklich sicher ist (siehe Heartbleed).

  • Love it 1
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo,

 

ich bin aktiver Mitleser, möchte aber heute zu diesem Thema gern etwas schreiben.

Paperwallet ist eine gute Form der Aufbewahrung von Bitcoins. Wie oben schon gesagt, kommt es bei der Erzeugung des Privaten Keys auf Quelle der Zufallszahlen an.

Richtig wurde schon auf versteckte Pools hingewiesen!
Wichtig zu wissen ist, dass jeder Zufallsgenerator auf einen Computer deterministisch ist! (Pseudozufallsgeneratoren)

Siehe: https://de.wikipedia.org/wiki/Zufallszahlengenerator#Deterministische_Zufallszahlengeneratoren

Ich nutze aus „alter Krytozeit“  einen echten physikalischen Zufallsgenerator. (Seit Edward Snowden sollte man wissen warum.)

Die erzeugte echte 256bit-Zufallszahl kannst Du dann in einen privaten Schlüssel umwandeln (ist nur ein anderes Format), fertig.

(Hinweis: Entropie beachten und nur von 0x1 bis 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 nutzen.)

Da jetzt nicht jeder einen echten physikalischen Zufallsgenerator zu Hause hat, kannst Du auch einfach Würfel benutzen. Mit 6 Würfel 32-mal gewürfelt, umrechnen in eine 256-bit Zahl, schon hat man ein echten zufälligen Schüssel.  ;-)

Es kommt natürlich immer auf die Summe der Bitcoin an, die man dann auf einer Paperwallet lagert.

 

Zum QR-Code. Es gibt ein JavaScript, der QR-Code generiert. Mal googlen.
Oder Du nutzt OFFLINE bitaddress.org dafür. (Walletdetails)

 

Gruß Axiom

 

PS: Zufallszahlen, die durch Maus wackeln oder über die Tastatur erzeugt werden sind unsicher. Ich sag nur Tastaturpuffer. *grins*

  • Love it 4
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

erstmal danke für die links...

 

leider werde ich immer noch nicht recht schlau draus -> wie ich nun selber via hand ein private key erstelle und daraus dann die wallet id wird...

gibt es dazu iwo etwas zu lesen? habs bisher leider nicht gefunden.... mich würde nun nach langer zeit doch mal interessieren, wie das ganze eig. läuft...

 

hehe...

Bearbeitet von azu393
Link zu diesem Kommentar
Auf anderen Seiten teilen

erstmal danke für die links...

 

leider werde ich immer noch nicht recht schlau draus -> wie ich nun selber via hand ein private key erstelle und daraus dann die wallet id wird...

gibt es dazu iwo etwas zu lesen? habs bisher leider nicht gefunden.... mich würde nun nach langer zeit doch mal interessieren, wie das ganze eig. läuft...

 

hehe...

 

Willst du das gesamte mathematische Verfahren haben und verstehen?

Link zu diesem Kommentar
Auf anderen Seiten teilen

erstmal danke für die links...

 

leider werde ich immer noch nicht recht schlau draus -> wie ich nun selber via hand ein private key erstelle und daraus dann die wallet id wird...

gibt es dazu iwo etwas zu lesen? habs bisher leider nicht gefunden.... mich würde nun nach langer zeit doch mal interessieren, wie das ganze eig. läuft...

 

hehe...

Hier hat Axiom eigentlich schon erklärt, wie es geht:

 

Mit 6 Würfel 32-mal gewürfelt, umrechnen in eine 256-bit Zahl, schon hat man ein echten zufälligen Schüssel. ;-)

  • Love it 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

nur die wallet erstellung betreffend -> schön langsam anfangen.... ^^... :)

 

Wenn du als Werkzeug den originial Bitcoin Client nutzen möchtest, geht das folgendermaßen:

 

Du geht auf Empfangen und klickst so oft auf "Zahlung anfordern" wie du Bitcoin Schlüssel haben möchtest.

 

Dann [x] Vorhandene Empfangsadressen wiederverweden (nicht empfohlen) anklicken

 

Dann Siehst du alle Deine Empfangsadressen.

 

die kopierst du Dir in eine Textdatei in einen Editor (notepad (editor) oder so)

 

hier kopierst du mit copy / paste jede Zeile (Zeile auswählen, rechte Maustaste / Adresse kopieren.)

Diese Zeile für Zeile in die Textdatei einfügen.

 

Das Fenster schliessen

 

Dann auf Hilfe / Debugfenster gehen

 

Konsole auswählen

 

das Kommando help zeigt dir alle möglichen Befehle an.

 

Wenn du die wallet mit einem Kennwort geschützt hast, musst du sie erst freischalten mit (beispiel schaltet für 180 Sekunden frei)

 

walletpassphrase MeinGeheimesWort 180

 

Dann dumpprivkey (Beispiel: )

dumpprivkey 15LGwPcRsWiYoFevwZS48rZtkEJf8vKV6M 
 
Als Antwort kommt der private Schlüssel für die Adresse:
 
KywTcU3CYgbSuoiH9zF6qUPDM7keqLsqcS235CACkUJLGRcQVHbm
 
Diesen dann mit Copy / Paste in die Textdatei kopieren, fertig.
 
 
Einlesen geht mit:
 

walletpassphrase MeinGeheimesWort 180

importprivkey KywTcU3CYgbSuoiH9zF6qUPDM7keqLsqcS235CACkUJLGRcQVHbm AlleMeineBitcoins
 
Ich hoffe ich habe Deine Frage richtig verstanden.
 
Wenn du den Schlüssel manuell erstellen willst brauchst du "nur" eine beliebige Zeichenkettte mit z. Bsp SHA256 in das richtige Format für einen Schlüssel bringen (256 Bit) und fertig.
Um ihn zu nutzen musst du ihn noch mit "Base58" kodieren.
 
Der Bitcoin Client macht das alles automatisch. :)
 
QR code mache ich mit:
 
Damit kann man sich ganz simple eigene sichere offline Paper wallets machen...
 
Sollten Fragen sein, einfach melden :)
  • Love it 7
Link zu diesem Kommentar
Auf anderen Seiten teilen

@fjvbit

erstmal großen dank für die ausführliche anleitung... wow....

 

den bitcoin qt würde ich gern hierbei mal weglassen.... geht mir darum wie es wirklich via hand läuft... werde doch ab und an mal gefragt und es nervt dann nicht ne super antwort mit ggf. beispiel zu haben.... :)

 

okay... dann habe ich nun also meinen private key -> wie bekomme ich aus diesem nun meinen pub key ?

Bearbeitet von azu393
Link zu diesem Kommentar
Auf anderen Seiten teilen

@fjvbit

erstmal großen dank für die ausführliche anleitung... wow....

 

den bitcoin qt würde ich gern hierbei mal weglassen.... geht mir darum wie es wirklich via hand läuft... werde doch ab und an mal gefragt und es nervt dann nicht ne super antwort mit ggf. beispiel zu haben.... :)

 

okay... dann habe ich nun also meinen private key -> wie bekomme ich aus diesem nun meine walled id ?

 

was meinst du mit walled id?

 

Die öffentlich Adresse?

 

Die erhälst du so:

 

https://de.wikipedia.org/wiki/Bitcoin#/media/File:Bitcoin_Address.png

 

Das macht man nicht mal eben von Hand...

  • Love it 5
Link zu diesem Kommentar
Auf anderen Seiten teilen

mh.... das wäre auch zu schön gewesen....

 

wenn noch jemand ne einfache methode auf lager hat - > "hier"

 

ansonsten erstmal danke...

 

das umwandeln vom schlüssel in die öffentliche Adresse beherscht jeder Bitcoin Client, den ich kenne:

 

bitcoin-qt, multibit, blockchain.info online wallet usw....

 

du könntest also einfach einen Client als tool nutzen.

 

Oder auch diverse Scripts von Webseiten...

 

Möchtest du das unbedingt von Hand machen?

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

das umwandeln vom schlüssel in die öffentliche Adresse beherscht jeder Bitcoin Client, den ich kenne:

 

bitcoin-qt, multibit, blockchain.info online wallet usw....

 

du könntest also einfach einen Client als tool nutzen.

 

Oder auch diverse Scripts von Webseiten...

 

Möchtest du das unbedingt von Hand machen?

via hand ist halt für viele sehr greifbar und nicht so unfassbar digital....

 

ansonsten würde ich bitadress.org als bsp. zur seite nehmen oder gibt es bessere möglichkeiten...

 

das ding ist halt -> ein klick und alles ist da.... hehe.... was ja eig auch der vorteil ist....

in dem fall bringt das dann aber "und wie hat er das nun gemacht" zu tage.... :rolleyes:

  • Love it 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Entscheidend ist doch, dass du den Private Key nicht durch einen Service generiert hast, der dir eine Random-Zeichenfolge durch PRK-Generierung erzeugt, sondern es durch z.B. Würfel realer/echter Zufall ist.

 

Aus dem Private Key kannst du dann an einem offline PC z.B. via bitcoin-core den Public Key erzeugen.

 

Warum man diesen erechnen will, außer um zu verstehen, wie es geht, erschließt sich mir nicht...

  • Love it 4
Link zu diesem Kommentar
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...

Wichtige Information

Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.