Zum Inhalt springen

Wie ist eine Offline Paperwalleterstellung möglich?


Empfohlene Beiträge

Hallo,

 

Du hast ja schon sehr gute Antworten hier erhalten. Lass mich auch noch ein paar Zeilen dazu schreiben…

 

Das entscheidende Geheimnis bei Bitcoin ist der Private Key.

Dieser sollte immer nur Dir allein bekannt sein, bei Dir lokal lagern und auf sicherem Wege erzeugt werden!

 

Nimm eine Münze, werfe sie hoch und schau nach den Runterfallen, was oben liegt.
Bei einer Zahl schreibe Dir eine 1, bei Kopf eine 0 auf einen Zettel.

Dies tue 8-mal. Die Zahlen schreibst Du hintereinander auf.
Jetzt hast Du ein Byte (8Bit) in binärer Schreibweise zufällig erzeugt. Schreibe dies jetzt in Hexadezimal (00-FF) auf einen anderen Zettel.

 

Den Vorgang oben (Münzwurf) machst Du 32-mal, wobei Du die Hexa-Zahlen direkt hintereinander schreibst.

Es kommt dann zu Beispiel so etwas raus: 269229F12724D373925983E7281E6232EB0077D20870100C231BDF6593927C5B

 

Das ist Dein neuer, echt zufällig erzeugter, Private Key! (Hexadezimal)
Diesen kann man auch in anderen Formaten schreiben, z.B. Base(64) oder Base(58) (Ist das gleiche wie Base(64), nur ohne verwechselbare Zeichen.)

Auf bitaddress.org z.B. kannst Du Dir die verschieden Formate ansehen und umwandeln.

Dein Public Key (öffentliche Schlüssel) wird durch mehrfaches hashen Deines Privaten Keys erzeugt.

Dein Public Key Adresse (öffentliche Schlüssel) wird durch mehrfaches hashen Deines ECDSA Public Keys erzeugt.

 

Genutzt wird dazu SHA(256) und RIMEND(160), zwei als sicher angesehenen Hash Algorithmen.
Der Grund des mehrmaligen Hash und das man noch RIMEND160 mit rein genommen hat, ist die Sicherheit. Sollte irgendwann SHA(256) als nicht mehr sicher gelten, ist RIMEND(160) zusätzlich noch dabei.

 

Als Ergebnis erhältst Du eine Art „Fingerabdruck“ (fingerprint) der genau Deinen Privaten Key identifiziert, ohne dass man daraus Dein Privaten Key wieder zurück rechnen kann.
So läuft es in übrigen auch bei digitalen Signaturen.

 

Aus den „Fingerabdruck“ wird noch durch zweimaliges hashen eine Checksumme ermittelt und gekürzt hinten dran gehängt. Durch diese Checksumme werden Tippfehler etc. vermieden.
Umgewandelt in Base(58), Kennnummer davor, fertig.

 

Mit Würfeln geht es natürlich schneller als per Münzwurf. :D

 

Die Erzeugung des Public Key kannst Du übrigens getrost einem Programm überlassen.
Unter Hash SHA(256) und RIMEND(160) findest Du im Internet weiterführende Details zu den Algorithmen.

 

Axiom

 

Änderung: ECDSA Public Keys hinzu gefügt.

Bearbeitet von Axiom0815
  • Love it 7
  • Like 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Axiom0815

 

besten dank... das schonmal echt ne super hilfe und beschreibung... das haut soweit schonmal sehr gut hin...

eine kleine frage habe ich jedoch noch.... in welcher reihenfolge und wie oft muss nach der erstellung des private key -> nun gehashed werden und remind werden ?

Bearbeitet von azu393
Link zu diesem Kommentar
Auf anderen Seiten teilen

How to create Bitcoin Address

0 - Having a private ECDSA key

   18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

1 - Take the corresponding public key generated with it (65 bytes, 1 byte 0x04, 32 bytes corresponding to X coordinate, 32 bytes corresponding to Y coordinate)

   0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

2 - Perform SHA-256 hashing on the public key

   600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

3 - Perform RIPEMD-160 hashing on the result of SHA-256

   010966776006953D5567439E5E39F86A0D273BEE

4 - Add version byte in front of RIPEMD-160 hash (0x00 for Main Network)

   00010966776006953D5567439E5E39F86A0D273BEE

(note that below steps are the Base58Check encoding, which has multiple library options available implementing it)

5 - Perform SHA-256 hash on the extended RIPEMD-160 result

   445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094

6 - Perform SHA-256 hash on the result of the previous SHA-256 hash

   D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30

7 - Take the first 4 bytes of the second SHA-256 hash. This is the address checksum

   D61967F6

8 - Add the 4 checksum bytes from stage 7 at the end of extended RIPEMD-160 hash from stage 4. This is the 25-byte binary Bitcoin Address.

   00010966776006953D5567439E5E39F86A0D273BEED61967F6

9 - Convert the result from a byte string into a base58 string using Base58Check encoding. This is the most commonly used Bitcoin Address format

   16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM

Quelle: https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses

Da findest Du auch mehr dazu. Leider nur in Englisch.

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

Satoshi Nakamoto hat sich sowas ausgedacht? Ein richtiger Freak, oder?! Na gut die Verschlüsselungsalgorithmen gabe es vielleicht schon, aber trotzdem...
 

Also habe ich es richtig verstanden?:

Aus einem Private Key kann ich einen Public Key erstellen?

 (Oder sind mehr Möglich? - Wenn er nur ein Hashwert ist, Sind ja Kolisionen möglich (ein Ergebnis "7" kann ich ja zum Beispiel durch 3,5x2 oder duch 3+4 oder durch 5+2 bekommen))

 

Danke übrigens für eure Rege Beteiligung durch Antworten und tiefer greifende Fragen, an euch alle. Vor allem, dass Axiom0815 als aktiver Mitleser sich auch mal eingemischt hat. Seine Antworten waren für mich besonders hilfreich.

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

Satoshi Nakamoto hat sich sowas ausgedacht? Ein richtiger Freak, oder?! Na gut die Verschlüsselungsalgorithmen gabe es vielleicht schon, aber trotzdem...

 

Also habe ich es richtig verstanden?:

Aus einem Private Key kann ich einen Public Key erstellen?

 

Ja korrekt :D

 

Vor allem, dass Axiom0815 als aktiver Mitleser sich auch mal eingemischt hat. Seine Antworten waren für mich besonders hilfreich.

 

 

Gerne. *rotwerd* :wub:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Betonung sollte auf EINEN liegen. Ist es möglich mehrere Public Keys zu ein und demselben Private Key zu erstellen? Weil ein Hashwert theoretisch nur ein Ergebnis ist. Zu diesem Ergebnis könnte man auf verschiedene Wege kommen  :huh: oder?

 

Hmm, man kann zwei Public keys aus einem Private Key erstellen, einen komprimierten und einen unkomprimierten.  Im Grunde ist es aber derselbe Key, er hat nur einen anderen Hash und damit eine andere Adresse.   Allerdings ist in der Base58-Darstellung des private keys schon kodiert, ob der public key komprimiert oder unkomprimiert werden soll.  Sprich jeder wohlgeformte Base58-kodierte Private Key hat genau eine zugehörige Bitcoinadresse.  

 

Public Key = private-key * G,  wobei G ein fester Punkt auf der elliptischen Kurve ist und * eine Multiplikation insbesondere eine Operation die für die gleichen Eingaben immer das gleiche Ergebnis liefert.

 

Da es aber viel mehr private keys als Adressen gibt, folgt umgekehrt, dass jede Adressen mehrere Private Keys hat.   Das ist aber eher theoretisch; praktisch ist es sehr aufwändig zwei private keys mit der gleichen Adresse zu generieren (und es würde auch nichts bringen, man kann das Geld trotzdem nur einmal ausgeben).

Bearbeitet von joho
Link zu diesem Kommentar
Auf anderen Seiten teilen

How to create Bitcoin Address

0 - Having a private ECDSA key

   18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725

1 - Take the corresponding public key generated with it (65 bytes, 1 byte 0x04, 32 bytes corresponding to X coordinate, 32 bytes corresponding to Y coordinate)

   0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6

 

Da bereits aus dem Public Key der private Key nicht so leicht berechnet werden kann, kann man beim Versuch eine sichere Paperwallet offline zu berechnen die verbleibenden Schritte auch auf einen unsicheren Computer ausführen. "Nicht so leicht" ist ein Euphemismus;  es ist relativ einfach die public keys von ein paar Adressen nachzuschlagen, die über 1000 Bitcoin enthalten, trotzdem hat noch niemand den zugehörigen private key geknackt.   Also muss man nur diesen ersten Schritt per Hand machen.

 

Allerdings ist dieser erste Schritt der aufwändigste.  Auf meinem Trezor braucht er 37 ms bei 120 MHz.  Also 4,5 Millionen Takte.  Der Prozessor braucht nur wenige Takte um zwei neunstellige-Zahlen zu addieren, also brauchst du per Hand wahrscheinlich mindestens einige Millionen Sekunden für die Berechnung. Das sind ein paar Wochen. Insgesamt musst du etwa 1000 Multiplikationen von 77-stelligen Zahlen durchführen.

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

Die Betonung sollte auf EINEN liegen. Ist es möglich mehrere Public Keys zu ein und demselben Private Key zu erstellen? Weil ein Hashwert theoretisch nur ein Ergebnis ist. Zu diesem Ergebnis könnte man auf verschiedene Wege kommen  :huh: oder?

 

Hallo,

 

1 privaten Key = max. 1 public Key !!!

 

Aber

1 public Key = mehrere private Keys.

 

Das  ist eine theoretische Frage in der Kryptografie.

Da der private Key 256-bit hat, der public Key aber nur 160-bit (RIPEMD-160) gibt es theoretisch mehrere Möglichkeiten.

Das Problem nennt man Kollision und in der Kryptografie geht es hier um  

Die Hashfunktionen SHA-256 und RIPEMD-160 gelten nach heutigem Stand als relativ sicher.

Und wie Du oben siehst werden sie auch noch mehrfach eingesetzt.

 

Kann aus den public Key also der private Key angegriffen werden?

Ja, mit einem Quantencomputer.

Aber so weit sind wir bis jetzt noch nicht und wenn es so weit ist, werden entsprechend neue sichere Algorithmen eingesetzt.

 

Gruß Axiom

 

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

wirklich einer der mit abstand besten threads hier im forum -> wir haben das ganze nun mal durchgespielt.... vom private key bis zum public key.... nix für mal eben via hand, das richtig... war aber sehr interessant..... der der eig. hinter der frage stand -> hat sich nun sogar ein kleines tool erstellt womit er seine offline wallets (paper wallets) in sekundenschnelle auf dem btc rechner erstellen kann.... also alles fertig, nur noch drucken und gut....  top...

 

vielen dank an alle die mitgewirkt haben... besonders Axiom0815 :)

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

Interessanter Thread obwohl ich das meiste nicht versteh :D

Wenn Ich jetzt einen private Key (z.B. via bitcoinpaperwalletgenerator) erstelle und diesen verschlüssele, benötigt man dann das Passwort um an die Coins zu gelangen oder nur für die Entschlüsselung. (Denke 2., aber weiß es nicht genau)

 

Und noch ne Frage: Können verschiedene Bitcoin Qt´s bzw. die einzelnen privaten Adressen dann auch dieselben private Keys besitzen? Wäre ja dann theoretisch auch möglich oder nicht? (Irgendwie hat man nach all dem noch Angst ein Paperwallet zu erstellen)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Interessanter Thread obwohl ich das meiste nicht versteh :D

Wenn Ich jetzt einen private Key (z.B. via bitcoinpaperwalletgenerator) erstelle und diesen verschlüssele, benötigt man dann das Passwort um an die Coins zu gelangen oder nur für die Entschlüsselung. (Denke 2., aber weiß es nicht genau)

 

Und noch ne Frage: Können verschiedene Bitcoin Qt´s bzw. die einzelnen privaten Adressen dann auch dieselben private Keys besitzen? Wäre ja dann theoretisch auch möglich oder nicht? (Irgendwie hat man nach all dem noch Angst ein Paperwallet zu erstellen)

Praktisch kann das nur passieren, wenn man manuell die gleichen private Keys in mehrere Clients importiert.

 

Die Wahrscheinlichkeit, dass 2 gleiche öffentlich Adressen produziert werden ist kleiner als 6 Mal direkt hintereinander 6 Richtige im Lotto zu haben

=>vernachlassigbar klein.

 

Aber trotzdem kann man seine Bitcoins auf verschiedene Adressen verteilen.

 

So wird das theoretische Risiko noch einmal reduziert.

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

Das ist jetzt spannend...

 

1 privater Key = max. 1 public Key !!!

 

Aber

1 public Key = mehrere private Keys. 

 

Wenn es jemand schafft, zwei private Keys zu einem Public Key zu finden... ich weiß, das ist unwahrscheinlich.

Aber wenn es jemand schafft, wo landet dann ein Bitcoin, den ich an den Public Key gesendet habe???

 

Hätte ich dann ein Bitcoin-Verdopplungssystem?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Frage ist sehr, sehr theoretisch!

 

Aber dann hättest Du eine öffentliche Adresse mit zwei Privaten Keys. Jeder der beiden kann zugreifen und mit seinen Schüssel bezahlen. Der erste siegt.

Wie ein Briefkasten mit zwei Schlüsseln. Jeder der beiden kann die Post raus holen.

 

Axiom

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

Das ist schwer zu verstehen...

 

Die "Post" liegt in zwei Fächern. Wenn ich sie aus einem Fach herausnehme, ist die automatisch aus dem zweiten Fach auch raus genommen, richtig?

 

Ich merke gerade, dass ich die Auszahlung eines Bitcoin noch garnicht richtig verstanden habe...

 

Deshalb noch mal das Prinzip, wie ich es mir jetzt vorstelle:

 

Adresse "PublicKey123456" ist die Einzahlungsadresse zu zwei Privatekeys, nämlich "Privatekey1" und "Privatekey2".

Die Überweisung eines Bitcoins an "PublicKey123456" hat zur Folge, dass in beiden Adressen "Privatekey1" und "Privatekey2" je einen Bitcoin gutgeschrieben wird.

Wenn ich aus "Privatekey1" einen Bitcoin versende, wird in der Blockchain vermerkt, dass "Privatekey1" jetzt einen Bitcoin weniger hat. Aber woher weiß die Blockchain, dass "Privatekey2" jetzt auch einen Bitcoin weniger hat?

 

Das kann ja nur möglich sein, wenn Einzahlungs-Public Key = Auszahlungspublic Key. Aha.

So ganz gleich können sie ja irgwendwie doch nicht sein, weil Bitcoin.de zum Beispiel Probleme mit Rücküberweisungen von Bitcoins hat. 

 

 

Wichtige Hinweise:

Führen Sie keine Rücküberweisungen aus! Eine "Absenderadresse", die mit der Transaktion einer Auszahlung verbunden ist, stellt keine Einzahlungsadresse dar. Für etwaige (Rück-)Überweisungen von Bitcoins können nur die angezeigten Einzahlungsadresse genutzt werden. Dienste wie beispielsweise SatoshiDice können mit Ihrem Online-Wallet somit nicht genutzt werden. Für mögliche Verluste bei Zuwiderhandlungen wird kein Ersatz geleistet.

Sollte es dennoch zu Rücküberweisungen kommen, können Sie eine Nachforschung beauftragen. Hierfür sind von Ihnen (unabhängig von der Bitcoin-Summe) 29,95 € als Arbeitsaufwandsentschädigung per Vorkasse zu entrichten. Eine Erstattung der BTC-Rücküberweisung kann jedoch auch bei einer Nachforschung nicht garantiert werden!

 

In der Bitcoin Core Software sieht es so aus, als wären mehrere Public Keys miteinander verknüpft. Aber das sind bestimmt alles eigenständige Keys, die nur von der Software verwaltet werden...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das ist schwer zu verstehen...

 

Die "Post" liegt in zwei Fächern. Wenn ich sie aus einem Fach herausnehme, ist die automatisch aus dem zweiten Fach auch raus genommen, richtig?

 

Ich merke gerade, dass ich die Auszahlung eines Bitcoin noch garnicht richtig verstanden habe...

 

Deshalb noch mal das Prinzip, wie ich es mir jetzt vorstelle:

 

Adresse "PublicKey123456" ist die Einzahlungsadresse zu zwei Privatekeys, nämlich "Privatekey1" und "Privatekey2".

Die Überweisung eines Bitcoins an "PublicKey123456" hat zur Folge, dass in beiden Adressen "Privatekey1" und "Privatekey2" je einen Bitcoin gutgeschrieben wird.

Wenn ich aus "Privatekey1" einen Bitcoin versende, wird in der Blockchain vermerkt, dass "Privatekey1" jetzt einen Bitcoin weniger hat. Aber woher weiß die Blockchain, dass "Privatekey2" jetzt auch einen Bitcoin weniger hat?

 

Das kann ja nur möglich sein, wenn Einzahlungs-Public Key = Auszahlungspublic Key. Aha.

So ganz gleich können sie ja irgwendwie doch nicht sein, weil Bitcoin.de zum Beispiel Probleme mit Rücküberweisungen von Bitcoins hat. 

 

 

 

In der Bitcoin Core Software sieht es so aus, als wären mehrere Public Keys miteinander verknüpft. Aber das sind bestimmt alles eigenständige Keys, die nur von der Software verwaltet werden...

Das Netzwerk kennt nur: PublicKey123456

 

Das wäre die Adresse.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo Reinebuttermilch.

 

Ich glaube Du hast das Prinzip vom Bitcoin als Währung und System noch nicht richtig verstanden.
Lies Dich dazu noch nochmal ein.

 

Bei Dein Beispiel Bitcoin.de ist das was ganz anderes. Hier geht es darum, per Einzahlungsadresse den wirklichen Einzahler zu Identifizieren. Die Auszahlungsadresse zahlt an mehre Kunden.

 

Zurück zu Bitcoin:

Als erstes Mal der Schock: Ist gibt keine Bitcoins!
(Was es nicht gibt, kann man auch nicht besteuern.)

 

Bitcoin ist virtuell, eine Idee, ein immaterieller Wert. Du bekommst nur das Recht an einen Bitcoin und dieses Recht kannst Du mit Deinem privaten Key (per Kryptografie gesichert) beweisen.

Willst Du also einen virtuellen Bitcoin überweisen, überschreist Du den Empfänger das Recht, dass er jetzt über den virtuellen Bitcoin verfügen kann. Das dieser Empfänger das bekommene Recht auch beweisen kann, hat er natürlich auch ein eigenen privaten Schlüssel. Den sagt er Dir aber nicht, sondern nur sein öffentlichen Schlüssel, wohin Du dann den Bitcoin (das Recht ihm zu besitzen) überweisen kannst.

 

Es ist also ein Netz von Nutzern, die alle Rechte haben Bitcoins zu senden (und dies mit ihren privaten Schlüssel beweisen können).

 

Nun gut, soweit klar.
Dass nun jeder weiß, wer Bitcoin hat, und dass er das Recht auch nicht zwei Mal benutzen kann, gibt es eine öffentliche Buchhaltung, die Blockchain.
Hier wird alles (per öffentliche Adresse) eingetragen und nur was in diesen „Kassenbuch“ steht gilt.

 

In Deinem Beispiel gibt es also nur ein Eintrag in der Blockchain. Das Recht, den virtuellen Bitcoin dann zu übertragen haben dann aber beide mit den privaten Key. Der Erste, der es tut überträgt den Bitcoin. Danach ist das Recht weg. (In der Blockchain steht ja schon eine einmalige Benutzung.)

 

Axiom

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

Hallo Reinebuttermilch.

 

Ich glaube Du hast das Prinzip vom Bitcoin als Währung und System noch nicht richtig verstanden.

Lies Dich dazu noch nochmal ein.

 

[...]

 

 

Ja, das habe ich auch gemerkt. Ich werde mir in den nächsten Tagen nochmal die Wikipedia Artikel dazu genauer durchlesen. Es ist ein ziemlich ausgeklügeltes System, dass ich gern besser verstehen möchte. Ich dachte, ich kenne das System schon ziemlich gut. Aber ich habe da noch einige Lücken.

 

Danke für deine Erklärungen.

 

Um zurück zum Thema zu kommen:

 

Also eine Wallet ist sowas wie ein Save mit einem kleinen Schlitz, wo man Geld einwerfen kann. An das Geld ran kommt man erst mit passendem Schlüssel.

Wenn ich mir eine Paperwallet z.B. offline erstelle ist es so, als würde ich einen solchen Save mit passendem Schlüssel "bauen".

 

Wenn ich jetzt jemandem Sage, wo mein Save steht, kann er Geld hinein werfen. Und weil ich ja den Schlüssel habe, kann ich beliebig über das Geld verfügen.

 

Den Save incl. Schlüssel muss ich bei keiner Bank registrieren (also offline Erstellung ist möglich). Wenn ich die entsprechenden Regeln einhalte (z.B. den Schlitz für das Geld einbaue, wirklich zufällige Zahlen benutze, etc.), kann man den Save auch gut und sicher nutzen.

 

Erst bei einer Transaktion wird der Geldbestand des "Saves" in der Bank (Blockchain) notiert.

Die Saves bestehen wie Sand am Meer. Erst, wenn ich mir den passenden Schlüssel dazu errechne, kann ich den Save als MEINEN bezeichnen. Ich kann damit das Geld, was drauf ist beliebig ausgeben.

Habe ich es so richtig verstanden?

Bearbeitet von Reinebuttermilch
Link zu diesem Kommentar
Auf anderen Seiten teilen

 

Erst bei einer Transaktion wird der Geldbestand des "Saves" in der Bank (Blockchain) notiert.

 

 

Habe ich es so richtig verstanden?

 

Ja. :)

 

Erst bei einer Transaktion, also wenn Bitcoin "in den Save fließen" oder Du sie wieder aus gibt's wird das in der Blockchain notiert.

 

 

 

http://www.amazon.de/Bitcoin-kurz-gut-J%C3%B6rg-Platzer/dp/3955616509/ref=sr_1_1?s=books&ie=UTF8&qid=1436748485&sr=1-1&keywords=Bitcoin  :P

Bearbeitet von Axiom0815
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Super Thema, find die Thematik um Private Keys immer interessant :) Wie wahrscheinlich ist es, dass durch eine offline Erstellung zwei identische Private Keys erstellt werden? 

 

EDIT: Gerne mit mathematischer Formel dahinter :)

Bearbeitet von Andre
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 7 Monate später...

Das hier fand ich sehr hilfreich, um zu verstehen, wie eine Bitcoin Adresse funktioniert. Es visualisiert außerdem warum es so schwer (manche sagen "unmöglich") ist, aus einem PublicKey den Privatekey zu erzeugen.

 

Für jemanden, der nicht gut englisch kann, könnte es hilfreich sein, das Video in halber Geschwindigkeit abzuspielen, was von Youtube unterstützt wird:

https://www.youtube.com/watch?v=C2a5UK2-0bM

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also eine Wallet ist sowas wie ein Save mit einem kleinen Schlitz, wo man Geld einwerfen kann. An das Geld ran kommt man erst mit passendem Schlüssel.

Wenn ich mir eine Paperwallet z.B. offline erstelle ist es so, als würde ich einen solchen Save mit passendem Schlüssel "bauen".

 

Wenn ich jetzt jemandem Sage, wo mein Save steht, kann er Geld hinein werfen. Und weil ich ja den Schlüssel habe, kann ich beliebig über das Geld verfügen.

 

Den Save incl. Schlüssel muss ich bei keiner Bank registrieren (also offline Erstellung ist möglich). Wenn ich die entsprechenden Regeln einhalte (z.B. den Schlitz für das Geld einbaue, wirklich zufällige Zahlen benutze, etc.), kann man den Save auch gut und sicher nutzen.

 

Erst bei einer Transaktion wird der Geldbestand des "Saves" in der Bank (Blockchain) notiert.

 

 

 

Ja, im Prinzip stimmt das.

 

das Bild ist insofern gut, da eine Bitcoin-Wallet tatsächlich eher wie ein Sparschwein als wie ein Bankkonto funktioniert. Bei der Bank hast du eine IBAN, also eine Nummer, da geht alles drauf. Bei der Bitcoin-Wallet kannst du beliebig viele Adressen haben. Was da reingeworfen wird, sind "inputs", aus denen du, wenn du die privaten Schlüssel hast, "outputs" machen kannst.

 

Die Wallet fängt mit einem privaten Schlüssel an, bildet daraus den öffentlichen Schlüssel und aus dem die Adresse. Diese Dinge existieren schon immer, genauso wie Zahlen und Primzahlen schon immer existieren, aber sobald eine Transaktion in der Blockchain landet, werden dort Guthaben gutgeschrieben.

 

Um nochmal zur Eingangsfrage zurückzukommen: es gibt je Adresse ziemlich viele öffentliche und damit auch private Schlüssel, ich glaube, ein Stückchen weniger als unendlich. Aber die wahrscheinlichkeit einer Kollision ist weiterhin nur ein Stückchen höher als unendlich klein.

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.