Adresse und Public Key

Die Adresse gleicht der IBAN (Kontonummer) aus dem uns bekannten Bankensystem. Da diese Adresse auch ähnlich wie eine IBAN funktioniert, können durch sie eingehende Transaktionen dem Konto gutgeschrieben werden. Diese Adresse wird dem Datensatz in der Blockchain zugefügt und kann über einen Blockchain Explorer¹ von jedem eingesehen werden. Da sie allerdings mit keinem Nutzer direkt verbunden ist, sprechen viele von einer Anonymität des Bitcoin Netzwerkes. Dies ist jedoch nicht richtig.

Durch einfache Nachverfolgungsverfahren können Rückschlüsse auf den Nutzer gezogen werden. Aus diesem Grund erfreuen sich sogenannte Privacy Coins² (Monero, ZCash, Zencash, Komodo…) reger Beliebtheit, bei denen mit unterschiedlichen Verfahren, Kontostände und/oder Transaktionen verscheleiert werden können. Bitcoin und Ethereum gehören (noch) nicht in diese Kategorie, doch gibt es Pläne, solche Funktionen ebenfalls zu implementieren.

 

Technische Details
Der folgende Abschnitt richtet sich an Interessierte, die die zugrunde liegenden Strukturen verstehen wollen. Es ist nicht erforderlich diese technischen Details zu verstehen, um ein Konto zu eröffnen, es zu benutzen oder Transaktionen durchzuführen.

Die Adresse ist eine mathematische Kurzschreibweise, welche aus dem öffentlichen Teil (Public Key) eines auf Kryptographie basierenden Schlüsselpaares erschaffen wird. Bei der Erzeugung eines Kontos im Bitcoin (o.a. Kryptowährungen) System werden keinerlei Informationen benötigt. Eine Software kreiert ein mathematisch miteinander verknüpftes Schlüsselpaar (Public Key und Private Key) anhand des in der Kryptographie anerkannten ECDSA (Elliptical Curve Digital Signature Algorithm) Prinzips. Hierbei handelt es sich um ein asymmetrisches Kryptosystem. Der Vorteil besteht darin, dass nur die Partei, die den privaten Schlüssel (Private Key) kennt, Transaktionen signieren und somit ausführen kann, während alle Parteien, die den öffentlichen Schlüssel (Public Key) kennen, diese auf ihre Richtigkeit überprüfen, validieren können. Hier können die Schritte von Private Key bis zur Adresse nachvollzogen werden. Unter keinen Umständen sollte hier jedoch ein Private Key einer verwendeten Adresse eingegeben werden. Dies soll nur zur Veranschaulichung dienen.

Beispiel einer Adresse, sowie Public und Private Key:

Private Key – C4BBCB1FBEC99D65BF59D85C8CB62EE2DB963F0FE106F483D9AFA73BD4E39A8A (hexadezimal – es werden lediglich Buchstaben von A-F und Ziffern von 0-9 verwendet)

Public Key – 0478D430274F8C5EC1321338151E9F27F4C676A008BDF8638D07C0B6BE9AB35C71A1518063243ACD4DFE96B66E3F2EC8013C8E072CD09B3834A19F81F659CC3455 (hexadezimal)

Adresse – 1JwSSubhmg6iPtRjtyqhUYYH7bZg3Lfy1T (alphanumerisch – es wird das Alphabet und Ziffern von 0-9 verwendet; auf 4 Zeichen wurde aufgrund der Verwechslungsgefahr verzichtet)

 

Um vom Private Key zur Adresse zu gelangen, werden sogenannte Hash Funktionen (in der Kryptographie verwendete mathematische Algorithmen – eindeutige Handlungsvorschriften) verwendet. Diese Hash Funktionen sind bekannt und eindeutig definiert. Wird SHA-256 (eine häufig verwendete Funktion) auf einen Klartext angewendet, so stellt das berechnete Ergebnis den Hash Wert dar. Sowohl die verwendeten Zeichen, als auch die Länge des Hash Wertes sind genau definiert und immer gleich. Die Länge des Hash Wertes ist unabhängig von der Länge der Eingabe (Bitcoin ist eine Evolution des Bankensystems).

 

Beispiel anhand eines Hashgenerators:

 

Klartext – Bitcoin ist eine Evolution des Bankensystems

Hash Funktion – SHA-256

Hash Wert – 33d6ff2beb47a0abdbb49cc0e6a17623d594254bd4160a510ad4d8ba4d90afd6

 

Klartext – 23

Hash Funktion – SHA-256

Hash Wert – 535fa30d7e25dd8a49f1536779734ec8286108d115da5045d77f3b4185d8f790

 

 

Im folgenden Video beschreibt Andreas Antonopoulos den Unterschied zwischen Public Keys und  Adressen: