Blockchain Grundlagen

Du hast das Bitcoin Whitepaper gelesen? Nein? Dann wird es Zeit, die grundlegende Funktionsweise von Bitcoin und somit Blockchain zu verstehen. Denn nicht überall wo Blockchain drauf steht, ist auch Blockchain drin. Dann lass uns auf dieser Seite gemeinsam die Blockchain Grundlagen kennenlernen.

Du möchtest direkt das Original auf Englisch lesen oder Deutsch oder einer anderen Sprache? Diese findest du auf der dedizierten Bitcoin.org Whitepaper Webseite.

Die Blockchain & BitCoin Geschichte

Viele neue Innovationen beginnen innerhalb eines kleinen Kreises von Vordenkern. So beginnt die Geschichte von Bitcoin auch – der e-Cash Innovation. An einem Samstag den 01. November 2008 um 16:16:33 Uhr veröffentlicht ein Benutzer unter dem Pseudonym Satoshi Nakamoto in einer Mailingliste von Kryptographen diese Nachricht:

„I’ve been working on a new electronic cash system that’s fully peer-to-peer, with no trusted third party.“

Und so nahm die Innovation & die Geschichte ihren Lauf. Hier findest du die wichtigsten historischen Ereignisse bis Ende 2012.

18. August 2008 - Registrierung von bitcoin.org

Die Domain bitcoin.org wurde registriert. Auf dieser Webseite verweist wenige Monate später Satoshi Nakamoto sein Bitcoin Whitepaper, welches den Teilnehmern der Mailingliste als PDF-Datei zum Download zur Verfügung gestellt wurde.

01. November 2008 - Veröffentlichung Mailingliste

Satoshi Nakamoto veröffentlicht das Whitepaper in der Mailingliste.

„I’ve been working on a new electronic cash system that’s fully peer-to-peer, with no trusted third party.

The paper is available at: http://www.bitcoin.org/bitcoin.pdf The main properties: Double-spending is prevented with a peer-to-peer network. No mint or other trusted parties. Participants can be anonymous. New coins are made from Hashcash style proof-of-work. The proof-of-work for new coin generation also powers the network to prevent double-spending.“

09. November 2008 - Bitcoin Projekt auf SourceForge.net

Das Bitcoin Projekt wurde auf SourceForge.net registriert und ist bis heute noch erreichbar. Du kannst die ersten Benutzer Reviews und sogar das erste Release mit der Version 0.1 ist noch hier zu finden. Es ist anzunehmen, dass Satoshi Nakamoto mit der Entwicklung schon früher angefangen hat.

03. Januar 2009 - Generierung des Genisis Blocks

Der Genisis Block wurde um 19:15 Uhr generiert.

Hash 000000000019d6689c085ae165831e9
34ff763ae46a2a6c172b3f1b60a8ce26f
Bestätigungen 605.609
Zeitstempel
2009-01-03 19:15

Höhe 0
Miner Unbekannt
Anzahl der Transaktionen
1
Schwierigkeit
1,00
Merkle Root
4a5e1e4baab89f3a32518a88c31bc87f
618f76673e2cc77ab2127b7afdeda33b
Ausführung
0x1
Bits
486.604.799
Gewicht
1.140 WU
Größe
285 bytes
Nonce
2.083.236.893
Transaktionsvolumen
0.00000000 BTC
Belohnung blockieren
50.00000000 BTC
Honorar
0.00000000 BTC
09. Januar 2009 - Release der Version v0.1

„Announcing the first release of Bitcoin, a new electronic cash system that uses a peer-to-peer network to prevent double-spending. It’s completely decentralized with no server or central authority.“

Mit diesen Worten veröffentlicht Satoshi Nakamoto die Version v0.1 von Bitcoin. Interessanterweise stand das Release nur für Windows zur Verfügung.

12. Januar 2009 - Erste Bitcoin Transaktion

Hal Finney (28. August 2014 verstorben), der erste Co-Entwickler von Bitcoin erhält die erste Bitcoin Transaktion mit 50 BTC von Satoshi.

15. Januar 2010 - Bitcoin Preisberechnung

Bevor im März 2010 der erste Bitcoin Marktplatz startete, berechnete der Benutzer NewLibertyStandard den Stromverbrauch für das Mining von Bitcoin in US-Dollar.

„During 2009 my exchange rate was calculated by dividing $1.00 by the average amount of electricity required to run a computer with high CPU for a year, 1331.5 kWh, multiplied by the the average residential cost of electricity in the United States for the previous year, $0.1136, divided by 12 months divided by the number of bitcoins generated by my computer over the past 30 days.“

06. November 2010 - Bitcoin erreicht 1 Mio. USD Marktpreis

Der MtGox Bitcoin Preis erreicht 0.50 USD und einen Marktwert von 1 Mio. USD.

27. September 2012 - Gründung der Bitcoin Foundation

Die Bitcoin Foundation ist eine amerikanische Non-Profit-Organisation. Sie wurde im September 2012 mit dem Ziel gegründet, „die Verwendung von Bitcoin-Kryptogeldern zum Wohle der Nutzer weltweit zu standardisieren, zu schützen und zu fördern. Die Organisation wurde nach dem Vorbild der Linux Foundation gegründet und wird hauptsächlich durch Zuschüsse von gemeinnützigen Unternehmen finanziert, die von der Bitcoin-Technologie abhängig sind.

Die Geschichte endet hier natürlich nicht. Du möchtest noch detailliertere Fakten habe? Dann lese dir diesen Bitcoin Wiki-Eintrag durch.

Bitcoin Grundlagen

Die Kernmechanismen von Bitcoin
illustrieren die nachfolgenden Grafiken.

Mit Innovationen und neuen Konzepten erscheinen neue Begriffe oder alte Begriffe erhalten neue Bedeutungen.

Diese zu verstehen und anschaulich zu machen ist die Herausforderung für jeden Blockchain Trainer. Bilder, Grafiken, Videos und Analogien helfen bei der Erklärung. Daran arbeiten wir bei Chainist.

Direkter Zahlungsverkehr

Es ist reines online Peer-to-Peer Verfahren mit elektronischem Zahlungsmittel, das eine direkte Zahlungen zwischen zwei Parteien ermöglicht, ohne über ein Finanzinstitut zu gehen.

Double Spending

Im digitalen Zahlungsverkehr besteht das Double Spending Problem. Mit Hilfe von digitalen Signaturen und weiteren Mechanismen, ist es nicht möglich den gleichen Betrag (den man nicht besitzt) an mehrere Teilnehmer zu senden. Bisher lösten wir das Problem über Finanzinstitute.

Zeitstempel & Hashing

Vernetzte Computer beobachten Transaktionen und versiegeln diese jeweils mit einem Zeitstempel. Transaktionen werden durch ein sogenannten Hash-Algorithmus komprimiert. Alle komprimierten Transaktionen werden in einer Kette von verpackten Transaktionen gebündelt. Dieses Bündel nennen wir „Block“. Dieser Block wird durch den sogenannte Proof-of-Work Mechanismus im Netzwerk erzeugt.

Bahnhof?

Du verstehst immer noch Bahnhof? Kein Problem, es folgen bald weitere anschaulichere Illustrationen und Erklärungen. Durchhalten!

Lass uns ein Lieblingslied von dir kaufen!

Du möchtest das neueste Album deiner Band kaufen. Du gehst zu deinem Schallplattenladen, bei dir um die Ecke. Natürlich akzeptiert dieser Laden verschiedene Zahlungsmittel nur leider kein Bargeld. Was passiert da eigentlich im Hintergrund?

Was passiert bisher beim bargeldlosem Zahlungsverkehr mit deinem Euro auf dem Bankkonto?

Deine Zahlung, die du mit einer Debit-, Giro- oder Kreditkarte tätigst, erfolgt üblicherweise über ein Kreditinstitut – sagen wir deiner Sparkasse. Diese bucht Zahlungen in Form von Buchgeld zwischen Girokonten. Dein Konto wird mit dem Zahlungsbetrag belastet, der Empfänger erhält eine entsprechende Gutschrift auf seinem Konto. Deine Sparkasse erbringt die Dienstleistung des Transfers und erhält meist eine Gebührengutschrift, eventuell im Rahmen von Kontoführungspauschalen.

Der Besitzer des Schallplattenladens sieht am Display der Kasse, dass die Karte akzeptiert wurde. Er vertraut, dass das Buchgeld deiner Sparkasse an seine Geschäftsbank transferiert und ist somit happy. Du nimmst deine Schallplatte mit und bist auch happy. Innerhalb von zwei Tagen siehst du einen Buchgeld-Abgang auf deinem Konto, dass nun auf dem Geschäftskonto des Schallplattenladens ist.

Wie funktioniert das bargeldlose Zahlen mit einer Kryptowährung wie Bitcoin?

Du besitzt eine digitale Brieftasche (Wallet) auf deinem Smartphone. Dein Wallet weiss, dass du 0.5 bitcoin besitzt. Mit deinem privaten Schlüssel und deinem öffentlichem Schlüssel, identifizierst du dich als Besitzer dieser 0.5 BTC. Aber Achtung, die Bitcoins sind nicht auf deinem Smartphone gespeichert! Dein Buchgeld „liegt“ ja auch nicht in deiner Banking App.

Der Schallplattenhändler zeigt dir einen Betrag von 0,0044 BTC (entspricht aktuell ca. 30 EUR). Er besitzt auch ein Wallet, das in der Kasse integriert ist. Auf dem Kassen-Display poppt eine bitcoin Kontonummer mit einem QR-Code auf. Diesen QR-Code scannst du mit deiner App. Du bestätigst die Transaktion. Ihr beide wartet, bis die Transaktion durch ist und seid happy, sobald die 0,0044 BTC Transaktion vom Computer-Netzwerk bestätigt wurde.

Das Beispiel ist erstmal einfach gehalten. Zu einem anderen Zeitpunkt hierzu mehr.

Was hast du hier gemacht?

Du hast eine direkte Zahlung (Peer-to-Peer) Transaktion durchgeführt. Zwischen dem Wallet
des Schallplattenhändlers und deiner Wallet.
Im Hintergrund haben die global vernetzten Computer deine Transaktion komprimiert und
in einem Block gebündelt. Dieser Block ist nun auf allen Computern für immer und ewig gespeichert.

 

Jetzt genug gelesen. Zur Auflockerung ein gutes und kurzes (3 Minuten) Erklärvideo zum entspannen. Die Chat-Analogie ist super, oder? The Guardian hat auch ein ganz nettes Bitcoin-Video (Englisch).

 

Begriffe & Glossar

„Bedeutungen und Definitionen von Begriffen sind ein Fundament für dein weitere Lernreise.“

Wir haben auf Konferenzen, Meetups und anderen Blockchain Events beobachtet, dass Teilnehmer*innen Begriffe um sich werfen, ohne dass ihnen bewusst ist, dass sie von unterschiedlichen Dingen sprechen. Was versteht du unter dezentral oder distributed?  Hier findest du für deine Blockchain Grundlagen eine Liste von Begriffen, die du in dieser Sektionen gelesen oder gehört hast. Enjoy!

Peer-to-Peer Netzwerk

Peer-to-Peer NetzwerkKennst du Bazaar, Napster oder BitTorrent? Komm, hast du sicherlich schon mal genutzt, oder?

Es sind Computer-Netzwerke, die ermöglichen, dass Benutzer Daten (das können PDFs, Bilder, Videos sein) direkt miteinander austauschen können ohne einen zentralen Server zu haben. Es gibt verschiedene Arten von Peer-to-Peer Netzwerken.

Ein Bekanntest, dass du auf jeden Fall schon mal genutzt hast ist Skype. Zumindest als Skype im Jahr 2006 startete, telefonierten Benutzer über ein Peer-to-Peer Netzwerk. Anstatt Bilder oder Audio-Streams auszutauschen, nutzen Blockchain-Protokolle wie Bitcoin oder Ethereum die Peer-To-Peer Vorteile, um eine Transaktion von BTC oder Ether zwischen zwei Nutzern durchzuführen.

Double Spending

Double Spending GrafikAlles was digital ist, können wir kopieren. Eine PDF-Datei auf deinem Laptop. Deine privaten Fotos auf dem Smartphone teilst du über Bluetooth. Das ist einfach und auch gut so. Schnell und unkompliziert. Doch eine Sache möchtest du und andere nicht in der digitalen Sphäre sehen.

Ein Hacker hat Zugriff auf dein Bankkonto. Dieser „kopiert“ dein Kontowert von – sagen wir 1000 Euro. Er möchte nicht, dass du es mitbekommst, dass er über dein Konto Waren kauft. Da verändert er das System der Bank so, dass er in der Lage ist dein Geld „doppelt“ auszugeben. Keiner bekommt das mit. In der Realität ist das nicht so einfach. Es gibt eine Buchführung, Kontenabgleich etc., das solche Dinge vermeidet. Daher brauchst du deine Bank, die du „vertraust“, dass sie alles richtig macht und auf dein Geld aufpasst.

Es gibt also gewisse digitale Daten, die wir sicherstellen möchten, dass diese konsistent bleiben und nachweislich dein digitales Eigentum sind. Du möchtest nicht, dass jemand anderes deine Identität stiehlt, um Zugriff auf dein digitales Eigentum zu erlangen. Dieses „Kopier“-Problem, Double Spending Problem, hat Satoshi Nakamoto mit dem Bitcoin-Protokoll erstmals gelöst. Das ist essentiell zu verstehen und zu wissen!

Hash-Algorithmus

Das Wort „Hash“ kommt aus dem Englischen und bedeutet „zerhacken“. Ein Hash-Algorithmus (oder auch Hash-Funktion) erhält Eingabewerte und zerhackt diese in kleine Stücke und spuckt am Ende eine Zeichenkette aus, die meistens ein fest Länge hat. Um das zu verdeutlichen, öffne die Seite hashgenerator.de in einen separaten Browser-Tab auf. Gebe deinen Namen in das Feld „Deine Nachricht“ ein und beobachte was passiert.

Screencast von Hash-Funktion

Das Ergebnis hat immer den gleichen Wert, wenn die Eingabe identisch ist. Jede Veränderungen der Eingabe ergeben einen komplett neuen Hash-Wert.

Was hat das alles für einen Sinn? Hast du schon mal Software aus dem Internet heruntergeladen? Da wird manchmal die Checksumme angezeigt. Diese Angabe ist nichts anderes als ein Hash der Datei. Diese kannst du bei dir lokal auf dem Rechner gegenprüfen. Mit der Kommandozeile oder einem Hilfsprogramm kannst du den Hash-Wert der heruntergeladenen Datei berechnen lassen und vergleichst den Wert mit dem, des Software-Herstellers.

Auf diese Weise kannst du dir sicher sein, dass keine andere Person die Software evtl. manipuliert hat oder bei der Datenübertragung Fehler passiert sind.

Ein Hash-Wert ist somit ein Fingerabdruck von digitalen Informationen.

Zeitstempel

Zeitstempel mit Datumsanzeige und Datumsdruck, Marke ERFU, etwa 1960. Mechanisches Uhrwerk, Handaufzug, acht Tage LaufzeitNein, wir stempeln nicht die Zeit. In der Informatik werden Zeitstempel vielseitig angewendet. Zum Beispiel in Datenbanken. Nehmen wir an, du hast eine Exceltabelle, in dieser erfasst du jeden Tag in einer neuen Zeile deine Arbeitszeit. Die Personalabteilung hat auch Zugriff auf die Tabelle und sieht an Hand der Datum- und Uhrzeit-Spalte, von wann bis wann du gearbeitet hast.

Doch wann hast du den Eintrag exakt gespeichert? Dass du eine Zeiterfassung an einem Sonntag um 0:12:55 Uhr erledigt hast,  das steht nicht in einer Spalte.

In einer Datenbank und Software lässt sich dieses einfach umsetzen. Wir speichern alle Zeiten von neuen Einträge und Veränderungen in einer separaten Spalte oder in eine Log-Datei. Hierzu generiert das System, in unserem Fall dem Bitcoin-Protokoll ein sogenannten Timestamp (Zeitstempel).

Was können wir mit dem Zeitstempel nun machen? Erinnerst du dich an den Hash-Wert? Zeit verändert sich kontinuierlich und somit auch der Zeitstempel. Wir können den Zeitstempel als zusätzliche Eingabe nutzen, um ein Hash-Wert zu erhalten. Kombinierst du den Zeitstempel mit zusätzlichen Daten wie zum Beispiel dem Betrag einer Überweisung, dann ist diese Hash-Wert ein Fingerabdruck deiner getätigten Überweisung. Du hast die Überweisung mit einem Fingerabdruck „gestempelt“. Und ähnlich funktioniert das auch bei Bitcoin.

Transaktion
Wenn du Geld von einem Geldautomaten abhebst oder jemandem Geld über PayPal schickst, dann löst du eine Transaktion aus. Eine Transaktion mit Euros und anderen nationalen Währungen behinhaltet ein Zielkonto, den Betrag und dein Absenderkonto mit ein paar zusätzlichen Metadaten.

Ähnliche Informationen braucht das Bitcoin Protokoll, um einen Betrag an bitcoin von dir zum Schallplattehändler zu senden. Du hast eine 1.) Bitcoin Adresse für das Ziel zum Beispiel

15vwoaN74MBeF5nr2BH4DKqndEFjHA6MzT

Ebenso braucht eine Bitcoin Transaktion eine 2.) digitale Signatur, die durch dein Wallet erzeugt wird mit deinem privaten Schlüssel. Und natürlich muss in der Transaktion der 3.) Betrag an Bitcoins stehen, die du transferieren möchtest.

All diese Transaktions-Informationen werden verpackt und an einen oder mehreren Computern (Nodes) gesendet, mit dem dein Wallet verbunden ist.

Es gibt verschieden Typen von Transaktionen. Damit du nicht gleich überwältigt wirst mit weiterer Komplexität, bleiben wir erstmal bei dem oben beschriebenen Transkationsvorgang.

Block in einer Blockchain

Wallets sind mit Nodes verbunden. Sobald deine Wallet eine Transaktion durchführt, leitet eine oder mehrere Nodes deine Transaktion weiter an benachbarten Nodes. Diese Weiterleitung wird so lange durchgeführt, bis alle Nodes im gesamten Computer-Netzwerk deine Transaktionen haben. Auf diesem Weg dahin, wird deine Transaktion von jeder Node überprüft.

Chain of Blocks

Jetzt kannst du dir vorstellen, dass nicht nur deine Transaktion im Netzwerk herumschwirrt sondern Tausende andere Transaktionen auch. Es braucht also eine Lösung, die koordiniert, welche Transaktionen wann durchgeführt wird, damit deine Bitcoins an den neuen Besitzer übertragen wird. Diese Aufgabe übernehmen spezielle Nodes. Diese speziellen Nodes kümmern sich darum, dass Transaktionen geordnet werden und verpacken die Transaktionen in eine Nachricht und teilen allen Nodes mit, welche Transaktionen nun verarbeitet wurden. Diese verpackte Nachricht mit vielen Transaktionen nennt man einen „Block“.

Eine aneinander Reihung dieser Nachrichten, werden daher Blockchain genannt. Wusstest du, dass im Bitcoin Whitepaper nie von einer Blockchain gesprochen wurde? Sondern nur von einer chain of blocks.

Dezentral & Distributed

Dezentral, Verteilt und ZentralAlle Computer, die im Bitcoin Netzwerk existieren koordinieren sich in einem dezentralen Netzwerk und sind auf der ganzen Welt verteilt. Bei der Begriffserklärung ist es wichtig zwei Ebenen zu unterscheiden, die oft verwechselt werden oder sogar manchmal gleich gestellt werden.

Technische Ebene

Bitcoin ist ein dezentrales Netzwerk an Nodes. Jede Node ist wieder mit anderen Nodes verbunden. Spezielle Nodes (sogenannte Miner) haben eine besondere Aufgabe und erzeugen die Blöcke. Auf der technischen Ebene beschreiben wir also die Topologie eines Netzwerkes unabhängig davon wer diese Nodes betreibt.

Organisatorische Ebene

Bitcoin wird von verschiedenen Menschen und Organisationen weiterentwickelt. Es gibt die Bitcoin Foundation, individuelle Entwickler oder privatwirtschaftliche Unternehmer. Es sind Menschen die sich dezentral koordinieren, um die Software Bitcoin weiterzuentwickeln oder es sind Privatpersonen oder Unternehmen, die Bitcoin Nodes betreiben. Wir haben hier also eine dezentrale Organisation des Bitcoin Ökosystems. Bitcoin liegt nicht in einer Hand eines großen Tech-Giganten.

Wenn du also von Distributed Ledger Technologien hörst, dann versuche zu verstehen in welchem Kontext dezentral und distributed genutzt werden. Geht es um die Technologie , die Organisation oder um beides?

Konsens-Mechanismus

Du hast schon einmal an einem Meeting teilgenommen mit mehr als 5 Personen? Es gilt am Ende des Meetings eine gemeinsame Entscheidung für eine Sache zu finden?

Es wird diskutiert, es wird argumentiert und am Ende sollten im idealen Fall, alle für ein Ergebnis entscheiden – einen Konsens finden. Du kannst dir vorstellen, dass der Aufwand und die Zeit einen Konsens zu finden, lange dauern kann je mehr Personen mit gleichem Stimmrecht teilnehmen.

Dieser Prozess der Konsens-Findung gibt es auch in verteilten Systemen und ist ein maßgebliches Merkmal bei Distributed Ledger Technologien.

Ein verteiltes Netzwerk von Computern, muss über eine „Wahrheit“ von Daten abstimmen.

Hast du wirklich 0,0044 BTC an den Plattenhändler transferiert oder gibt es hier jemanden im Netzwerk, der einen anderen Betrag gesehen hat? Gibt es jemanden, der deine Transaktionen verfälscht hat? Wenn ja, welche Transaktion ist die gültige? Die mit 0,0044 BTC oder die gefälschte mit 0,0022 BTC?

Wie wird diese Unstimmigkeit in Bitcoin gelöst? Hierzu braucht es ein Konsens-Mechanismus, der im gesamten Netzwerk valide Transaktionen final in einen Block speichert und somit der Betrag an bitcoins einem neuen Eigentümer zugeschrieben wird. Hierzu braucht es keine Personen, die über die Wahrheit entscheiden, sondern Mathematik und Maschinen-Rechenpower, um die Transaktionen und das Netzwerk abzusichern.

Release early, release often

In der Softwareentwicklung nutzen wir, wenn möglich, die Method Release early, release often. Auf unsere Texte bezogen, veröffentlichen wir Inhalte so früh wie möglich und kontinuierlich. Auch wenn die Inhalte nicht perfekt, sonder „gut genug“ sind. Fehler merzen wir über die Zeit aus und bringen Verbesserungen kontinuierlich ein. Schnapp dir ein Kaffee und geduldige dich auf neue Updates von uns. Fehler und Anmerkungen entdeckt? Schicke uns ein Tweet.