Channel

Blockchain

Koop-Story

Trending Topics-Rechercheprojekt mit addendum: So funktioniert die Blockchain

© addendum
© addendum

Gemeinsam mit der Rechercheplattform addendum hat Trending Topics ein Rechercheprojekt zum Thema Blockchain durchgeführt. Dieser Artikel wurde zuerst hier veröffentlicht und ist ab jetzt auch auf Trending Topics zu lesen.  

Die Technologie, die Blockchain genannt wird, ist groß im Kommen. Digitale Währungen auf Basis von Blockchains (wie Bitcoin, Litecoin, Monero) sprießen aus dem Boden und sind der neueste Trend der Finanzspekulation. Konzepte wie selbstausführende Verträge („Smart Contracts“) werden erstmals eingesetzt, selbst die Stadt Wien macht Projekte auf Basis der Blockchain. Nur: Was sind Blockchains eigentlich – aus technischer Sicht?

Mit mathematischen Verrenkungen, hohem Stromverbrauch und – wahlweise – einer sozialen Illusion oder marktwirtschaftlichen Kräften wurde das Konzept Blockchain dafür geschaffen, ein Äquivalent von Bargeld im Internet zu ermöglichen, das keine zentrale Stelle wie eine Zentralbank benötigt. Um das zu erreichen, mussten seine Erfinder einige Grundprobleme der digitalen Welt lösen. Das Konzept bringt Unveränderlichkeit in die durch Veränderbarkeit geprägte Welt des Digitalen; es erlaubt Konkurrenten, die einander misstrauen, sich auf eine gemeinsame Wahrheit zu einigen. Diese Lösungen sind nicht nur auf digitale Währungen anwendbar, sie können auch in anderen Bereichen nützlich sein.

Die Grundfrage, die dafür gelöst werden musste, war: Wie kann man ohne zentrale Koordinationsstelle verhindern, dass Geld mehrfach ausgegeben wird? Bei Bargeld wird dies dadurch sichergestellt, dass ein Stück Geld nur einmal existiert – Daten sind jedoch unendlich kopierbar. Im klassischen Banksystem ist die Bank die zentrale Stelle, die verhindert, dass ein Betrag mehrfach ausgegeben wird – dass man also nicht mehr Geld ausgeben kann, als man hat.

Lösung 1: Geld als öffentliches Kontenblatt

Bitcoin löst dies durch die Einführung der Blockchain, einer öffentlichenDatenbank, die jede Überweisung beinhaltet, die je in Bitcoin durchgeführt wurde – jede Überweisung ist daher für jeden nachvollziehbar; jeder kann also nachvollziehen, ob der Kontostand durch eine Überweisung negativ würde.

Der Name Blockchain kommt daher, dass nicht jede Transaktion einzeln in die Datenbank eingefügt wird. Etwa alle zehn Minuten wird ein Bündel an Transaktionen gemeinsam (als „Block“) verifiziert. Jeder Block verweist dann auf den Block, der vor ihm kam. Die Datenbank ist also als Liste von Transaktionsblöcken aufgebaut. Ein Block enthält außerdem eine Prüfsumme, die verhindert, dass die Transaktionen im Nachhinein verändert werden können.

Wer verifiziert also diese Transaktionen und baut die Blöcke für diese Datenbank, wenn es keine zuständige zentrale Stelle gibt?

Lösung 2: Vertrauen durch Arbeit (und Stromverbrauch)

Blockchain-Netzwerke, die wie Bitcoin funktionieren, ermöglichen es allen Interessierten teilzunehmen, die Datenbank mit zu warten und Blöcke zu erstellen. Als Voraussetzung muss nur die dafür nötige quelloffene Software installiert und ausgeführt werden, außerdem sollte hinterlegt werden, auf welchem Konto etwaige Erfolgsboni landen sollten.

Diese Offenheit soll verhindern, dass eine kleine Minderheit das System unterwandern kann – und sich selbst beispielsweise falsche Zahlungen oder Doppelausgaben ermöglicht05. Für die Erstellung jedes Blocks muss ein rechenaufwendiges mathematisches Rätsel gelöst werden. Dieses ist für jeden Teilnehmer eindeutig und schwer zu lösen, die Lösung ist aber einfach zu überprüfen. Der Erste, der das Rätsel gelöst hat, schickt die Lösung an alle anderen Teilnehmer im Bitcoin-Netzwerk, die die Lösung prüfen und den neuen Block an alle bekannten Teilnehmer weiterverteilen.

Anreiz Erfolgsprämie

Als Anreiz zur Teilnahme ist für jeden verifizierten Block eine Erfolgsprämie vorgesehen: Der erfolgreiche Miner darf eine bestimmte Anzahl Bitcoin aus dem Nichts schaffen und an sich selbst überweisen. Auch eine Transaktionsgebühr darf er verrechnen. Etwa alle zehn Minuten wird ein Block erfolgreich erstellt, neue Bitcoin werden geschaffen und an das Bitcoin-Netzwerk kommuniziert.

Durch die hohe Komplexität der Rätsel ist sichergestellt, dass die Verantwortung für die Verifizierung auf unterschiedliche Teilnehmer verteilt wird. Es ist unwahrscheinlich, dass mehrere aufeinanderfolgende Blöcke von denselben Beteiligten verifiziert werden. Die Korrektheit wird also von vielen unterschiedlichen Teilnehmern garantiert.

Die Rätsel-Lösungs-Variante, auch genannt „Proof of Work“, ist allerdings sehr energieaufwendig. Blockchains können beispielsweise auch dadurch funktionieren, dass ein gewisser Prozentsatz des in der Blockchain vorhandenen Vermögens für Transaktionen bürgen muss, oder auch nur ein Prozentsatz der angeschlossenen Computer oder Teilnehmer. Diese Varianten bringen allerdings eigene Nachteile mit sich.

Lösung 3: Konfliktlösung

Einmal alle paar hundert Blöcke kommt es laut Rainer Böhme vom Security and Privacy Lab der Universität Innsbruck vor, dass mehrere Blöcke – die teilweise, aber nicht zwingend alle, gleiche Transaktionen verifizieren – gleichzeitig erstellt werden. Da etwas Zeit verstreicht, bis alle Teilnehmer am Bitcoin-Netzwerk von allen neuen Blöcken erfahren, kann es so passieren, dass die Blockchain zwei Enden hat.

Eine verschärfte Variante dieses Problems kann bei Verbindungsproblemen auftreten. Ein Teil des Bitcoin-Netzwerks kann jederzeit vom Gesamtnetzwerk abgeschnitten werden. Transaktionen, die ein Teil des Netzes sieht, verbucht und bestätigt, können in einem anderen Teil des Netzes noch gar nicht angekommen sein.

Das heißt: Selbst wenn eine Transaktion von einem Teil des Bitcoin-Netzes bestätigt wurde, kann es sein, dass sie schlussendlich doch nicht wirklich durchgeführt wurde.

Dieser Zustand dauert üblicherweise nicht allzu lange: Jeder Teilnehmer entscheidet zwar selbst, mit welcher Version der Blockchain er weitermacht. Die Teilnehmer entscheiden sich allerdings immer für die „längere” Blockchain, also die, für deren Erstellung mehr Rechenleistung notwendig war. Somit kann es nur so lange unterschiedliche Versionen der Blockchain geben, solange nicht alle Teilnehmern über alle Varianten der Blockchain Bescheid wissen.

Lösung 4: Transaktionssicherheit wird nicht sofort garantiert

Die Empfehlung für Zahlungsempfänger in Blockchains, die ähnlich wie Bitcoin aufgebaut sind, ist, je nach Höhe des überwiesenen Betrags, zehn bis sechzig Minuten zu warten, bevor die Zahlung als endgültig angesehen wird.

Einerseits, weil eine Variante der Blockchain die andere „überschreiben“ könnte, falls es Netzwerkprobleme oder sogar Angriffe auf das Netzwerk gab.

Andererseits: Je weiter zurück eine Transaktion in der Blockchain liegt, desto mehr Arbeit wäre es, sie zu manipulieren. Sie ist durch alle Problemlösungen der darauffolgenden Blocks gesichert. Würde ein Angreifer eine Transaktion, die eine Stunde zurückliegt, ändern wollen, müsste er nicht nur das Äquivalent einer Stunde der gesamten Rechenleistung des Bitcoin-Netzwerks einsetzen, sondern auch neu hinzukommende Blöcke „aufholen“.

Was Blockchains können

Blockchain ist also eine Technologie, die die Erstellung einer globalen öffentlichen Datenbank ermöglicht. In dieser Datenbank ist es nicht möglich, Daten unbemerkt hinzuzufügen, zu ändern oder zu entfernen. Sie besteht nicht aus dem aktuellen Datenstand, sondern aus allen Datenveränderungen. In dieser Datenbank können Überweisungen dargestellt werden, aber auch andere Transaktionen, die beispielsweise Eigentumsverhältnisse darstellen.

Diese Datenbank ist öffentlich und wird nicht von einer zentralen Stelle gewartet, sondern durch alle Teilnehmenden, die sich automatisiert auf eine Version der Datenbank einigen und ihre Arbeit gegenseitig überprüfen. Diese Arbeit wird durch ökonomische Anreize gefördert.

Anwendungsfelder der Blockchain

Die Haupteigenschaften der Blockchain-Technologie sind also Dezentralisierung, Transparenz und Fälschungssicherheit. Eigenschaften, die sie für zahlreiche Anwendungsfelder interessant machen: Das betrifft beispielsweise

  • Register aller Art,
  • Zahlungen/Kryptowährungen,
  • die elektronische Stimmabgabe bei Wahlen,
  • Smart-Contracts,
  • Lieferketten.

Smart Contracts

Von der Verwendung einer Blockchain als digitales Bargeld hin zu sich selbst erfüllenden Verträgen („Smart Contracts“), wie sie beispielsweise auf der Ethereum-Blockchain umgesetzt wurden, ist es kein weiter Schritt.

In dieser Blockchain kann ein Konto entweder unter Kontrolle einer Person sein, oder unter der Kontrolle eines Stücks Programmcode, das das Konto verwaltet. Alle Teilnehmenden können solche sich selbst verwaltenden Konten mit frei wählbarem Programmcode erstellen. Eine Transaktion kann eine Geldüberweisung sein oder ein Aufruf eines Programms (oder eines Programmteils). Das Programm wird von den Minern als Teil des Verifikationsprozesses ausgeführt. Für die Ausführung jedes Programmierschritts können die Miner außerdem eine Gebühr verlangen, ähnlich der Transaktionsgebühr bei Bitcoin. So können Konten errichtet werden, die ihre Einnahmen (minus Transaktionsgebühren) automatisch auf mehrere Empfänger aufteilen. Allerdings sind in Programmcode verfasste Verträge schwer verständlich und können als Äquivalent des Kleingedruckten in Verträgen auch Sicherheitslücken beinhalten.

Da sich die Verträge selbst ausführen, ist allerdings keine Mediation durch Dritte (wie beispielsweise ein Gericht) vorgesehen, mit der über Unklarheiten entschieden wird – der Code ist der Vertrag.

Firmen- und Grundbücher

In Ländern mit einem gut funktionierenden Firmen- oder Grundbuch wie Österreich ist die Blockchain weniger relevant als in solchen, wo derartige Register entweder gänzlich fehlen oder äußerst korruptions- und fehleranfällig sind. Heute würde man jedenfalls kein analoges und an nur einem Ort vorhandenes Grundbuch einführen. Ein Blockchain-Grundbuch würde Notare theoretisch überflüssig machen. Allerdings betont die Notariatskammer immer wieder, dass Notare mehr tun als bloße Eintragungen vorzunehmen und warnen vor dem Wegfall einer Prüfungsinstanz für die Qualität der Kaufverträge oder die Geschäftsfähigkeit der Beteiligten. Plakativ ausgedrückt sorgen Notare dafür, dass Hochbetagte nicht über den Tisch gezogen werden.

E-Voting

Durch Blockchain-basierte Stimmabgaben könnten Manipulationen von Wahlen verhindert werden, so die These. Schließlich kann jeder Wähler den Eintrag seiner Stimmabgabe nachvollziehen und damit auch prüfen, ob er verändert wurde. Optimisten sehen im E-Voting im Allgemeinen eine Möglichkeit, die Wahlbeteiligung zu erhöhen und vor allem junge Menschen zur Stimmabgabe zu bewegen. Kritiker bemängeln die Gefahren für die Anonymität der Stimmabgabe und die Gefahr von Zwang – Sorgen, die aber auch bei konventionellen Wahlen bestehen.

Lieferketten

Ein letztes Anwendungsfeld betrifft Lieferketten: Das kann neben dem privaten Handel etwa in der Entwicklungszusammenarbeit eine Rolle spielen. Schließlich lässt sich so beispielsweise der Verbleib von Nahrungsmitteln oder medizinischen Gütern nachverfolgen. Damit können beispielsweise Spitäler beliefert werden, ohne Ministerien oder regionale Verwaltungsbehörden in korrupten Ländern hinzuziehen. Grundvoraussetzung ist natürlich, dass Einträge überhaupt vorgenommen werden. Die Korruption ließe sich so zumindest verringern, ganz aus der Welt schaffen lässt sie sich damit freilich nicht.

Auch abgespeckt nützlich?

Blockchains können natürlich auch in kleinem Kreis etabliert werden.

Private Blockchains können beispielsweise für eine Gruppe von Institutionen nützlich sein, in der keine einzelne Institution das Vertrauen aller anderen hat, die Datenintegrität garantieren zu können. Ein Anwendungsbeispiel könnte die Abwicklung von internationalen Transaktionen zwischen Banken sein.

Blockchains, in denen nur eine Institution für die Datenintegrität zuständig ist, sind allerdings nichts anderes als Datenbanken, an die nur neue Daten hinzugefügt werden können. Eine solche Blockchain-Variante kann allerdings ohne energieintensives Mining funktionieren und den Vorteil der Datenbankstruktur, dass Manipulationen an vergangenen Daten leicht zu entdecken sind, übernehmen.

Entscheidend: Wer die Programme weiterentwickelt

Während die Architektur von Blockchain-Systemen im Groben vorgegeben ist, müssen die Systeme oft weiterentwickelt und aktuellen Gegebenheiten angepasst werden. Wer diese Anpassung und Weiterentwicklung vornimmt, hat großen Einfluss auf die Blockchain selbst, das kann sogar so weit gehen, dass eine Blockchain nach einer Attacke die Zeit zurückdreht und die Blockchain an einem vergangenen Zeitpunkt neu gestartet wird.

Die Macht der Entwickler ist allerdings begrenzt: Alle Teilnehmer und Miner entscheiden für sich selbst, welche Version der Software sie einsetzen. Wenn genug Teilnehmer Softwareänderungen nicht übernehmen, kann dies allerdings zu einer Spaltung der Blockchain – einem sogenannten Hard Fork – führen.

So wurde aufgrund von Meinungsverschiedenheiten in der Entwickler- und Miner-Community beispielsweise die Bitcoin-Blockchain gespalten. Ein großer Teil der Teilnehmer blieb der ursprünglichen Entwicklern treu, während ein anderer Teil die Blockchain als „Bitcoin Cash“ abspaltete. Wer vor der Spaltung Bitcoin besaß, hatte nach der Spaltung plötzlich sowohl Bitcoin als auch Bitcoin Cash, beide Kryptowährungen existieren weiterhin.

Springe zu:

Ganzen Artikel lesen

Realtime Prices