Lade Inhalt...

Bitcoin & Blockchain - Kurz und bündig

Technik und Anwendung der Blockchain

von Klaus Goeb (Autor:in)
50 Seiten

Zusammenfassung

Lernen Sie die Hintergründe der zukunftsträchtigen Blockchain-Technik und ihre Anwendung kennen. Sie wollen eventuell Geld in Bitcoins investieren? Generell sollte man nur in Dinge investieren, die man auch verstanden hat und deren Chancen und Risiken man kennt. Wenn in diesem Buch auch der Schwerpunkt auf Bitcoins liegt, gelten die dahinter liegenden Techniken im Prinzip auch für für andere Kryptowährungen.

Leseprobe

Inhaltsverzeichnis


Vorwort

„Bitcoin und Blockchain kurz und bündig“. Daher wollen wir uns nicht lang mit dem Vorwort aufhalten. Aber es ist nun mal üblich, dass man sich als Autor an seine Leser wendet. Wenn Sie dieses Buch lesen, weil Sie verstehen wollen, wie Bitcoin und wie eine Blockchain funktioniert, dann hoffe ich, dass Ihnen dieses Buch helfen kann.

Natürlich ist dieses Buch keine Anlageempfehlung für Bitcoin. Aber generell sollte man ja nur Geld in Anlagen inverstieren, die man einigermaßen versteht. Und dann können Sie selbst entscheiden. Ich denke dafür kann dieses Buch eine Hilfe sein.

Wenn in diesem Buch auch der Schwerpunkt auf Bitcoin liegt, gelten die dahinterliegenden Techniken im Prinzip auch für andere Kryptowährungen.

Und schließlich kann die Blockchain-Technik nicht nur für digitales Bezahlen im Internet verwendet werden. In Zukunft könnten z.B. auch digitale Wahlen oder das Identitätsmanagement per Blockchain realisiert werden.

Wer den digitalen Wandel nicht verschlafen will, ist also gut beraten, sich auf dem Stand der Technik zu halten.

Bitcoin

Bitcoin ist das weltweit führende digitale Zahlungsmittel. Es wurde 2007 von dem unter Pseudonym auftretenden Satoshi Nakamoto erfunden. Der Kurs für ein Bitcoin lag in der Anfangszeit 2010 bei 0,08 Cent (USD).

Am 20.10.2019 betrug der Bitcoin-Kurs 7.129,93 €. Der Kurs kann allerdings stark schwanken. 2018 erreichte der Kurs für kurze Zeit einen Wert von über 17.000 USD und am 19.02.2021 war er sogar auf 43.465 € gestiegen.

Bitcoins können in kleinere Einheiten unterteilt werden, sogenannte Satoshis (nach dem Erfinder-Pseudonym). Ein Satoshi ist ein Hundermillionstel eines Bitcoins, also 10-8 BTC. Oder umgekehrt: 100.000.000 Satoshis sind 1 BTC.

Die maximale Anzahl an Bitcoins ist auf 20.999.999,9769 BTC, also auf rund 21 Millionen, begrenzt. Rund 18 Millionen Bitcoins bestehen zur Zeit laut www.bitinfocharts.com. (Bei den staatlichen Währungen kann die Zentralbank die Geldmenge beliebig erhöhen).

Bei Bitcoins gibt es keine Zentrale Stelle die die Funktion einer „Zentralbank“ einnehmen könnte und die die Geldmenge steuert. Die Begrenzung wird lediglich durch den Algorithmus bestimmt.

Verliert ein Bitcoinbesitzer seinen privaten Schlüssel, gehen Bitcoins unwiderruflich verloren. Computer gehen kaputt, Speichersticks streiken, Passwörter werden vergessen, Erben haben keinen Zugriff zur Wallet, Gründe gibt es viele. Analysten gehen davon aus, dass bis zu 3,8 Millionen Bitcoins verloren gegangen sind. Wenn die theoretische Grenze von 21 Millionen BTC erreicht ist, werden deutlich weniger Bitcoins im Umlauf sein. Da so die BTC-Menge abnimmt, führt dies zu einer Steigerung des Wertes.

Neben Bitcoins gibt es mittlerweile noch weitere sogenannte Kryptowährungen.

Wozu Kryptowährungen?

Um eine Kryptowährung wie die Bitcoins zu ermöglichen muss ein hoher Aufwand betrieben werden. Wozu braucht man also eine Kryptowährung? Ein Hauptargument ergibt sich aus dem Vergleich mit Bargeld. Man kann z.B. auf einen Gebrauchtwagenmarkt gehen, drückt dem Verkäufer z.B. 8000 € bar in die Hand und nimmt den ausgewählten Wagen samt Fahrzeugschein mit. Für dieses Bargeschäft ist also weder eine Bank noch sonst ein Zahlungsdienstleister notwendig. Im Internet war das vor der Erfindung der Kryptowährungen nicht möglich. Bezahlen ging nur per Kreditkarte, Banküberweisung oder über einen anderen Dienst. Eine Kryptowährung ist also eine Art Bargeldersatz im Internet. A kann direkt Kryptogeld an B transferieren.

Kryptowährung und Kriminalität

An dieser Stelle ergeben sich die gleichen Kritikpunkte wie beim Bargeld. Bargeld (in größeren Summen) haftet der Geruch der Geldwäsche und des Schwarzgeldes an. Deshalb muss ein Händler oder eine Bank bei Barbeträgen von mehr als 10.000€ die Personalien prüfen und die Transaktion schriftlich festhalten, sonst verstößt er oder sie gegen das Geldwäschegesetz.

Da Bitcoins ja quasi das Bargeld des Internets darstellen, gibt es die Befürchtung, dass Geldwäsche und Schwarzgeld durch die Kryptowährung erleichtert werden. Daher wird in letzter Zeit versucht, auch diesen Markt gesetzlich zu regulieren. Davon später.

Bei Lösegeldforderungen oder Erpressungen ist ja oft die Geldübergabe der Knackpunkt. Ist da eine Kryptowährung der sichere Weg, um an das Geld zu kommen? Ein Vorteil ist sicher, dass keine physische Begegnung erforderlich ist. Allerdings ist es nicht ganz unmöglich, Zahlungen zurückzuverfolgen, vor allem, wenn sie über einen Dienstleister laufen. Bei einer direkten Zahlung von Wallet zu Wallet wird es schon schwieriger, obwohl die Transaktion ja in die Blockchain aufgenommen wird und für jeden öffentlich ist (siehe www.blockchain.com).

Aber man weiß eben nicht, wer sich hinter einer Bitcoin-Adresse verbirgt. Wenn aber ein Verdacht besteht, kann beispielsweise eine Leitung oder ein Handy überwacht werden und damit die Transaktion einer IP-Adresse zugeordnet werden. Oder es wird ein Watch-Dienst für die Bitcoin-Zieladresse eingerichtet. Auch das Tor-Netzwerk, dass bisher als sichere Möglichkeit galt, die IP-Adresse zu verschleiern, scheint nicht mehr sicher zu sein. Der BND hat anscheinend ein System zur Überwachung des Tor-Netzwerks entwickelt. Und die US-Steuerbehörde benutzt schon länger eine Bitcoin-Trackingsoftware.

Eine häufige Erpressermasche ist der Einsatz von Ransomware: Der Angreifer hackt den Computer des Opfers, verschlüsselt dessen Daten und verlangt für das Schlüsselwort zur Entschlüsselung ein Lösegeld.

Bitcoin Wallet

Um Bitcoin als Zahlungsmittel einsetzen und aufbewahren zu können, benötigt man eine elektronische Brieftasche, eine sogenannte Wallet. Die Wallet hat eine (oder mehrere) Bitcoinadresse. In der Wallet werden alle Transaktionen bezogen auf die Bitcoinadresse gespeichert.

Man kann auch Bitcoins auf Internet-Plattformen beziehen, ist dann aber von dem Anbieter abhängig. Die Bitcoins werden auf dem Account bei dem Anbieter verwahrt. Wird der Anbieter z.B. gehackt, kann es zu Verlusten kommen. Angeblich sind schon über 1 Mrd. USD in Bitcoins durch Hacks verloren gegangen. Sicherer ist die Aufbewahrung in einer persönlichen Wallet (z.B. Electrum Wallet).

Um eine Wallet nutzen zu können, sind private Schlüssel (private keys) nötig. Diese können offline erstellt werden und müssen sicher aufbewahrt werden. Bei der Installation der Wallet wird ein sogenannter seed erstellt, mit dem bei Verlust die Wallet wieder hergestellt werden kann (z.B.: harsh year sock hole rich play horse humor strong quit twenty mirror). Diese 12 Schlüsselwörter müssen bei einer Wiederherstellung des Beispiels in der richtigen Reihenfolge eingegeben werden. Außerdem wird eine Bitcoin-Adresse als Absende- bzw. als Empfangs-Adresse (z.B.: 146n4apJCQPg2XAXU3bfNQTogz4PyTkrEf ) erzeugt.

Bitcoin-Adresse

Ganz am Anfang erfolgte die Überweisung von Bitcoins tatsächlich an eine IP-Adresse. Die Methode wurde aber schnell wegen der Betrugsmöglichkeiten aufgegeben. Die Bitcoin-Adressen funktionieren im Prinzip wie eine IBAN, nur dass sie nicht zentral vergeben werden. Die Standardadresse ist die P2PKH-Adresse. P2PKH steht für Pay To Public Key Hash. Sie ist 34 Byte lang und beginnt mit einer 1. Die Adresse besteht aus einem Hash der öffentlichen Schlüssels (publik key).

Jede Wallet kann beliebig öffentliche Schlüssel erstellen. Zuerst erstellt sie mithilfe einer Zufallszahl einen privaten Schlüssel mit ECDSA (Elliptical Curve Digital Signature Algorithm) und leitet daraus ihre öffentlichen Schlüssel ab.

Die Software verarbeitet dann den öffentliche Schlüssel zuerst mit SHA-256 und danach mit RIPEMD-160 und erzeugt so einen Hash des publik keys, die Bitcoin-Adresse.

Bitcoin-Transaktion

Jede Transaktion erfolgt an eine Bitcoin-Adresse. Die Transaktionen werden nicht verschlüsselt. Es werden nur Transaktionen gespeichert, keine Bitcoins. Die Adressen sind an eine Transaktion gebunden. Transaktionen können allerdings gesplittet werden.

Eine Transaktion besteht im wesentlichen aus:

- einem Input (die Absenderadresse der Transaktion),

- der Menge an Bitcoins, die transferiert werden soll und

- dem Output (die Empfängeradresse an die gesendet wird)

Der Ablauf einer Transaktion sieht beispielsweise so aus:

1) A gibt in seiner Wallet einen Auftrag ein, z.B. eine bei A eingegangene Transaktion T1 von 20 BTC an B weiterzuleiten.

2) Die Wallet legt dann eine entsprechende Überweisung T2 (20 BTC von A nach B) an und signiert sie mit As privatem Schlüssel.

3) T2 wird über eine vorkonfiguierte IP-Adresse an einen Bitcoin-Knoten übergeben. Dort wird geprüft, ob die digitale Unterschrift echt ist und ob das Guthaben ausreicht.

4) Der Knoten leitet T2 an seine Nachbarknoten weiter und diese ebenfalls an ihre Nachbarknoten (Broadcast).

5) T2 wird in den Knoten in die Liste der offenen Transaktionen aufgenommen, wo B sie als unbestätigte Transaktion sehen kann.

Sobald ein Miner einen neuen Block „geschürft“ hat, wird die Transaktion in den Block eingetragen und bestätigt. Normalerwiese werden bis zu 2.500 Transaktionen in einem Block gespeichert. Jede Transaktion erhält eine Transaktions-ID (TxID).

T2 wird in der Wallet von B als bestätigte Transaktion eingetragen.

Die Wallet speichert keine Bitcoins, sondern verweist nur auf die Blockchain, wo die Transaktionen gespeichert werden.

Beispiel: Transaktion splitten

A sendet an B 1 BTC. Die Wallet von B beinhaltet nur diese Transaktion. Danach möchte B an C 0,5 BTC senden. Da in der Wallet von B keine Transaktion von 0,5 BTC vorhanden ist, muss die Transaktion mit 1 BTC aufgesplittet werden.

Dabei entstehen folgende Transaktionen:

1) Transaktion 1: A (1 BTC) → B

2) Transaktion 2: B (0,5 BTC) → C

3) Transaktion 3: B (0,5BTC) → B

Die Transaktion 1 wurde also in 2 Transaktionen gesplittet. In der Transaktion 3 überweist B das Wechelgeld an sich selbst. Damit ist die Transaktion 1 aufgebraucht und B hat noch von der Transaktion 3 0,5 BTC zur Verfügung. Außerdem wird bei Transaktion 3 für B eine neue Adresse erzeugt, die alte Adresse ist verbraucht. (Für jede Transaktion eine neue Adresse zu verwenden ehöht die Anonymität. Man kann aber auch mehrere Transaktionen unter einer Adresse tätigen)

Signatur einer Transaktion

Im Beispiel oben wurde erwähnt, dass die Transaktion von A nach B von As privatem Schlüssel signiert wird. Daher schauen wir uns jetzt genauer an, wie eine digitale Signatur funktioniert.

Digitale Signatur

In der analogen Welt ist es heute üblich, ein Dokument zu unterschreiben. Dabei geht man davon aus, dass es schwierig ist, eine Unterschrift zu fälschen. Sie soll also sicherstellen, dass das Dokument vom Unterzeichner stammt beziehungsweise von ihm gebilligt wird. Eine ähnliche Funktion hatte in früheren Zeiten das Siegel. Ein Briefumschlag wurde mit Siegellack versiegelt und mit einem Siegelring geprägt. Um den Umschlage zu öffnen, musste der spröde Siegellack gebrochen werden. Bei einem gebrochenen Siegel war also das Vertrauen in den Inhalt zerstört. Es sei denn, der Empfänger brach das Siegel.

In der digitalen Welt gibt es keine persönliche Handschrift, sondern nur Einsen und Nullen, die man als Dualzahlen interpretieren und beliebig kopieren kann. Welche Eigenschaften soll nun eine digitale Unterschrift haben, die aus einer Folge aus Einsen und Nullen besteht?

Eingenschaften einer digitalen Signatur

  1. Nur der Eigentümer des privaten Schlüssels kann signieren, aber jeder kann die Signatur mit einem öffentlichen Schlüssel überprüfen.
  2. Die Signatur ist an ein bestimmtes Dokument gebunden, kann also nicht auf ein anderes Dokument übertragen werden.

Es muss also ein Schlüsselpaar, bestehend aus privatem Schlüssel (private key) und öffentlichem Schlüssel (public key) erstellt werden. Die Schlüssel sind 256 Bit (32 Bytes) lang. Der private Schlüssel wird beim Einrichten der Wallet aus einer Zufallszahl errechnet. Aus dem privaten Schlüssel wird dann mittels einer sogenannten Einwegfunktion der öffentliche Schlüssel erstellt. Die Einwegfunktion stellt sicher, dass aus dem öffentlichen Schlüssel keine Rückschlüsse auf den privaten Schlüssel möglich sind.

Da der private Schlüssel aus einer Zufallszahl errechnet wird, ist eine gute Zufälligkeit entscheidend für die Sicherheit. Bei Bitcoin wird ECDSA (Elliptical Curve Digital Signature Algorithm) verwendet.

Beispiel: Versuch, eine Signatur zu kopieren

Nehmen wir an, der Sekretär von Alice versucht eine Signatur auf ein anderes Dokument zu übertragen. Er hat eine Nachricht M0, die mit dem private key kpriv signiert worden ist. Das Ergebnis ist die Signatur S0. Anstatt nun M0 mit S0 zu versenden, tauscht er die Nachricht gegen M1 aus und versendet M1 mit S0. Der Empfänger prüft die Nachricht M1 mit der Sigantur S0 mit dem öffentlichen Schlüssel von Alice und stellt fest, dass Signatur und Nachricht nicht zusammenpassen.

Um die Zusammenhänge noch besser begreifen zu können, machen wir einen kleinen Schlenker in die Welt der Krypto-Wissenschaft.

Entwicklung der Krypto-Wissenschaft

Wie kann man bei einem digitalen Dokument sicher sein, dass es tatsächlich vom Absender stammt? Schließlich besteht ja eine Nachricht nur aus Bits, die sich beliebig kopieren und manipulieren lässt.

Eine Möglichkeit, die schon seit eh und je verwendet wird ist die Verschlüsselung. Dadurch kann man zwar nicht verhindern, dass Nachrichten oder Dokumente in falsche Hände kommen, aber sie können dann wenigstens nichts damit anfangen, solange die Verschlüsselung nicht geknackt worden ist.

Die symmetrische Verschlüsselung, bei der der geheime Schlüssel sowohl zum Verschlüsseln als auch zum Entschlüsseln verwendet wird, hat aber den großen Nachteil der Schlüsselverteilung. Wenn der geheime Schlüssel erst zum Empfänger der Nachricht gesendet werden muss, wer garantiert dann, dass der Schlüssel nicht vorher abgefangen und kopiert wird? Bis in die 70er-Jahre mussten die Geheimschlüssel umständlich per Kurier an die Botschaften verteilt werden. Die Stärke eines Schlüssels ergibt sich aus der Dauer, die nötig ist, um den Schlüssel zu knacken. Innerhalb dieser Zeit sollte der Schlüssel also erneuert werden.

Das Problem der Schlüsselverteilung galt lange als unlösbar.

In den 70er-Jahren fanden nun Diffie und Hellman eine Möglichkeit dieses Problem zu lösen. Die Lösung beruht auf der Einwegfunktion Yx(mod P); (Y<P).

Einwegfunktionen

Machen wir einen kurzen Schlenker zu den Einwegfunktionen. Die meisten Funktionen, mit denen wir im Alltag zu tun haben, sind Zweiwegfunktionen. D.h. sie sind umkehrbar. 5+3 ergibt 8; 8-3 ergibt wieder 5. Oder 5 x 3 = 15; 15/3 = 5. Im Prinzip funktioniert so die Ver- und Entschlüsselung mit einem symmetrischen Schlüssel. Nehmen wir also an, die Nachricht N sei „5“, der Schlüssel k sei 3 und die Funktion f sei addiere, dann ergibt sich die kodierte Nachrich C aus: C = f(N, k) = addiere( 5, 3) = 8. Wenn man die C und N tauscht und die Funktion durch die Umkehrfunktion ersetzt, bekommt man: N = f-1( C, k), also den Klartext. Die Umkehrfunktion zur Addition ist die Subtraktion: N = subtrahiere( C, k) = subtrahiere( 8, 3) = 5

Seltener haben wir es mit einer Einwegfunktion zu tun. Ein Beispiel ist das Rechnen mit der Uhrzeit. Wenn der Zeiger auf 11 Uhr steht und wir wissen wollen, wie wo der Zeiger nach 6 Stunden steht, rechnet man (11+6)mod12 = 5. Aber auch nach 18 oder nach 30 Stunden kommen wir wieder auf die Zeigerposition 5 Uhr. (11+18)mod12 = 5; (11+30)mod12 = 5. Man addiert also die Stunden zur aktuellen Zeit und dividiert durch 12, Der Rest ist dann das Ergebnis. Aus dem Ergebnis auf die addierten Stunden zurückzurechnen ist aber nicht möglich.

Details

Seiten
ISBN (ePUB)
9783752138337
Sprache
Deutsch
Erscheinungsdatum
2021 (März)
Schlagworte
Blockchain Bitcoin Kryptografie

Autor

  • Klaus Goeb (Autor:in)

Nach dem Ingenieurstudium an der Fachhochschuke Konstanz war der Autor zunächst als Spezialist für Großrechenanlagen, als Flugsicherungsingenieur und als Software-Entwickler tätig. Im Laufe der Zeit hielt er Seminare in Programmiersprachen, Betriebssysteme und Netzwerktechnik für Mitarbeiter bei Daimler Benz, Siemens, die Bundeswehr und andere.
Zurück

Titel: Bitcoin & Blockchain - Kurz und bündig