Podcast

Blockchain – Part 1

Über Bitcoin und Blockchain

Bitcoin und Blockchain – die einen sind begeistert von diesen Technologien, die anderen halten sie für nichts als leeren Hype. Was steckt dahinter? Im ersten Teil unserer zweiteiligen Serie über die Blockchain stellt uns Stefan Tilkov Bitcoin vor, die Technologie, für die die Blockchain erfunden wurde. Wir starten damit, wie Bitcoin als Bezahlmittel funktioniert. Dann gehen wir auf technische Details zu Transaktionen und Mining ein. Und natürlich sprechen wir auch über den Energieverbrauch von Bitcoin und wie und ob Bitcoin skalieren kann.
Weitere Episoden anhören

Shownotes & Links

Transkript

Transkript ausklappen / einklappen

Lucas Dohmen: Hallo und herzlich Willkommen zu einer neuen Folge des INNOQ Podcast. Heute ist unser Thema die “Blockchain” und dafür habe ich mir den Stefan eingeladen. Hallo Stefan.

Stefan Tilkov: Hallo Lucas.

Lucas Dohmen: Möchtest du dich den Hörern und Hörerinnen kurz vorstellen?

Stefan Tilkov: Ich bin Stefan Tilkov, Principal Consultant und einer der Gründer bei INNOQ. Ich beschäftige mich mit allem Möglichen und im Moment damit, die Blockchain zu erklären und vor allem auch zu verteidigen gegen die Leute, die es ganz furchtbar finden.

Lucas Dohmen: Die Blockchain ist ja so eine Art “Hype-Thema” und Hype-Themen sind auch etwas, wo man vielleicht eher kritisch wird und sich fragt, ob überhaupt etwas hinter diesem Hype steckt oder ob es etwas Uraltes ist. Wenn du es kurz zusammenfassen würdest, was würdest du sagen, begeistert dich an der Blockchain? Warum beschäftigst du dich damit?

Stefan Tilkov: Bevor ich die Frage beantworte: ich finde diese Beobachtung des Hypes sehr interessant. In meiner Beobachtung ist es nämlich das erste Mal, dass der Hype und der Anti-Hype zusammenfallen. Normalerweise habe ich das Gefühl, dass es sonst nacheinander kommt: Zuerst sind alle begeistert und keiner kritisiert irgendetwas. Dann irgendwann kommt dieses “Trough of Disillusionment” der Gartner-Kurve und alle sind sich sicher, es sei ganz schrecklich. Entweder passierte es sehr schnell oder es ist tatsächlich gleichzeitig aufgetreten. Ich finde es sehr polarisierend: Es gibt sehr viele Leute, die es unglaublich toll finden und es gibt sehr viele, die es nahezu teuflisch und furchtbar schlecht finden - und das zum gleichen Zeitpunkt. Zurück zu deiner Frage, was ich daran interessant finde. Wenn es bei einem Anwendungsfall angewandt wird, zu dem es passt, dann ist es eine höchst innovative und meistens sogar die einzig praktikable Lösung. Der Haken ist, dass sie aber oft nicht passt und trotzdem verwendet wird. Das führt zu Recht dazu, dass viele Leute es für Unsinn halten. Es ist aber nicht so, dass es gar keine Use-Cases dafür gibt: Es gibt wenige, aber da passt es dann richtig gut und die finde ich in der Tat sehr spannend.

Lucas Dohmen: Würdest du denn sagen, dass Blockchain eine Lösung ist, die es so vorher noch nicht gab?

Stefan Tilkov: Definitiv, ja. Es gibt die Blockchain als Teil von Bitcoin, worüber wir bestimmt noch reden werden, seit ungefähr zehn Jahren. Es ist also nicht erst letztes Jahr erfunden worden, aber der große Hype ist vielleicht zwei, drei Jahre alt und damit schon noch sehr frisch. Ich glaube nicht, dass es vorher irgendetwas gab, was diesen Hype erreichen konnte und es gibt auch noch zu vielen Dingen keine Alternative, trotz aller berechtigten Kritik. Es ist nicht so, dass jemand lieber X macht, außer man ändert die Rahmenparameter. Dann ist es natürlich leicht zu sagen, man nimmt lieber X, wenn ich ein anderes Problem löse. Das finde ich, ist eine interessante Sache bei diesem speziellen Thema.

Lucas Dohmen: Was ist denn Bitcoin und was ist Blockchain? Irgendwie hängen die beiden Sachen ja zusammen.

Stefan Tilkov: Ich glaube, die meisten wissen, dass Bitcoin und Blockchain irgendwie zusammenhängen. Die meisten Leute wissen auch, dass die Blockchain in Bitcoin “drin ist”. Das Bitcoin-System ist das, wo zum ersten Mal das Blockchain-Prinzip verwendet wurde, aber man kann das Blockchain-Prinzip natürlich auch für viele andere Dinge verwenden. Es gibt Alternativen zu Bitcoin, andere “Cryptocurrencies”. Zum Beispiel "Ethereum, “Dogecoin” oder “Bitcoin Cash” und noch ganz viele andere, wahrscheinlich mehrere hunderte oder tausende Krypto-Währungen, von denen viele auch auf einem sehr ähnlichen Blockchain-Prinzip basieren, andere wiederum auf einem abgewandelten Blockchain-Prinzip und wieder andere auf etwas, was eigentlich gar keine Blockchain mehr ist, aber trotzdem so einsortiert wird, wenn man sich positiv mit diesem Hype assoziieren möchte. Tatsächlich aber hat der Erfinder von Bitcoin in dem Paper, in dem er Bitcoin beschrieben hat, die Blockchain zum ersten Mal beschrieben. Da hat es seine Wurzeln.

Lucas Dohmen: Wenn man mit der Blockchain anfangen will, heißt das also, dass man erst einmal verstehen muss, was eine Krypto-Währung ist. Was ist das also?

Stefan Tilkov: Vielleicht fangen wir konkret mit Bitcoin an, ohne Beschränkung der Allgemeinheit, denn es gibt ganz viele andere, die ähnlich funktionieren, aber an Bitcoin kann man es immer ganz gut erklären. Bitcoin ist verschiedene Dinge: Zum einen ist Bitcoin der Name der Währung. Bitcoin kann man handeln und möglicherweise etwas für kaufen. Bitcoin ist aber auch der Name dieses Gesamtsystems, deshalb müssen wir Bitcoin definieren: Es ist ein Peer-to-Peer Netzwerk, also ein Netzwerk von kollaborierenden Rechnerknoten, bei denen es keinen zentralen Mittelpunkt gibt und die von der Netzwerktypologie auch nicht so vernetzt wären, dass alles “Hub and Spoke”-mäßig abläuft, sondern alle können theoretisch mit allen anderen reden. Nachrichten in diesem Peer-to-Peer Netzwerk werden in relativ kurzer Zeit über diesen Mechanismus - jeder verteilt die Nachricht an die Knoten, die er kennt, die das wiederum an die Knoten verteilen, die sie kennen und so weiter - verbreitet. Nachrichten in diesem Bitcoin-Netzwerk sind Geldtransaktionen, also Transaktionen mit virtuellem Geld. Als Teilnehmer des Bitcoin-Netzwerks geht es darum Transaktionen durchzuführen, mit denen man Bitcoins von einem Besitzer zu einem anderen Besitzer überträgt. Jetzt kommen noch ganz viele Details in der Umsetzung dazu, aber im Grundsatz ist es das, was das Bitcoin-System macht.

Lucas Dohmen: Wenn wir beide jetzt in diesem Netzwerk drin wären, könnte ich Peer-to-Peer zu dir sagen: Ich schicke dir jetzt 0,001 Bitcoin.

Stefan Tilkov: Darüber würde ich mich sehr freuen. Das ist im Prinzip genau das, was wir machen würden. Damit man das tun kann, wäre die erste Zutat ein “Wallet”. Ein Wallet ist eine Geldbörse und es klingt so, als wären dort Bitcoins drin, aber das stimmt nicht. Ein Wallet hat zwei Funktionen: Zum einen ist es die Client-Software, um mit dem Bitcoin-Netzwerk zu interagieren. Wenn man ein Bitcoin-Wallet installiert, zum Beispiel auf dem Laptop oder Telefon, dann hat man ein Stück Software, das Nachrichten in dieses Netzwerk senden kann.

Lucas Dohmen: Also wie mein Browser im Web?

Stefan Tilkov: Im Prinzip wie dein Browser, ganz genau. Zum anderen, und ganz wichtig, ist das Wallet ein Keystore. Das Wallet enthält deine Private-Keys. Um Bitcoin und andere Krypto-Währungen zu verstehen, muss man etwas von Public-Private-Key-Cryptography verstehen. Es gibt da einen öffentlichen und einen privaten Schlüssel und am Besten fängt man anders herum an: Es gibt einen privaten Schlüssel, aus dem man einen öffentlichen Schlüssel erzeugt. Der private Schlüssel heißt private, weil er privat bleiben soll und niemals jemand anderem übergeben wird. Deswegen bleibt er verschlossen in dem Stück Software auf zum Beispiel einem Telefon. Wenn einem das nicht sicher genug ist, dann ist er auf einem Stück Hardware-Device, welches extra dafür gebaut ist, diese Dinge sicher zu verwahren. Diese Wallet-Software, die die Schlüssel verwaltet und erzeugt, ist der Zugangskanal zum Bitcoin-Netzwerk. Wenn du mir jetzt Geld schicken willst, das war ja der Ausgangspunkt, dann muss deine Wallet-Software eine Transaktion erzeugen, also im Prinzip ein Datenformat, welches enthält, was du eigentlich machen willst. Diese Transaktion wird ins Peer-to-Peer Netzwerk geschickt, wo es dann hoffentlich weiter geht, bis sie dann tatsächlich durchgeführt wird.

Lucas Dohmen: Als nicht-technischer User, der sich jetzt gar nicht dafür interessiert, wie es darunter funktioniert, könnte man also in einen Laden gehen, der Bitcoin akzeptiert und einfach etwas kaufen, indem man diese App auf dem Telefon benutzt.

Stefan Tilkov: Diese Apps sind in der Regel so gebaut, dass sie einen 2D Barcode scannen können. In der Praxis ist es zwar nicht sonderlich verbreitet, aber praktisch könnte man in einem Geschäft, das das Ganze anbietet, an der Kasse oder auf dem Telefon des Baristas, bei dem man den Kaffee kaufen will, den Barcode anzeigen. Den würde man mit der Bitcoin-Wallet scannen und dann würde die Wallet anzeigen, welchen Gegenwert eines Betrags das Gegenüber in Bitcoin transferiert haben möchte und zwar auf eine bestimmte Adresse. Wenn man zustimmt, dann wird der Betrag transferiert. Als Endanwender, der sich nicht für die Technik interessiert, ist das alles, was du weißt und was du wissen musst. Man hat sein Wallet als Interaktionssoftware, es gibt diese Adressen - die habe ich noch nicht erklärt: Aus einem Private-Key wird ein Public-Key erzeugt und aus einem Public-Key wiederum wird eine Adresse erzeugt. Das alles passiert automatisch. Diese Adresse ist das, was man als Empfänger mit anderen teilt. Wenn man will, das einem jemand Geld schickt, gibt man demjenigen die Adresse an die es geschickt werden soll. Das sieht man an Spam-Mails, die gerade die Runde machen, wo jemand dich bei Aktivitäten erwischt hat, bei denen du nicht gefilmt werden möchtest, dann sollst du ihm bitte Bitcoin an eine Adresse überweisen. Wenn man selbst eine Bitcoin-Adresse haben will, dann reicht es, wenn man dafür eine Software installiert, die diese Private-Keys hoffentlich zufällig genug erzeugt, damit daraus Public-Key und Adresse erzeugt werden. Das bedeutet auch, um so eine Adresse zu erzeugen, an die einem jemand Geld schicken kann, muss man nicht zu einer zentralen Stelle gehen. Man muss nicht zu einer Bank gehen, man muss keine Karte beantragen, es gibt niemanden, der einem ein Konto eröffnet und man muss theoretisch nicht einmal so eine Wallet-Software runterladen, man kann sie auch selbst schreiben, wenn man sich ein Wochenende hinsetzt. Das steht einem völlig frei. Sobald das gemacht ist, ist man fertig. Es gibt keinen Registrierungsprozess oder irgendetwas, das in irgendeiner Form eine Autorisierungsstelle wäre. Das ist die Grundannahme und wenn man das nicht will, dann wird vieles von dem, was wir gleich besprechen, ziemlich uninteressant. Es gibt im Bitcoin-Netzwerk keinerlei Hürde daran teilzunehmen. Es ist egal aus welchem Land, ob man Bonität hat oder nicht, ob man Bürger ist, volljährig oder im Gefängnis ist. Niemand kann irgendetwas von einem nachvollziehen, es spielt alles keine Rolle solange man nach den Regeln dieser Software spielt: Wenn man sich eine Adresse erzeugt, kann einem jemand Geld schicken.

Lucas Dohmen: Wenn ich das jetzt mit einem normalen Konto vergleichen würde: Da habe ich einen Kontostand, auf dem etwas drauf steht und wenn ich es jetzt überziehen würde, dann würde jemand Zinsen von mir haben wollen. Gäbe es etwas Äquivalentes in Bitcoin oder habe ich kein Geld mehr, wenn es weg ist?

Stefan Tilkov: Das ist eine exzellente Frage. Ich habe ja gesagt, dass es keine zentrale Stelle gibt. Es gibt also auch keine zentrale Stelle, die die Kontostände verwaltet. Es gibt keine Bank. Die Bank weiß, wie viel Geld man auf dem Konto hat und vielleicht gibt sie einem etwas Spielraum, in dem sie eine Kreditkarte vergibt, mit der man überziehen darf. Aber irgendwann sagt sie: Jetzt ist’s vorbei, Lucas. Jetzt muss du dich ein bisschen nach der Decke strecken und aufhören, diese Ferraris zu kaufen. Wenn man es vergleicht, fehlt also diese zentrale Instanz und man muss es irgendwie anders lösen. Man kann es so erklären, dass es bei Bitcoin zunächst keine Kontostände gibt, überhaupt keine, es gibt nirgendwo einen Kontostand. Was es gibt, ist die Liste aller jemals durchgeführten Transaktionen. Wenn man sich vorstellt, dass man alle Transaktionen, die jemals durchgeführt wurden, hat, dann kann man sich auch vorstellen, diese aufzusummieren, um zu wissen, wer wieviel Geld hat - sehr vereinfacht geschildert, aber im Prinzip ist es wie ein Akkumulieren, ein Reduce oder Event-Sourcing…was auch immer. Aus der Menge aller jemals stattgefundenen Transaktionen wird ermittelt, wieviel Geld zur Verfügung steht. Ein wenig genauer erklärt ist es so, dass jede Transaktion eine Menge von Inputs und Outputs hat. Ich erkläre es gerne so: Es ist so, als ob man in eine Geschäft geht und mit Bargeld etwas bezahlt. Man geht zum Bäcker und will sich ein Croissant kaufen, welches 1.50€ kostet, aber man hat nur einen 5€-Schein oder besser noch, man hat zwei 1€-Stücke. Das sind 2€, die man für irgendetwas von irgendwem bekommen hat und die man noch nicht ausgegeben hat - “Unspent Output”. Das ist der noch nicht ausgegebene Output einer anderen Transaktion, den man jetzt zur Verfügung hat, um ihn ausgeben zu können. Damit bezahlt man jetzt den Bäcker, reicht zwei 1€-Stücke herüber und bekommt 0.50€ Wechselgeld. So ähnlich funktioniert Bitcoin auch. Wenn man jemandem das Äquivalent, zum Beispiel 15 Milli-Bitcoin transferieren möchte, aber nur 2 Unspent 10-Milli-Bitcoin Outputs hat, dann wird die Transaktion folgendermaßen zusammengebaut: Diese 2 Zehner gehen hinein, 15 gehen an den Empfänger und 5 kommen wieder zu einem zurück. So ist die Transaktion aufgebaut. Es gibt Inputs und Outputs. Ein bisschen kann man schon vorgreifen, denn tatsächlich lässt man meistens ein kleines Delta übrig. Man schiebt zum Beispiel 20 als Input hinein, aber gibt nur 18 aus. Das heißt, es sieht so aus, als wären die übrigen 2 verschwunden, aber die landen bei dem “Miner”, über den wir bestimmt noch sprechen werden. Das ist das “Transaction-Fee”, also die Transaktionsgebühr. Soweit die Analogie dafür. Jetzt kann man sich vorstellen, dass diese Transaktionen eine absolute Ordnung haben müssen, damit das Ganze funktioniert, weil man der Reihe nach bestimmte Dinge gemacht hat. Ich ignoriere jetzt erst einmal woher das initiale Geld her kommt - magisch. Das Geld wird auf irgendwelche Transaktionen verteilt, deren Outputs dann wiederum benutzt werden, um Inputs weiterer Transaktionen zu werden. Daran kann man erkennen, dass das Ganze eine große lineare Verkettung, oder besser, eine zeitliche Ordnung hat. Es ist ganz klar, was wann passiert ist.

Lucas Dohmen: Es ist dann also wie ein großes Buch, in dem alles drin steht, was jemals von da nach dort gegangen ist.

Stefan Tilkov: Genau, man nennt es auch “Distributed Ledger”, also “Verteiltes Hauptbuch” und es ist genauso, wie du es gesagt hast. Letztendlich ist es wie in der Kontenführung eines Unternehmens, einer GmbH zum Beispiel und da gibt es einzelne Buchungssätze - bei der GmbH-Buchung gibt es auch Konten, aber in diesen einzelnen Buchungen steht immer drin von wo nach wo.

Lucas Dohmen: Das heißt aber auch, dass der Barista in dem super hippen Kaffeeladen meinen Kontostand kennt. Dadurch, dass er meinen Public-Key kennt, kann er nachschauen, wieviel Geld ich auf dem Konto habe?

Stefan Tilkov: Theoretisch, ja. Die Wallet ist aber so klug, beliebig viele Adressen zu generieren. Das heißt, man könnte theoretisch für jede Transaktion eine andere Adresse verwenden. Also immer dann, wenn man Geld haben will, generiert man automatische eine neue. Genau das Gleiche kann man beim Ausgeben auch machen. Was der Barista nachvollziehen kann ist ja nicht, dass es einem gehört, sondern wem das Geld vorher gezahlt wurde. Also als man das Geld bekommen hat, hat man eine Einmal-Adresse benutzt und derjenige kann nachvollziehen: Aha, von dieser Einmal-Adresse wurde ein Kaffee gekauft. Wenn man nächste Woche wiederkommt, sieht er, dass von einer anderen Adresse ein Kaffee gekauft wurde. Das bedeutet natürlich überhaupt nicht, dass das Ganze anonym ist. In aller Regel will man sich nicht nur mit sich selbst beschäftigen und nur virtuelle Dinge durch die Gegend schieben, sondern man will etwas in der restlichen, wirklichen, physischen Welt damit machen. Dann ist sehr leicht nachzuvollziehen, welche Adressen wie miteinander korreliert sind. Wenn man zum Beispiel Gehalt von der Firma zahlen lässt, dann ist der Firma klar, wem sie es schickt oder man bezieht irgendeine Dienstleistung, zahlt damit die Miete oder macht irgendetwas anderes. Also, ja, dieses Hauptbuch mit all diesen Dingen ist öffentlich. Jeder kann alles sehen, was dort drin steht. Es gibt keine Anonymität in Bitcoin, es ist nicht anonym, aber pseudonym, weil man sich ein bisschen verstecken kann. Mit entsprechendem Aufwand, aber man kann durchaus nachvollziehen, was da passiert ist. Da müsste man Gegenmaßnahmen ergreifen und da kommen wir am Ende vielleicht noch einmal drauf zurück.

Lucas Dohmen: Grundsätzlich kann man aber eine anonyme Zahlung damit durchführen, bei der keiner nachvollziehen kann, dass sie von mir kommt?

Stefan Tilkov: Ja. Das beste Beispiel dafür ist die Spam-Mail, die viele jetzt bekommen haben. Sie ist ein gutes Mittel für Erpresser, um anonym an Geld heran zu kommen, weil es nicht so leicht nachzuvollziehen ist, was danach damit passiert.

Lucas Dohmen: Weil es ja auch keine Bank gibt, bei der man ein Konto hat.

Stefan Tilkov: Richtig, da zeigen sich die Vor- und Nachteile dieses Systems. Es ist vielleicht auch eine politisch-ideologische Frage: Es ist sehr offen, es spricht den “Nerd” in jedem von uns irgendwie an. Jeder kann daran kommen, so ähnlich wie das Internet in seinen Anfängen. Nicht nur Verlagshäuser, sondern jeder kann publizieren, kann seine Meinung öffentlich heraus tragen, kann Reporter sein und etwas erzählen. Das sind die guten Seiten und die schlechten kennen wir mittlerweile auch. So ähnlich ist es bei Bitcoin und Co. natürlich auch.

Lucas Dohmen: Gibt es denn schon steuerliche Reglungen, wenn ich da jetzt mein Geld investieren würde? Oder ist das alles noch unbekanntes Land?

Stefan Tilkov: Wir machen jetzt heftige Sprünge, aber ja, es gibt tatsächlich steuerliche Reglungen spezifisch für Cryptocurrencies. In Deutschland werden sie als Währung eingestuft, das heißt man muss bei Geschäften damit keine Umsatzsteuer berechnen, wie als Währungsgeschäft und es gibt auch entsprechende Regeln, wann Gewinne zu versteuern sind. Es ist sehr viel unangenehmer als man denkt und man muss es genau verstanden haben und aufpassen, was man da tut. Steuerberater, die sich damit beschäftigen müssen, haben jetzt schon heftige Albträume. Auch der Wechsel von einer Cryptocurrency in eine andere bedeutet, dass unter Umständen Gewinne realisiert werden. Also, das ist alles ziemlich mühselig, aber es gibt Regulierungen dafür und wenn man sich, was wir dringend empfehlen, an Recht und Gesetz hält, muss man sich dringend damit auseinander setzen.

Lucas Dohmen: Dann bleibt noch eine Frage in dem High-Level Bereich. Eine Kritik an Bitcoin und anderen Währungen ist ja die enorme Schwankung, wodurch das Geld heute das Doppelte wert ist als gestern und dann wieder die Hälfte. Wie schätzt du es denn als praktische Währung ein? Schwankt es zu sehr, um es wirklich einsetzen zu können? Siehst du es eher als Aktie, die herum fluktuiert oder würdest du damit einen Kaffee kaufen oder ein Auto, je nachdem, wie viele Bitcoins du hast?

Stefan Tilkov: Wenn ich einen praktischen Anwendungsfall sehen würde, hätte ich weniger Hemmungen damit kurzfristig eine Transaktion, die durch so etwas wie Bitcoin durchläuft, zu machen. Also ich würde meine Euro nehmen, daraus Bitcoin machen und ein Auto kaufen. Letztendlich habe ich Euro gegen Auto getauscht. Dass man zwischendurch in Bitcoin war ist nur der Transfermechanismus und das ist das geringste Risiko. Tatsächlich ist es wegen der Schwankungen, die im Moment drin sind, auch nur begrenzt gut geeignet und je nachdem, wo der Kurs gerade steht - und wir wissen nicht genau, wann diese Folge gesendet wird - kann es sein, dass die Transaktionen sehr teuer werden. Das muss man näher erklären: Wir nehmen jetzt, 2019, auf und vor einem knappen Jahr gab es diesen super Höhenflug. Da stand der Bitcoin bei 20.000 Dollar oder so etwas. Zu so einem Zeitpunkt sind so viele Leute da drin, die etwas machen wollen, dass es sehr teuer wird Transaktionen zu machen. Die Transaktionsgebühren standen bei 10, 20, 50 Dollar. Wenn man als Gebühr 50 Dollar zahlt, dann kann man sich damit schlecht einen Kaffee kaufen. Zur Ehrenrettung muss man sagen, dass auch eine Transaktionen von 1 Millionen Dollar nur 50 Dollar gekostet hätte, das ist dann ein absoluter Wert. Trotzdem ist dies ein Hinderungsgrund für die Praktikabilität, der praktische Nutzen von Bitcoin als wirkliches Zahlungsmittel ist im Moment also äußerst zweifelhaft. Bitcoin ist aber nicht die einzige Krypto-Währung und es ist auch schon wieder deutlich besser geworden. Zu dem Zeitpunkt, als es auf dem absoluten Höhepunkt des Hypes war, brach das System aus vielerlei Gründen fast zusammen und mittlerweile hat es sich wieder beruhigt. Bezüglich des Investmentrats - und ich rate grundsätzlich davon ab, von mir Investmentratschläge anzunehmen, sind alle diese Krypto-Währungen höchst spekulativ. Also bitte nicht die Alterssicherung in Cryptocurrencies investieren, wenn, dann nur Spielgeld, bei dem es kein Problem ist, wenn man zu 100% Verlust hat. Wenn man im Casino am Roulette-Tisch auf eine Zahl setzt, dann kann man genauso auch Bitcoins dafür kaufen.

Lucas Dohmen: Dann lass uns in die Technik einsteigen. Du hast schon erwähnt, dass es irgendwie möglich sein muss nachzuvollziehen, dass zum Beispiel ich dir wirklich Geld schicken wollte. Sonst könntest du einfach sagen: Der Lucas überweist mir sein gesamtes Geld und dann ist es weg! Wie funktioniert das?

Stefan Tilkov: Zum Teil haben wir das schon angerissen. Zum einen ist es der Public-Private-Key Mechanismus. Die Inputs für Transaktionen sind ja noch nicht ausgegebene Outputs vorhergehender Transaktionen und diese Outputs sind immer “gebrandmarkt” mit der Adresse des Empfängers und nur derjenige, der über den dazu passenden Private-Key verfügt, kann eine Transaktion erzeugen, die diese vorherigen Outputs wiederum als Inputs benutzt. Also, nur du kannst dein Geld ausgeben. Das ist abgesichert durch diesen Mechanismus, mit dem wir uns auch SMIME-Mails schicken oder über den TLS-Keys ausgetauscht werden. Es ist ein erprobtes Konzept.

Lucas Dohmen: Also nichts Neues.

Stefan Tilkov: Überhaupt nichts Neues, genau. Insofern ist es auch gar nicht so wahnsinnig aufregend und bestärkt noch einmal darin, nicht die Private-Keys zu verlieren oder auf irgendwelche “Online Wallets” - bei dem Wort gehen schon alle Warnlampen an - hin zu packen. Wer den Private-Key verliert und nicht wieder auf irgendeine Art und Weise wieder herstellen kann, hat keinen Zugriff mehr auf das Geld.

Lucas Dohmen: Das heißt dann, dass niemand Zugriff auf das Geld hat?

Stefan Tilkov: Genau.

Lucas Dohmen: Das Geld ist tot.

Stefan Tilkov: Das ist tot, ja. Und das gilt für sehr viel Geld im Bitcoin-Netzwerk. Da gibt es riesige Summen an Geld und wenn man wüsste, wer die Private-Keys hat, dann gäbe es da vielleicht ein paar heimliche Milliardäre, aber vielleicht hat sie auch niemand mehr. Das heißt, wir stellen sicher, dass eine Transaktion gültig ist, wenn das Ganze unterschrieben ist. Jetzt ist die spannende Frage, wer denn sicherstellt, dass die Transaktion gültig ist. Bisher hat man nur definiert, was Gültigkeit bedeutet, man hat aber keine zentrale Instanz. Und das ist die größte Herausforderung bei dem Ganzen: Wie kann man sicherstellen, dass man ohne zentrale Instanz trotzdem nur gültige Transaktionen im System hat? Wäre es eine Bank, dann würde diese Bank ihre eigenen Regeln anwenden und die Datenbank hüten - die Bank gibt niemandem von außen JDBC-Zugriff auf die Oracle Datenbank, sondern kümmert sich darum, dass das Ganze schön gekapselt ist und dass nur gültige Dinge damit gemacht werden. Das geht in Bitcoin nicht, sondern das ist etwas, was in Bitcoin viele Leute übernehmen. Nicht einer, sondern viele, die “Full-Nodes”. Das sind diejenigen, die kollaborieren, um die Blockchain zu verwalten. Ich werde noch erklären, warum das Ding so heißt. Diese Nodes verwalten gemeinsam den “wahren Stand der Welt” und kennen in Summe insgesamt die Wahrheit. Wir wissen aus unserem Podcast zu “Distributed Consensus”, dass das nicht so leicht ist und wir kommen gleich darauf, wie dieser Consensus hergestellt wird.

Lucas Dohmen: Dass nur ich von meiner Adresse aus etwas überweisen kann, ist ja durch die Public-Key Kryptographie sichergestellt, richtig?

Stefan Tilkov: Jetzt müssen wir es der Reihe nach aufbauen. Wie gesagt, wird ein Wallet benutzt, um eine Transaktion irgendwohin zu schicken. Wenn die Transaktion im Netz verfügbar ist, dann ist sie erst einmal nur in einem Pool von noch nicht validierten Transaktionen. Es bedeutet erst einmal gar nichts, dass man etwas mit der Wallet abgeschickt hat, da muss man erst einmal abwarten. Was passiert jetzt mit dieser Transaktion? Diese Transaktion wird in einem Peer-to-Peer Netzwerk verteilt und in ungefähr einer Minute ist sie auf allen kollaborierenden Nodes der Bitcoin-Blockchain verteilt. Diese Nodes werden noch einmal eingeteilt in solche, die nur Messages verschicken und ihre eigenen Daten für sich prüfen und solche, die das sogenannte “Mining” betreiben. Und diese Mining-Nodes, diese Schürf-Nodes, die schürfen nach Gold, nach Bitcoin. Deren Wunsch ist es, Bitcoin-Belohnungen zu bekommen und das tun sie, indem sie einen besonderen Dienst in diesem Netzwerk erbringen, nämlich das Finden von sogenannten Blöcken. Blöcke sind im Prinzip Sammlungen von Transaktionen. Also, wenn wir jetzt so eine Mining-Software programmieren wollen, so eine Mining-Node programmieren wollen, wenn wir in den Code hinein gucken würden, würden wir sehen, dass der Mining-Node den Pool von nicht validierten Transaktionen hat und sich daraus welche greift, so 1000 Stück. Vielleicht sortiert nach der Höhe der Transaction-Fee, die kann ja jeder selbst festlegen beim Start der Transaktion. Man nimmt sich diese 1000 Transaktionen und baut daraus einen Block. Und dieser Block, der wird validiert. Einen Block zu validieren, bedeutet zunächst einmal, sämtliche Transaktionen darin zu validieren. Das heißt, der Mining-Node prüft jetzt, ob jede Transaktion gültig ist, ob jede Transaktion zum Beispiel nur Inputs hat, die kryptografisch valide sind und das kann der Mining-Node nur, weil er die gesamte Historie hat, der Mining-Node hat sämtliche Transaktionen, die jemals passiert sind, bei sich lokal gespeichert, deswegen weiß er auch, was nach außen gegeben wurde und was noch nicht. Er prüft das Ganze und hat dann erstmal einen logisch validierten Block. Dieser Block wäre jetzt theoretisch fertig. Aber jetzt kommt das, was immer am schwersten zu erklären ist, die Krux von dem Ganzen, spezifisch bei Bitcoin. Das jetzt sozusagen ein gültiger Block gefunden werden muss und das geht nicht nur einfach, indem er valide ist, sondern dazu muss ich auch noch ein Rätsel lösen. Das klingt ein bisschen schräg, aber als Miner muss ich beweisen, dass ich bereit bin, Geld zu investieren. Ich muss beweisen, dass mir das etwas wert ist. Wenn es mir nämlich nichts wert wäre, dann wäre es so wie eine Spam-Mail, die ich verschicken kann. Spam-Mails verschicken kostet praktisch nichts, deshalb machen das auch so viele. Würde jede Mail einen Cent kosten, würden wir wesentlich weniger Spam-Mail bekommen. Übrigens hat darin auch das Ganze ein bisschen seine Wurzeln. Aber das führt vielleicht zu weit. Also, was der Mining-Node macht, ist: Er baut so einen Block zusammen und jetzt muss er für diesen Block einen Hash-Wert finden. Ein Hash-Wert, das kann man kurz erklären, ein Hashing-Algorithmus bedeutet: Ich schiebe irgendwelche Daten hinein und bekomme eine Art Fingerprint hinten heraus. Also einen viel kürzeren Wert als die Eingabedaten, dieser Hash-Wert ist hoffentlich möglichst eindeutig und das ist er in diesem Fall, das ist so ein SHA-256 * 2, also ein aufwändiges Ding. So ein Hash wird berechnet und das Wesen eines solchen Hash-Verfahrens ist, dass ich den Hash nicht erraten kann, wenn ich die Eingabedaten kenne.

Lucas Dohmen: Du kannst die Eingabedaten nicht erraten.

Stefan Tilkov: Ich kann beides nicht. Ich kann den Hash nicht berechnen, wenn ich die Eingabedaten habe, ich kann vom Hash nicht zurück auf die Eingabedaten kommen, vor allem aber kann ich nicht einen bestimmten Hash produzieren. Zumindest nicht, ohne es auszuprobieren. Ich weiß nicht, welcher Hash herauskommt, wenn ich nicht den Hash berechne. Ich kann es nicht erraten. Und das macht man sich jetzt zu Nutze, indem man sagt: Es gibt eine Anforderung an den Hash, nämlich zum Beispiel, dass er mit 5 Nullen starten muss. Kann irgendein Hash sein, ist mir egal, aber er muss mit 5 Nullen anfangen. Die Wahrscheinlichkeit, dass so ein Hash mit 5 Nullen anfängt, auf Basis der Eingabedaten, kann man relativ gut ausrechnen. Wenn das gleich verteilt ist, das kann ich nicht im Kopf, aber dann kann ich im Prinzip sagen: So und so viele Hashes aller theoretisch möglichen Hashes sind das, die da hineinfallen. Das heißt, ich kann jetzt diese Eingabedaten nehmen, den Hash berechnen und wenn ich Glück habe, erfüllt er dieses Kriterium und wenn nicht, dann eben nicht. Das hilft mir jetzt noch nicht ganz weiter, eine Zutat fehlt noch, nämlich, dass ich ein Eingabedatum habe, das ich ändern kann. Deswegen gibt es in diesem Block, in dieser Datenstruktur, gibt es ein Feld, das ist nur dafür da, dass ich da irgendetwas hineinschreiben kann, die sogenannte „Nonce“. Und da schreibe ich jetzt irgendetwas hinein, berechne den Hash und gucke nach, ob der mit 5 Nullen anfängt und wenn nein, dann schreibe ich etwas anderes da vorne hinein, berechne den Hash, gucke…das heißt, das machte ich jetzt so lange, Brute Force-mäßig, bis ich einen Hash gefunden habe, der das Rätsel-Kriterium erfüllt. Das bedeutet, dass in diesem Moment, in dem das passiert, der Miner sagen kann: Ich habe einen gültigen Block gefunden! Und dann verpackt er diesen Block oder hat diesen Block jetzt in der richtigen Datenstruktur und schickt den wieder Peer-to-Peer-mäßig ins Netzwerk. Jetzt ist es so, dass das nicht nur ein Mining-Node macht, sondern ganz viele Mining-Nodes, also die Mining-Nodes liefern sich untereinander ein Rennen, gültige Blöcke zu bauen. Die bauen nicht alle genau den gleichen Block -

Lucas Dohmen: Weil jeder ja verschiedene Pakete packen kann.

Stefan Tilkov: Genau, jeder kann andere Transaktionen auswählen, es gibt so ein paar Timing-Unterschiede, vielleicht hat der eine oder andere die Transaktion noch nicht, die beim anderen schon angekommen ist, das ist eine Variante. Und, was auch passieren kann, die können unterschiedliche Vorgänger-Blöcke gewählt haben, denn der Vorgängerblock wird auch referenziert, aus dem Block, den ich gerade baue. Das heißt, wenn ich jetzt so einen Block gefunden habe und ins Peer-to-Peer Netzwerk schicke, dann kommt der bei anderen Mining-Nodes auch an, die auch gerade dabei sind, sich Blocks anzugucken. Und die müssen jetzt entscheiden, was sie tun. Die können jetzt entweder entscheiden: Ist mir egal, ich schmeiße den jetzt einfach weg, ich tue so, als hätte es den nie gegeben, ich erzähle niemandem davon, sondern baue lieber an meinem eigenen, aber das werden sie nicht tun, der Grund, aus dem sie das nicht tun, ist genau dieses Verketten, was ich gerade angesprochen habe. Jeder Block referenziert nicht nur 1.000 Transaktionen oder 2.000 oder was auch immer, sondern jeder Block referenziert auch den Vorgänger-Block, der wiederum den Vorgänger-Block referenziert und so weiter und so fort bis zum Genesis-Block, dem allerersten, mit dem das Ganze mal gestartet ist vor zehn Jahren. Und aus dieser Kette kommt natürlich der Name, die Blockchain heißt Blockchain, weil sie eine chain of blocks ist, weil es verkettete Blöcke sind und der Mining-Node, der ja so einen Block erzeugen will, der hängt den eben ans Ende der Kette. Und wenn jetzt ein anderer Mining-Node ebenfalls gerade dadran ist, dann guckt der, ob er an derselben Position der Kette angesetzt hat oder nicht und wenn er an derselben Position angesetzt hat, dann kann er sich noch überlegen, was er macht, aber spätestens, wenn er merkt “Oh, da ist jemand schon weiter”, spätestens wenn er merkt, da hat jemand schon eine längere Kette gebaut, dann sagt er “Okay, dann schmeiße ich meinen Block lieber weg und beginne einen neuen…”

Lucas Dohmen: “…an dem Ende der neuen Kette”.

Stefan Tilkov: Genau. Warum tut er das? Weil das der Konsensus-Algorithmus ist. Der Konsensus-Algorithmus sagt: Die längste Kette gewinnt. Und wenn man es sich genau anguckt, ist es auch eigentlich keine Kette, das ist eigentlich ein Baum, weil es im Prinzip ja Forks/Verzweigungen gibt. Also alle starten bei Block 400000 und jetzt haben sie vielleicht, weil sich auf der Welt die Dinge unterschiedlich schnell bewegen, da gibt es schnelle Rechner und günstige Energie in China, aber leider so eine blöde, große Firewall, die das Netzwerk langsamer macht, also komplexe Verfahren, warum das jetzt länger dauert, bis es irgendwo ankommt, aber im Zweifelsfall wird immer die längste Kette gewählt und das bedeutet, dass diese Verzweigungen, diese Abzweige, relativ schnell wieder sterben. Da gibt es vielleicht mal einen oder zwei Blöcke, in die die Kette auseinander gelaufen ist und dann stirbt der eine Zweig und dann gibt es wieder eine Main-Line, eine Main-Chain, auf der sich alles weiterbewegt. Und in sofern haben wir auch gleich den Konsensus-Teil erledigt, weil im Prinzip ist das ganze ein Verfahren, das nach einer gewissen Zeit zu einem Konsens führt und wie sehr ich meinen Transaktionen vertrauen kann, hängt davon ab, wie weit hinten sie in der Kette sind. Wenn sie noch gar nicht in der Kette sind, kann ich gar nicht vertrauen, wenn wir im frischen Block sind, ganz vorne, dann könnte es sein, dass dieser Block abgeschnitten wird, weil er im falschen Zweig ist und deswegen sagt man, es sind ungefähr 6 Blöcke. Das Rätsel dauert immer ungefähr 10 Minuten, das wird auch immer angepasst, dass es immer ungefähr 10 Minuten dauert, das heißt, wenn ich 60 Minuten gewartet habe, spezifisch bei Bitcoin, dann kann ich mir sicher sein: Da passiert kein Fork mehr. Denn dann ist der so weit hinten, das wird nicht mehr passieren. Deswegen kann ich mich darauf verlassen und kann auch das Auto herausgeben. Also einen Kaffee, da riskiere ich es vielleicht, den herauszugeben, wenn die Transaktion einfach angekommen ist, bei dem 10€ Artikel vielleicht, wenn es im frischen Block ist, bei dem Auto da muss ich vielleicht ein Stündchen warten. Das hört sich ganz schlimm an, eine Stunde klingt ja total daneben, tatsächlich ist es aber so: Ich kann das dann nicht mehr zurücknehmen, was dann passiert, das ist anders, als bei einer Kreditkarten-Transaktion oder eine SEPA-Überweisung, die kann ich noch nach Wochen zurücknehmen. Hier ist es so: Nach dieser Stunde ist es durch, vorbei. Und es gibt keinen Weg, auch keinen rechtlichen, durch Anfechten oder sonst irgendwie das Ganze wieder zurück zu nehmen, sondern es ist dann einfach erledigt.

Lucas Dohmen: Das heißt also, wenn ich jetzt meinen Kaffee herausgeben würde nach 3 Minuten, während das da noch in der Luft fliegt, dann könnte es einfach sein, dass diese Transaktion, aus der Sicht der Blockchain, niemals passiert ist und einfach verschwindet? Weil sie leider in einem Block gelandet ist, der in einer kürzeren Kette war und dann ist sie verpufft und dann ist das Geld weiterhin bei dem Menschen, der den Kaffee gekauft hat?

Stefan Tilkov: Was in der Regel passieren würde, wäre, dass die Transaktion dann woanders wieder auftaucht. Die Transaktion wird dann halt in einem anderen Block, vielleicht ein bisschen später, vielleicht auch gleichzeitig, zu ungefähr zur gleichen Zeit erzeugten Blöcken referenziert. Wichtig ist nur, dass der Output nicht mehrfach ausgegeben werden kann in der Main-Chain, also in der Hauptlinie, da kann das eben nicht passieren.

Lucas Dohmen: Okay und was ist mein Anreiz, diese Arbeit zu verrichten, diese Blocks zu erzeugen?

Stefan Tilkov: Sehr gute Frage. Es gibt zwei Anreize, wieder bitcoin-spezifisch. Das eine ist: Es gibt einen sogenannten Reward, eine Belohnung dafür, dass ich einen Block gefunden habe. Der beträgt aktuell 12.5 Bitcoin. Wie gesagt, der Kurs schwankt heftig, aber - keine Ahnung - das sind ca. 40.000€ - 50.000€, schon eine Menge Geld. Ich bekomme also für einen Block einen fünfstelligen Euro-Betrag. Das motiviert mich. Das Zweite ist: Ich bekomme diese ganzen Transaction-Fees. Die sind im ersten Moment sehr viel weniger Geld, aber dieser Block-Reward geht im Laufe der Zeit herunter, der war mal bei 50 Bitcoin, hat sich dann halbiert auf 25, dann auf 12.5, geht also asymptotisch gegen Null und das bedeutet: Diese Transaction-Fees werden immer wichtiger. Irgendwann werden die Miner nur noch für die Transaction-Fees arbeiten, weil es keine Block-Reward mehr gibt.

Lucas Dohmen: Und das ist eingebaut ins System?

Stefan Tilkov: Das ist eingebaut ins System. Das ist im Prinzip die Art und Weise, wie neues Geld ins System kommt. Das ist eigentlich ganz pfiffig gemacht, das System wurde gestartet mit einem Genesis-Block, der ist eingebaut gewesen in der ersten Software-Version, alle Forks dieser Software verwenden denselben Genesis-Block und verfolgen die Kette zurück zu diesem Punkt und ab diesem Zeitpunkt ist neues Geld, sind neue Bitcoins immer nur über das Mining von neuen Blöcken ins System gekommen, das heißt, die Geldmenge wächst ganz langsam. Weil der Reward ja herunter geht, muss die Geldmenge aber limitiert sein. Es gibt so ein berechnetes Limit, 21 Millionen Bitcoin ist das absolute Maximum, das es jemals geben kann im System und darauf bewegen sie sich ganz langsam hin.

Lucas Dohmen: Und es kann auch keiner bestimmen, das zu ändern, weil das ist ja einfach festgelegt und das würde das System ja kaputt machen.

Stefan Tilkov: Ja und nein. Also erstmal: Ja, das ist festgelegt, das ist genau so. Aber selbstverständlich ist das Software, Software ist änderbar. Man könnte sich also dazu entscheiden, mit der Software andere Wege zu gehen. Die Frage ist, auf welche Art und Weise man das macht. Man kann das mit einem harten Break machen, einem hard fork, weil es im Prinzip genau das ist, wir forken, wir machen eine inkompatible Version der Software. Das passiert. Das ist zum Beispiel bei Ethereum und ist auch bei Bitcoin passiert. Wir haben mittlerweile Bitcoin und Bitcoin-Cash, das ist einfach genau daraus gekommen, dass die Leute sich irgendwann nicht mehr einig darüber waren, wie es technisch weitergehen soll. Dann sind die einen nach links und die anderen nach rechts abgebogen und haben damit im Prinzip zwei Versionen der Software und auch zwei Versionen der Chain erzeugt. Das wäre natürlich auch bei Bitcoin denkbar. Ich kann jetzt ehrlich gesagt nicht beurteilen, wie aufwändig es wäre, dieses Limit zu ändern. Kann sein, dass das eine sehr harte Änderung wäre, weiß ich gar nicht. Aber so etwas kommt vor und ist absolut möglich, es ist halt eine Frage des Netzwerkeffektes, ob sich das lohnt oder nicht, wieviele Leute machen da mit und was hat das dann für einen Wert.

Lucas Dohmen: Aber wenn ich dich richtig verstanden habe, dann sage ich, als der Mensch, der die Transaktion durchführen möchte, wieviel Reward ich dafür gebe, dass meine Transaktion -

Stefan Tilkov: Der Begriff ist Transaction-Fee, aber ja, genau.

Lucas Dohmen: Das heißt also, wenn ich eine sehr niedrige wähle, dann kann es sein, dass kein Miner daran genug Interesse hat und den einfach liegen lässt.

Stefan Tilkov: Ganz genau. Genau das ist passiert, als der Kurs auf dem Höhepunkt war, weil es da unglaublich viel Bedarf gab. Alle möglichen Leute wollten Kasse machen, viele andere wollten einsteigen und da war es so, dass Transaktionen ganz lange in der Gegend herum hingen und die Transaction-Fees dramatisch nach oben gegangen sind.

Lucas Dohmen: Okay. Das heißt also, man bietet darum, möglichst schnell „geminet“ zu werden?

Stefan Tilkov: Ganz genau.

Lucas Dohmen: Das heißt aber auch, dass in dieser Chain viel Arbeit einfach umsonst gemacht wird, weil jemand einen Block erzeugt und den will keiner haben.

Stefan Tilkov: Lass uns das “umsonst” vielleicht ein bisschen qualifizieren, denn das ist eine sehr kritische, fast eine Glaubensfrage, der wir uns da nähern. Erst einmal ist es so richtig, wie du sagt, dass nur derjenige, der den Block findet, der den gewinnt, nur der hat im Prinzip diese CPU-Leistung für das Brute-Forcing, also für dieses ständige Probieren, für dieses Rätsellösen mit einem Ergebnis erbracht. Alle anderen haben das auch probiert, haben aber vielleicht nicht das richtige Ergebnis gefunden oder haben sogar einen gültigen Block gefunden, waren aber leider zu spät. Das heißt, wir haben mit diesem Verfahren, das man übrigens Proof of Work nennt, weil man damit beweist, dass man Arbeit erbracht hat, mit diesem Verfahren haben wir einen Menge CPU Cycles für nichts erbracht. Und das ist keinesfalls umsonst. Denn diese CPU-Cycles die kosten ja etwas, die kosten die Hardware, die sie erbringt, die kosten aber vor allem die Energie, die dafür notwendig ist, das Ganze zu machen und das ist auch keine Kleinigkeit. Die letzte Statistik, die ich gesehen habe, ist, dass der geschätzte Energieverbrauch von Bitcoin ungefähr 2/3 des Stromverbrauchs der Niederlande ist. Das ist ja schonmal eine Aussage! Und jetzt kommt genau die Glaubensfrage: Wenn ich der Meinung bin, dass Bitcoin sowieso Quatsch ist, keinerlei Wert erfüllt und nur ein Experiment von irgendwelchen bekloppten Nerds ist, von irgendwelchen Anarchisten und dafür verbrate ich den Energiebedarf äquivalent zu 2/3 der Niederlande, dann ist das eine Umweltsünde, die wirklich tragisch ist. Wir ruinieren unseren Planeten für ein bescheuertes Experiment. Das ist Position 1. Und die kann ich nachvollziehen, ich verstehe das, mich macht es auch unruhig, dass es soviel Energie ist, die dafür verbraucht wird. Es gibt auch Position 2, die sagt, es ist keinesfalls umsonst. Auch die Leistung, die erbracht wurde, für die Blöcke, die nicht gewonnen haben, ist nicht umsonst, weil das, was man dafür bekommt, ist das Vertrauen in dieses System. Ich kann also diesem System vertrauen, das kann man auch tatsächlich, weil in den 10 Jahren ist es niemals passiert, dass irgendjemand die Bitcoin-Historie gefälscht hat, das ist noch nicht vorgekommen, einfach weil der Aufwand zum Betrügen so absurd groß wäre, dass er sich nicht lohnt. Eine der coolen Innovationen der Bitcoin ist, dass das Verletzen der Regeln kein gutes Investment ist. Man appelliert also gar nicht so sehr an Ethik und Moral, man appelliert auch nicht an das Einhalten von Gesetzen, denn im Zweifelsfall ist es ja anonym und keiner weiß es, die Richter sind auch nicht da, deswegen sagt man, es darf sich nicht lohnen zu betrügen. Und deswegen ist die Frage: Wenn ich ganz viel Hardware habe und ganz viel Energie bereit bin zu investieren, wie kann ich vermeiden, dass Leute damit betrügen? Ich kann es ganz einfach damit vermeiden, dass es ihnen mehr Geld bringt, wenn sie sich an die Regeln halten. Wenn ich die Hardware habe, das Ganze zu machen, dann ist das Beste, was ich damit tun kann, Bitcoins zu minen. Nicht zu versuchen, zu betrügen. Das Betrügen ist ohnehin sehr eingeschränkt, denn das Schlimmste, das ich machen könnte, wäre, mein eigenes Geld zweimal auszugeben. Was ja verhindert wird, ist diese Double-Spend-Attacke, also es zweimal auszugeben, weil diese Historie gepflegt wird und ich nachvollziehen kann, ob Geld, das jemand behauptet zu haben, wirklich auch noch da ist oder ob er es schon für etwas anderes ausgegeben hat. Das bedeutet, da das Ganze ja kryptografisch abgesichert ist über public/private key, kann ich sowieso nicht dein Geld ausgeben und du nicht meins, ich kann nur mir zweimal von einem Geldbetrag ein Auto kaufen. Und um das zu verhindern, dient eben dieses System, das damit dieses Vertrauen erzeugt und dieses Vertrauen ist tatsächlich eine Menge wert.

Lucas Dohmen: Okay, es ist aber auf jeden Fall so, dass da diese Arbeit ja das ist, was beweist, dass etwas richtig ist, das inhärent in dem System ist, dass man immer mehr Energie verbrauchen wird. Richtig?

Stefan Tilkov: Ja und nein. Zum einen ist es eine Funktion des Preises, das ist ein bisschen komisch, weil es so zirkulär klingt. Wenn die Bitcoin unglaublich viel Geld wert ist, dann lohnt es sich auch sehr viel Energie zu investieren, um die Belohnung zu bekommen. Als ein Bitcoin 1€ wert war, hat niemand soviel Geld ausgegeben, warum auch. Hätte ich 12.50€ oder 50€ damals als Belohnung bekommen, werde ich jetzt nicht eine Server-Farm aufbauen und riesig Energie verballern, wozu. Das heißt, der Hype ist ein bisschen mit Schuld, weil es eben ein Spekulationsinstrument geworden ist und viele Leute, ohne irgendetwas an Technik zu verstehen, sich dafür interessieren, es einfach als Vehikel benutzt haben, um zu spekulieren. Dadurch ist der Kurs nach oben gegangen, das wiederum macht es lohnenswerter, Energie zu verballern, das geht auch wieder herunter, das ist das eine. Das andere ist: Natürlich kann ich mit den fixen Kosten eines Blocks unterschiedliche Dinge machen, ich könnte zum Beispiel mehr Transaktionen hinein nehmen in so einen Block. Oder ich könnte solche Hybrid-Lösungen bauen, aber das führt jetzt vielleicht ein bisschen zu weit, wir müssen ja auch ein bisschen auf die Zeit achten.

Lucas Dohmen: Wäre es denn denkbar, dass man wirklich jetzt den gesamten Geldverkehr der Welt in diesem System macht, wo soviel Arbeit notwendig ist oder ist das gar nicht denkbar, weil das alles explodieren würde?

Stefan Tilkov: Das aktuelle Bitcoin-Netzwerk hat eine Kapazität von ungefähr 5–6 Transaktionen pro Sekunde.

Lucas Dohmen: Klingt nicht so imposant.

Stefan Tilkov: Nicht wirklich imposant. Wenn ich mir ein typisches Visa-Netzwerk angucke, das macht vielleicht 25.000 - 50.000 Transaktionen in der Sekunde, das heißt, das ist natürlich absurd, deswegen ist die Leistungsfähigkeit von speziell diesem System für das globale Finanzsystem aktuell nicht geeignet, überhaupt nicht. Aber erstens kann sich das ändern, das kann sich verändern, so wie sich das Internet auch verändert hat. Das Internet war auch mal ein Netzwerk mit irgendwie, weiß ich nicht, 20 Knoten und heute betreibt es die ganze Welt, das war mal anders. Zum Teil sind es aber durchaus relevante Probleme. Das eine sind diese Blöcke, wie ich gerade geschildert habe, die werden alle 10 Minuten gefunden und die haben ein Größenlimit und deswegen passt einfach nur eine bestimmte Menge an Transaktionen da hinein, das ist ein Limit. Das kann man auf verschiedene Arten angehen. Eine Variante ist: Man optimiert ein bisschen, also man macht die Transaktionen kleiner, man packt vielleicht nicht alles in die Blöcke. Das ist eine Sache, die vor kurzem passiert ist, da sind bestimmte Dinge ausgelagert worden aus den Blöcken, die gar nicht mehr kryptografisch abgesichert werden müssen, damit ist ein bisschen mehr Kapazität drin. Man kann auch die Blockgröße verändern, indem man sagt: Blöcke haben kein Größenlimit von 1 oder 2MB, sondern die können auch 50, 100 oder 200 MB groß sein. Da ist allerdings manchmal ein Hinderungsgrund die Tatsache, dass das das Mining schwieriger macht und man möchte gerne, dass das Mining einer möglichst großen Menge von möglichen Usern zur Verfügung steht, möglichst viele Leute sollen das tun dürfen, um diese Dezentralität zu fördern, damit das nicht so konzentriert wird und die Hürde soll auch nicht so groß sein, das ist noch so eine Grundsatzfrage. Ein anderer Weg ist, dass man nicht alle Dinge in der Blockchain macht, also im Prinzip: Ich sage immer scherzhaft, das ist die langsamste und spannendste Datenbank der Welt, denn es ist letztendlich eine Datenbank, eine große, verteilte Datenbank. Aber es ist eben eine wahnsinnig langsame Datenbank. Wenn ich die Wahl habe zwischen der langsamen Datenbank und der schnellen Datenbank, dann werde ich, wann immer möglich, die schnelle Datenbank nehmen und die langsame nur dann, wenn sie mir irgendeinen Vorteil bringt. Und der Vorteil, den die Blockchain und im spezifischen Fall das Bitcoin-Netzwerk bringt, ist eben genau diese Unveränderlichkeit, dieses Vertrauen, diese Sicherheit und vor allem die Abwesenheit von Zentralisierung. Bitcoin adressiert genau diesen Fall: Ich habe keine zentrale Stelle und ich vertraue auch niemandem. Ich habe eine vertrauensvolle Datenbank, obwohl ich niemandem vertraue, der damit spielt. Das ist eine sehr ungewöhnliche Situation. Wenn ich die nicht habe, also wenn ich jemandem vertrauen kann und der auch noch in der Lage ist, einen Server für mich zu betreiben und da eine dicke Datenbank drauf zu packen, ist das auf jeden Fall die bessere Lösung. Wenn ich das aber nicht habe, dann ist es eben keine Lösung. Wenn ich niemandem vertraue, wem soll ich denn dann die Datenbankpasswörter geben, offensichtlich kann ich das ja nicht.

Lucas Dohmen: Das heißt, wenn ich jetzt ein Unternehmen bin und ich habe eine Server-Farm von 1.000 Servern, denen ich vertraue, dann ist eine Blockchain wahrscheinlich nicht so das Richtige, weil ich dann sehr viel Energie verbrauchen würde, um quasi Vertrauen herzustellen, wo eigentlich schon Vertrauen da wäre.

Stefan Tilkov: Genau. Also da müssen wir jetzt vielleicht ein bisschen ausholen oder ein bisschen abbiegen, denn eigentlich verlassen wir jetzt so ein bisschen das Spezifische bei Bitcoin. Es gibt durchaus ja Varianten. Wir haben bisher ja über Bitcoin gesprochen, weil man es daran ganz gut erklären kann, aber vieles von dem, was ich gerade gesagt habe, gilt für andere Blockchain-basierte oder Blockchain-verwandte Lösungen nicht und insofern muss man sich aber angucken, was genau jetzt die Anforderungen sind und was meine Rahmenbedingungen sind und dann kann ich mir überlegen, welche dieser vielen Lösungen möglicherweise passen könnte.

Lucas Dohmen: Okay, das heißt, wir haben das Thema Bitcoin jetzt so ein bisschen umschifft, das ganze Gebiet.

Stefan Tilkov: Genau, ich denke wir könnten noch fünf Stunden weiter über Bitcoin reden und ich habe bestimmt ganz viele Dinge extrem vereinfacht und weggelassen, aber für einen ersten Überblick ist das ganz ausreichend, denke ich.

Lucas Dohmen: Okay, dann würde ich sagen: Wir machen hier an dieser Stelle Ende und in der nächsten Folge sprechen wir über andere Anwendungsfälle für Blockchain und Varianten davon, was macht Bitcoin, das man vielleicht anders machen könnte, in einer anderen Währung oder in einem anderen System. Und schauen mal, was da so die Use-Cases sind, die man vielleicht auch so in einem Projekt brauchen könnte. Gut, dann danke ich dir für deine Zeit und den Hörern und Hörerinnen, bis zum nächsten Mal!

Stefan Tilkov: Sehr gerne. Bis dann!

TAGS

Alumnus

Lucas war bis August 2023 Senior Consultant bei INNOQ. Er beschäftigt sich mit der Architektur, Konzeption und Umsetzung von Web Anwendungen in Front- und Backend. Er programmiert in Ruby und JavaScript und hilft bei der Entscheidung und Einführung verschiedener NoSQL Lösungen. Lucas ist Autor des Buchs “The Rails 7 Way”. Seine Stimme ist regelmäßig im INNOQ Podcast zu hören. Außerhalb seiner Arbeit beschäftigt er sich mit Open Source und Community Arbeit (wie die Organisation und das Coaching beim lokalen CoderDojo).

In Memoriam ∞ CEO & Principal Consultant

Stefan Tilkov war Geschäftsführer und Principal Consultant bei INNOQ Deutschland, wo er sich vorwiegend mit der strategischen Beratung von Kunden im Umfeld von Softwarearchitekturen beschäftigte. Er war Autor des Buchs “REST und HTTP”, Mitherausgeber von “SOA-Expertenwissen” (beide dpunkt.verlag), Autor zahlreicher Fachartikel und häufiger Sprecher auf internationalen Konferenzen.

Wir trauern um Stefan.