c't 10/2021
S. 122
Wissen
Ethereum-Blockchain
Bildquellen: saran25 / Andrey Kuzmin / stock.adobe.com

Verträge im Äther

Eine Einführung in die Ethereum-Blockchain

Blockchains werden oft mit Kryptowährungen gleich­gesetzt, aber die Technologie kann mehr als Geld verwalten. „Smart Contracts“ erlauben die Blockchain als Computer zu ­benutzen und ermöglichen zum Beispiel virtuelle Organi­sationen oder Non-Fungible-­Tokens (NFT). Ethereum ist der Vorreiter bei diesen An­wendungen.

Von Lars Hupel

Der Weltcomputer braucht Geld. Mit „Weltcomputer“ ist Ethereum gemeint, aber um diesen Satz zu verstehen, fängt man besser beim Geld an: Ethereum soll – genau wie Bitcoin und zahlreiche andere Kryptowährungen – Geld so im Internet verwalten, dass jeder mitmachen darf, aber keine Bank und kein Staat die Transaktionen und die Währungsentwicklung überwacht. Wie funktioniert das, ohne dass Chaos ausbricht?

Traditionellerweise werden Geldbestände über Kassenbücher verwaltet. Dieses Konzept hat eine lange Geschichte hinter sich; in Europa benutzte man bereits im frühen Mittelalter Kerbhölzer, um unter anderem Schulden zu dokumentieren. Die fundamentale Idee der antiken wie modernen Kontoführung ist schnell erklärt: Man zeichnet nicht die Kontostände auf, sondern die Transaktionen zwischen verschiedenen Konten und Personen. Wenn das Kassenbuch vollständig und manipulationssicher ist, dann weiß man jederzeit genau, wer wie viel Geld besitzt oder schuldet.

Die Blockchain einer Kryptowährung ist nichts anderes als ein solches Kassenbuch (Englisch: „ledger“), welches global verteilt ist: Jeder Teilnehmer hat eine Kopie des Buchs. Man nennt Blockchains deswegen auch „distributed ledgers“.

Block, Block, Blockchain

Um Eintragungen in diesem Kassenbuch vorzunehmen, fasst man mehrere Transaktionen – bei Ethereum derzeit knapp 200 – in einem „Block“ zusammen. ­Notiert werden die Transaktionen in der jeweiligen Kryptowährung, im Fall von ­Ethereum sind das „Ether“ (ETH) oder der ihrer Untereinheiten. Die kleinste davon ist das Wei, es entspricht 10-18 ETH. Zwar kann jeder eine Transaktion in das Netzwerk einbringen, aber das alleine macht die Transaktion noch nicht gültig. Für die Gültigkeit gibt es verschiedene Kriterien, zum Beispiel darf man Geld nicht zweimal ausgeben („Double Spending“).

Transaktionen müssen also validiert werden, um gültig zu sein. Das macht jeder teilnehmende Ethereum-Knoten, indem er die Transaktionen eines Blocks mit den vorhergehenden Blöcken vergleicht. Ist eine Transaktion ungültig – etwa weil Geld ausgegeben wird, das in früheren Blöcken bereits ausgegeben wurde –, wird sie zurückgewiesen. Diese Prüfung geschieht auf der ganzen Welt gleichzeitig auf zahlreichen Knoten.

Haben sich genügend Transaktionen für einen neuen Block angesammelt, beginnt ein Wettrennen: An der Blockchain teilnehmende Knoten versuchen, eine Zufallszahl – die sogenannte Nonce – zu erwürfeln, sodass der kombinierte Hash aus den Transaktionsdaten, einer Referenz auf den aktuellen Block und der Nonce einen bestimmten Schwellwert – die ­Difficulty – unterschreitet. Diese Suche ­bezeichnet man als „Schürfen“ oder „Mining“ (siehe Kasten). Wer zuerst eine passende Zahl findet, hat einen Block geschürft und erhält eine Belohnung in Ether. Das Ethereum-Netzwerk steuert den Schwellwert von Block zu Block so nach, dass es im Durchschnitt 15 Sekunden dauert, bis irgendjemand auf der Welt eine geeignete Zufallszahl findet.

Weil der neu geschürfte Block eine Referenz auf seinen Vorgänger enthält, bildet sich eine Kette, deren Glieder nicht nachträglich ausgetauscht werden können – die „Blockchain“. Stets werden neue Blöcke im Netzwerk propagiert, sodass alle Knoten auf dem aktuellen Stand sind. Konsens wird dabei erzielt, indem – vereinfacht gesagt – die längste propagierte Blockkette den aktuellen Stand darstellt. Selbstverständlich validieren alle Teilnehmer die Blöcke, es kann also niemand einfach behaupten, einen gültigen Block generiert zu haben.

Kommentare lesen (1 Beitrag)