00:00 Einführung
02:01 Lösen des byzantinischen Konsenses
09:35 Strenge Anforderungen einer freien blockchain
20:31 Die bisherige Geschichte
22:44 Heute schnell reich werden
24:03 Mini Bitcoin 1/3 – Hashing und Signieren
29:23 Mini Bitcoin 2/3 – Transaktionen
34:44 Mini Bitcoin 3/3 – Blöcke und Proof of Work
44:47 Skalierung der blockchain 1/2 – Anwendungslandschaft
49:07 Skalierung der blockchain 2/2 – Größere Blöcke
57:11 Beschleunigung der blockchain 1/2
59:30 Beschleunigung der blockchain 2/2
01:06:54 Stärkung der blockchain
01:14:51 Anwendungsfall: Zahlungen
01:19:25 Anwendungsfall: Passive Rückverfolgbarkeit
01:25:33 Anwendungsfall: Aktive Rückverfolgbarkeit
01:32:47 Anwendungsfall: Anreizbasierte Wiederverwertung
01:35:40 Anwendungsfall: Anreizbasierte Sicherheit
01:41:30 Abmildern der Anforderungen
01:44:53 Fazit
01:49:35 4.21 Blockchains for supply chain – Fragen?
Beschreibung
Kryptowährungen haben viel Aufmerksamkeit erregt. Vermögen wurden gemacht. Vermögen wurden verloren. Pyramidensysteme waren weit verbreitet. Aus unternehmerischer Sicht ist die „blockchain“ ein höflicher Euphemismus, der verwendet wird, um ähnliche Ideen und Technologien einzuführen und dabei eine Distanz zu diesen Kryptowährungen zu schaffen. Supply chain use cases existieren für die blockchain, aber auch zahlreiche Herausforderungen sind vorhanden.
Vollständiges Transkript
Willkommen zu dieser Reihe von supply chain Vorlesungen. Ich bin Joannes Vermorel, und heute präsentiere ich „Blockchains for Supply Chain.“ Kryptowährungen haben die öffentliche Vorstellungskraft beflügelt, es wurden Vermögen gemacht und verloren, einige Schurken wurden gefasst und eingesperrt, und noch mehr werden folgen. Inmitten all dieser Aufregung wurde der Begriff Kryptowährung für durchschnittliche Großunternehmen, die tendenziell eher konservativ sind, etwas zu aufgeladen. Daher wurde der Begriff blockchain als eine Möglichkeit gewählt, die Innovation von all dem Wahnsinn in der Krypto-Welt zu distanzieren. Dennoch sind blockchain und Kryptowährungen im Grunde dasselbe.
Ziel dieser Vorlesung ist es, ein technisches Verständnis – ein tiefgehendes technisches Verständnis – dessen zu erlangen, was mit blockchains geschieht. Falls Sie über einige Programmierkenntnisse verfügen, sollten Sie am Ende dieser Vorlesung in der Lage sein, Ihre eigene spielerische blockchain neu zu implementieren, falls Sie dies wünschen. Basierend auf diesem neu gewonnenen technischen Verständnis der blockchain werden wir beginnen, Supply chain use cases zu überprüfen und ihre Lebensfähigkeit als Technologien zur Problemlösung sowie ihren Mehrwert in Bezug darauf, was sie für supply chains leisten können, einzuschätzen. Lassen Sie uns beginnen.
Der Ursprung von Bitcoin ist einfach seltsam. Im Jahr 2008 wurde unter dem Pseudonym Satoshi Nakamoto – wahrscheinlich eine Teamleistung – ein Whitepaper veröffentlicht mit dem Titel “Bitcoin: A Peer-to-Peer Electronic Cash System”. Dieses Paper stellt ein System und einen Ansatz für eine neue Art elektronischer Währung vor. Es ist ein relativ kurzes Paper mit einigen mathematischen Abschnitten, und selbst die mathematischen Teile sind teilweise fehlerhaft.
Das ursprüngliche Paper besagt, dass das System sicher sein soll, wenn mindestens die Hälfte der Hash-Leistung auf der guten Seite liegt. Allerdings wurde später in einem nachfolgenden Paper, veröffentlicht 2013 unter dem Titel “Majority is Not Enough: Bitcoin Mining is Vulnerable”, gezeigt, dass zur Sicherung des Netzwerks nicht die Hälfte der Hash-Leistung ehrlich sein muss, sondern tatsächlich mehr als zwei Drittel der Hash-Leistung erforderlich sind.
Dennoch gibt es ein Whitepaper und eine Software. Die Software ist Open Source und eine Implementierung von sehr schlechter Qualität. Der Satoshi-Client ist von sehr geringer Qualität, und im ersten Jahr nach der Veröffentlichung der Software behebten Open-Source-Beitragende hastig Unmengen an Bugs und Problemen. Einige dieser Probleme waren aufgrund des ursprünglichen Designs schwer zu beheben und hatten nachhaltige Auswirkungen auf die gesamte Community. Viele der Kryptowährungen, die heute existieren, sind Forks des ursprünglichen Satoshi-Clients und tragen bis zu einem gewissen Grad noch viele der Probleme, die über die Jahre hinweg nicht behoben werden konnten.
Dies ist also eine sehr rätselhafte Situation, in der man ein Paper hat, das nicht von bester Qualität ist, und ein Stück Software, das arguierbar sehr minderwertig ist, und dennoch hat das Satoshi Nakamoto-Team eine verblüffende Entdeckung gemacht. Grundsätzlich war das Problem als das byzantinische Konsensproblem bekannt. Es handelt sich um ein Problem der verteilten Datenverarbeitung. Stellen Sie sich vor, Sie haben Teilnehmer, und all diese Teilnehmer können sehen, was der Zustand des Systems sein soll, der in der digitalen Welt als eine lange Reihe von Nullen und Einsen, als Datenlast, betrachtet werden kann. Teilnehmer können den Zustand des Systems aktualisieren, Bits umschalten, ein Bit hinzufügen, ein Bit entfernen, und das alles gleichzeitig. Teilnehmer können miteinander kommunizieren, und das Problem des byzantinischen Konsenses besteht darin, dass alle ehrlichen Teilnehmer zu einem bestimmten Zeitpunkt darüber übereinstimmen, was der Zustand des Systems ist, bis hin zum letzten Bit.
Das Problem ist sehr schwierig, wenn Sie byzantinische Teilnehmer haben, die als Gegenspieler agieren und versuchen, alle anderen Teilnehmer zu verwirren. Die verblüffende Entdeckung von Bitcoin besteht darin, dass, wenn wir 2008 Experten befragen würden, diese wahrscheinlich sagen würden, dass es unmöglich erscheint, das byzantinische Konsensproblem in einer vollständig dezentralisierten Weise ohne zentrale Autorität zu lösen. Doch Satoshi Nakamotos Entdeckung, der Nakamoto-Konsens, zeigt, dass sie einen Weg gefunden haben, dieses Problem zu lösen.
Die Lösung ist sehr überraschend. Es scheint ein algorithmisches Problem zu sein, aber das Wesentliche der Lösung hinter Bitcoin ist, dass Satoshi Nakamoto dieses Problem durch Hinzufügen monetärer Anreize gelöst hat, also einen finanziellen Anreiz. Es ist nicht nur eine algorithmische Lösung; es handelt sich buchstäblich um einen Algorithmus, der nur funktioniert, weil innerhalb des Systems monetäre Anreize miteinander verknüpft sind und den Teilnehmern Anreize bieten, auf eine bestimmte Weise zu handeln.
Wenn wir diese Anreize setzen wollen, benötigen wir eine Art elektronische Währung, um diese Anreize überhaupt erst gestalten zu können. Genau das wird in Bitcoin umgesetzt. Wenn man eine elektronische Währung haben möchte, steht man vor mindestens zwei sehr schwierigen Problemen. Das erste Problem ist das Double Spending. Wenn Sie einen bestimmten Betrag an digitalem Geld haben, repräsentiert durch einige Bits an Information, was hindert Sie daran, eine Kopie dieses digitalen Geldes anzufertigen und das Geld einmal auszugeben, um damit etwas zu bezahlen, und dann dieselbe Geldsumme mit Ihrer Kopie ein weiteres Mal zur Bezahlung zu verwenden? Dieses Problem ist als Double Spending bekannt und stellt ein sehr schwieriges Problem dar, dem sich Bitcoin stellt.
Das zweite Problem ist die Münzprägung. Woher kommt dieses Geld? Interessanterweise verfolgt man normalerweise bei einem sehr schwierigen Problem einen Divide-and-Conquer-Ansatz, indem man das große Problem in einfachere Teilprobleme unterteilt, die separat gelöst werden können, sodass das Gesamtproblem gelöst werden kann. Das Interessante an Bitcoin ist, dass es zwei unterschiedliche und sehr schwierige Probleme gibt: Double Spending und Münzprägung. Statt einen Divide-and-Conquer-Ansatz zu verfolgen, bedient sich Bitcoin eines “Unify-and-Entangle”-Ansatzes, der seinerzeit neuartig war, um beide Probleme gleichzeitig zu lösen. Die Lösung, wie wir später in dieser Vorlesung sehen werden, ist überraschend einfach.
Diese Vorlesung befasst sich nicht in erster Linie damit, was eine digitale Währung zu einer guten Währung macht, da dies einen eigenen Vortrag verdienen würde. Dennoch funktionieren blockchains nicht ohne die über die digitale Währung, die die blockchain unterstützt, konzipierten finanziellen Anreize. Wenn wir sagen, Kryptowährungen und blockchains seien sehr viel dasselbe, so bedeutet das, dass wenn Sie eine blockchain betreiben wollen, Sie Nachrichten senden, und diese Nachrichten Transaktionen mit einem Geldfluss beinhalten. Die Kryptowährungs-Perspektive legt dabei den primären Fokus auf den monetären Aspekt, während die blockchain-Perspektive mehr an den Metadaten interessiert ist, die über die Transaktionen gelegt werden.
Denken Sie daran, dass das gesamte Sicherheitsmodell dieser blockchain/Kryptowährungssysteme auf den wirtschaftlichen Anreizen beruht, die auf dem System aufgebaut sind. Sie können die ökonomischen und Kryptowährungsziele nicht vollständig von der blockchain trennen. Es ist einfach eine Frage der Perspektive.
Schauen wir uns nun kurz die Anforderungen an, die mit einem blockchain/Kryptowährungssystem einhergehen, und wie wir diese Anforderungen möglicherweise entspannen können. Die erste Anforderung ist die Nichtabstreitbarkeit. Nichtabstreitbarkeit bedeutet, dass als Teilnehmer niemand Sie daran hindern kann, eine Transaktion zu senden. Niemand kann verhindern, dass eine gültige Transaktion stattfindet. Dies ist sehr wichtig, denn wenn ein Teilnehmer dazu in der Lage wäre, hätten Sie im Grunde genommen eine zentrale Autorität.
Die zweite Anforderung ist Anonymität. Technisch gesehen ist Bitcoin ein pseudonymes Netzwerk, aber im Grunde bedeutet die Anforderung der Anonymität, dass es keine Teilnehmerliste gibt. In einer echten blockchain können Teilnehmer jederzeit dem System beitreten oder es verlassen, ohne dass ein Gatekeeper vorhanden ist. Da Teilnehmer frei ein- und austreten können, wird niemand ihre Identität nachverfolgen. Das bedeutet nicht, dass es anonym sein muss; es bedeutet lediglich, dass, wenn Sie eine wahre kanonische blockchain haben, die Anforderung der Anonymität – dass Teilnehmer nach Belieben ein- und austreten können – erfüllt sein muss.
Als nächstes nenne ich die Massenskallierbarkeit als Anforderung, was für blockchains besonders schwierig ist, da diese Arten verteilter Systeme nicht von Natur aus einfach skaliert werden können. Im Gegenteil, eine blockchain zu skalieren, ist bemerkenswert schwierig. Grundsätzlich gibt es einen Zielkonflikt: Wenn Sie jedem Teilnehmer erlauben, eine beliebig große Anzahl von Nachrichten, Transaktionen oder Aktualisierungen des Systems zu senden, kann ein Teilnehmer das gesamte Netzwerk überschwemmen und im Wesentlichen spammen. Daher müssen alle blockchains dieses Skalierbarkeitsproblem bewältigen, was durch den Einsatz finanzieller Anreize gelöst wird.
Die Idee ist, die Kosten einer Transaktion – der elementaren Nachricht, die auf der blockchain gesendet wird – bei etwa einem Zehntel eines Cents zu halten. Das ist sehr günstig – stellen Sie sich vor, Sie müssten einen Zehntel-Cent bezahlen, um eine E-Mail zu senden. Es ist nicht kostenlos, aber immer noch sehr kostengünstig. Wenn Sie also einen regelmäßigen Gebrauch haben und beispielsweise eine Transaktion mit der Bewegung eines Produkts in einem warehouse verknüpft ist, ist das in Ordnung; die Kosten sind immer noch sehr niedrig. Indem die Kosten auf 0,1 Cent festgesetzt werden, werden diese Transaktionen für einen Angreifer, der das Netzwerk mit Milliarden von Transaktionen überschwemmen könnte, zu teuer, wenn keine Gebühren erhoben würden. Jede Transaktion muss eine Gebühr für ihre Existenz und zur Unterstützung ihrer Übertragung zahlen; andernfalls könnte ein Angreifer das verteilte System ohne Hindernisse überfluten.
Die Transaktionsgebühren sind also ein weiterer Ansatz im wirtschaftlichen Engineering, um die blockchain lebensfähig zu halten. Sie möchten in der Lage sein, diese Gebühr von 0,1 Cent in jedem Maßstab aufrechtzuerhalten, denn ein weiteres Problem der fehlenden Massenskallierbarkeit besteht darin, dass, wenn wir Millionen von Transaktionen haben, die Kosten der Transaktionen in die Höhe schießen. Dies ist ein großes Problem, das wir nicht wollen. Wir möchten nicht, dass es zu einer Situation kommt, in der ein Bus 100 Personen hat, die zu einer bestimmten Zeit mitfahren möchten, es aber nur 50 Sitzplätze gibt. Wenn dies passiert, wird ein Auktionsmechanismus in Gang gesetzt, und der Preis für die Tickets wird in die Höhe schnellen. In blockchain-Begriffen bedeutet das, dass die Kosten für Transaktionen in die Höhe schießen werden. Übrigens treten solche Probleme derzeit bei mehreren blockchains auf. Zum Beispiel kommt es im Bitcoin-Core-Netzwerk sehr häufig vor, dass die Kosten einer Transaktion zehn Dollar übersteigen, und das ist ein sehr großes Problem.
Nun möchten wir auch eine relativ geringe Latenzzeit haben. Was Satoshi Nakamoto 2008 entdeckte, der Nakamoto-Konsens, funktioniert sehr gut, aber im Grunde ist es ein sehr langsamer Prozess. Wenn ich sage, sehr langsam, bedeutet das, dass es für die Teilnehmer ungefähr eine Stunde dauert, bis sie sich auf den Zustand des Systems einigen. Es ist nicht dramatisch langsam, aber auch nicht besonders schnell. Wenn wir etwas im Zusammenhang mit supply chain machen wollen, bei dem wir Zahlungen tätigen oder die Bewegung von Gütern nachverfolgen, wäre es viel angenehmer, wenn wir die Latenz des Systems auf etwa drei Sekunden oder weniger halten könnten – die Art von Latenz, die man von einer schnellen Kreditkartenzahlung erwarten würde.
Schließlich ist eine der letzten Anforderungen die Infrastruktur. Wenn ich von der Softwareinfrastruktur spreche, die die Blockchain oder Kryptowährung unterstützt, muss es sich um ein öffentliches Gut handeln, das durch eine Art vereinbarten Gesellschaftsvertrag finanziert wird. Das ist etwas, das Satoshi Nakamoto, wie ich glaube, im Jahr 2008 nicht vorausgesehen hat. Wenn Sie ein sehr komplexes, weltweit verteiltes System betreiben möchten, muss eine Menge Softwareinfrastruktur eingerichtet und gewartet werden. Das Problem ist, dass, wenn es keinen gesellschaftlich akzeptierten Weg gibt, all diese Bemühungen zu finanzieren, Gegner entstehen – nicht nur als byzantinische Gegner im Netzwerk, die versuchen, andere Teilnehmer über den Zustand des Netzwerks zu verwirren, sondern auch als Gegner, die die Codebasis selbst übernehmen und mit der Softwareinfrastruktur Dinge machen, die den Interessen der breiteren Gemeinschaft entgegenwirken. In der Geschichte der Kryptowährungen kam es bereits zu feindlichen Übernahmen von einem Team auf ein anderes, wobei die neuen Teams Interessen verfolgten, die völlig unvereinbar mit den Interessen der breiteren Gemeinschaft waren. Dies ist eine Art von Angriffen, mehr sozialtechnischer Natur, die Satoshi Nakamoto im Jahr 2008 nicht eindeutig vorausgesehen hatte. Nach einem Jahrzehnt Betrieb sind diese Angriffsarten jedoch für Beobachter der Krypto-Welt viel klarer geworden.
Nun, bisher die Geschichte: Dies ist eine Vorlesungsreihe zum supply chain. Wir befinden uns im vierten Kapitel. Im ersten Kapitel habe ich meine Ansichten zum supply chain als Studienfeld und als Praxis vorgestellt, und wir haben gesehen, dass es sehr spezifische Methodologien erfordert. Das gesamte zweite Kapitel widmet sich supply chain-Methodologien, die dazu geeignet sind, in diesem Bereich zu operieren. Die meisten naiven Methodologien überstehen den Kontakt mit der Realität nicht, besonders wenn Interessenkonflikte im Spiel sind. Übrigens, viele der Aspekte im zweiten Kapitel, in denen ich mich mit Interessenkonflikten beschäftige, sind auch für die heutige Vorlesung sehr relevant, daher lade ich das Publikum ein, falls Sie die Vorlesungen aus dem zweiten Kapitel noch nicht gesehen haben, einen Blick darauf zu werfen. Das dritte Kapitel widmet sich supply chain problems, was buchstäblich Vorlesungen sind, in denen ich mich ausschließlich auf supply chain-Probleme und nicht auf Lösungen konzentriere. Die Idee ist, das Problem wirklich zu verstehen, bevor man beginnt, Lösungen heraufzubeschwören.
Das vierte Kapitel ist im Grunde eine Sammlung von Hilfswissenschaften. Blockchain ist ein Randthema, das ich am Ende dieses Kapitels hinzufüge, aber grundsätzlich sind Hilfswissenschaften Disziplinen, die moderne supply chain-Praktiken wirklich unterstützen. So wie man von einem modernen Arzt erwarten würde, etwas über Chemie zu wissen, muss man kein brillanter Chemiker sein, um ein brillanter Arzt zu sein. Allgemein gilt, dass aus moderner medizinischer Sicht, wer nichts über Chemie weiß, nach heutigen Maßstäben niemals ein guter Arzt sein kann. Dasselbe gilt meiner Ansicht nach für supply chain. Es gibt eine Reihe von Hilfswissenschaften, bei denen man gewisse Grundkenntnisse haben muss, wenn man eine einigermaßen moderne supply chain-Praxis anstrebt.
Nun, in der vorliegenden Vorlesung werde ich zunächst Mini Bitcoin präsentieren, eine Spielzeug-Blockchain-Implementierung. Sie soll aufzeigen, wie Kryptowährungen funktionieren und was die entscheidende Erkenntnis war, die Satoshi Nakamoto im Jahr 2008 entdeckte. Sie soll auch die drei sehr großen Herausforderungen verdeutlichen, denen wir beim Entwurf von Blockchains gegenüberstehen, nämlich Skalierbarkeit, Latenz und Ausdrucksfähigkeit. Diese drei Herausforderungen haben einen erheblichen Einfluss auf die Art der supply chain-Anwendungsfälle, die wir auf Basis von Blockchain realisieren können. Es ist wesentlich, die Einschränkungen zu verstehen, die mit Blockchains einhergehen, da sie im Grunde begrenzen, was wir supply chain-seitig tun können und welchen Mehrwert wir schaffen können. Schließlich werde ich im zweiten Teil der Vorlesung eine Reihe von supply chain-Anwendungsfällen durchgehen, zu denen supply chain in unterschiedlichem Maße etwas beizutragen hat.
Das Ziel von Mini Bitcoin ist es, eine Spielzeug-Blockchain zu erstellen, eine vereinfachte Version von Bitcoin von Grund auf. Wir werden uns nicht allzu sehr mit den zahlreichen technischen Details befassen, denn im wirklichen Leben erfordert die Entwicklung einer Blockchain viel Aufmerksamkeit für unzählige Details. Hier möchte ich lediglich die Gesamtstruktur darlegen, um sie im Vergleich zur Realität dramatisch zu vereinfachen, sodass wir in wenigen Folien verstehen können, was vor sich geht, wie sie entwickelt wird und wie sie funktioniert.
In diesem sehr einfachen Beispiel werden wir eine Währung entwickeln, bei der jede einzelne Münze genau einen Bitcoin wert ist. Man hat einen Satz von Münzen, jede Münze ist genau einen Bitcoin wert, und das einzig Mögliche ist im Wesentlichen, eine Münze von einem Teilnehmer auf einen anderen zu übertragen. Wenn ein Teilnehmer viele Münzen besitzt, kann er alle Münzen übertragen, aber wir betrachten hier nur eine sehr einfache Währung, in der es keine Bruchteile und andere Elemente gibt.
Um dieses Mini Bitcoin zu erstellen, benötigen wir nur drei spezielle Funktionen: eine Hashfunktion, eine Signaturfunktion und eine Verifikationsfunktion. Diese Funktionen waren bereits im Jahr 2008 Standard, sodass, als Bitcoin erfunden wurde, alle kryptografischen Bausteine bereits vorhanden waren. Satoshi Nakamoto hat keines dieser Werkzeuge erfunden. Diese speziellen kryptografischen Funktionen, auch bekannt als Falltürfunktionen, waren 2008 wohlbekannt, standardisiert und weit verbreitet. Die entscheidende Innovation von Satoshi Nakamoto bestand darin, diese Funktionen auf eine ganz besondere Weise zu nutzen, wie wir gleich sehen werden.
Wir haben diese drei Funktionen: die Hashfunktion, auf die ich hier nicht im Detail eingehen werde, aber die ich in einer früheren Vorlesung besprochen habe. Dies ist eine kryptografische Version der Hashfunktion, die jede beliebige Nachricht, also eine Folge von Bits beliebiger Länge, aufnehmen und einen 256-Bit-Digest erzeugen kann. Die Funktion kann in der Praxis nicht umgekehrt werden. Wenn man einen Digest hat, besteht der einzige Weg, die Nachricht, die diesen Digest erzeugt hat, zu identifizieren, darin, die Nachricht vorher zu kennen.
Die Signaturfunktion kann eine Nachricht und einen privaten Schlüssel entgegennehmen und eine Signatur erzeugen, die wiederum 256 Bit beträgt. Die Signaturfunktion arbeitet paarweise mit einer Verifikationsfunktion. Für alle, die mit asymmetrischer Kryptografie nicht vertraut sind, besagt die Idee, dass es Mechanismen gibt, bei denen man Paare aus öffentlichen und privaten Schlüsseln hat. Mit dem privaten Schlüssel kann man eine Signatur erzeugen und eine Nachricht veröffentlichen, ohne den privaten Schlüssel preiszugeben. Jeder Teilnehmer kann die Verifikationsfunktion nutzen, um die Nachricht, Ihre Signatur und Ihren öffentlichen Schlüssel zu überprüfen, und so feststellen, dass die Nachricht mit dem privaten Schlüssel signiert wurde, der diesem öffentlichen Schlüssel zugeordnet ist.
Diese Falltürfunktionen können nicht umgekehrt werden, sodass, wenn man die ursprüngliche Nachricht nicht kennt, es unmöglich ist, vom Hash bzw. vom Digest zur ursprünglichen Nachricht zurückzukehren. Gleiches gilt, wenn man den privaten Schlüssel nicht besitzt; man kann keine eigene Signatur erzeugen, wenn man eine neue Nachricht hat.
Diese drei speziellen Funktionen sind in nahezu allen modernen Programmierumgebungen leicht verfügbar, sei es C++, Python, Java, C# oder andere. Es gehört zur Standardumgebung, Zugriff auf diese Klassen kryptografischer Funktionen zu haben.
Schauen wir uns nun eine Situation an, in der ich der Besitzer der Münze Nummer eins sein soll. Was bedeutet das? Es bedeutet, dass im Rahmen dieses byzantinischen Konsenses alle Teilnehmer in diesem Mini Bitcoin-Netzwerk ein gemeinsames Übereinkommen haben, dass, als Teil der UTXO (Unspent Transaction Outputs), diese Münze tatsächlich vorhanden ist. Wenn ich von dieser Münze spreche, meine ich eine Nachricht, die den öffentlichen Schlüssel Nummer eins und die Signatur Null enthält. Ich gehe einfach davon aus, dass dies Teil eines Münzsatzes ist und alle Teilnehmer zustimmen, dass diese Münze tatsächlich existiert und zur Verwendung bereitsteht. Nun, als Besitzer dieser Münze Nummer eins, wie gebe ich diese Münze tatsächlich aus, um das Eigentum an dieser Münze auf jemand anderen zu übertragen?
Das mache ich, indem ich eine Signatur erstelle. Die Signatur wird folgendermaßen konstruiert: Ich verwende die spezielle “sign”-Funktion und werde eine Nachricht signieren. Diese Nachricht wird einfach aus dem öffentlichen Schlüssel Nummer eins, Signatur Null und anschließend dem öffentlichen Schlüssel Nummer zwei bestehen. Der öffentliche Schlüssel Nummer zwei ist buchstäblich die Adresse, an die ich das Geld sende. Wer den privaten Schlüssel besitzt, der mit diesem öffentlichen Schlüssel Nummer zwei verknüpft ist, wird der Empfänger meiner Transaktion sein. Also signiere ich diese Transaktion, und um sie zu signieren, verwende ich privaten Schlüssel Nummer eins. Der einzige Teilnehmer, der diese Signatur Nummer eins tatsächlich erzeugen kann, ist die Person, die das Geheimnis – also den privaten Schlüssel Nummer eins, der mit dem öffentlichen Schlüssel Nummer eins verknüpft ist – besitzt.
Wenn ich dem gesamten Netzwerk mitteilen möchte, dass diese Transaktion durchgeführt wurde, muss ich eine Transaktion broadcasten. Die Transaktion wird einfach eine Nachricht sein, die den öffentlichen Schlüssel Nummer eins, Signatur Null, den öffentlichen Schlüssel Nummer zwei und die gerade erzeugte Signatur Nummer eins auflistet. Es ist einfach eine Liste der Elemente, die zur Transaktion beitragen. Wenn ich diese Transaktion von Eins nach Zwei veröffentliche, verlässt im Wesentlichen die Münze Nummer eins den Münzpool, und die Münze Nummer zwei tritt als Teil des Systems in den Münzpool ein. Deshalb ist es entscheidend, dass dieser byzantinische Konsens zur Anwendung kommt. Wir benötigen diesen byzantinischen Konsens, weil man potenziell Geld ausgeben könnte, das man nicht besitzt, und das Netzwerk bezüglich des Eigentums einiger Münzen in die Irre führen könnte. Wenn man jedoch das byzantinische Konsensproblem lösen kann, gibt es eine feste Übereinkunft darüber, welche Münzen tatsächlich zum System gehören. Sobald eine Münze ausgegeben wurde, besitzt der Eigentümer Nummer zwei nun eine Münze. Eine Münze kann das Netzwerk verlassen, und eine neue Münze wird erstellt und tritt in den Systemzustand ein.
Der Mechanismus kann wiederholt werden; Münze Nummer zwei kann mithilfe desselben Systems an Münze Nummer drei übertragen werden: Signatur erstellen, Transaktion broadcasten und so weiter.
Übrigens, wann immer ich sagte, dass die “sign”-Funktion verwendet wird, impliziert das, dass alle Beobachter die “verify”-Funktion nutzen können, um zu überprüfen, ob die Signatur korrekt ist. Grundsätzlich, wenn die Teilnehmer die Transaktionen beobachten, ist das erste, was sie tun, die zuvor vorgestellte “verify”-Funktion zu verwenden, um zu prüfen, ob die Transaktion tatsächlich korrekt ist. Es sind zwei Prüfungen notwendig: Jeder Teilnehmer muss überprüfen, dass die übertragene Münze bereits Teil des Systemzustands war, um sicherzustellen, dass es sich um eine gültige Münze handelt, und dass die Transaktion gemäß der Signatur gültig ist. Was ich hier nicht behandelt habe, ist das Double-Spend-Problem. Wie verhindern wir, dass zwei widersprüchliche Transaktionen gleichzeitig vorgenommen werden, und wie verhindern wir, dass das Netzwerk verwirrt wird, wenn ein Angreifer versucht, zwei widersprüchliche Transaktionen gleichzeitig zu broadcasten und dasselbe Geld an zwei unterschiedliche Teilnehmer sendet?
Ich habe auch nicht geklärt, woher diese Münzen kommen. Wie werden sie überhaupt in das System eingeführt? Der Kern der Entdeckung von Satoshi Nakamoto und seines Nakamoto-Konsenses besteht darin, diese beiden Probleme gleichzeitig zu lösen.
Satoshi Nakamotos Vorschlag ist es, eine spezielle Klasse von Teilnehmern in das Netzwerk einzuführen, die heutzutage als “miners” bezeichnet werden.
Miners hören im Wesentlichen im Netzwerk zu und sammeln alle broadcasteten Transaktionen. Sie sammeln diese Transaktionen und legen sie in einen Container, der als “block” bezeichnet wird. Ein block ist einfach eine Sammlung von Transaktionen, die von irgendjemandem im Peer-to-Peer-Netzwerk broadcastet wurden.
Die allererste Transaktion eines blocks wird eine spezielle Transaktion sein, die als “coinbase” bezeichnet wird. Eine coinbase ist eine einzigartige Transaktion, die in diesem Mini Bitcoin-Setup augenblicklich eine neue Münze aus dem Nichts erschafft. Die erste Transaktion ist die coinbase, die eine neue Münze aus dem Nichts erschafft, und im block folgt dann die Liste der Transaktionen, die broadcastet wurden, so wie sie vom Miner wahrgenommen wurden. Der Miner mag nicht in der Lage sein, alle Transaktionen des Bitcoin-Netzwerks zu erfassen, aber er versucht es.
Die coinbase ist besonders, und ich werde erklären, wie man diese coinbase erstellt, da es sich um eine einzigartige Transaktion handelt. Zuerst werden wir einen Hash des blocks erzeugen, einen partiellen Hash (H1a). Dieser Hash ist im Wesentlichen ein Hash einer Nachricht, und diese Nachricht beginnt mit einem Hash des vorherigen blocks (H0b), an den alle im block vorhandenen Transaktionen angehängt werden.
Die coinbase ist dann ein Tupel, das den Hash H1a enthält, gefolgt von einem nonce. Ein nonce ist eine vom Miner zufällig gewählte Zahl und hat seine Bedeutung. Die coinbase enthält auch den öffentlichen Schlüssel des Miners. Sie schließt einen Hash des gesamten Inhalts des blocks mit ein, enthält eine Zufallszahl und den öffentlichen Schlüssel des Miners. Dieser öffentliche Schlüssel wird später vom Miner verwendet, um die coinbase als reguläre Münze einzufordern. In diesem Mini Bitcoin-Setup werden Münzen mit einer Rate von einem Bitcoin pro block ausgegeben. In der Realität ist der Prozess im Bitcoin Core-Netzwerk oder bei Bitcoin Cash komplizierter, aber der Großteil der Komplexität kann zur besseren Verständlichkeit vereinfacht werden.
Die Idee ist, dass, damit der block als gültig betrachtet wird, wir eine coinbase erzeugen müssen. Wenn wir jedoch an dieser Stelle aufhören würden, könnten alle Miner behaupten, sie hätten jederzeit einen block, und alle Miner hätten ein Interesse daran zu sagen: “Ich kann ein Paket erstellen, einen Digest all dieser Transaktionen erzeugen. Ich kann eine coinbase erstellen. Bitte gebt mir diesen zusätzlichen Bitcoin.” Wie ordnen wir dann die Konkurrenz aller Miner, die darum buhlen, dass ihre Version des blocks vom Netzwerk ausgewählt und als der einzig wahre block anerkannt wird?
Satoshi Nakamoto führte das Konzept des Proof of Work ein. Der Hash der coinbase, der eine große 256-Bit-Zahl ist, muss über einem Schwierigkeitsgrenzwert liegen. Dieser Prozess gleicht dem Lösen eines Rätsels, und der einzige Weg, dieses Rätsel zu lösen, besteht darin, eine coinbase zu finden, deren Hash diesen Schwierigkeitswert erreicht. Der Miner kann viele zufällige Zahlen für den nonce ausprobieren, in der Hoffnung, als Erster die Schwierigkeit zu überwinden und den block für sich zu beanspruchen.
Bei Bitcoin ist die Schwierigkeit adaptiv, und das Netzwerk verwendet einen hochtrabenden gleitenden Durchschnittsalgorithmus, um die Schwierigkeit bei etwa 10 Minuten pro block zu halten. Wenn im Durchschnitt Blöcke in einem schnelleren Tempo als alle 10 Minuten gefunden werden, steigt die Schwierigkeit, bis im Durchschnitt alle 10 Minuten ein block gefunden wird. Wenn Blöcke stattdessen alle 11 Minuten gefunden werden, sinkt die Schwierigkeit, um die durchschnittliche Zeit zur Blockfindung bei 10 Minuten zu halten.
Satoshis Nakamotos Vorschlag ist, dass Miner immer der längsten gültigen Kette folgen. Eine Kette von Blöcken muss das Schwierigkeitsziel erfüllen, um gültig zu sein. Beim Erstellen eines Blocks baut man ihn immer auf einen bereits existierenden Block auf, außer beim Genesis-Block, der als Standard-Startpunkt dient. Die Regel bezieht sich nicht nur darauf, die längste Kette zu haben, sondern die längste gültige Kette. Andere Miner überprüfen, ob alle im Block aufgelisteten Transaktionen tatsächlich gültig sind, indem sie sicherstellen, dass die Signaturen übereinstimmen und die ausgegebenen Coins berechtigt sind, ausgegeben zu werden. Sie pflegen diesen Zustand, und genau so kann Bitcoin sowohl das Double-Spend-Problem als auch das Coin-Emissionsproblem lösen. Wir haben alles Notwendige, um eine Blockchain zu bauen.
In Wirklichkeit, wenn man eine wirklich produktionsreife Blockchain bauen möchte, gibt es eine Menge zusätzlicher Dinge zu berücksichtigen. Zunächst möchte man Bruchteile besitzen. Man möchte wahrscheinlich nicht nur einen einzelnen Bitcoin besitzen; man möchte etwas, womit man mehrere oder auch Bruchteile von Bitcoins übertragen kann.
Bei Coins möchte man Transaktionen haben, die viele Coins gleichzeitig als Eingaben verbrauchen und dann gleichzeitig viele Coins erzeugen können. Es wird keine Eins-zu-eins-Transaktionen geben, die einen Coin mit einem Coin verbinden; es werden Viele-zu-Viele-Transaktionen sein, bei denen viele Eingabe-Coins mit vielen Ausgabe-Coins verknüpft werden. Übrigens arbeiten verschiedene Bitcoin-Netzwerke heutzutage auf diese Weise.
Es gibt auch die Transaktionsgebühren, die ich erwähnt habe. Wenn man es den Leuten erlauben würde, Transaktionen endlos zu senden, könnten sie immer wieder Geld zwischen denselben Adressen hin- und herschicken und den Markt überschwemmen. Die Idee dahinter ist, dass eine Gebühr im Grunde die Vorstellung darstellt, dass ein bestimmter Teil der Transaktion an den Miner umgeleitet wird. In den meisten Bitcoin-Varianten wird dies typischerweise so gehandhabt, dass der gesamte Eingabewert in monetären Einheiten geringfügig größer sein sollte als der gesamte Ausgabewert. Der fehlende Wertanteil, die Lücke, ist die Belohnung, die an den Miner gezahlt wird.
Nun haben wir unser Mini-Bitcoin abgeschlossen. Wenn du programmieren kannst, hast du alle Elemente, die du benötigst, um deine eigene Blockchain zu implementieren. Übrigens kannst du auch Blöcke wiederholen, und genau das mache ich hier. Was du gerade für einen Block getan hast, kannst du mit denselben Formeln für einen weiteren Block wiederholen, mit einem zweiten Codebase. Das ist genau wie bei Transaktionen; derselbe Mechanismus wird immer wieder wiederholt.
Die Skalierung der Blockchain ist sehr herausfordernd. In einem kurzen White Paper aus dem Jahr 2018 veröffentlichte ich eine anwendungsbezogene Landschaft von Bitcoin. Die Idee ist, dass abhängig davon, wie viele Daten deine Blockchains involvieren, die Menge an Daten, die du verarbeiten und bewegen musst, stark variiert, je nachdem, was du mit der Blockchain machst. Im Wesentlichen reicht es von etwa 100 Bytes (der Größenordnung eines privaten Schlüssels) bis zu 10 Größenordnungen, wenn du die gesamte Blockchain berücksichtigen musst.
Es fällt schwer zu begreifen, dass abhängig davon, was du tust, die Menge an Rechenressourcen, die du einbringen musst, um die Aufgabe zu bewältigen, um 10 Größenordnungen variieren kann. Eine Größenordnung bedeutet, dass du die Menge der Ressourcen mit einem Faktor von 10 multiplizierst, und wenn du 10 Größenordnungen hast, kannst du von eins bis zu 10 Milliarden gehen. Das ist erstaunlich und enorm. In dieser anwendungsbezogenen Landschaft wirst du feststellen, dass es zwei Hauptunterscheidungen gibt: on-chain und off-chain Anwendungen. Off-chain-Apps sind diejenigen, die sich nur mit den von dir oder deinen nahen Partnern generierten Daten befassen. Wenn du ein großes Unternehmen bist, musst du dich möglicherweise mit Millionen von Transaktionen auseinandersetzen, aber dies sind nur deine eigenen Transaktionen. Was die Daten betrifft, können sie groß sein, aber sie sind handhabbar, da sie sich direkt auf dein eigenes Geschäft beziehen.
Andererseits befassen sich on-chain Apps mit allen Transaktionen, die über das Netzwerk gesendet werden. Dies kann enorm größer sein, insbesondere wenn du ein kleiner Akteur bist und alle Transaktionen in einem großen Netzwerk handhaben musst, was millionenfach mehr sein kann als die Transaktionen, die dich interessieren.
Zusätzlich müssen wir zwischen Komponenten unterscheiden, die “cash cogs” und “cash lands” sind. Cash cogs sind grundlegende Komponenten, die zur Lösung des Konsensproblems beitragen. Entfernt man sie, funktioniert die Blockchain nicht mehr, weil der Konsens fehlt. Cash lands hingegen sind optionale Komponenten, die auf der Blockchain-Infrastruktur aufgebaut werden können. Diese sind nicht zwingend erforderlich, damit die Blockchain funktioniert.
Typischerweise, wenn wir an supply chain use cases denken, positionieren wir uns mit Metadaten im Bereich der cash lands. Was wir tun, ist nicht zwingend erforderlich, damit die Blockchain weiter betrieben werden kann; sie könnte auch ohne unseren spezifischen Anwendungsfall funktionieren.
Hinsichtlich der Skalierung der Blockchain für echte supply chain use cases muss man bedenken, dass die Blockchain in der Lage sein sollte, Millionen von Transaktionen zu verarbeiten. Große Unternehmen handeln mit Millionen von wöchentlichen Transaktionen, was in der supply chain-Welt nicht außergewöhnlich ist. Allerdings sind Blockchains schlecht skalierbar, wie daran zu erkennen ist, dass Miner alle Transaktionen von jedem verarbeiten müssen.
Um dieses Problem anzugehen, wurden einige Innovationen eingeführt, wie beispielsweise die zuvor in der Vorlesung besprochenen Lösungen. Das Hauptziel ist es, die Blockchain-Technologie skalierbarer und besser geeignet zu machen, um das massive Transaktionsvolumen zu bewältigen, das typischerweise in supply chain Anwendungen zu sehen ist. Wenn du möchtest, dass eine Blockchain für supply chain Zwecke genutzt wird, muss sie in der Lage sein, nicht nur die Transaktionen eines einzelnen Unternehmens, sondern auch aller Unternehmen, die an der Blockchain-Initiative teilnehmen, zu verarbeiten. Das kann extrem groß werden, oder genauer gesagt sehr groß, vielleicht sogar überaus groß. Das müssen wir sehen, und hier, zur Rettung, wurden im Wesentlichen zwei bemerkenswerte Arbeiten veröffentlicht. Als Satoshi Nakamoto sein Papier veröffentlichte, sagte er, dass mit dem Fortschritt der Hardware dieses Problem gelöst würde und wir so weit skalieren könnten, wie es nötig sei. Das würde geschehen. Allerdings stellte sich heraus, dass es schwierig ist, und seit über einem Jahrzehnt haben nahezu alle Akteure in diesem Blockchain- und Kryptowährungsbereich mit der Skalierbarkeit zu kämpfen.
Das erste bemerkenswerte Papier ist ECMH, Elliptic Curve Multiset Hash. Es ist ein ziemlich technisches Papier, aber die Hauptaussage ist die Idee, dass du nicht alle Transaktionen aufbewahren musst; du musst nur die Coins behalten, die bereit zur Ausgabe sind. Diese Sammlung aus ausgabebereiten Coins ist im Bitcoin-Ökosystem technisch als UTXO bekannt. Als Größenordnung: Der UTXO-Datensatz des Bitcoin Core Netzwerks liegt derzeit etwas unter fünf Gigabyte. Das ist die Größe des UTXO-Datensatzes, aber wenn man sich die Blockchain von Bitcoin Core anschaut, liegt deren Größe leicht unter 350 Gigabyte, und die Blockchain wächst viel schneller als die UTXO.
Was das ECMH-Papier dir bietet, ist eine Hashfunktion, die eine Affinität zu Multisets hat. Im Wesentlichen handelt es sich um eine Hashfunktion, bei der du deinen Hash aktualisieren kannst, wenn du Elemente zu deiner Sammlung hinzufügst oder entfernst. Du bewahrst nicht das Set oder das Multiset selbst auf, sondern lediglich den Hash, und du kannst Elemente hinzufügen oder entfernen. Diese set-ähnliche Eigenschaft bedeutet, dass du diese Additionen oder Löschungen in beliebiger Reihenfolge durchführen kannst und trotzdem denselben Hash erhältst. Was du durch ECMH erhältst, ist eine Möglichkeit, ein UTXO-Commitment zu realisieren, das es der Community ermöglicht, von der vollständigen Blockchain abzukommen. Der Großteil der Community muss sich nicht mit der vollständigen Blockchain auseinandersetzen, sondern kann sich ausschließlich mit UTXO beschäftigen. Ich wiederhole: Die Größe der UTXO im Bitcoin Core Netzwerk beträgt fünf Gigabyte, und die Größe der Blockchain beträgt 350 Gigabyte, sodass du im Grunde zwei Größenordnungen gewinnst. Das ist sehr bedeutend. Im Wesentlichen gewinnst du mit ECMH zwei Größenordnungen bei der dauerhaften Datenspeicherung, was ein enormer Gewinn ist.
Das zweite Papier ist Graphene, ein neues Protokoll für die Blockverbreitung mittels Set Reconciliation. Graphene ermöglicht es dir, im Wesentlichen zwei Größenordnungen bei den Spitzenbandbreitenanforderungen zu gewinnen. In diesem Mini-Bitcoin-Setup, das ich gerade beschrieben habe, gibt es Miner und Transaktionen, die im Peer-to-Peer-Stil kontinuierlich im Netzwerk verbreitet werden. Bandbreite ist wahrscheinlich das am besten gelöste Problem von Bitcoin, aber dennoch entsteht ein Problem, wenn es um die Bandbreite im Moment des Blockfundes geht. Der Miner muss den coinbase propagieren, um den Block zu beanspruchen, wobei er sagt: “Schau, ich habe einen coinbase, der mein Schwierigkeitsziel erfüllt.” Danach müssen alle anderen Miner den gesamten Block herunterladen, und wenn dies naiv gemacht wird, müssen sie überprüfen, dass der Block tatsächlich gültig ist, nicht nur, dass der coinbase das Schwierigkeitsziel erfüllt.
Jedes Mal, wenn ein Block gefunden wird, gibt es einen Spitzenbedarf, denn du möchtest die Übertragungszeit eines gesamten Blocks, wenn du es naiv machst, weit unter dem 10-Minuten-Intervall halten. Bei Bitcoin ist das Rätsel so in Bezug auf die Schwierigkeit abgestimmt, dass die durchschnittliche Zeit zwischen zwei aufeinanderfolgenden Blöcken im Mittel 10 Minuten beträgt. Daher sollte die Blockübertragung nur einen Bruchteil davon dauern, sagen wir weniger als 30 Sekunden, wenn du das Netzwerk sehr stabil halten möchtest. Das bedeutet jedoch, dass der Block innerhalb von 30 Sekunden übertragen werden muss, was eine Grenze für deine Spitzenbandbreite setzt. Die Geschwindigkeit, mit der du deinen Block überträgst, wird durch deine Bandbreite begrenzt.
Die Idee ist, dass man mit Graphene, einer auf Kompression basierenden Technik, nicht den gesamten Block übertragen muss, da der Großteil des Blockinhalts tatsächlich aus Transaktionen besteht, die bereits im Netzwerk verbreitet wurden. Das Einzige, was du übertragen möchtest, ist ein Reconciliation-Set, um deinen Peers (anderen Minern) auf vollkommen zuverlässige Weise mitzuteilen, welche Transaktionen in deinem Block enthalten sind oder nicht. Wenn du das machst, kannst du die Spitzenbandbreite erneut um zwei Größenordnungen reduzieren, was sehr bedeutend ist.
Das ist von großem Interesse; beispielsweise würde Graphene in Bitcoin Cash Netzwerken oder den neueren eCash Netzwerken funktionieren, bedingt durch völlig technische Zufälle. Es würde jedoch im Bitcoin Core Netzwerk nicht funktionieren. Dies war Teil der Aspekte, die von Satoshi Nakamoto nicht wirklich vorausgesehen wurden.
Die letzte Anforderung, die ich in meiner Liste der Anforderungen erwähnte, ist, dass die Wartung der Software einen sozialen Vertrag voraussetzt, damit Teams vorhanden sind, die die Wartung übernehmen und spätere Erkenntnisse in deine Blockchain einfließen lassen. Andernfalls bleibst du mit der Leistung und Stabilität stecken, die du vor einem Jahrzehnt oder bei der Entstehung der Blockchain hattest.
Nun haben wir ein weiteres Problem: die Beschleunigung der Blockchain. Das klassische Bitcoin-Netzwerk hat eine durchschnittliche Zeit zwischen den Blöcken von 10 Minuten, und wenn du wirkliches Vertrauen in den Zustand des Konsenses haben möchtest, musst du auf mehrere Blöcke warten. Als Faustregel schätzen die Leute normalerweise, dass du, wenn du absolutes Vertrauen haben möchtest, auf sechs Bestätigungen warten musst, was dir einen Zeitrahmen von einer Stunde gibt. Die Idee ist, dass wir diese Zeit zwischen den Blöcken verkürzen könnten. Das Problem dabei ist jedoch, dass je kürzer die Zeit, desto kleiner die Blöcke sein müssen, was die Skalierbarkeit untergräbt. Weniger häufige Blöcke bedeuten, dass du sehr große Blöcke haben kannst, was eine gute Sache ist, da es deinem Netzwerk dabei hilft, mit der Masse an Transaktionen umzugehen.
Unter Berücksichtigung der Verzögerungen im globalen Netzwerk ist dieses 10-Minuten-Ziel nicht optimal, aber es liegt in dem Bereich dessen, was effizient ist, um eine solche verteilte Konsensfindung mit sehr großen Blöcken zu betreiben – Blöcken, die bis zu einem Terabyte groß sein können. Das klingt sehr groß, aber tatsächlich, wenn man den Anwendungsfall auf globaler Ebene betrachtet, ist das, was benötigt wird. Du musst die Blöcke zeitlich weit auseinander halten, wenn du deine Skalierbarkeit bewahren möchtest. Allerdings hast du dann das Problem, dass das Netzwerk langsam ist. Eine Stunde, um eine Transaktion zu bestätigen, mag für einen E-Commerce-Anwendungsfall in Ordnung sein, wo es akzeptabel ist, wenn du nach der Zahlung 60 Minuten untätig bleibst, da die Lieferung sowieso nicht vor dem nächsten Tag erfolgt. Aber wenn in einem Lager oder am Point of Sale gearbeitet wird, ist das viel zu langsam. Es ist wie eine Kreditkarte, bei der die Zahlungserfassung eine Stunde dauern würde – das ist sehr langsam.
Was wir wollen, ist typischerweise ein Ziel von etwa drei Sekunden oder weniger. Das liegt daran, dass aus der Perspektive der Benutzererfahrung etwas, das drei Sekunden zum Durchführen benötigt, als vernünftig schnell wahrgenommen wird. Denk daran wie an eine Kreditkartenzahlung; wenn du beim Bezahlen eins-zwei-drei zählst, ist das in Ordnung, es ist vernünftig schnell. Wenn du in diesem Zeitrahmen völlig sicher sein kannst, erzielst du eine sehr anständige Benutzererfahrung für die meisten Anwendungsfälle. Es ist immer noch zu langsam für die Kommunikation von Maschine zu Maschine mit niedriger Latenz, aber es ist ausreichend für die meisten Anwendungsfälle, die menschliche Wahrnehmung involvieren.
Seit fast einem Jahrzehnt wurden zahlreiche Lösungen präsentiert, um dieses Latenzproblem anzugehen. Die überwiegende Mehrheit dieser Lösungen war nicht besonders gut. Alle hatten verschiedene Einschränkungen, die Bitcoin oder dessen Skalierbarkeit untergruben, oder es handelte sich um naive Lösungen, die schnell nach der Veröffentlichung von Bitcoin entstanden. Die meisten dieser Lösungen basierten darauf, einen Leader zu wählen, der für eine gewisse Zeit als vorübergehende zentrale Autorität agieren würde und Dienste mit niedriger Latenz bereitstellte. Das Problem bei der Wahl eines Leaders ist jedoch, dass der Übergang von einem Leader zum nächsten sehr chaotisch sein kann, was dazu führt, dass hinsichtlich der Servicequalität die meiste Zeit nur wenige Sekunden, manchmal aber tatsächlich eine Stunde benötigt werden. Das würde von allen als Ausfallzeit des Netzwerks wahrgenommen werden.
Es dauerte ein Jahrzehnt, bis eine, meiner Meinung nach, ausreichend gute Lösung veröffentlicht wurde. Diese Lösung ist ein brillantes Werk eines anonymen Teams namens Team Rocket, veröffentlicht im Mai 2018: Snowflake to Avalanche, eine weitere metastabile Konsensprotokollfamilie für Kryptowährungen. Dieses Papier stellt eine Reihe von drei Algorithmen vor: Snowflake, Snowball und Avalanche. Jeder Algorithmus baut auf dem vorherigen auf, und übrigens liegt die wahre Magie im Snowball-Algorithmus, der genau jener ist, der nicht im Titel des Papiers erscheint.
Grundsätzlich haben sie im Kern Metastabilität entwickelt, und das ist sehr interessant. Denkt daran, dass es bei widersprüchlichen Transaktionen eigentlich keine Rolle spielt, welche gewählt wird, denn die Verbesserung der Latenz zielt darauf ab, Doppelzahlungen zu verhindern oder den Zeitraum zu verkürzen, in dem Unklarheiten über Doppelzahlungen bestehen können. Die Idee, etwas Meta-Stabiles zu haben, besteht darin, ein Protokoll zu besitzen, in dem die Teilnehmer ständig miteinander kommunizieren. Das Ziel ist, dass das Netzwerk bei zwei widersprüchlichen Transaktionen ein metastabiles Gleichgewicht erreicht. Das Netzwerk wird sich rasch auf eine Interpretation der Wahrheit zubewegen – es ist egal, welche es ist, solange es eine ist. Falls es also widersprüchliche Objekte gibt, wird das Netzwerk den Konflikt diskutieren und lösen.
Snowflake bietet einen langsam konvergierenden Prozess, während Snowball in diesem Papier einen Trick anbietet, der eine exponentielle Beschleunigung ermöglicht und zu einer viel schnelleren Konvergenz führt. Avalanche liefert einige graphbezogene Eigenschaften im Zusammenhang mit dem Transaktionsgraphen. Meiner persönlichen Auffassung nach ist der Beitrag von Avalanche jedoch wesentlich schwächer – es ist wirklich Snowball, das die Magie bewirkt. Ihr möchtet vielleicht Avalanche implementieren, aber allein Snowball wird euch etwa 99% der gesuchten Metastabilität liefern.
Es gibt einen Nachteil an diesem Ansatz. Mit Satoshi Nakamotos Proof-of-Work und Blöcken kann jeder Beobachter eingreifen und miterleben, was passiert ist, den gesamten Prozess reproduzieren und alles überprüfen. Die Sicherheit hängt nicht davon ab, ob der Beobachter online ist. Der Beobachter kann online oder offline sein, und das spielt keine Rolle. Dies ist ein großartiges Sicherheitsmodell, das nicht auf eine Live-Verbindung zum Netzwerk angewiesen ist.
Avalanche hingegen erfordert, dass der Beobachter ständig die Chats des Netzwerks überwacht, um Sicherheit zu generieren. Es ist nicht möglich, dass ein später hinzukommender Beobachter die Sicherheit vergangener Transaktionen neu bewertet. Allerdings ist uns dieses Problem nicht wirklich wichtig, denn wenn ihr live im Netzwerk seid, bewertet ihr die Sicherheit der in diesem Moment stattfindenden Transaktionen. Für Dinge, die in der Vergangenheit passiert sind, als ihr nicht dabei wart, bieten Proof-of-Work und Blöcke nach wie vor eine Möglichkeit, die Transaktionen zu validieren.
Avalanche steht nicht im Widerspruch zu Bitcoin; es ist komplementär. Ein schwacher Aspekt der Snowflake-zu-Avalanche-Lösung ist, dass sie keine saubere Lösung für das Problem der Münzausgabe bietet. Um das Beste aus beiden Welten zu erhalten, wäre es ideal, ein Bitcoin-ähnliches Design mit Proof-of-Work und großen Blöcken beizubehalten und dies gleichzeitig mit einer niedrigen Latenz in der Sicherheit zu überlagern.
Um bestimmte Arten von Sybil-Angriffen, die Avalanche verwirren könnten, zu vermeiden, könnte Proof-of-Stake eingesetzt werden. Dies führt zu Schichten wirtschaftlicher Verflechtungen, was eine sehr Bitcoin-ähnliche Denkweise darstellt. Um die gewünschte Sicherheit zu erreichen, sollte ein Netz wirtschaftlicher Verflechtungen geschaffen werden, das dafür sorgt, dass alle ehrlich bleiben. Es gibt Möglichkeiten, technische Lösungen zu entwickeln, um eine bessere Latenz zu erzielen.
Nun, noch zum Thema Ausdruckskraft: Wir suchen nach mehr als nur finanziellen Transaktionen, denn es geht um supply chain und um die Verwendung einer Blockchain für supply chain Zwecke. Finanztransaktionen sind im Hintergrund notwendig, aber wir wollen in der Lage sein, mehr zu leisten. Die Frage lautet: Wie integrieren wir diese zusätzliche Logik?
In den Kreisen der Kryptowährungen haben viele Kryptowährungen den Begriff der Smart Contracts eingeführt. Ein Smart Contract ist im Grunde ein Programm, das von den Minern selbst auf der Blockchain ausgeführt wird. Die Miner überprüfen die Gültigkeit der Transaktionen, aber wenn ihr eure Transaktion um Programmiersprache oder Assemblercode erweitern könnt, könnten die Miner die Programme ausführen und überprüfen, ob diese bestimmte Eigenschaften bestätigen. Dies wird typischerweise bei Ethereum praktiziert und als Smart Contract bezeichnet. Es gibt das Motto “code is law”, was bedeutet, dass wir der Ausführung des Programms vertrauen, weil es von den Minern selbst als korrekt zertifiziert wird.
Ich glaube jedoch, dass dieser Ansatz in zwei grundlegend unterschiedlichen Aspekten zutiefst fehlgeleitet ist. Das erste Problem besteht darin, dass ihr somit das Skalierungsproblem erheblich verschärft. Eine Blockchain zu skalieren ist bereits sehr schwierig, da alle Transaktionen zu den Minern geleitet werden müssen. Miner müssen mit diesen Transaktionen nicht viel machen; sie müssen lediglich die Signatur überprüfen. Ein Miner kann potenziell eine enorme Anzahl von Transaktionen verarbeiten, da der Aufwand für die Überprüfung jeder einzelnen Transaktion minimal ist. Stellt euch nun vor, ein Miner müsste nicht nur Transaktionen validieren, sondern auch willkürliche Programme von allen Unternehmen ausführen. Das wird sehr schwierig, und genau das passiert seit Langem im Ethereum-Netzwerk und bei anderen Kryptowährungen, die auf komplexe Verträge ausgerichtet sind.
Obwohl spätere Kryptowährungen wie Ethereum von besserer Technik profitierten, stehen sie dennoch vor einem um ein Vielfaches schwierigeren Skalierungsproblem. Sobald sie ein gewisses Maß an Bekanntheit und Aktivität im Netzwerk erreichen, haben sie alle massive Skalierungsprobleme. Es läuft letztlich darauf hinaus, dass all diese Programme ausgeführt werden müssen.
Das zweite große Problem bei Smart Contracts ist, dass sie grundsätzlich unveränderliche Programme sind. Wenn ihr Programme auf die Blockchain bringt, ist die Idee, dass ihr diesen Programmen vertraut, weil sie autonom funktionieren. Mit “autonom” ist gemeint, dass es Miner gibt, die aufgrund finanzieller Anreize diese Programme für die Community ausführen, und der gesamte Prozess ist transparent und überprüfbar. Das große Problem bei unveränderlichen Programmen ist jedoch, dass ihr einen Fehler nicht beheben könnt, sollte einer auftreten.
Die Geschichte der Smart Contracts ist eine endlose Reihe von Sicherheitslücken, die zu massiven Verlusten für die Betreiber der Verträge führten. Sogar Ethereum selbst musste einen massiven Fork durchlaufen, der zu Ethereum und Ethereum Classic führte, weil ein kompromittierter Vertrag so gravierend war, dass die Betreiber entschieden, es sei besser, die Probleme zurückzusetzen und die Unveränderlichkeit, die die Blockchain bieten soll, zu untergraben. Es gibt keinen Ausweg, und wenn ihr etwas Nicht-Triviales in einen Smart Contract einbaut, setzt ihr euch Sicherheitslücken aus.
Im Jahr 2018 veröffentlichte ich einen weiteren Ansatz namens Tokida, der zeigt, wie ihr willkürliche Programme neben der Blockchain ausführen könnt. Bei Tokida ist das Programm Open Source und arbeitet nach dem “trust but verify”-Modell. Alle, die am Ausgang des Vertrags interessiert sind, können dies bei Bedarf überprüfen, und in puncto Leistung ist es flexibler, da der Rest der Community euer Programm nicht ausführen muss. Wenn ihr eure Software patchen wollt, könnt ihr das jederzeit tun, ohne dass der Rest der Community nicht mitbekommt, was ihr gemacht habt.
Wenn es zu einer Sicherheitslücke kommt, ist das kein gravierendes Problem, da ihr sie patchen könnt und die Community feststellen kann, dass der Patch in gutem Glauben durchgeführt wurde. Die Erkenntnis ist, dass das meiste, was ihr in Bezug auf ein Sicherheitsmodell für supply chain Zwecke benötigt, einfach “trust but verify” ist. Ihr müsst lediglich sicherstellen, dass, wenn jemand betrügt, alle anderen es bemerken – das reicht aus. Bei der Währung selbst wollt ihr verhindern, dass die Leute von vornherein betrügen. Aber bei Smart Contracts benötigt ihr nicht denselben Sicherheitsgrad wie bei der Währung. Es genügt, Betrug nachträglich erkennen zu können. Wenn jemand euer Geschäft betrügt, werdet ihr einfach nicht mehr mit diesem Partner zusammenarbeiten, und damit ist es beendet. Ihr benötigt nichts, was den Betrug von vornherein verhindert. Vertrauen ist im Geschäftsleben unerlässlich, und wenn ihr mit einem Partner arbeitet, habt ihr ein gewisses Maß an Vertrauen zueinander.
Nun betreten wir den zweiten Teil der Vorlesung, der Anwendungsfälle behandelt. Ich bin der Ansicht, dass der primäre Anwendungsfall für Blockchains nach wie vor Zahlungen sind. Lieferanten zu bezahlen, insbesondere solche im Ausland, kann immer noch eine Herausforderung darstellen. Die Abwicklung einer Überweisung kann langsam sein und in einigen Fällen bis zu zwei Wochen dauern. Die Zahlungsprozesse des Bankensystems sind alles andere als auf dem Stand des 21. Jahrhunderts, was zu Fehlern wie doppelten Zahlungen bei hohen Rechnungen führen kann.
Ich bin der Meinung, dass es zahlreiche Anwendungsfälle für Zahlungen gibt, insbesondere wenn es darum geht, komplexe Mechanismen wie verzögerte Zahlungen, bedingte Zahlungen oder Strafzahlungen für Produkte zu implementieren, die nicht den Qualitätsanforderungen oder Fristen entsprechen. Mit programmgesteuertem Geld könnt ihr all diese Systeme auf eine Weise umsetzen, die einst wie Science-Fiction erschien.
Allerdings gibt es zwei Vorbehalte zu diesem Anwendungsfall. Erstens sind Kryptowährungen nach wie vor unglaublich volatil im Wert, was bedeutet, dass ihr Wert im Laufe der Zeit dramatisch schwanken kann. Diese Volatilität ist ein anhaltendes Problem, hat sich aber im letzten Jahrzehnt verringert. Vor zehn Jahren war die Volatilität sogar noch höher und ist seither allmählich gesunken, liegt jedoch immer noch außerhalb der Komfortzone der meisten großen Unternehmen. Tägliche Schwankungen von 10% im Wert dieser Kryptowährungen sind nach wie vor die Norm – vor einem Jahrzehnt lag es bei etwa 50%. Das zweite Problem bei Zahlungen ist die Existenz von Tausenden von Kryptowährungen, was das Problem aufwirft, eine auszuwählen und sich mit seinem Partner darauf zu einigen. Allerdings gibt es robotisierte Devisensysteme, die jede Kryptowährung in eine andere umwandeln können und sehr niedrige Gebühren von etwa 0,1% verlangen, was dazu beiträgt, dieses Problem abzumildern.
Ein weiterer Anwendungsfall ist die passive Rückverfolgbarkeit. Rückverfolgbarkeit ist in vielen Branchen wie Luft- und Raumfahrt, Pharmazie und Automobilindustrie von entscheidender Bedeutung, da es um Leben und Tod gehen kann. Gefälschte Autoteile können beispielsweise zu tödlichen Unfällen führen, wenn sie unter Belastung versagen. Non-fungible Tokens (NFTs) können genutzt werden, um die Rückverfolgbarkeit auf ein neues Niveau zu heben. Ein NFT ist wie eine übertragbare Seriennummer. Bei sicheren Transaktionen hat nur der Inhaber dieser Nummer mit seinen privaten Schlüsseln die Befugnis, die Nummer an einen anderen Teilnehmer zu übertragen. Der Einsatz von NFTs kann Fälschungen verhindern, selbst von den ursprünglichen Ausstellern.
Um NFT-basierte Rückverfolgbarkeit zu implementieren, benötigt man lediglich QR-Codes und ein Smartphone, was es vor allem zu einer softwarebasierten Lösung macht. Die Blockchain-Technologie bietet eine Möglichkeit, eine transparente Rückverfolgbarkeit von der Produktion bis zum Endverbraucher aufrechtzuerhalten. Allerdings gibt es Herausforderungen. Zunächst muss sich jeder auf ein einheitliches Format und eine einzige Blockchain einigen. Da die Blockchain binäre Nutzlasten transportiert, muss das Format, wenn ihr sie für Rückverfolgbarkeitszwecke nutzen wollt, vereinbart werden. Dies wird zu einem komplexen Problem, da viele Branchen und Unternehmen ihre eigenen, einzigartigen Formate und Standards haben.
Was viele Menschen nicht realisieren, ist, wie flexibel supply chains in der realen Welt sein können. Zum Beispiel werdet ihr selbst in der Luft- und Raumfahrt, wo die Rückverfolgbarkeit absolut hervorragend ist, feststellen, dass an Punkt A das dem Teil zugeordnete Dokument ein PDF ist. Für den nächsten Schritt ist es dasselbe PDF, aber gescannt, und vielleicht für den darauffolgenden Schritt ist es derselbe Scan, aber mit Anmerkungen versehen und erneut gescannt. Grundsätzlich geht man davon aus, dass ein Mensch eingreifen und die Dokumente interpretieren kann. Wenn ihr jedoch auf einer Blockchain arbeiten wollt, könnt ihr keinen so lockeren Prozess haben. Ihr müsst das binäre Format für alle Daten, die ihr über die Blockchain ausgeben wollt, vollständig spezifizieren; andernfalls verliert ihr den programmatischen Aspekt, mit dem ihr mit automatisierten Werkzeugen arbeiten könnt.
Alle Standards zu vereinheitlichen ist schwierig, und ihr müsst eine einzige Blockchain auswählen, denn damit Rückverfolgbarkeit funktioniert, muss eine Blockchain gewählt werden, die von allen Teilnehmern geteilt wird – zumindest für eine bestimmte Branche und Region. Das Problem ist, dass es bei der Auswahl einer Blockchain zu massiven Interessenkonflikten kommt. Da eine Blockchain niemals vollständig von ihrer zugrunde liegenden Kryptowährung entkoppelt werden kann, bekommt ihr einen Interessenkonflikt, wenn ihr in eine Kryptowährung investiert, da ihr ein Eigeninteresse daran habt, dass das Unternehmen die Blockchain wählt, die mit der Kryptowährung, die ihr besitzt, verknüpft ist.
Diese Interessenkonflikte sind allgegenwärtig und schwer einzuschätzen, da Blockchains typischerweise anonym sind. Wenn ihr erst einmal testen und Feedback dazu erhalten wollt, welche Blockchain gewählt werden soll, müsst ihr die potenziellen Interessenkonflikte berücksichtigen, die euch im Team begegnen können. Unternehmen, die große supply chains betreiben, haben in der Regel viele beteiligte Personen, was diese Probleme noch verstärkt.
Betrachten wir nun ein stärker adversariales Beispiel. Stellt euch vor, Pharmaunternehmen operieren in sehr armen Ländern, etwa in einigen afrikanischen Ländern, in denen sie mit erheblichen Problemen durch gefälschte Medikamente konfrontiert sind. Das Problem ist, dass in diesen armen Ländern alle Vermittler bis zu einem gewissen Grad korrupt sind. Korrupten Vermittlern könnte es möglich sein, eine echte Box mit echten Produkten zu nehmen, die echten Medikamente aus der Box auszutauschen, gefälschte Medikamente einzusetzen und dann die Box auf dem Markt zu verkaufen. Menschen, die gefälschte Medikamente kaufen, könnten an einer lebensbedrohlichen Krankheit leiden und das Medikament wirklich benötigen. Dies ist ein sehr ernstes Problem in armen Ländern, und das Nachbilden der Verpackung für gefälschte Medikamente ist trivial. Eine potenzielle Lösung besteht darin, Blockchains und Tokens für aktive Rückverfolgbarkeit zu nutzen, was an die Funktionsweise der Mehrwertsteuer (VAT) in Europa erinnert. Die Mehrwertsteuer ist eine Steuer, die nur schwer betrogen werden kann, da sie ein Social-Engineering-System schafft, in dem Unternehmen mit ihren ehrlichen Lieferanten verflochten sind.
Die Idee ist, dasselbe Konzept zu übernehmen und auf die Blockchain anzuwenden. Nehmen wir an, ihr seid ein Pharmaunternehmen, das ein Medikament herstellt. Ihr verkauft eine Packung des Medikaments an einen Vermittler oder Großhändler zu einem höheren Preis, beispielsweise für 15 $ statt des tatsächlichen Preises von 10 $. Dabei erfolgt ein Eigentumswechsel des Tokens, und der Großhändler kann 1 $ des Wertes einlösen, wodurch seine Kosten auf 14 $ sinken. Der Großhändler verkauft dann die Packung Medikamente an den Vertrieb, und erneut erfolgt ein Eigentumswechsel des Tokens. Sobald der Vertrieb den Token beansprucht, kann er 1 $ des gerade erworbenen Wertes einlösen – und so weiter, bis hin zum Endverbraucher.
Wenn der Endverbraucher die Medikamentenbox erhält, zahlt er 11 $, und durch das Scannen des QR-Codes mit einem Smartphone kann er 1 $ einlösen, der ihm zurückfließt. Die App erfüllt zwei Funktionen: Erstens ermöglicht sie es dem Endverbraucher, seinen zusätzlichen Dollar zurückzubekommen, und zweitens prüft sie die gesamte Rückverfolgbarkeit und stellt sie dem Kunden dar. Der Endverbraucher wird darüber informiert, dass er gerade den zusätzlichen Dollar zurückerhalten hat, und die Seriennummer wird nun als verbraucht deklariert.
Am Ende kann der Endverbraucher das Token nicht an jemand anderen übertragen, und die Person, die gerade die Box erhalten hat, kann in ihrer Mobile-App sehen, dass die gesamte Rückverfolgbarkeit überprüft wurde, und dies ist eine echte Box. Die Idee ist, dass es durch diese finanziellen Anreize sehr schwierig wird zu betrügen, da der Vertrieb der Medikamente ohne die zugehörige Seriennummer unmöglich wird. Am Ende der Kette mögen die Menschen arm sein, aber sie wollen trotzdem sicherstellen, dass sie überprüfen können, ob das Medikament legitim ist, besonders wenn es um eine lebensbedrohliche Erkrankung geht. Das ist es, was ich als aktive Rückverfolgbarkeit bezeichnen würde, bei der man einen non-fungible token (NFT) mit einem überlagerten finanziellen Mechanismus hat, der allen Akteuren Anreize gibt, bestimmte Aktionen durchzuführen.
Im Falle des Medikamentenbeispiels hat jeder einzelne Endverbraucher einen finanziellen Anreiz, die Seriennummer zu beanspruchen. Ohne diesen Anreiz könnten die Menschen die Box möglicherweise nicht als verbraucht deklarieren, und gefälschte Medikamente könnten wieder in das Netzwerk eingeführt werden. Indem die Seriennummer als verbraucht markiert wird, kann sie von niemandem wiederverwendet werden. Dieser Ansatz erfordert jedoch die Abstimmung und Teilnahme aller Beteiligten, und alle Zwischenhändler müssen dieses finanzielle Spiel mitspielen.
Eine weitere potenzielle Anwendung ist die Förderung des Recyclings durch Pfandrückgabesysteme. Diese Systeme gibt es schon seit langer Zeit und sind je nach Land mehr oder weniger verbreitet. Der ursprüngliche Hersteller ist in der Regel der am besten positionierte Akteur im Netzwerk, um die entlang der supply chain verteilte Ausrüstung wiederzuverwenden, zu recyceln oder zu reparieren. Es gibt jedoch Reibungsverluste bei der Einführung dieser Systeme, und die Herausforderung besteht darin, diese Reibung weiter zu verringern. Blockchain und Kryptowährungen bieten einen Weg, den Aufwand für Mikrozahlungen zu senken und potenziell die benötigte Infrastruktur zu reduzieren, um sicherzustellen, dass Operationen nicht manipuliert werden.
Zum Beispiel, wenn man 20 Cent zurückgibt, wann immer Menschen eine Glasflasche zurückbringen, könnten Gegenspieler das System potenziell ausnutzen, indem sie gefälschte Flaschen herstellen und von der Marge profitieren, die sie beim Verkauf der wiedergewonnenen Teile erzielen. Blockchains können einen einfachen Weg bieten, einige dieser Machenschaften abzumildern, aber es ist im Grunde etwas, das inkrementeller Natur ist. Ich behaupte nicht, dass Pfandrückgabesysteme neu sind; sie gibt es schon seit langer Zeit. Es geht einfach darum, die Reibung ein wenig zu senken, damit es mehr Anwendungsfälle geben kann.
Ein weiterer interessanter Anwendungsfall ist die Sicherheit, da supply chains anfällig für Cyberangriffe sind. Supply chains sind per Design geografisch verteilt, was bedeutet, dass IT-Systeme und Geräte überall verstreut sind. Durch das Design ist die Angriffsfläche groß, und es ist schwierig, es anders zu machen. Eine supply chain muss mit Kunden, Lieferanten, Partnern und Drittlogistikanbietern verbunden sein, was eine weite Angriffsfläche schafft. Während die Systemintegration, wie EDI, wertvoll sein kann, um Bestellungen bei Lieferanten aufzugeben und die Reaktionszeiten zu verbessern, bringt eine engere Integration auch mehr Sicherheitsprobleme mit sich.
Ein Beispiel für diese Verwundbarkeit ist der Vorfall bei Colonial Pipeline, bei dem ein scheinbar kleiner Dienst im Zusammenhang mit der Abrechnung gehackt wurde, was den Betrieb der gesamten Pipeline für eine Woche verhinderte und die kritische Infrastruktur in den USA gefährdete. Wie kann Blockchain in diesem Kontext helfen? Ein Ansatz wäre, in jedem einzelnen System und Gerät, selbst in IoT-Geräten, eine kleine Menge Bitcoin im Wert von etwa 100 $ zu hinterlegen. Indem man öffentlich macht, dass alle Systeme und Geräte diesen Bestand haben, schafft man einen Anreiz für Hacker, zu versuchen, in die Systeme einzudringen und das Geld zu stehlen.
Allerdings ist dies kein Diebstahl; es wird als Belohnung für Hacker betrachtet, die in dein System eindringen. Wenn es einem Hacker gelingt, beispielsweise in ein IoT-Gerät einzudringen, kann er den darin enthaltenen Geldbetrag beanspruchen. Zusätzlich, wenn er zu dir zurückkommt und dir erklärt, wie er es gemacht hat und wie man das Problem beheben kann, könntest du einen zweiten Teil der Belohnung, im Wert von etwa 300 $ in Bitcoin, auszahlen. Indem du einen Anreiz schaffst, finanzierst du die Arbeit ethischer Hacker, die deine Sicherheit testen. Wenn nur die böswilligen Akteure einen Anreiz haben, deine Systeme anzugreifen, wirst du einen Einbruch durch einen böswilligen Akteur entdecken, was sehr übel sein kann, wie es bei Colonial Pipeline der Fall war. Wenn du jedoch ehrlichen, ethischen Hackern einen Anreiz gibst, in dein System einzudringen, werden höchstwahrscheinlich diejenigen, die in dein System gelangen, ehrliche Individuen sein, die dir dann sagen, wie du dein System reparieren kannst, um zukünftige Probleme zu vermeiden. Das Interessante ist, dass diese Bestände öffentlich sind, sodass du, wenn du dies in dein Netzwerk einbringst, transparent überwachen kannst, ob es zu einer Sicherheitslücke gekommen ist oder nicht. Du kannst auch extern alle Geräte überwachen, selbst wenn das IoT-Gerät nicht mit dem Internet verbunden ist. Wenn du siehst, dass die Münzen, die in diesem Gerät waren, sich bewegen, dann bedeutet das, dass dieses Gerät auf die eine oder andere Weise kompromittiert wurde, und das ist entscheidend zu wissen.
Bedenke, dass bei diesen aufsehenerregenden Sicherheitsverletzungen, die öffentlich gemacht werden, in der Regel passiert, dass die Akteure monatelang in den Systemen waren, bevor sie schließlich beschlossen, ihr Lösegeld zu beanspruchen. Durch die Verwendung dieses blockchain-basierten Sicherheitssystems schaffst du einen Frühwarnmechanismus. Selbst wenn unethische Hacker in das System eindringen, nehmen sie womöglich einfach das Geld und verschwinden, ohne den unübersichtlichen Lösegeldprozess durchlaufen zu müssen.
Dies ist eine andere Art, über Sicherheit nachzudenken, und wahrscheinlich nicht der Anwendungsfall, an den du bei der Verwendung der Blockchain in deiner supply chain gedacht hast. Aber wie du siehst, beinhalten die interessanten Anwendungsfälle für die supply chain immer irgendeine Art von monetärem Anreiz, was in Bezug auf die Herangehensweise an Blockchain mit Blick auf supply chain Use Cases sehr Bitcoin-ähnlich ist.
Nun, wie ich bereits erwähnte, ist es sehr schwierig, Blockchains zu entwickeln im Vergleich zu so gut wie jeder alternativen Lösung. Du kannst damit rechnen, dass es mindestens zwei Größenordnungen schwieriger ist, eine Blockchain-Lösung zu entwickeln. Also, wann immer du denkst, dass du ein Problem lösen könntest, indem du eine Woche der Zeit eines Softwareingenieurs investierst, multipliziere diese Zahl mit 100, und das gibt dir den Aufwand, den es braucht, um dasselbe mit der Blockchain zu erreichen. Es gibt Situationen, in denen es Sinn macht; es liegt nicht daran, dass es teuer ist, dass es nicht profitabel sein könnte, aber es ist grundsätzlich schwierig, und das musst du berücksichtigen. Die Kosten sind auch viel höher, wenn es um Rechenressourcen geht. Typischerweise ist die Blockchain sehr schwer skalierbar, und im Vergleich zu einem Nicht-Blockchain-Setup gibst du am Ende 100 Mal mehr Rechenressourcen aus, für was auch immer du mit der Blockchain machen möchtest. In manchen Situationen ist dir das vielleicht egal, aber in vielen anderen Situationen ist eine 100-fache Steigerung deiner computing hardware Kosten signifikant.
Die Frage ist, wie probieren wir Alternativen aus? In fast jeder Situation, in der eine Blockchain involviert ist, gibt es eine Nicht-Blockchain-Alternative. Typischerweise wird dies erreicht, indem die Anforderungen abgeschwächt werden. In Bezug auf den Mehrwert, wenn du bereit bist, auf die Eigenschaft der Nicht-Abstreitbarkeit zu verzichten, die ich zu Beginn dieser Vorlesung beschrieben habe, kannst du ein Konsortium irgendeiner Art einberufen. Dieses Konsortium wird eine Checkpoint-Datenbank verwenden, Protokolle veröffentlichen, die von allen Dritten innerhalb des Konsortiums oder möglicherweise von Unternehmen oder Organisationen außerhalb des Konsortiums verifiziert werden können. Einer der kritischen Punkte wird sein, sehr klar definierte Binärformate zu haben, sodass es für die Parteien möglich ist, programmgesteuert zu operieren. Damit erhältst du den größten Teil des Mehrwerts, den du sonst von einer Blockchain bekommen würdest.
Ein großartiges Beispiel aus der supply chain wäre GS1 für Barcodes. GS1 ist eine Organisation, die Barcodes zuweist, und sie machen das schon seit Jahrzehnten. Diese Organisation wurde als eigenständige Einheit gegründet, sodass es damals nicht direkt IBM war, der die Barcodes verwaltete. GS1 liefert den Mehrwert einer Blockchain, ohne tatsächlich eine Blockchain zu verwenden. Allerdings erfordert dieser Ansatz eine zentrale Autorität oder ein Konsortium, dem du vertrauen kannst. In vielen Branchen, die sehr konzentriert sind, wie zum Beispiel Pharma, mag es nicht allzu schwierig sein, ein Konsortium zu etablieren, in dem bereits ein signifikanter Marktanteil vorhanden ist.
Zusammenfassend ist der Konsensmechanismus von Satoshi Nakamoto eine beeindruckende Entdeckung. Bereits 2008, wenn man Experten für verteilte Systeme gefragt hätte, ob es möglich sei, das byzantinische Konsensproblem ohne eine zentrale Autorität zu lösen, hätten die meisten Nein gesagt, da es nicht möglich schien. Die Idee war so außerhalb des Rahmens dessen, was man für möglich hielt, dass sie in dieser Richtung nicht gesucht wurde. In dieser Hinsicht war es eine beeindruckende Entdeckung. Wie ich es mit dem Mini-Bitcoin präsentiert habe, ist es eine sehr einfache Idee, die über Geld hinaus Verwendung findet, wobei Geld der primäre Anwendungsfall ist.
Worauf wir achten müssen, ist, dass es zu jedem Blockchain-Anwendungsfall in der Regel eine Nicht-Blockchain-Alternative gibt, die weitaus einfacher zu betreiben ist. Wir müssen wirklich abwägen, ob der zusätzliche Aufwand, der mit einer Blockchain verbunden ist, all den Ärger wert ist, den man bekommt. Abschließend: Vergiss nie, dass eine Blockchain grundlegend mit ihrer zugrunde liegenden Währung verflochten ist, und das erzeugt den Mutter aller Interessenkonflikte.
In einer meiner früheren Vorlesungen über adversariale Marktforschung habe ich meine Ansichten darüber präsentiert, wie man Unternehmenskunden auswählt, und habe die Probleme rund um Bewertungen diskutiert. Viele intuitive Ansätze, diese Probleme anzugehen, werden durch Interessenkonflikte untergraben. Bei Blockchains und Kryptowährungen ist das Problem tausendmal schlimmer. Jeder hat enorme Anreize, wenn er Bitcoin, Bitcoin Cash, eCash oder irgendeine andere Kryptowährung besitzt. Sie werden aufgrund ihrer Investitionen einen erheblichen Bias haben, und wenn dein Unternehmen eine Richtung einschlägt, die für eine bestimmte Blockchain günstig ist, könnte es auch für ihre Investitionen vorteilhaft sein.
Ich habe keine gute Lösung für dieses Problem, aber ich rate dazu, sich dessen bewusst zu sein und vorbereitet zu sein. Die meisten online zu findenden Informationen über Kryptowährungen sind unzuverlässig, da viele Leute einen Interessenkonflikt haben, wenn sie ihre bevorzugte Währung fördern. Vertraue niemandem, außer Kollegen, denen du dein Leben anvertrauen würdest. Verlass dich auf dein eigenes Urteil oder das Urteil von Kollegen, die verstehen, was vor sich geht. Die Interessenkonflikte bei Blockchains führen zu unerwartetem Verhalten, besonders in der supply chain, wo langjährige Beziehungen und ein hohes Maß an Vertrauen typischerweise vorhanden sind.
Organisationen, die große supply chains betreiben, könnten nicht auf das Maß an Misstrauen vorbereitet sein, das im Kryptowährungsbereich zu finden ist. Damit endet die Vorlesung. Schauen wir uns nun die Fragen an.
Frage: Blockchain und Bitcoin sind nicht dasselbe; das eine ist einzigartig, während das andere eine Basistechnologie ist.
Ja, Semantik und Terminologie sind wichtig. Ich wusste, als ich diese Vorlesung gehalten habe, dass es Leute geben würde, die darauf hinweisen, dass sie nicht genau dasselbe sind. Wenn du jedoch einen reinen Blockchain im technischen Sinne untersuchen willst, dann ist ein Git-Repository, wie GitHub, eine Blockchain. Git-Repositories gibt es seit etwa 15 Jahren, und sie haben die Welt nicht verrückt gemacht. Es fließen nicht Milliarden von Euro und Dollar in und aus diesen Git-Repositories.
Der Punkt ist, dass die Blockchain nur in Bezug auf den Mehrwert funktioniert, den sie schafft. Was Bitcoin von Git unterscheidet, trotz beider Blockchains, ist, dass Bitcoin eingebaute finanzielle Anreize hat, die bestimmte Aspekte der Technologie freischalten. Das ist der Trick. Wenn du alle monetären Aspekte und Anreize entfernst, die entwickelt wurden, hast du etwas, das nur eine technische Datenstruktur ist, aber keinerlei Interesse weckt. Ja, es ist eine schöne Datenstruktur – Git ist eine schöne Datenstruktur – aber es hat den gesamten Markt nicht verrückt gemacht, und sicherlich würden die Leute nicht verrückt werden und sagen: “Oh, dieses Git-Repository ist Milliarden wert.” Es gibt etwas Unterschiedliches. Wenn man an der Terminologie herumnagt, glaube ich, dass der Hauptgrund, warum viele Unternehmen die Blockchain-Terminologie verwendet haben, darin bestand, einen Unterschied im Diskurs zu den Kryptowährungen einzuführen, die als das totale wilde Westen angesehen wurden.
Frage: Blockchain ist die Technologie, die dezentralen Konsens ermöglicht, allerdings mit Kosten – Verzögerung, Skalierbarkeit usw. und Umweltbelastung.
Absolut. Übrigens kann ich auch den Anwendungsfall der Umweltbelastung ansprechen. Es ist so, dass immer, wenn man einen Geldemissionsprozess hat, egal wie das Geld emittiert wird – ob es die Zentralbank für den Euro, die Fed für den Dollar oder was auch immer ist – wenn wirtschaftliche Akteure investieren können, um von dieser Geldemission zu profitieren, werden sie bis zu den Grenzkosten investieren. Wenn also die Zentralbank 100 druckt und ich 90 investieren kann, um diese 100 zurückzuerhalten, werde ich es tun.
Egal wie du einen Geldemissionsprozess hast, die Leute werden bis zu den Grenzkosten ausgeben, um dem Nutzen zu entsprechen. Es stellte sich heraus, dass, weil Bitcoin Core im Wert gestiegen ist, die Leute bereit sind, viel an Strom zu bezahlen, um diese neu geprägten Bitcoins zu erwerben. Allerdings nimmt der Prozess exponentiell ab, was bedeutet, dass in ein paar Jahrzehnten die Menge der neu geprägten Bitcoins auf fast nichts schrumpfen wird und daher der Betrag, den die Leute für den Proof of Work zu zahlen bereit sein werden, fast nichts sein wird. Dies ist ein vorübergehendes Problem, und im Moment wird vor allem ungenutzte, überschüssige Stromkapazität verwendet.
Ich stimme deiner Schlussfolgerung zu; sie bietet dezentralen Konsens aus der Perspektive des byzantinischen Konsenses, und ja, es gibt enorme zusätzliche Aufwendungen, die damit verbunden sind. Absolut, das ist die richtige Schlussfolgerung.
Frage: Warum wird es in der supply chain Industrie eingesetzt? Welches Problem löst das dezentrale Paradigma? Welches Problem bringt es mit sich?
Ich habe verschiedene Anwendungsfälle in meiner Vorlesung vorgestellt. Die Dezentralisierung befreit dich von der Notwendigkeit, ein Konsortium zu entwickeln. Das Problem ist, dass wenn du eine zentrale Autorität hast, der du vertraust, und diese zentrale Autorität ehrlich ist, dann gut – du brauchst keine Blockchain. Der Trick ist, was tust du, wenn du das nicht hast?
Selbst Bereiche, die zentrale Behörden hatten, wie beispielsweise Überweisungen für Zahlungen, stehen unter der Kontrolle zentraler Behörden – es gibt Türsteher, nämlich die Banken und dann die Zentralbanken. Wir befinden uns, würde ich sagen, nicht in einem Mangel an zentralen Behörden, aber dennoch dauert es im Jahr 2021 zwei Wochen, um eine Zahlung mit meinen ausländischen Kunden abzuwickeln. Das ist das 21. Jahrhundert; ich kann eine E-Mail senden, und sie wird innerhalb von Sekunden von diesen Kunden empfangen, aber eine Überweisung dauert Wochen. Offensichtlich gibt es also einige Probleme, die manchmal sehr schwer zu lösen sind, weil das Problem vielleicht nicht darin besteht, dass es keine zentralen Behörden gibt, sondern dass es zu viele zentrale Behörden gibt, oder dass komplexe Probleme vorliegen, bei denen es nicht gelingt, die Menschen zusammenzubringen, um eine Lösung zu erarbeiten.
Ich habe einige Anwendungsfälle beschrieben, beispielsweise aktive Rückverfolgbarkeit, bei der man in einem armen Land agiert, in dem alle Vermittler korrupt sind. Dies ist ein weiteres Problem, bei dem man niemandem trauen kann. Wenn es epidemisch viel Korruption gibt, sind diese Probleme sehr schwer anzugehen. Das ist eine Situation, in der die dezentrale Blockchain einem die Möglichkeit bietet, die Ehrlichkeit der Teilnehmer zu gestalten. Das ist der Trick: Von den Teilnehmern wird nicht erwartet, dass sie ehrlich sind; sie werden so konstruiert, dass sie ehrlich bleiben, während sie die supply chain betreiben. Wenn ohnehin alle sehr ehrlich sind und zentrale Behörden durchgesetzt werden, gibt es kaum einen Mehrwert.
Frage: Wie gehen Sie mit der Existenz von ASICs (Application-Specific Integrated Circuits), spezialisierter Hardware für das Mining, und von Mining-Farmen um, um sicherzustellen, dass niemand leicht 51% der Leistung der Netzwerke übernimmt?
Historisch gesehen waren ASICs eine positive Kraft für die Sicherheit des Bitcoin Core Netzwerks. Warum ist das so? Weil es ein weiteres Problem in der modernen Landschaft gibt: Botnets. Botnets sind riesige Flotten kompromittierter Computer, die von kriminellen Organisationen kontrolliert werden und buchstäblich die Kontrolle über Millionen alltäglicher Geräte wie Computer, Drucker und Sicherheitskameras übernehmen. Diese Organisationen wollen nicht verhindern, dass Sie Ihr Gerät nutzen, da dies zu Reparaturen und der Entfernung der Malware führen würde.
Im Hinblick auf die Sicherheit ist die Situation so, dass kriminelle Organisationen buchstäblich Zugriff auf zig Millionen Computer kostenlos haben. Diese Organisationen, die Botnets betreiben – wenn man sich die Sicherheitsupdates von Microsoft ansieht – wird man feststellen, dass Microsoft ein paar Mal im Jahr in der Vergangenheit absolut massive Botnets ausgelöscht hat. Sie würden beispielsweise kommunizieren: “Wir haben dieses Windows-Update eingespielt und übrigens gerade dieses 50-Millionen-Maschinen-Botnet eliminiert, ausgelöscht.” Das ist beeindruckend. Also bedeutet der Einsatz von ASICs, dass es keinen Sinn macht, dieses Spiel mit normaler Hardware wie der in Ihren regulären Computern vorhandenen zu spielen. Folglich können Kriminelle, die Botnets betreiben, diese Botnets nicht nutzen, um Kryptowährung zu minen, was einen Monetarisierungsansatz dieser Botnets ausschließt. Es zwingt die Miner, sich der Währung zu verpflichten.
Sehen Sie, ASICs sind kein Problem; sie sind, im Gegenteil, genau die Art von Lösung, die dafür sorgt, dass diese zusätzliche Rechenleistung keinen Schaden anrichtet oder die Art von Rechenleistung, die durch Botnets verfügbar ist, ausnutzt. Botnets sind bereits ein massives Problem für alle, und wir wollen diese Botnets nicht weiter stärken.
Frage: Was halten Sie vom Telegram Open Network, das aufgrund der US-Gerichte nicht das Licht der Welt erblickt hat? Was halten Sie im Allgemeinen von Kryptowährungen, die von Messengern herausgegeben werden? Bringt das etwas Neues?
Nun, ich glaube, die Situation ist für Telegram sehr vorhersehbar – ebenso wie für Facebook und jedes Unternehmen, das als börsennotiertes Unternehmen agieren möchte. Es gibt allgemeine Vorschriften, die besagen, dass, wenn man ein Unternehmen ist, KYC (Know Your Customer)-Anforderungen gelten, und ich werde nicht zu sehr ins Detail gehen. Grundsätzlich kann man, wenn man ein großes Unternehmen ist, erwarten, dass in vielen Rechtsordnungen KYC-Anforderungen bestehen. Ich bin nicht hier, um darüber zu diskutieren, ob die Vorschriften angemessen sind oder nicht; ich sage lediglich, dass KYC-Vorschriften in vielen Ländern verbreitet sind.
Wenn man zu dem zurückgeht, was eine Blockchain zu einer Blockchain macht, wie ich in der Liste der Anforderungen beschrieben habe, ist Punkt Nummer zwei, dass die Teilnehmer anonym sind. Damit kommen nun die KYC-Anforderungen. Wenn man eine Blockchain betreiben will, muss man damit einverstanden sein, eine Art Pseudo-Anonymität für alle zu bewahren, die an diesem Netzwerk teilnehmen, was bedeutet, dass man in Bezug auf KYC-Anforderungen völlig außen vor ist.
Ich war mir nicht ganz sicher, was diese Unternehmen sich dabei dachten, aber ich kann mir kein Unternehmen vorstellen, das sowohl börsennotiert sein und sich Behörden wie der SEC in den USA oder der AMF in Frankreich unterwerfen möchte, während es gleichzeitig in der Lage ist, sich auf ein Schema einzulassen, das offensichtlich völlig gegen die Art der KYC-Vorschriften verstößt, die für große Unternehmen sehr verbreitet sind. Meiner Meinung nach haben sie im Grunde wahrscheinlich die Gewässer sondiert, um zu sehen, ob die Regulierungsbehörden die Vorschriften nur für sie lockern würden, nur weil sie groß sind. Es könnte nicht in ihrem Sinne verlaufen sein, und daher ziehen sie sich zurück. Grundsätzlich glaube ich, dass beispielsweise Telegram oder Facebook, wenn sie akzeptieren, dass sie lediglich eine Kryptowährung bewerben und nicht betreiben, dieser Kryptowährung tatsächlich einen enormen Schub verleihen könnten. Das Problem besteht jedoch darin, dass sie – weil sie lediglich bewerben und nicht betreiben – wenig für sich selbst hätten, außer wenn sie einen Interessenkonflikt konstruiert haben, aus dem sie von dem Wachstum der Währung profitieren. Übrigens, Elon Musk, ich schaue dich an, wenn du anfängst, über Bitcoin zu twittern und erwähnst, dass dein Unternehmen eine Position dazu hat. Das ist buchstäblich das Spiel, das gespielt werden kann: Zuerst erwirbt man einen Anteil an einer Kryptowährung und pumpt diese dann buchstäblich, indem man sehr sichtbare Aussagen darüber macht. Man lässt die Bewertung steigen und verkauft sie dann, sobald sie höher ist. Übrigens, dieser Prozess wird Pump and Dump genannt. Wahrscheinlich haben Telegram und Facebook erkannt, dass der einzige Weg, wie sie tatsächlich von der bloßen Förderung einer Währung – ohne sie zu betreiben – profitieren könnten, Pump and Dumps waren, und sie wollten nicht, dass ihr Ruf durch solche Machenschaften beschädigt wird.
Frage: Vor sieben Jahren habe ich gesehen, wie viele Startups die Blockchain-Technologie in supply chain-bezogene Bereiche einbrachten. Keines von ihnen war, zumindest in größerem Maßstab, erfolgreich. Kennen Sie eines, das Erfolg hatte und sich im großen Maßstab bewährt hat?
Gute Frage. Ich meine, zunächst denke ich nicht, dass irgendjemand auf dem Planeten eine Blockchain hat, die nachweislich skalierbar ist und tatsächlich im großen Maßstab funktioniert. Betrachtet man das Bitcoin Core Experiment, läuft es nicht gut. Das Netzwerk ist völlig gesättigt; es ist nun seit vier Jahren gesättigt. Das ist wirklich das Gegenteil von Skalierbarkeit. Betrachtet man Bitcoin Cash, so handelt es sich um eine weitere Blockchain. Sie haben einige Fortschritte gemacht, aber sie hatten nie wirklich die Zeit; es gab interne Uneinigkeit, und daher haben sie nie alle finalen Ingenieurarbeiten abgeschlossen, um sie zum Laufen zu bringen. Es gibt einen weiteren, wie ich bereits erwähnte, neu geschaffenen Fork namens eCash, der im Grunde ein Fork von Bitcoin Cash ist, wo sie erneut versuchen, all die Dinge zu tun, die im ursprünglichen Satoshi-Client nicht umgesetzt wurden, da die meisten Skalierungsprobleme auf diesen zurückgeführt werden können. Es gibt Hoffnung, dass sie massive Skalierbarkeit erreichen können, aber auch dies ist eher eine theoretische Perspektive. Das ist nicht bewiesen im Sinne dessen, dass es derzeit etwas gibt, das im Hyperscale funktioniert, obwohl wir Grund zu der Annahme haben, dass es bis zu einem gewissen Grad möglich ist. Ich habe übrigens darüber veröffentlicht, falls Sie meine Publikation über Terabyte-große Blöcke für Bitcoin einsehen möchten.
Nun, niemand ist bisher darin erfolgreich gewesen, derartige Dinge im großen Maßstab umzusetzen. Es ist sehr schwierig. Die Skalierung der Basisschicht ist die erste Herausforderung, und dann wollen Startups, die es für supply chain versuchen, etwas noch Fortgeschritteneres erreichen. Sie müssen die Basisschicht haben, die skalieren kann, und dann möchten sie auch noch etwas, das in supply chain im großen Maßstab funktioniert. Ich glaube, dass keines von ihnen Erfolg hatte, weil – wie ich bereits beschrieben habe – ja, es gibt Anwendungsfälle für supply chain und ja, es gibt Spielraum für Mehrwert, aber zuerst muss man die sehr schwierigen Probleme der Skalierbarkeit und Latenz lösen. Es lief möglicherweise nicht in ihrem Sinne, und man kann sehen, dass die von mir zitierten Papiere nicht allzu alt sind. Ich meine, die Papiere über Avalanche sind buchstäblich erst ein paar Jahre alt. Es gab einige Durchbrüche, die noch relativ kürzlich erzielt wurden, und es wird noch viel Zeit in Anspruch nehmen. Um zu skalieren, muss man Durchbrüche auf der Ebene der theoretischen Algorithmik erzielen, was sehr schwierig voranzutreiben ist.
Die von mir beschriebenen Algorithmen, wie Avalanche, sind albtraumhaft schwierig korrekt zu implementieren. Es gibt jede Menge Details, bei denen Fehler gemacht werden können, und im Kontext von Blockchains bedeutet schon ein kleiner Fehler, dass es zu Einbrüchen, Angriffen und Geldverlusten kommt. Die Schwere von Bugs und Problemen, wenn man in der Blockchain-Welt operiert, ist extrem hoch. Das ist nicht wie bei Ihrer typischen Unternehmenssoftware, die man einfach neu starten und manuell die betroffenen Daten korrigieren kann, wenn sie abstürzt. Bei Blockchains hingegen können massive Korruptionen zu dauerhaften Schäden führen, und das ist eine sehr schwierige Situation.
Ich glaube, dass viele der Startups, die in diesen Bereich vorgedrungen sind, in Bezug auf die erforderliche ingenieurtechnische Denkweise, um die Herausforderungen der Blockchain-Welt zu meistern, absolut unvorbereitet waren. Gute Technik reicht nicht aus; man braucht wirklich exzellente Ingenieurskunst, um erfolgreich zu sein.
Damit endet der Q&A-Teil dieser Vorlesung. Die nächste Vorlesung wird sich mit mathematischer Optimierung für supply chain befassen und findet am Mittwoch, dem 25. August, statt. Ich werde mir etwas Urlaub nehmen. Übrigens, mathematische Optimierung, im Gegensatz zu Blockchain, wird täglich in vielen supply chains eingesetzt. Die Anwendungen sind enorm und die Anwendungsfälle sehr bodenständig. Wir sprechen hier nicht über Nischenanwendungen; die Anwendungen sind massenhaft.
Mathematische Optimierung steht in engem Zusammenhang mit statistischem Lernen und der Auswahl der besten supply chain decisions. Bis zum nächsten Mal.