Widmung

Der Liebe meines Lebens, meiner Frau, Linnéa. Klug, treu, aufrichtig.

Und all den tollen Bitcoinern überall

Vorwort

Was ist der Unterschied zwischen Bitcoin und den diversen Währungen in Multiplayer Spielen? Alle werden durch Software definiert, aus dem Nichts geschaffen und können vergleichbare Preise erreichen wie traditionelle Währungen. Dem oberflächlichen Betrachter erscheinen sie sehr ähnlich.

Aber es gibt einen wichtigen konzeptionellen Unterschied, der jeden Aspekt der jeweiligen Systeme betrifft: während Spielwährungen Betrug zu verhindern versuchen, indem sie verdächtige Benutzer ausschliessen, verhindert Bitcoin proaktiv verschiedenste Arten von Betrug, indem es sie unmöglich, impraktikabel, oder gegenüber ehrlichem Verhalten weniger profitabel macht.

Bitcoin begreifen beschreibt genau, wie Bitcoin dies erreicht. Durch das Lernen von Hashfunktionen, digitale Signaturen, Proof of Work und vielen anderen technischen Konzepten verstehst du immer mehr, dass Bitcoin effektiv Betrug verhindert, ohne dafür auf globalen Ausschluss einzelner Benutzer zurückzugreifen.

Anschliessend demonstriert das Buch die vielen Vorteile dieser Eigenschaft. Durch das Lernen über Adressen, Wallets, Miner und Nodes wirst du merken, dass dann, wenn niemand effektiv betrügen kann, man jedem Teilnehmer vollen Zugriff auf alle Teile des Protokolls gewähren kann, wodurch niemand eine kontrollierende Vertrauensstellung im System einnimmt. Und ohne eine solche Instanz braucht es auch keine Identität. Bitcoin begreifen zeigt anschliessend, wie jeder die öffentliche Blockchain mit einem gewissen Grad an Privatheit benutzen kann.

Ein dezentrales System ohne Identitäten oder Vertrauen unterscheidet sich völlig von den Systemen, die die meisten von uns aus dem Alltag kennen. Der Autor Kalle Rosenbaum verkehrt diesen Nachteil in einen Vorteil, indem er die Erklärung jedes Teils von Bitcoin anhand eines zentralen, vertrauens- oder identitätsbasierten Systems vollzieht, das jeder intuitiv nachvollziehen kann. Er transformiert dann dieses Grundsystem Schritt für Schritt in das dezentrale, vertrauenslose und pseudonyme System, das in Bitcoin umgesetzt ist. Da jeder Schritt mit klaren Erläuterungen und vielen ausgezeichneten Illustrationen versehen ist, wird auch das technisch anspruchsvollste Thema dem interessierten Laien zugänglich.

Bitcoin braucht Bücher wie Bitcoin begreifen, aber es braucht auch eine aktive Gruppe von Benutzern, die diese Bücher lesen und die technischen Prinzipien verstehen, auf denen Bitcoin aufbaut. In diesen ersten Tagen dessen, was hoffentlich einmal die lange Geschichte von Bitcoin werden wird, wurden Benutzer häufig gebeten, Vorschläge für Änderungen am System zu bewerten—Änderungen, welche die Sicherheit und Privatheit ihrer Bitcoins betreffen können. Wer dieses Buch gelesen hat wird verstehen, wie das System Betrug verhindert, und wird mithelfen können sicherzustellen, dass künftige Änderungen diese grundlegende Eigenschaft und seine zahlreichen Vorteile beibehalten.

—David A. Harding + Mitwirkender an der Bitcoin Dokumentation

Einleitung

Bitcoin verändert die Welt.

Die Menschheit hat viele erhebliche Verbesserungen erlebt, unter anderem Impfungen, Elektrizität, Rundfunk, Autos und das Internet. Einige dieser Technologien beginnen als Spielzeuge für reiche Leute, aber irgendwann dringen sie bis zur breiten Bevölkerung vor und die Weltbevölkerung profitiert enorm. Bitcoin wird bald zu diesen Erfindungen gehören. Deswegen bin ich extrem begeistert von Bitcoin.

Ich habe das Glück, in einer ziemlich gut funktionierenden Gesellschaft zu leben. Wenn ich finanzielle Transaktionen durchführe muss ich nicht befürchten, dass plötzlich jemand an die Tür klopft. Ich hatte nie das Gefühl, mein Geld möglichst schnell ausgeben zu müssen, weil sonst seine Kaufkraft durch Hyperinflation verschwindet. Aber das macht es für mich auch schwerer, zu begreifen, was Bitcoin so wichtig macht. Bitcoin ist für mich weitgehend theoretisch, aber wenn ich Berichte von weniger gesegneten, unter unterdrückenden oder inkompetenten Regimen leidenden Leuten darüber höre, wie Bitcoin ihr Leben besser macht, dann wird es sehr real. Bitcoin wird Leuten die Möglichkeit geben, aus jener Geiselhaft heraus zu optieren, in der ihr System sie gefangen hält.

Satoshi Nakamoto, ein Pseudonym für eine oder mehrere Personen die unbekannt bleiben wollen, veröffentlichte im Oktober 2008 ein wissenschaftliches Paper auf einer kryptographie-orientierten Mailingliste. Der Titel des Papers war: "Bitcoin: ein elektronisches Peer-to-Peer Bargeldsystem" (siehe Web Ressource 1 in Anhang C). Nakamotos Paper beschrieb die essentiellen Teile von Bitcoin, das erste digitale Geldsystem, in dem es keine zentrale Autoritätsstelle gibt, um Geld zu emittieren oder Transaktionen abzuarbeiten. Im Januar 2009 veröffentlichte Nakamoto das erste Softwareprogramm, das das beschriebene System implementiert. Bitcoin erhielt damals ausserhalb eines begrenzten Kreises von Kryptographieexperten nicht viel Aufmerksamkeit. Schritt für Schritt, als das System seine Funktionsfähigkeit unter Beweis stellte, interessierten sich mehr Leute dafür. Aber wie bei aller bahnbrechenden Technologie war und ist der Widerstand gegen Bitcoin weit grösser und lauter als die Anhänger. Im Jahre 2019 hatten hunderte Millionen Menschen von Bitcoin gehört, und zig Millionen benutzen Bitcoin.

Als ich 2013 begann Bitcoin zu erkunden, brauchte ich lange, um ein brauchbares Verständnis der Technologie zu gewinnen. Nicht, dass ich bemerkenswert dumm wäre; es liegt daran, dass Bitcoin ein komplexes System ist. Es ist nicht einfach eine extravagante Datenbank—es ist ein Mischmasch aus Ökonomie, Mathematik, Technologie und Anthropologie.

Ich begann 2015 mit einem technischen Blog über Bitcoin, und Manning muss wohl meine Inhalte gemocht haben, denn die Firma schickte mir eine Email und fragte, ob ich Interesse hätte, ein Buch über "Blockchain" zu schreiben. Da meine Leidenschaft Bitcoin ist und nicht nur die Blockchain—ein übertrieben angepriesenes Wort für Bitcoins Datenbank—antwortete ich Manning dankend und sagte, ich hätte Interesse ein Buch über Bitcoin zu schreiben. Ich hatte schon ein paar Jahre versucht, meinen Platz in der Bitcoin Gemeinde zu finden, und diese Gelegenheit schien prima zu passen. Das Projekt begann, und stellte sich als schwieriger und viel zeitraubender heraus als erwartet.

Dieses Buch begann als technische Beschreibung von Bitcoin, aber es war schwierig, dieses eine Thema ohne den ganzen Zusammenhang zu lehren. Die geistige Belastung zu Beginn des Buches wäre zu überwältigend. Es wurde klar, dass ich es anders angehen musste. Ich diskutierte das mit meiner Frau, und wir kamen auf die Idee, Bitcoin konzeptionell von unten nach oben aufzubauen. Das Buch beginnt mit einem einfachen Kalkulationsblatt, das jeder verstehen kann, und dieses System entwickelt sich zu Bitcoin. Jedes Kapitel zeigt zunächst irgendein Problem mit dem gegenwärtigen System auf, und dann lösen wir dieses Problem in dem Kapitel mit Hilfe neu vorgestellter Technologie.

Das Manuskript für Bitcoin begreifen wird kurz nach seiner Veröffentlichung als Print unter der "Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) " Lizenz freigegeben. Eine Version unter einer offenen Lizenz freizugeben war für mich eine Voraussetzung für das Schreiben dieses Buches. Auf diese Art kann ich an die Bitcoin Gemeinde, die mir über die Jahre so viel gegeben hat, etwas zurückgeben. Mannings und meine Hoffnung ist, dass diejenigen, die sich das Buch nicht leisten können, von der Open Source Version profitieren werden. Es gibt natürlich auch weniger philanthropische Gründe. Wir hoffen auch, dass die Freigabe als Open Source dieses Buch besser sichtbar machen wird, weil mehr potentielle Leser es durchstöbern. Kauft bitte die wunderschön gesetzte Printversion, wenn ihr könnt. Manning und ich haben eine enorme Menge Zeit aufgewandt, um dieses Buch zu produzieren, und wir würden uns über das Einkommen wirklich sehr freuen!

Hoffentlich erfreut dich das Lesen von Bitcoin begreifen so sehr, wie es mich hat leiden und den Übersetzer schuften lassen!

Danksagungen

Ich habe einer Menge Leute zu danken, die dieses Buch möglich machten.

Zunächst möchte ich meiner Frau, Linnéa, für all unsere wertvollen Diskussionen danken, und für deine unaufhörliche Ermunterung. Du bist einfach fantastisch!

Christina Taylor von Manning, meine liebe Entwicklungsredakteurin: Danke, dass du mich beschäftigt gehalten hast. Arbeiten Arbeiten Arbeiten. Danke auch dir, Bert Bates, für deine sehr wertvollen Informationen zur Pädagogik. Danke auch dir, Volker Herminghaus, für die Übersetzung dieses Buches ins Deutsche, und euch, @andhans_jail, Shoki Herminghaus und @btc_viking, für das Korrekturlesen dieser Übersetzung.

Ich möchte auch allen anderen bei Manning danken, die mit ihrer professionellen Art beigetragen haben, unter anderem Ozren Harlovic, Rebecca Rinehart, Candace Gillhoolley, Ana Romac, Michael Stephens, Erin Twohey, Christopher Kaufmann, Matko Hrvatin, und Greg Wild. Ein besonderer Dank geht an das Produktionsteam: Chuck Larson, Illustrator; Rebecca Deuel-Gallegos, Lektorin; Kevin Callahan, Schriftsetzer; Tiffany Taylor, Korrektorin; und Lori Weidert, Produktionslektorin.

Ich würde auch gern Jonathan Jogenfors und Pontus Lindblom dafür danken, dass sie einige Kapitel aus dem jeweiligen Bereich ihrer Expertise prüfgelesen haben.

Eine Menge Leute in diversen Internetforen waren während meiner Forschungen sehr hilfreich. Die herausragendsten waren David A. Harding, Pieter Wuille und Mark “Murch” Erhardt. Danke für all die Twitter-Konversationen und tollen Antworten auf StackExchange (siehe Web Ressource 2 in Anhang C).

Andreas A. Antonopoulos hat mir geholfen, die Open Source Bedingungen für dieses Buch auszuhandeln. Dein Zuspruch in diesem Zusammenhang war Gold wert. Danke! Ausserdem danke für die "Vegetarisches Restaurant" Analogie in [ch11]. Und danke für die tollen Unterhaltungen; du bist eine grosse Quelle der Inspiration für mich.

Ich habe dieses Buch mit Asciidoctor geschrieben, einer Markup-Sprache. Danke, Dan Allen, für deine harte Arbeit an Asciidoctor, es ist fantastisch.

Dieses Buch ging durch drei Review-Runden, mit mehreren Reviewern in jeder Runde. Diese Reviewer waren ausserordentlich nützlich im Untersuchen von Ideen und der Suche nach Lücken auf dem Lernpfad. Danke an Jan Goyvaerts, Max Humber, Iryna Romanenko, Jean-François Morin, Al Krinker, Joel Kotarski, Markus Beckmann, Christopher Bailey, Viton Vitanis, Paolo Freuli, Tomo Helman, Marcello Seri, Maciej Drozdzowski, Cicero Zandona, Barnaby Norman, Frances Buontempo, Glenn Swonk und Sergio Fernandez Gonzalez.

Ich danke auch allen Manning Early Access Program (MEAP) Lesern, die ihre Gedanken, Korrekturen und Fragen auf dem Manning Forum beigetragen haben, und an Aruna Surya für die Rückmeldungen per Email.

Wenn ich jemanden vergessen habe, tut mir das furchtbar leid. Dir auch vielen Dank.

Über dieses Buch

Das Hauptziel dieses Buches ist, dich in die Lage zu versetzen zu entscheiden, ob du Bitcoin traust oder nicht. Auf dem Weg zu diesem Ziel wirst du eine Anzahl Bitcoin Konzepte lernen—wie digitale Signaturen, Proof of Work und Peer-to-Peer Netzwerke, und zwar auf einem ziemlich niedrigen Level. Einige zusätzliche Ziele ergeben sich dadurch von selbst:

  • Ein Bitcoin Wallet auf einem Smartphone installieren und dabei wissen, was man tut.

  • Sich an technischen Bitcoin Diskussionen beteiligen.

  • Informierte Entscheidungen über die Speicherung deiner Private Keys in Abhängigkeit von der Menge an Bitcoins und dem benötigten Level an Sicherheit und Bequemlichkeit treffen.

  • Einen Bitcoinrechner betreiben, um finanzielle Transaktionen ohne vertraute Dritte abzuwickeln.

  • Aussergewöhnliche Behauptungen von Betrügern, Schwindlern und Gaunern durchschauen, die als Trittbrettfahrer von Bitcoins Erfolg profitieren wollen. Passt auf euch auf!

Wer dieses Buch lesen sollte

Dieses Buch ist für technisch interessierte Leute gedacht, die Bitcoin auf einer tiefen technischen Ebene verstehen wollen. Es benötigt keine Programmierkenntnisse, aber ein grundlegendes Verständnis einiger technischer Konzepte ist hilfreich—zum Beispiel Datenbanken, Computernetzwerke, Computerprogramme und Web Server. Ein gewisser Mathehintergrund kann auch nützlich sein, ist aber sicher nicht notwendig.

Wie dieses Buch aufgebaut ist: Eine Übersicht

Dieses Buch besteht aus 11 Kapiteln und 3 Anhängen:

  • [ch01] ist ein Überblick über Bitcoin. Hier steht, was Bitcoin ist, warum es wichtig ist, und wie es ungefähr funktioniert.

  • [ch02] bespricht kryptografische Hashfunktionen und digitale Signaturen. Dies sind die grundlegenden Bausteine für den Rest des Buches. Ich lege hier auch das Fundament für ein fiktives Geldsystem, das Keksgutschein-Kalkulationsblatt, das wir in den Kapiteln 2–8 bauen werden.

  • [ch03] behandelt Adressen. Wenn man Bitcoins verschickt, so verschickt man sie an die Bitcoin Adresse des Empfängers. Was sind Bitcoin Adressen, wozu werden sie benötigt, und wie werden sie erzeugt und benutzt?

  • [ch04] nimmt durch, wie ein Bitcoin Wallet deine privaten Schlüssel verwaltet und wie aus einer einzigen, riesigen Zufallszahl, dem Seed oder Samenkorn, viele private Schlüssel erzeugt werden können. Backups, also Datensicherungen, werden ebenfalls hier durchgenommen.

  • [ch05] untersucht die Anatomie einer Bitcoin Transaktion und wie Transaktionen digital signiert und ausgeführt werden.

  • [ch06] diskutiert die Blockchain: die Datenbank, auf der die Transaktionen gespeichert werden. Wir besprechen Schritt für Schritt, wie die Blockchain strukturiert ist und wie dies die Verwendung von sogenannten Light Wallets ermöglicht.

  • [ch07] behandelt den Proof of Work Mechanismus, mit dem ausgehandelt wird, wer der Blockchain neue Transaktionen hinzufügen darf. Der dazugehörige Prozess, das Mining, sichert die Bitcoin in der Blockchain ab.

  • [ch08] untersucht das Bitcoin Netzwerk. Bitcoin hat keine Kontrollzentrale, und wir werden feststellen, wie so etwas mit einem Peer-to-Peer Netzwerk möglich ist. Ich erkläre ausserdem, wie man durch Verwendung eines eigenen Nodes eine aktive Rolle im Bitcoin Netzwerk übernehmen kann.

  • [ch09] betrachtet noch einmal Transaktionen. Wir kehren zurück, um einiges an Schnickschnack zu entdecken, der für diverse Anwendungen wichtig ist.

  • [ch10] führt Segregated Witness ein. Bitcoin wurde 2017 mit grösseren Verbesserungen in Bezug auf Transaktionsrobustheit, Prüfeffizienz und Blockchainkapazität ausgerüstet, und dieses Kapitel enthält alle Details dazu.

  • [ch11] geht durch Soft Forks und Hard Forks und bespricht, wie Bitcoin mittels eines Soft Forks und eines sorgfältigen Ausrollplanes sicher aufgerüstet werden kann.

Ich schlage vor du liest die Kapitel 2–8, in denen wir das Keksgutschein-System von Grund auf bauen werden, der Reihe nach durch. In jedem Kapitel kommt etwas Technologie hinzu, um ein bestimmtes Problem zu lösen, und bis Kapitel 8 werden wir Bitcoin gebaut haben. Kapitel 9, 10 und 11 können ausser der Reihe gelesen werden, aber ich empfehle, Kapitel 11 sehr sorgfältig zu lesen, denn es behandelt die Essenz von Bitcoin. Wenn du Kapitel 11 verstehst, hast du Bitcoin begriffen.

periscope

Zur Erleichterung der Orientierung verwende ich im Buch ab und zu ein paar der Übersichtsgrafiken aus [ch01], sowohl in den Kapiteleinführungen als auch innerhalb der Kapitel. Man verliert leicht den Überblick und das Ziel des aktuellen Themas. Achte auf das Periskopsymbol und auf Abschnittsüberschriften wie "wo waren wir?".

Bis auf [ch01] enthält jedes Kapitel Übungen. Diese dienen dir zum Einschätzen deiner Kenntnisse. Jede Ladung Übungen besteht aus einem einfacheren Teil namens "Aufwärmen" für kürzere Faktenchecks, und einem schwierigen Teil "Reinhauen", der mehr Denken erfordert. Einige der Übungen unter "Reinhauen" sind fürchterlich schwierig. Wenn du also steckenbleiben solltest, dann schlag ruhig in [app2] die Antworten nach.

Code Konventionen

Dieses Buch enthält nicht viel Code. Eigentlich gar keinen. Aber es gibt ein paar Linux Kommandos in [ch08] und [app1]. Ein Kommando wird von einem Dollarzeichen und einer Leerstelle wie folgt eingeleitet:

$ cd ~/.bitcoin

Sollte ein Kommando nicht auf eine Zeile passen, teilen wir die Zeile mit einem Backslash `\`auf und rücken die Folgezeile um vier Leerstellen ein, wie hier:

$ ./bitcoin-cli getrawtransaction \
30bca6feaf58b811c1c36a65c287f4bd393770c23a4cc63c0be00f28f62ef170 1

Mit Backslashes kann man in den meisten Linux Kommandosprachen mehrzeilige Kommandos schreiben, sodass du solche Zeilen einfach durch Copy-Paste in dein Terminal kopieren kannst. Ausgabezeilen von Kommandos werden nicht mit Backslashes aufgebrochen; sie werden stattdessen falls nötig mit einem Zeilenumbruch wie hier versehen:

{"result":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f", "error":null,"id":"1"}

Im gesamten Buch werden Daten in einem nichtproportionalen Font dargestellt: Zum Beispiel 7af24c99. Ich gebe normalerweise nicht an, welche Codierung benutzt wird (Dezimalzahlen, hexadezimale Strings, base64 Strings, base58 Strings und so weiter), weil es oft aus dem Zusammenhang hervorgeht.

liveBook Diskussionsforum

Der Kauf von Bitcoin begreifen beinhaltet kostenfreien Zugriff auf ein privates Web Forum von Manning Publications, wo du Kommentare über das Buch schreiben kannst, technische Fragen stellen kannst und Hilfe vom Autor und anderen Lesern bekommen kannst. Um auf das Forum zuzugreifen, gehe auf https://livebook.manning.com/#!/book/grokking-bitcoin/discussion. Du kannst auch mehr über Mannings Forums und die dort gültigen Verhaltensregeln lernen auf https://livebook.manning.com/#!/discussion.

Mannings Selbstverpflichtung unseren Lesern gegenüber ist, einen Treffpunkt bereitzustellen, an dem ein sinnvoller Austausch zwischen einzelnen Lesern sowie zwischen Lesern und Autoren stattfinden kann. Es ist keine Verpflichtung zu einer bestimmten Mindestteilnahme durch den Autor, dessen Beitrag zu dem Forum freiwillig (und unbezahlt) ist. Wir schlagen vor, das Interesse des Autors mit herausfordernden, interessanten Fragen zu wecken. Das Forum und die Archive voriger Diskussionen werden auf der Verlags–Webseite zugreifbar bleiben, solange das Buch sich im Druck befindet.

Andere Ressourcen des Autors

Wenn du spezielle Fragen zu Bitcoin hast, zu denen du die Antworten in diesem Buch nicht finden konntest, empfehle ich Bitcoin Stack Exchange ([web-stackexchange]), eine Plattform für Fragen und Antworten, auf der gute Antworten von den Lesern hochgewählt werden.

Ich empfehle ausserdem die Bitcoin Developer Reference ([web-dev-ref]) als umfassendere Dokumentation von Bitcoin.

Der Bitcoin Core Quellcode ([web-bitcoin-source]) ist die genaueste Informationsquelle. Es ist die Referenz-Implementation des Bitcoin Protokolls und manchmal findet sich die einzige Antwort nur durch Lesen desselben.

Wenn du den Inhalt dieses Buches online durchsuchen willst, empfehle ich die Nutzung des Quelltextes bei [web-book-source]. Er wird spätestens 90 Tage nach Veröffentlichung des Buches freigeschaltet.

Über den Autor

kalle

Kalle Rosenbaum hat 20 Jahre als Softwareentwickler gearbeitet. Seine Leidenschaft für Bitcoin begann 2013 und setzt sich ununterbrochen fort. Kalle gründete 2015 eine Bitcoin Consulting Firma und arbeitet seitdem in der Bitcoin Industrie. Er schreibt ausserdem einen technischen Blog, der diverse technische Themen von Bitcoin behandelt, zum Beispiel Verbesserungen in der Blockpropagation, Sidechains und Replace-by-Fee. Ziel dieses Blogs ist, sich Dinge selbst beizubringen und andere daran teilhaben zu lassen.