Um die Blockchain vor der Fälschung von Transaktionen zu schützen – beispielsweise, indem eine bereits gültige Transaktion innerhalb der Blockchain geändert wird und anschließend alle folgenden Transaktions- und Blockhashes neu berechnet werden – muss zur Verifikation neuer Blöcke ein sogenannter Proof of Work erbracht werden.
Hierbei wird eine bestimmte Anforderung an den Hash eines neuen Blocks gestellt, die erfüllt sein muss, damit dieser als gültiger Block anerkannt und an das Ende der Blockchain angehängt wird. Eine Anforderung kann beispielsweise sein, dass der Blockhash mit 4 Nullen beginnen muss. Die aktuelle Anforderung an den Hash ist hierbei flexibel und abhängig von der Gesamtleistung des Bitcoin-Netzwerks: Unter Verwendung der gesamten Rechenleistung aller Benutzer*innen ist definiert, dass es im Durchschnitt ca. 10 Minuten dauern soll, bis für einen neuen Block ein Hash berechnet wurde, der die aktuell gültigen Anforderungen erfüllt. Das bedeutet, dass eine Bitcoin-Transaktion, nachdem sie ausgeführt wurde, im Durchschnitt 10 Minuten benötigt, bis sie verifiziert ist (da sie nur innerhalb eines neuen Blocks an die Blockchain angehängt werden kann und erst dann erst als gültig anerkannt wird).
Um einen Hash für einen neuen Block zu finden, der diese Anforderung erfüllt, wird innerhalb des neuen Blocks ein spezielles Feld mit einer Zahl eingefügt, der sogenannten Nonce, und anschließend der Hash des Blocks berechnet. Dabei wird kontinuierlich die Nonce erhöht und der Hash neu berechnet, bis eine Nonce gefunden wurde, mit der ein Hash berechnet werden kann, der die Anforderungen erfüllt. Sobald ein passender Hash berechnet wurde, ist der Proof of Work (das Suchen einer Nonce zur Berechnung eines passenden Hashs) erbracht. Die gefundene Nonce wird als Beweis des erbrachten Proof of Work zusätzlich im Block gespeichert und dieser veröffentlicht. Alle anderen Benutzer*innen können somit nun sehr leicht den Hash des neuen veröffentlichten
Blocks selbst berechnen (die passende Nonce wurde ja nun schon gefunden) und damit überprüfen, ob dieser wirklich die Anforderungen erfüllt.
Abbildung 3 zeigt einen beispielhaften Ausschnitt zweier Blöcke aus der Blockchain. Die hypothetische Anforderung, dass der jeweilige Blockhash mit 4 Nullen beginnen muss, gilt für jeden Block der Blockchain.
Als Anreiz dafür, an der Verifikation von Transaktionen und der Berechnung von Hashes für neue Blöcke teilzunehmen, dürfen alle Benutzer*innen in ihren eigenen neuen Block bereits im Voraus eine Art „Gutschrift-Transaktion“ einfügen, bevor sie versuchen, einen passenden Hash für den gesamten Block zu berechnen. In dieser Gutschrift dürfen sie sich selbst eine bestimmte Anzahl an Bitcoins (aktuell: 6,25) zuschreiben. Die erste Person, der es gelingt, für den eigenen neuen Block einen passenden Hash zu berechnen, sodass der Block an das Ende der Blockchain angehängt und damit gültig wird, hat somit erfolgreich diese neuen Bitcoins aus der Gutschrift-Transaktion „geminet“ und kann diese für weitere Transaktionen verwenden. Alle anderen Benutzer*innen, die gleichzeitig an ihrem jeweils eigenen Block gerechnet haben, aber nicht schnell genug waren, verwerfen diesen nun, verifizieren den soeben neu angehängten Block und bauen anschließend aus neuen, noch nicht verifizierten Transaktionen erneut einen eigenen neuen Block, für den sie versuchen, einen passenden Hash zu berechnen. Dieser ständige Mining-Wettkampf zwischen allen Benutzer*innen führt dazu, dass kontinuierlich neue Bitcoin-Transaktionen in Blöcken verifiziert, an die Blockchain angehängt und somit gültig werden.
Sicherheit von Bitcoin
Die Blockchain ist durch die eingesetzten kryptographischen Verfahren sehr sicher gegen Manipulation: Solange die verwendeten kryptographischen Hashfunktionen und die eingesetzte PKI sicher sind, was nach aktuellen Stand der Forschung der Fall ist, sind jegliche Transaktionen geschützt. Etwaige Anpassungen am Bitcoin-Protokoll werden stets durch die Zustimmung oder Ablehnung der Mehrheit aller Benutzer*innen entschieden.
Ab und zu kommt es zu Fällen, wo nicht klar ist, wer zuerst einen neuen gültigen Block erzeugt hat: Wenn zeitgleich zwei Benutzer*innen einen neuen Block mit passendem Hash veröffentlichen, kommt es zu einer Aufspaltung der Blockchain. Hierbei entstehen zwei Blockchain-Enden, an die neue Blöcke angehängt werden können. Welches Ende sich schließlich als das „echte“ Ende der Blockchain etabliert, entscheiden wieder die Benutzer*innen: Das längere Ende, also dasjenige, an das schneller neue gültige Blöcke angehängt werden, gewinnt mit der Zeit. Sobald eine Entscheidung gefallen ist, werden alle zuvor berechneten Blöcke des kürzeren Endes der Blockchain ungültig. Die dort enthaltenen Transaktionen müssen dann erneut innerhalb von neuen Blöcken verifiziert werden.
Angriffsszenarien wie der sogenannte 51%-Angriff, bei dem ein*e Angreifer*in mehr als 50% der gesamten Leistung des Bitcoin-Netzwerkes kontrolliert, stellen für die Integrität der Blockchain und der enthaltenen gültigen Transaktionen keine sonderlich große Gefahr dar: Jede nachträglich veränderte Transaktion führt zur Änderung des entsprechenden Blocks der Blockchain (da sich sein Hash ändert) und aller darauf folgenden Blöcke (denn in diesen ist jeweils der Hash des vorigen Blocks enthalten). Somit müsste also für den Block, der die veränderte Transaktion enthält, und für alle folgenden Blöcke erneut ein Proof of Work erbracht werden, was einen zu großen Rechenaufwand für einen praktikablen Angriff bedeuten würde.
Fazit
Insgesamt stellt Bitcoin nach wie vor die größte und beliebteste Kryptowährung dar, deren Benutzer*innen sich aufgrund der beschriebenen kryptographischen Mechanismen keine Sorgen um die Sicherheit ihrer Bitcoins machen müssen – solange sie nicht ihr Wallet mit den eigenen privaten Schlüsseln verlieren, denn damit geht die Möglichkeit verloren, die eigenen Bitcoins auch auszugeben. Genau das ist beispielsweise 2013 dem Briten James Howells passiert, der damals eine Festplatte wegwarf, auf der sich sein Wallet mit 7.500 Bitcoins befand…
Im interdisziplinären Projekt “Parallelstrukturen, Aktivitätsformen und Nutzerverhalten im Darknet (PANDA)” untersuchen wir daher die Bedeutung des Darknets und Kryptowährungen für die zivile Sicherheit.
Das Fraunhofer Lernlabor Cybersicherheit bietet für Sie einen Kurs an, in dem Sie eine neutrale Sicht auf eine legale und illegale Nutzung des Darknets und der Kryptowährungen erhalten. Hier vermitteln wir Ihnen u. a. das grundlegende Wissen zum Thema Kryptowährungen für anonymes Bezahlen; von den benötigten Grundbegriffen der Kryptografie bis hin zur „Blockchain“-Technologie. Weitere Details finden Sie hier. |
York Yannikos, www.sit.fraunhofer.de
Lesen Sie hier Teil 1:
Wie funktioniert eine Kryptowährung wie Bitcoin?
Lesen Sie hier Teil 2: