Durch die Berühmtheit von Bitcoin ist auch das Thema Blockchain immer prägnanter geworden. Blockchain erlaubt uns die Verschiebung von Werten/Geld ohne einen Mittelsmann wie etwa eine Bank (siehe auch
Blockchain Einführung ). Der Transfer von Geld von einem Bankkonto zu einem anderen in einem anderen Land kann heutzutage bis zu fünf Mittelmänner involvieren, alle mit ihrer eigenen Verarbeitungszeit und Gebühren. Als Erweiterung der Blockchain kamen Smart Contract, welche es erlauben, komplexe Business Logik in diesen Transaktionen zu verwenden.
Mittlerweile sind wir bei der dritten Welle der Blockchain angekommen. Aber was ist die dritte Welle und was waren die zwei Wellen zuvor?
Einer der wichtigsten Vorteile von Blockchain ist dabei die tatsache, dass verhindert wird, dass die gleichen 10 Euros zweimal ausgegeben werden – das sogenannte Double Spending kann damit verhindert werden. (Siehe auch Was ist das Double Spending Problem? )
Viele Industrien sind bereits in vollen Zügen herauszufinden, wie sie von der Blockchain Technologie profitieren können. Denn wenn es soweit ist (was man nicht mit Sicherheit sagen kann) will niemand enden wie damals Nokia, die gedacht hat, dass Apple ja nur eine kleine Firma ist und ihnen niemals den Rang abkaufen wird.
Der Einfachheit halber werde ich im Folgenden nicht von Asset oder Wert oder Entities oder sonstwas reden. Stattdessen gehe ich davon aus, dass Person A Geld an Person B senden will.
Ich werde versuchen, in naher Zukunft den angeschnittenen Themen eine eigene Seite zu spendieren und diese im Detail zu erklären.
Die erste Blockchain Welle
Wie funktioniert Bitcoin?
Bitcoin hat eine Sammlung von Technologien zusammengebracht, damit verschiedene Partien Werte mittels einer digitalen Währung austauschen können. Diese digitale Währung wird auch Crypto Currency genannt, da sie eine enge Verbindung zu Kryptografie hat.
Bei Bitcoin tragen verschiedene Elemente dazu bei, dass Personen Geld austauschen können.
Ein sogenannter Distributed Ledger beziehungsweise Verteiltes Hauptbuch speichert alle Transaktionen und hält diese synchron in allen Kopien/Nodes/Knoten. Heisst auf Deutsch: Alle Transaktionen werden in einem Ledger / Hauptbuch (Buchhaltung lässt grüssen) niedergeschrieben. Von diesem Hauptbuch gibt es nun eine Kopie pro Knoten, und Knoten gibt es Tausende.
Die Knoten werden dabei von sogenannten Teilnehmern / Participants erstellt und verwaltet.
Wer mit dem Begriff Hauptbuch nichts anfangen kann stellt sich technisch einfach eine Datenbank vor.
Jeder Teilnehmer kennt dabei die Regeln, wie Transaktionen im Hauptbuch abgespeichert werden und hält sich daran.
Einmal geschriebene Einträge im Hauptbuch können nachträglich nicht mehr verändert werden und sind sogenannt immutable, also unveränderlich (Allein dieser Punkt wirft bereits Fragen auf, aber dazu später mehr).
Ein gemeinsamer Konsensus bei allen Teilnehmern darüber, wie das Hauptbuch schlussendlich gespeichert wird. Technisch wird dies als konsistent bezeichnet.
Ich werde im folgenden je nach Begriff das englische Wort verwenden, wenn ich denke, dass es Sinn macht.
Distributed Ledger Technology = DLT
DLT ist die moderne Beschreibung für Bitcoin oder Blockchain. Im Bitcoin Netzwerk hat jeder Teilnehmer eine Kopie des Hauptbuchs. In diesem Hauptbuch werden alle Transaktionen des Bitcoin Netzwerks gespeichert. Die Transaktionen in diesem Bitcoin Hauptbuch wurden dabei mit der entsprechenden Währung getätigt, in diesem Fall also Bitcoins.
Alle Transaktionen im Hauptbuch sind verknüpft mit den vergangenen Transaktionen und bilden so eine Kette von Blöcken aka Blockchain. Als Output bezeichnet an dann den aktuellen Stand des Hauptbuchs. In Bitcoin wird die Verknüpfung mittels einer Technologie namens UTXO = unspent transaction output gemacht. So wird sichergestellt, dass jeder Teilnehmer nicht nur den aktuellen Stand des Hauptbuchs sieht, sondern auch die offenen transaktionen, die zum zukünftigen validierten Stand führen.
Transaktionen per Scripting
Eine Transaktion ist die Verschiebung von Geld von einer Person zur anderen. Dabei ist es wichtig, dass sich beide Personen über die Details wie den Geldbetrag einig sind. Oder dass es sich tatsächlich um Person A und Person B handelt. Bitcoin macht dies durch eine einfache Scriptingsprache möglich.
Das Verhindern von Double Spending
Die grösste Herausforderung beim Austausch von Geld ohne einen Mittelsmann ist das Double Spending, bei dem dasselbe Geld für mehrere Zahlungen verwendet wird. In der Realität ist dies nicht möglich, da man für einen Starbucks Kaffee nur einmal zuviel Geld bezahlt und die 10 Euros dann weg sind. Digital kann dies durchaus geschehen.
Bitcoin verhinder das Double Spending mit einem Mechanismus, indem jeder Teilnehmer eine Kopie des Hauptbuchs besitzt und alle Teilnehmer zu einer Übereinstimmung kommen, wie das Hauptbuch momentan aussieht. Dies wird durch das schürfen oder mining möglich.
Lasst uns Gold schürfen!
Mining funktioniert folgendermassen: Wenn zu tätigende Transaktionen anstehen, werden diese den Minern (quasi Bergarbeiter) übermittelt. Miner sind Leute, die vom Blockchain Hype profitieren wollen und sich alle Grafikkarten unter den Nagel gerissen haben (da diese besonders schnell rechnen können), um eben damit zu schürfen.
Die Miner probieren nun, den nächstmöglichen Block in der Blockchain zu errechnen. Dies kann man als Lösen eines kryptografischen Rätsels betrachten, bei dem der Computer Unmengen von Rechnungen löst, bis eine gewisse Bedingung erfüllt ist. Das können alle Miner dieser Welt gleichzeitig machen, denn das Lösen dieses Rätsels benötigt eine gewisse Zeit und unglaublich viel Computerleistung (siehe https://www.bitcoinnews.ch/6809/bitcoin-verbraucht-strom-viel-strom/).
Sobals ein Miner das Rätsel gelöst hat veröffentlichen diese den neu gefundenen Block zusammen mit der Lösung des Rätsels. Die anderen Miner prüfen und akzeptieren diese Lösung und fügen dann die Transaktionen dem Hauptbuch hinzu. Der neue Block wird dabei mit dem Ende der Blockchain verknüpft.
Die Blöcke werden mit sogenannten Hashes verknüpft. Sie möchten wissen, was ein Hash ist? Einfach eine eindeutige Aneinanderreihung von Zahlen und Buchstaben, etwa so: 7ae26e64679abdftguife1e9b93a9e85
Da alle Blöcke einer Blockchain verknüpft sind ist es auch möglich, sich zum allerersten Block zu hangeln.
Wie gesagt braucht das Schürfen enorme Rechenpower (und auch sehr viel Energie). Für ihre Mühen werden die Miner mit Bitcoins belohnt – zumal dieser Vorgang ja notwendig ist, damit die Blockchain funktioniert.
Die zweite Blockchain Welle
Die Möglichkeit, mittels Bitcoin Geld ohne einen Mittelsmann zu transferieren, ist natürlich sagenhaft! Viele Firmen arbeiten genau als dieser Mittelsmann für grundsätzlich einfache Transaktionen wie das Verschieben von Geld von A nach B und können so horrende Zinsen verlangen. Durch einen Distributed Ledger ist das nicht mehr nötig.
Bitcoin hat aber auch einige Nachteile. Den enormen Energieverbrauch beim Schürfen von neuen Blöcken zum Beispiel. Oder dass mehr als nur „simples Geld“ ausgetauscht werden kann – also mehr als nur eine Zahl. In den Geschäfter arbeitet man meistens mit komplexen Objekten wie zum Beispiel einer Hypothek, bei der man mehr Attribute kennen muss als nur eine Zahl wie Startdatum, Enddatum, Halter der Hypothek, Zinssatz etc.
In Java ausgedrückt: Man will nicht nur einen Integer transferieren, sondern ein ganzes Objekt.
Aus diesem Nachteil ist eine neue Welle entstanden. Zu dieser Welle gehören etwa Ethereum oder IBM’s Fabric.
Die wichtigste Annforderung war dabei die Unterstützung komplexer Businesslogik. Dazu kommt oftmals noch die Notwendigkeit, dass das auszutauschende Objekt auf einer gesetzlichen Grundlage aufbauen und dies irgendwie abbilden muss.
Smart Contracts
Die zweite Welle von Blockchain Technologien baut mit Smart Contracts / Intelligente Verträge auf den Bitcoin Erungenschaften auf. Mit Smart Contracts ist es möglich, komplexe Logik in einer Transaktion zu verwenden.
In vielen Geschäftsfeldern wird der Vertrag als Grundlage einer Transaktion angesehen. So ist auch der Austausch von Geld ein Übereinkunft oder ein Vertrag zwischen A und B.
Eine wichtige Eigenschaft von Smart Contracts ist der Determinismus. Das bedeutet einfach, dass wenn man einen Algorithmus anschmeisst, dieser bei gleichem Input immer das selbe Resultat ausgibt. Ein Algorithmus, der „2 + 2 = 4“ berechnet, ist deterministisch. Ein Namensgenerator für Mädchen ist es nicht.
Die dritte Blockchain Welle
Auch wenn man mit der zweiten Welle nun komplexe Transaktionen ausführen kann hat auch sie ihre Herausforderungen.
Ein wichtiger Punkt ist die Privatsphäre. Wenn Person A Geld an Person B schickt, sollten nur A und B die genauen Details dieser Transaktion kennen. Wenn die Transaktion aber für alle einsehbar in jedem Hauptbuch gespeichert ist, ist dies nicht gegeben.
Ein weitere Kritikpunkt ist der Zeitpunkt, wann ein Block von den Minern als final angesehen wird. Wenn ein Miner ein Rätsel gelöst hat und den gefundenen Block veröffentlicht gibt es die Möglichkeit, dass dieser Block abgelehnt wird. Wenn eine Geschäftstransaktion über Blockchain ausgeführt werden soll, muss man sicher gehen können, dass diese auch ausgeführt wird. Ich möchte meinen Lohn nämlich jeden Monat erhalten und nicht zufälligerweise 😉
Ein weiterer wichtiger Punkt ist die Identität der beiden Personen. Person A oder Person B müssen als juristische Person erkannt und behandelt werden können.
Und schlussendlich noch die Skalierbarkeit. Wenn ein Bankprozess, wie etwa der Bezug von Bargeld von einem Bankautomaten, tatsächlich in der Blockchain gespeichert werden soll, werden das Milliarden von Transaktionen. Soviele Blöcke können die Miner gar nicht schürfen, zumal es auch eine Obergrenze für die Anzahl der zu schürfenden Blöcken gibt.
Ein Beispiel für eine Blockchain der dritten Welle ist Corda.
Der Weg der Blockchain in das Daily Business
Soweit mal die Grundlagen zum Stand der Blockchain per Anfang 2019. Es ist wirklich interessant, wie rasant sich das Thema entwickelt. Verschiedene Partien arbeiten hart daran, Geschäftsfelder für Blockchain zu finden.
Viele Personen belächeln Blockchain als Hype, der bald wieder zu Ende sein wird. Meiner Meinung nach wird sich die Blockchain weiterentwickeln und vielleicht nicht jeden der heutigen Geschäftsprozess ablösen, aber doch einen wichtigen Platz für gewisse Anwendungsfälle erhalten.
Lasst uns sehen, wohin der Blockchain Zug uns führen wird – Und lasst uns auch sicherstellen, dass wir diesen Zug nicht verpassen!