WikiDer > Blockchain
EIN Blockchain (niederländisch: blokketen) ist ein System, mit dem Daten aufgezeichnet werden können. Dies können beispielsweise Überweisungen sein, wie sie bei einer regulären Bank möglich sind, aber auch Eigentumsurkunden, Vereinbarungen, persönliche Nachrichten oder andere Daten enthalten. Das Besondere an der Blockchain ist, dass dies ohne eine zentrale Instanz möglich ist, d.h. eine Verfälschung der aufgezeichneten Daten durch Verfälschung einer zentralen Stelle ist nicht möglich. Die bekannteste Implementierung der Blockchain ist die Bitcoin, eine Form von Kryptowährung.[1]
Es handelt sich dabei um ein leicht überprüfbares System, nach dem aufeinanderfolgende Blöcke zueinander in Beziehung gesetzt werden sollen, so dass neben der Verlängerung praktisch nur eine Verzweigung der Kette möglich ist, nicht das Zusammenkommen zweier Zweige. Innerhalb dieses Systems sind daher zwei Ketten gleicher Länge mit dem gleichen letzten Block mit ziemlicher Sicherheit gleich. Das Design einer Blockchain ist ein Beispiel für Sicher durch Design und dezentraler Konsens. Die gesamte mit Blockchain verbundene Terminologie ist in der Englisch.
Grundprinzip
Die Daten werden in sog Blöcke, die einfach Listen von Transaktionen oder anderen Daten sind. Der Block wird mit dem Hash aller Daten in diesem Block geschlossen. Im nächsten Block wird die hash des vorherigen Blocks, so dass die Blöcke aufeinander verweisen und es ein sogenanntes Kette (Kette) entsteht.[2] Jeder Block ist daher wie folgt aufgebaut:
- Das hash des vorherigen Blocks (Krypto-Hash).[3] Nur der älteste Block der Kette (der sogenannte Genesis-Block) enthält es nicht.
- Datensätze hinzugefügt. Diese Datensätze können von verschiedenen Benutzern hinzugefügt werden. Um zu überprüfen, ob bestimmte Daten tatsächlich von einem bestimmten Nutzer bereitgestellt wurden, werden diese mit einem Digitale Unterschrift die nur von diesem Benutzer generiert, aber von jedem verifiziert werden kann.
- Der Hasch des Ganzen. Diese dient als eine Art Seriennummer.
Von Zeit zu Zeit wird ein neuer Block generiert, dieser wird zu Bergwerk erwähnt. Nachdem ein neuer Block angelegt wurde, muss dieser noch von allen Teilnehmern im Netzwerk passiert werden, die Knoten akzeptiert sein. Dadurch entsteht eine Art Datenbank, deren Legitimität alle Nodes überprüfen können. Ein neuer Block wird nur akzeptiert, wenn er den Hash des letzten Blocks enthält und alle Daten eine korrekte elektronische Signatur aufweisen. Manchmal sind zusätzliche Überprüfungen erforderlich, beispielsweise bei Finanztransaktionen, bei denen jemand über ein ausreichendes Guthaben verfügen muss, bevor er eine Transaktion durchführen darf. Ein Block ist nur dann legitim, wenn die Mehrheit der Knoten ihn akzeptiert hat.
Manchmal kommt es zu Meinungsverschiedenheiten, zum Beispiel wenn zwei Knoten gleichzeitig einen neuen Block angelegt haben und die anderen Knoten teilweise den einen und teilweise den anderen Block akzeptieren. Dies wird ein Gabel und ist fast immer vorübergehender Natur. Beide Blöcke sind legitim, daher gibt es vorübergehend zwei Versionen der Wahrheit. Mit der Zeit stellt sich jedoch wieder ein Konsens ein und eine Version der Wahrheit wird akzeptiert und die andere vergessen. EIN harte Gabel tritt auf, wenn zwei Ketten dauerhaft nebeneinander existieren. Dies geschieht nur, wenn ein Teil des Netzwerks beschließt, auf eine neue Version der Software (mit geänderten Regeln) umzusteigen, während ein anderer Teil bei der alten Version bleibt. Von diesem Moment an können beide Gruppen die Blöcke des anderen nicht mehr akzeptieren. So geht's 2016Ethereum-Klassiker als Abspaltung von Äther.
Eine Blockchain funktioniert also wie eine verteilte Datenbank wobei alle aktiven Knoten eine Kopie behalten und sich gegenseitig überprüfen. Änderungen an zuvor generierten Blöcken sind nicht möglich, da sich dadurch auch der Hash des geänderten Blocks ändert und da die Blöcke über den Hash verbunden sind, wird die Kette unterbrochen. Wenn ein Block geändert wird, müssen auch alle danach erzeugten Blöcke geändert werden, um eine neue Kette zu erstellen. Da es mehr Knoten gibt, kann diese Art von Problem erkannt und gelöst werden, indem die Anpassungen gestoppt oder der Knoten ignoriert wird, der diese Daten sendet. Dieses System stellt die Integrität sicher, die die Blockchain bietet.
Eine Gefahr entsteht, wenn ein Spieler mehr als 50% der Nodes kontrolliert und einen Block mit falschen oder betrügerischen Daten anbietet. Dieser Spieler kann immer noch einen Konsens erzwingen und den Block akzeptieren.
Varianten
Eine Blockchain kann Öffentlichkeit oft mit der Fähigkeit verbunden, als Knotenpunkt zu fungieren. Dies erfordert besondere Vorkehrungen zum Schutz vor Manipulation und Fälschung,[4] wie das gängige System Arbeitsnachweis.
Auch eine Blockchain ist möglich Privatgelände wo eine Autorität oder feste Regeln bestimmen, wer ein Knoten ist oder werden kann.[5] Möglich ist auch eine Mischform, bei der beispielsweise die Daten öffentlich sind, aber nur eine begrenzte Anzahl von Nodes und/oder Minern benannt werden.
EIN Konsortium Blockchain ist für eine gezielte Zusammenarbeit zwischen verschiedenen Akteuren gedacht, a Konsortium. Die Blockchain dient als Datenbank, in der Menschen zusammenarbeiten und Daten austauschen können, aber niemand kann die Daten manipulieren oder falsche Daten eingeben. Bei einer Konsortium-Blockchain sind die Daten nur den Mitgliedern des Konsortiums zugänglich. Oft wird gewählt, nur einen Bergmann zu benennen.
Darüber hinaus können je Anwendung unterschiedliche Regeln gelten, die angeben, wie die Daten in Blöcken verarbeitet werden.
Bergbau
Das Generieren eines neuen Blocks, der Daten enthält, wird als Mining bezeichnet und der damit befasste Knoten wird als Miner bezeichnet.[6] Beispielsweise kann innerhalb einer geschlossenen Blockchain, in der alle möglichen Regeln gelten, ein Node als Miner bezeichnet werden und der Rest der Nodes kann nur die Daten überprüfen. Die Nodes können auch als Miner in Rotation fungieren. Bei einer öffentlichen Blockchain, bei der im Prinzip jeder einen Node starten und sich als Miner anbieten kann, ist dies komplizierter. Um immer wieder neue Blöcke zu generieren und damit die Blockchain funktionsfähig zu halten, braucht es ein Belohnungssystem, das es für die Teilnehmer interessant hält, ihre Rechenleistung dafür zur Verfügung zu stellen. Bei öffentlichen Kryptowährungen wird häufig gewählt, die Transaktionskosten, die mit den Transaktionen des betreffenden Blocks verbunden sind, dem Knoten zuzuordnen, der ihn generiert hat. Gleichzeitig kann der Miner auch belohnt werden, indem für jeden abgebauten Block ein fester Betrag der Kryptowährung zugewiesen wird. Auf diese Weise erhöht sich der Betrag der betreffenden Währung und es ist für den Besitzer eines Knotens finanziell interessant, sich damit zu befassen. Allerdings ergibt sich hier ein Problem, denn dann werden viele Spieler als Miner agieren wollen und es wird schwierig zu bestimmen, welcher der vielen generierten Blöcke als nächstes ausgewählt werden soll. Um dieses Problem zu lösen, wurden mehrere Konsensusvarianten entwickelt.
Ein Bitcoin-Block wird einmal alle 10 Minuten gefunden und ein Ethereum-Block einmal alle 12 bis 15 Sekunden.[7][8]
Konsensvarianten
Es gibt mehrere Konsensvarianten, darunter:
- Arbeitsnachweis: dies ist das bekannteste und wird von Bitcoin, Ethereum, Zcash und Monero verwendet. Der zuerst von einem Miner fehlerfrei generierte Block wird akzeptiert. Um es den Minern zusätzlich zu erschweren, muss der Block nicht nur fehlerfrei sein, sondern der Miner muss auch ein komplexes Rätsel lösen. Oft muss der Block eine Nummer haben (a nichtce), die bewirkt, dass der gesamte Hash des Blocks mit einer bestimmten Anzahl von Nullen (führende Nullen) beginnt. Eine korrekte Nonce kann nur durch viele Versuche entdeckt werden (rohe Gewalt) bewirkt, dass ein Knoten lange Zeit berechnet. Wenn ein korrekter Block angekündigt wurde, ist es für die anderen Miner nicht mehr lukrativ, nach ihrer eigenen Version des nächsten Blocks zu suchen und sie werden versuchen, einen neuen Block zu generieren, der auf dem angekündigten Block aufbaut. Um die Blockzeit (die Geschwindigkeit, mit der immer ein neuer Block erstellt wird) konstant zu halten, wird die Anzahl der führenden Nullen von Zeit zu Zeit angepasst. Die Kritik an dieser Variante ist, dass sie viel Energie kostet, da viele Miner gleichzeitig versuchen, den nächsten Block zu berechnen und als erster eine richtige Nonce erraten. Dadurch wird viel Rechenleistung verschwendet.
- Beteiligungsnachweis: dieser ist weniger bekannt und wird von Cardano, EOS.IO, Steem und Tezos verwendet. Dies ist eine Methode, bei der sich Bergleute bewerben und der nächste Bergmann anhand einer Kombination aus Vermögen (oder Beteiligung), Portfolioalter und Gelegenheit ausgewählt wird. Der Punkt hier ist, dass der nächste Miner entweder das größte Interesse daran hat, einen richtigen Block zu generieren, oder sogar am meisten zu verlieren hat, indem er einen falschen Block anbietet.
- Berechtigungsnachweis: Dazu werden sogenannte Validatoren eingesetzt. Dies sind Knoten, die prüfen, ob ein Block gültig ist. Dies geht zu Lasten der Dezentralität der Blockchain, da die Benennung der Validatoren von außen erfolgt. Es ist daher eher für geschlossene Blockchains geeignet.
- Platznachweis: dies ähnelt einem Proof of Work, verbraucht aber Speicherplatz statt Rechenleistung. Anstatt weiter zu rechnen, bis der Block generiert ist, werden Zufallslösungen generiert und auf dem Speicherplatz gespeichert. Dann werden alle generierten Blöcke mit dem Puzzle verglichen.
Smart Contracts
Durch den dezentralen Aufbau der Blockchain-Technologie ist sie auch interessant für die Umsetzung von Smart Contracts (intelligente Verträge). Ein Smart Contract ist ein Computerprogramm, das (ggf. eigenständig) unter bestimmten Bedingungen einen vordefinierten Auftrag ausführen kann. Smart Contracts haben eine eigene Datenbank, in der sie ihre Daten speichern.
Äther wurde von Anfang an auf Smart Contracts ausgelegt. Diese können selbst eine Menge Ether und die verwendete Programmiersprache empfangen und ausgeben, Solidität, ist Turingkomplett. Später kam auch Bitcoin mit der Möglichkeit für Smart Contracts mit der Sprache Einfachheit.
Ein solcher Smart Contract kann beispielsweise für eine Wertübertragung verwendet werden. In diesem Fall kann der Verkäufer eines Eigentumszertifikats (zum Beispiel eines Hauses) dieses Zertifikat auf den Smart Contract übertragen und der Käufer überweist ihm den Betrag in den jeweiligen Coins. Wenn beide übertragen wurden und eine eventuelle Bedenkzeit abgelaufen ist, wird das Zertifikat an den Käufer und die Coins an den Verkäufer übertragen. Ändert sich eine der Parteien vor Ablauf der Laufzeit, wird nicht genügend Geld überwiesen oder wird das Zertifikat nicht in den Vertrag überführt, wird die Transaktion nicht durchgeführt und der Verkäufer erhält das Zertifikat zurück und der Käufer den investierten Betrag amount wieder zurück.
Smart Contracts können für weitere Anwendungen verwendet werden, für Lotterien, Datenerfassung, Ausgabe einer neuen Münze oder anfängliche Münzangebote (ICO).
Eine Gefahr von Smart Contracts besteht darin, dass sie für jeden zugänglich und daher interessant sind für Hacker. Obwohl die Blockchain selbst nicht gehackt werden kann, gilt das nicht für die einzelnen Smart Contracts. Jede Funktion des Vertrages muss daher so programmiert werden, dass sie nur von dem dazu berechtigten Account aufgerufen werden kann. Darüber hinaus sind auch die Daten in Smart Contracts öffentlich und für jeden lesbar. Letzteres lässt sich umgehen, indem nur verschlüsselte Daten gespeichert werden.
Anwendungen
Blockchain-Technologie ist die Grundlage von Währungen für Kryptowährung wie Bitcoin, aber auch andere Anwendungen sind im Einsatz oder werden untersucht. Ein Beispiel ist das R3-Konsortium von Finanzinstituten, das die Möglichkeit untersucht, Transaktionen mittels einer Blockchain auszuführen. Die Daten sind nicht öffentlich und es wird keine eigene Währung verwendet.[9]
So wie eine Blockchain die Überweisung von Beträgen in der eigenen Währung als Transaktionen erfasst, aus denen sich immer die mit einer Kryptowährungsadresse verbundene Eigenschaft ableiten lässt, könnte eine Blockchain auch Transaktionen in den unterschiedlichsten Währungen, Wertpapieren und Gütern erfassen. Der Gegenstand einer Transaktion muss nicht in einer Zahl ausgedrückt werden (z. B. Anzahl Bitcoins, wobei beispielsweise ein Betrag von 3 Bitcoin dem anderen von 3 Bitcoin entspricht), sondern kann auch aus einem Betrag und einer Art bestehen , oder sogar etwas Einzigartiges wie ein bestimmtes Haus oder ein bestimmter Sitz für eine bestimmte Aufführung. Man spricht in diesem Zusammenhang von farbige Münzen. Die Übertragung des Vermögenswerts und die umgekehrte Übertragung des Kaufpreises könnten auch in einer Transaktion erfasst werden.[10][11][12] EPOBC ist eine der Möglichkeiten, farbige Münztransaktionen in der Bitcoin-Blockchain zu verschlüsseln.[13]
Die Blockchain-Technologie kann verwendet werden, um die Daten transparent zu machen und zu automatisieren Produktionsketten und Logistik. Verschiedene Akteure einer Kette platzieren ihre Informationen auf einer Blockchain, die Einblick in den Fortschritt oder die Herkunft eines Produkts oder Prozesses gibt. Dies ist auch dann wertvoll, wenn Sie als Konsument wissen möchten, woher beispielsweise Ihr gerade gekauftes Obst oder Kaffee kommt.
Manchmal wird eine Blockchain auch für einen anderen Zweck als den, für den sie erstellt wurde, verwendet, z. B. um einen Text anstelle des öffentlichen Schlüssel-Hashs des Begünstigten einer kleinen Kryptowährungstransaktion dauerhaft aufzuzeichnen.
Belgien
In Belgien wurde im Juli 2017 die Hafen von Antwerpen ein Pilotprojekt zur Verarbeitung von Behälter.[14] Dieses System wird seit Anfang 2020 auch in der Produktion eingesetzt, um Container im Hafen von Antwerpen sicher abzuholen[15]. Darüber hinaus wird dieses System auch in der Produktion im Rotterdamer Hafen getestet[16].
Das Flämische Regierung arbeitet an der Einführung der Blockchain-Technologie.[17]
Die Niederlande
Um die Chancen für die niederländische Regierung der neuen Technologie zu ermitteln, werden seit 2016 verschiedene Pilotprojekte organisiert, darunter die Grundbuch, das Steuerbehörden und der Handelskammer.[18]
Rechtliche Aspekte einer Blockchain können beispielsweise diskutiert werden, wenn sie personenbezogene Daten enthält. Angenommen Datenschutz-Grundverordnung eine offene Blockchain ist möglicherweise nicht möglich oder es müssen zusätzliche Maßnahmen ergriffen werden, um die Daten unzugänglich zu machen.[19][20]
Das NGOFairfood International war die erste niederländische Partei, die 2017 Blockchain-Lebensmittel verkaufte. Die Organisation hat 1.000 Kokosnüsse auf die Blockchain gesetzt und mit diesem Pilotprojekt einen vollständigen Einblick in die Produktkette gewährt.[21]
Währungen
- Das polnische Unternehmen Billon nutzt eine Blockchain für Treuhandgeld, ohne Mining, das viel mehr Transaktionen pro Sekunde verarbeiten kann als Bitcoin.[22]
- Die Kryptowährung JOTA verwendet einen azyklischen gerichteten Graphen anstelle einer Blockchain, gerichteter azyklischer Graph DAG, mit separaten Transaktionen als Knoten, gibt es keine Blöcke. Das Bestehen einer Transaktion beinhaltet die Überprüfung von zwei zufällig generierten anderen Transaktionen. Es wird keine Gebühr fällig. Es gibt eine feste Anzahl von Währungen und es gibt kein Mining.
- Transaktionen außerhalb der Blockchain. Manchmal ist es von Vorteil, bestimmte Transaktionen nicht separat in der Blockchain zu registrieren, sondern nur den Saldo mehrerer dieser Transaktionen, nicht unbedingt zwischen denselben beiden Parteien. Dies ist das Prinzip der Blitznetzwerk, das sich in der Entwicklung befindet und auch auf einen Markt angewendet werden könnte, auf dem Kunden ein Girokonto mit Kryptowährungen und Treuhandgeld besitzen.
Geschichte
Der erste, der eine Form von . hat Kryptowährung entworfen, die Bitcoin entworfen, war jemand oder eine Gruppe, die unbekannt geblieben ist, aber unter dem Pseudonym Satoshi Nakamoto hat funktioniert.[23]Äther ist eine Plattform, die ständig auf Blockchains auflädt. Unter anderem Joseph Lubin und Vitalik Buterin zur Entwicklung von Ethereum beigetragen.