Wie wird ein Bitcoin Wallet erstellt und was steckt dahinter?

in #wallet6 years ago (edited)

Damit wir mit der Erstellung eines Wallets beginnen können müssen wir den Begriff Wallet etwas näher untersuchen-

Was ist ein Wallet

Wie im echten Leben benötigen wir in der Cryptocurrency-Welt eine Geldbörse.

Als Wallets kann man beispielsweise die Bitcoin-Clients (Software Wallets) bezeichnen. Jedoch sind Wallets auch die Daten in denen die Schlüsseln des Anwenders gespeichert sind. Hier kommt das asymmetrische Kryptosystem zum Einsatz, das heißt das Wallet hat einen privaten und einen öffentlichen Schlüssel. Der öffentliche Schlüssel ist gleichzeitig auch die Adresse des Wallets. Ein Wallet kann auch mehrere private Schlüssel beinhalten.
Es existeren zwei Wallet-Typen:

  • Typ1: Deterministisch Wallets (deterministic wallet)
  • Typ2: Hierarchisch deterministische Wallets (hierarchical deterministic wallet)

Der private Schlüssel kann in der Regel nicht frei gewählt werden, da der öffentliche und private Schlüssel zusammenhängen.

Bei der Blockchain von Bitcoin sind alle Transaktionen öffentlich und somit kann jeder das Guthaben eines Wallets abfragen und die Transaktionen einsehen.

Kryptographischer Hintergrund

Wie wir bereits erwähnt haben, wird ein Schlüsselpaar benötigt. Das Schlüsselpaar besteht aus dem öffentlichen und den privaten Schlüssel. Solche Kryptographischen Schlüsselpaare kann man mit diversen Kryptosystemem erzeugen. Beispielsweise mit RSA oder ECDSA. Hier handelt es sich um ein asymmetrisches Kryptosystem.

Asymmetrischen Kryptografie? Kurz gesagt ist es bei der asymmetrischen Kryptographie nicht notwendig einen gemeinsamen Schlüssel zu besitzen um beispielsweise miteinander Daten auszutauschen. Das Problem bei der symmetrischen Kryptographie ist, dass ein geheimer Schlüssel über eine nicht sichere "Leitung" ausgetauscht werden muss. Das ist zum Beispiel mit dem DH-Schlüsselaustauschverfahren möglich. Mit dem Diffie-Hellman Schlüsselaustauschverfahren können Teilnehmer einen gemeinsamen Schlüssel vereinbaren. Bei der asymmetrischen Kryptographie kann nur derjenige die Daten entschlüsseln, der im Besitzt des privaten Schlüssels ist.

Mit dem öffentlichen Schlüssel des Empfängers werden die Daten verschlüsselt. Nur der Empfänger kann daher die Daten mit seinem privaten Schlüssen entschlüsseln. Authentifizierung, digitale Signatur uvm werden mit dem asymmetrischen Kryptosystem gelöst.

Bei der Generierung von Bitcoin-Wallets wird das ECSDA-Algorithmus verwendet. ECDSA steht für Elliptic Curve DSA und verwendet elliptische Kurven für die Erzeugung von Schlüsselpaaren. Eine Bitcoin-Adresse = öffentlicher Schlüssel besteht aus alphanumerischen Zahlen (A-Za-z0-9) und ist maximal 34 Zeichen lang und beginnt mit der Zahl 1 oder 3. Startet eine Adresse mit 3 sind zwei von drei Schlüsseln notwending um Transaktionen durchzuführen = bietet eine erhöhte Sicherheit gegenüber herkömmlichen Wallets. Die eigentlichen Schlüssel (Raw Keys) sind für den Benutzer nicht ersichtlich, da sie mit der Base58 kodiert werden.

Hier können Sie probeweise mehrere Wallets online erstellen.