• Keine Ergebnisse gefunden

Dezentrales kryptografisches System

E. Grundlagen einer Blockchain

2. Dezentrales kryptografisches System

Neben der Entwicklung der digitalen Signatur hat die Entwicklung von verteilten kryptografischen Systemen den Grundstein gelegt für die Entwicklung offener und stabiler Blockchains.

Das vielgenannte öffentliche Kassenbuch, in Form einer Blockchain, ist nur ein Baustein eines funktionierenden verteilten kryptografischen Systems. Zusätzlich sind ein dezentralisiertes Peer-to-Peer Netzwerk,113 Regeln für das Validieren von Transaktionen und ein Mechanismus, mit dem ein Konsens zur jeweils gültigen Blockchain erreicht wird, unabdingbar.114

a) Öffentliches Kassenbuch

Wie eingangs ausgeführt, bilden Blockchains im Grunde ein öffentliches Kassenbuch oder Register.115 Die gesamte Transaktionshistorie, oder, wenn man so will: alle Ein- und Ausgänge werden darauf gespeichert. Die Verwendung eines Registers ist freilich kein

108 Gobitcoin.io https://gobitcoin.io/tools/cost-51-attack/ (abgefragt am 26. 3. 2020).

109 Schönbohm, Blockchain sicher gestalten 46 ff, abrufbar unter https://www.bsi.bund.de/SharedDocs/

Downloads/DE/BSI/Krypto/Blockchain_Analyse.pdf?_blob=publicationFile&v=5.

110 Das liechtensteinische TVTG spricht allgemein von „vertrauenswürdigen“ Technologien. Eine möglichst neutrale Formulierung mag vorteilhaft sein, erspart jedoch nicht eine gewisse Klassifizierung von dezentralen Technologien nach ihren Eigenschaften.

111 Ausgenommen wenn der Kryptowert selbst das Kaufobjekt darstellt. Siehe Kapitel IV. B. 3. a).

112 Pillinger in Piska/Völkel (Hrsg), Blockchain rules (2019) Rz 4.12.

113 Kohn/Tamm, Mathematik für Wirtschaftsinformatiker (2019) 138.

114 Antonopoulos, Bitcoin & Blockchain2 2.

115 Schimansky/Bunte/Lwowski, Bankrechts-Handbuch5 (2017) Rn. 135.

21/240

Alleinstellungsmerkmal von Kryptowerten. Giralgeld ist beispielsweise ebenso eine auf einem Register abgebildete Visualisierung von Ansprüchen auf physische Geldeinheiten. Dabei verwendet die Mehrzahl von Registern, so auch im Falle von Giralgeld, eine zentrale Instanz, welche die exklusiven Buchführungsrechte ausübt. Durch diesen alleinigen Buchführer des Registers wird per Konstruktion immer nur eine einzige Version des Registers existieren.116 Ein dezentrales System muss sich anderer Möglichkeiten bedienen, um eine synchronisierte, wahre Version des Registers auf einer Vielzahl von Rechnern, von einer Vielzahl von Buchführern zu schaffen.

b) Dezentrales Peer-to-Peer Netzwerk

Blockchain-Systeme als dezentrale Systeme sind nicht exakt definiert. Sie sind durch mehrere Eigenschaften charakterisiert.117 Ein dezentrales P2P-Netzwerk zeichnet sich durch das Fehlen von Servern, zentralisierten Diensten und hierarchischen Strukturen innerhalb des Netzwerks aus.118 Ein Kryptowert wird in einem Computer-Netzwerk gespeichert und transferiert. Seit der Einführung von Giralgeld gilt diese Beschreibung wohl auch für staatliche Währungen wie den US-Dollar oder den Euro.119 Sie existieren heute schon zum überwiegenden Teil nur mehr virtuell und werden nicht in ihrer ursprünglichen Form, dem Bargeld, sondern in digitaler Form transferiert.

Doch im Gegensatz zu Kryptowerten werden die Transaktionen von einer zentralisierten Bank administriert.120

Alle Rechner, sog Knoten (engl. Nodes) sind idealerweise gleichberechtigt und teilen die Netzwerklast und die dazu nötigen Dienste. Diese Dienste werden von den Knoten sowohl angeboten als auch genutzt.121 Sie fungieren sowohl als Client als auch als Server.122 Diese Verschmelzung, weshalb man auch von „Servant“-Systemen anstatt von Client/Server-Systemen spricht, zeichnet ein dezentrales Peer-to-Peer Netzwerk überhaupt erst aus.123 Dies stellt gleichzeitig den Anreiz für die Benutzer des Netzwerks dar, an diesem teilzunehmen.124 Erst durch deren Teilnahme kann die Kontrolle überhaupt erst dezentralisiert werden. Die Teilnehmer eines Netzwerks sind gleichermaßen die Zeugen aller Transaktionen.

116 Berentsen/Schär, Bitcoin, Blockchain und Kryptoassets (2017) 51.

117 Mullender, Introduction to Distributed Systems (1990) 31.

118 Bezzenberger/Glaser, Beyond Cryptocurrencies – A Taxonomy of Dezentralized Consensus Systems (2015) 2.

119 Das gilt noch mehr für die von Nationalbanken geplanten zukünftigen digitalen Währungen. Vgl Summer/Weber, Bericht der EZB zum Thema „Digitaler Euro“ https://www.oenb.at/Presse/thema-im-fokus/ezb-bericht-digitaler-euro.html (abgefragt am 4. 12. 2020).

120 Rosenberger, Bitcoin und Blockchain 17.

121 Dabei verbinden sich die Knoten über das Internet über die gängigen Netzwerkprotokolle (TCP/IP) und standardmäßig über Port 8333.

122 Fischbach/Schoder, Peer-to-Peer, Anwendungsbereiche und Herausforderungen (2002) 4.

123 Schollmeier, A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications (2001).

124 Antonopoulos, Bitcoin & Blockchain2 173.

22/240

Jeder Knoten speichert redundant einen gemeinsamen Status des Systems. Ein Ausfall einzelner Rechner beeinflusst das System dabei nicht.125

Mehrere Protokolle126 bilden die Architektur eines Blockchain-Systems. Blockchains nutzen Protokolle, auf die man mit Anwendungsprogrammen, welche diese verstehen, zugreifen kann, um Dienstleistungen entgegenzunehmen oder auszuführen. Dabei fungiert eine Wallet als Benutzerschnittstelle zum Blockchain-System, ähnlich einem Webbrowser zum HTTP Protokoll.

Dabei gibt es unterschiedliche Implementierungen von Wallets, so wie es auch unterschiedliche Webbrowser für den Zugriff auf das Internet gibt.127 Das Bitcoin-Netzwerk verwendet zB das Bitcoin-P2P Protokoll im Zusammenspiel mit dem Stratum Protokoll.128 Letzteres bindet das Mining und Wallets in das Bitcoin-Netzwerk ein.129

Ein Blockchain-Explorer hingegen ist eine Webanwendung, die wie eine Suchmaschine für Aktionen innerhalb des jeweiligen Netzwerks zu verwenden ist. Damit lassen sich von jedermann Adressen, Transaktionen und Blöcke sowie deren Beziehungen zueinander aufrufen.130

Nicht jedes dezentrale P2P-Netzwerk ist in Form einer Blockchain ausgestaltet. Die Blockchain fasst Transaktionen oder auch Daten in Blöcken zusammen und verkettet sie mittels kryptographischer Signatur und Hash-Funktionen mit bereits verifizierten Blöcken. Ein dezentrales P2P-Netzwerk muss aber nicht zwingenderweise als eine Folge von Blöcken ausgestaltet sein.

Es gibt durchaus Systeme, wie IOTA oder Hashgraph, die ohne diese Kettenstruktur auskommen.

Statt einer Blockchain verwendet IOTA das sog Tangle System.131 Hashgraph versucht sich durch ein sog Gossip-over-Gossip Protokoll als Konsensalternative zur Blockchain.132 Deshalb ist es korrekter, technologieneutral von verteilten kryptografischen Systemen zu sprechen. Sie stellen allgemein eine Art Datenbank dar. Die Datenbank ist auf mehrere Standorte, Regionen oder Teilnehmer verteilt und ermöglicht den Teilnehmern, eine überprüfbare Historie aller Informationen einzusehen. Auch gibt es nicht die „eine“ Blockchain, sondern eine Vielzahl davon.

Somit ist zwar eine Blockchain zweifelsohne ein wesentlicher Bestandteil eines verteilten kryptografischen Systems, aber nicht jedes verteilte kryptografische System besteht zwingend

125 Fridgen/Schlatt/Schweizer/Urbach, Blockchain: Grundlagen, Anwendungen und Potenziale, White Paper Frauenhofer-Instiut für Angewandte Informationstechnik FIT (2016) 7.

126 In der Informationstechnologie ist ein Protokoll ein spezieller Satz von Regeln, den Endpunkte einer Kommunikationsverbindung zur Kommunikation verwenden. Sie bestimmen die Interaktionen zwischen den

kommunizierenden Geräten und legen fest, in welcher Reihenfolge und wodurch oder durch wen Vorgänge veranlasst werden.

127 Antonopoulos, Bitcoin & Blockchain2 6.

128 Moravec/Čapek, Stratum V2 https://www.stratumprotocol.org (abgefragt am 31. 7. 2020).

129 Man spricht dabei vom erweiterten Bitcoin-Netzwerk.

130 Wie etwa blockchain.info, BitPay insight für Bitcoin, Etherscan für Ethereum oder Stellarscan für Stellar.

131 Heissler, IOTA – Distributed Ledger Technology https://www.heissler.gmbh/iota/ (abgefragt am 31. 7. 2020).

132 Azimdoust, Wird die Blockchain von Hashgraph entthront? https://blockchainwelt.de/wird-die-blockchain-von-hashgraph-entthront/ (Stand 14. 8. 2019); Distributed Ledger Technologie (DLT) ist mehr als Blockchain https://blockchainwelt.de/dlt-distributed-ledger-technologie-ist-mehr-als-blockchain/ (Stand 12. 2. 2020).

23/240

aus einer Blockchain.133 Für verteilte kryptografische Systeme hat sich in jüngster Zeit die Bezeichnung Distributed Ledger Technologie (DLT) weit verbreitet. Dennoch wird man weiter von

„der Blockchain“ sprechen. Diese Bezeichnung mag zwar in manchen Fällen nicht völlig korrekt sein, doch trifft sie in den meisten Fällen zu,134 weshalb sie mE durchaus akzeptabel ist. Sollten Punkte dieser Arbeit nur auf die zur Blockchain alternativen Modelle zutreffen, wird dies explizit hervorgehoben.

c) Konsensregeln

In einem System ohne eine zentrale Instanz braucht es zwingend vordefinierte Regeln, die festlegen, welche Version des aktuellen Kassenbuches dem tatsächlichen Zustand entspricht.

Ansonsten wäre es denkbar, dass jeder unabhängige, hierarchisch gleichgestellte Knoten „seine“

Version der Wahrheit festschreibt.135

Eine Reihe von Regeln legt fest, nach welchen Kriterien eine unabhängige Validierung von Transaktionen im System erfolgt, wie ein Block zusammengesetzt ist, wie lange die Frequenz für die Erstellung neuer Blöcke dauern soll und wie die Miner für ihre Arbeit entlohnt werden. Letzteres bestimmt auch, wie und ob nach der Erstausgabe weitere Einheiten eines Kryptowerts ausgegeben werden. Werden die Konsensregeln eingehalten, haben idealerweise alle Knoten im Netzwerk dieselben Blöcke in derselben aufeinander aufbauenden Reihenfolge in ihrem lokalen Speicher abgelegt.136 Ist dies der Fall, spricht man von erreichtem Konsens. Jeder Knoten im Netzwerk kommt mit Informationen, welche über unsichere Verbindungen eingehen, zum gleichen Ergebnis und pflegt eine Kopie des Kassenbuchs, die auf allen Knoten identisch ist. Durch das Einhalten einfacher Regeln entsteht ein Konsens, der nicht explizit etwa durch eine Wahl oder Abstimmung zu einem festgelegten Zeitpunkt, sondern durch die asynchrone Interaktion tausender unabhängiger Knoten erzielt wird. Das ist die wesentliche „Erfindung“ offener, dezentraler Blockchains.137 Das Einhalten der Regeln wird durch einen Konsensmechanismus sicherstellt.

d) Mechanismus zur Erreichung von globalem, dezentralisiertem Konsens

Der Konsensmechanismus bildet das Kernelement der Dezentralität eines Blockchain-Netzwerks.

Mittels dieses Mechanismus koordinieren die Netzknoten den Systemstatus. Im Erreichen eines koordinierten „wahren“ Status durch einander unbekannte Teilnehmer über unsichere Leitungen

133 Detailliert abrufbar unter: https://blockchainwelt.de/dlt-distributed-ledger-technologie-ist-mehr-als-blockchain/.

134 Die alternativen Ausgestaltungsformen führen nach wie vor ein Schattendasein.

135 Berentsen/Schär, Bitcoin, Blockchain und Kryptoassets 205.

136 Antonopoulos, Mastering Ethereum 18; Sixt, Bitcoins und andere dezentrale Transaktionssysteme 43.

137 Antonopoulos, Bitcoin & Blockchain2 219.

24/240

liegt die grundlegende Innovation von Blockchain-Systemen.138 Die Kontinuität eines P2P-Netzwerks, welche auf Ketten basiert, wird durch das Erstellen und Hinzufügen von Transaktionsblöcken gewährleistet. Im Grunde ist es nichts anderes als eine Einigung, wer als nächster einen Block an die bestehende Kette anhängen darf. Bei physisch anwesenden Personen könnte dies etwa durch einen Münzwurf geschehen. Auch dies würde eine Auslagerung der Entscheidung, wer als nächster an der Reihe ist, bringen.139 Bei Personen, die sich in der Praxis über die ganze Welt verteilen, müssen andere Lösungen gesucht werden.

Diese Lösung liegt nach derzeitigem Stand im Proof-of-Work Mechanismus, den sog Miner nach bestimmten, ebenfalls im Netzwerk Protokoll festgeschriebenen, Regeln betreiben.140 Ähnlich wie beim Münzwurf wird dadurch die Entscheidung der Reihenfolge dezentralisiert und zudem von einem ungewissen externen Ereignis, sprich der Lösung eines mathematischen Rätsels durch bloßes Probieren zufälliger Zahlen, abhängig gemacht. Diese zufälligen Zahlen, Nonce genannt, werden solange durchprobiert, bis ein den Vorgaben entsprechender Prüfwert gefunden wird.

Im Gegensatz zu vertrauensbasierten Konsens Algorithmen (Crash Fault Tolerance, CFT),141 müssen einander die Teilnehmer von vertrauenslosen Konsens Algorithmen (Byzantine Fault Tolerance, BFT)142 nicht kennen, und es ist kein vorheriger Schlüsselaustausch nötig.143 Vertrauenslose Konsens Algorithmen erlauben innerhalb einer Blockchain die Interaktion von Partnern, welche einander eben nicht vertrauen müssen. Die drei bekanntesten Arten von vertrauenslosen Konsens Algorithmen nennen sich Proof of Work (PoW), Proof of Stake (PoS) und Proof of Elapsed Time (PoET). In der Praxis ist bislang nur der Proof of Work Algorithmus etabliert, welcher durch seinen hohen Energieaufwand in Form von Rechenleistung in Kritik steht.

Die Rechenarbeit selbst basiert im Falle von Bitcoin auf zwei seriellen SHA-256144 Hash-Funktionen, im Falle von Ethereum auf „ethash“. Andere Blockchain-Systeme verwenden ähnliche Hash-Algorithmen.145 Im Grunde kann jeder Teilnehmer des Netzwerks die Rechenleistung seines

138 Bogart/Rice, Blockchain Report: Welcome to the Internet of Value (2015) 3.

139 Völkel, ZFR 2019, 601 (602).

140 Bussac, Bitcoin, Ethereum & Co. 65; Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System 3.

141 Auch eine Crash Fehlertoleranz (Crash Fault Tolerance, CFT) kann bei Vorhandensein von N Knoten einen Ausfall von bis zu N/2 Knoten tolerieren, aber im Gegensatz zu BFT keine böswilligen Akteure neutralisieren

https://stackoverflow.com/questions/56336229/byzantine-fault-tolerance-bft-and-crash-fault-tolerance-cft (abgefragt am 18. 11. 2019).

142 Byzantinische Fehlertoleranz (Byzantine Fault Tolerance, BFT) meint die Zuverlässigkeit eines fehlertoleranten Computersystems, insbesondere verteilter Systeme, bei denen Teilkomponenten ausfallen können und unvollständige Informationen darüber vorliegen, ob ein solcher Ausfall passiert https://blockchainwelt.de/byzantine-fault-tolerance-bft-blockchain-algorithmus/ (abgefragt am 18. 11. 2019); Meinel/Gayvoronskaya, Blockchain – Hype oder Innovation (2020) 123, 129.

143 Kienzler, Hyperledger – eine offene Blockchain Technologie, in Burgwinkel (Hrsg), Blockchain Technology 114 – 116.

144 SHA steht dabei für Secure Hash Algorithm.

145 Kohn/Tamm, Mathematik für Wirtschaftsinformatiker (2019) 134; Kienzler, Hyperledger – eine offene Blockchain Technologie, in Burgwinkel (Hrsg), Blockchain Technology 115.

25/240

Computers nutzen, um Transaktionen zu verifizieren und diese im Netzwerk zu verbreiten, sprich Mining zu betreiben. Voraussetzung dafür ist lediglich das Speichern des vollständigen Blockchain-Protokollstacks auf dem eigenen Gerät.146 Die Mehrheit der Teilnehmer sollte idealerweise demokratisch über die Bestätigungen von Transaktionen bestimmen. Jedoch ist durch die mögliche Annahme von virtuellen Identitäten im Netzwerk das Prinzip „one man one vote“ nicht realisierbar. Die Teilnehmer des Netzwerks validieren Transaktionen deshalb durch Mehrheitsbeschlüsse und gelangen so zu einem Konsens über den Status der Summe aller Transaktionen.147 Die Teilnehmer werden dazu aufgefordert, ein mathematisches Rätsel zu lösen, für dessen Lösung ein Anreiz in Form von neu ausgegebenen Einheiten des Kryptowerts ausgelobt wird.148 Das Rätsel selbst besteht darin, den Eingabewert für die jeweilige Hash-Funktion zu finden, welcher als Ergebnis eine hexadezimale Zahl mit einer vorher festgelegten Anzahl führender Nullen zeigt.149 Das Lösen geschieht durch simples Ausprobieren von unterschiedlichen Eingabewerten.150 Dabei soll die Zeitspanne, in der ein Rätsel durch bloßes Ausprobieren gelöst wird, in etwa konstant gehalten werden. Dies erreicht man durch periodisches Anpassen der Anzahl der geforderten führenden Nullen eines zu suchenden Hashwertes, abhängig von der gerade verfügbaren Gesamtrechenleistung, der sog Hashpower im Netzwerk.151 Dabei ist die Zeitspanne, in der durchschnittlich ein Rätsel gelöst werden soll, je nach Design des Blockchain-Netzwerks, durchaus sehr unterschiedlich.152 Genauso verhält es sich mit der Anpassung der Schwierigkeit zur Lösung des Rätsels. Im Bitcoin-Netzwerk wird diese sog Difficulty vom Protokoll völlig selbständig alle 2016 Blöcke angepasst.153 Bei einer durchschnittlichen Blockzeit von 10 Minuten wird alle 14 Tage die Difficulty justiert.154 Aktuell beträgt die Rechenleistung des Bitcoin-Netzwerks ca 120 TH/sek.155 Das bedeutet, dass alle Bitcoin Miner zusammen jede Sekunde 120 Trillionen Versuche durchrechnen müssen und dennoch im Schnitt 10 Minuten benötigen, um mit dieser enormen Rechenleistung das Rätsel zu lösen.

146 Antonopoulos, Bitcoin & Blockchain2 2.

147 Kalinov/Voshmgir, Blockchain. A Beginners Guide 3; Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System 3.

148 Im Falle von Bitcoin sind es aktuell 6,25 BTC für das Lösen des Rätsels.

149 Ertel/Löhmann, Angewandte Kryptographie5 155; Bonneau/Felten/Goldfeder/Miller/Narayanan, Bitcoin and Cryptodurrency Technologies (2016) 152.

150 Dieser Eingabewert wird als „Nonce“, abgeleitet von „number used once“ bezeichnet.

151 Die momentan verfügbare Hashpower kann wiederum von jedermann leicht eingesehen werden. Siehe etwa für Bitcoin: https://www.blockchain.com/de/charts/hash-rate oder für Ethereum: https://www.blockchain.

com/de/charts/hash-rate. Ein Terra Hash pro Sekunde ermöglicht dabei das Ausprobieren von 1 Trilliarde von möglichen Eingabewerten pro Sekunde.

152 Im Bitcoin-Netzwerk 10 Minuten, im Ethereum-Netzwerk hingegen nur 10 Sekunden.

153 Diese Anpassung der Schwierigkeit kann man sich vorstellen, als ob man bei einem Sudoko Rätsel Spalten und Zeilen dazu- oder wegnehmen würde.

154 Schiller, Bitcoin Difficulty. Einfach erklärt https://blockchainwelt.de/bitcoin-difficulty-einfach-erklaert/ (Stand 1. 1.

2020).

155 Kerkmann, Was ist die Hashrate? Komplette Übersicht und Erklärung https://blockchainwelt.de/hashrate-bitcoin-mining/ (Stand 17. 4. 2019).

26/240

Hat der Miner das Rätsel gelöst, fasst er die dadurch bestätigten Transaktionen zusammen und fügt diesen Block an das Ende der bestehenden Blockkette an. In einem durchschnittlichen Block von 1 MB Größe sind 1500 bis 2000 Transaktionen enthalten. Die anderen Miner testen, ob die Inputvariablen durch Ausführung der jeweiligen Hash-Funktion den den Konsensregeln entsprechenden Output ergeben. Diese Überprüfung erfordert im Gegensatz zum Mining selbst einen minimalen Ressourceneinsatz.156 Herrscht Einigkeit, sprich Konsens über die Gültigkeit des Blocks, wird dieser fortan von den anderen Knoten übernommen, und die Miner machen sich an das Lösen des nächsten Blocks. Dabei übernehmen die Knoten die „längste“ Version der Blockchain oder genauer diejenige, für welche bisher die höchste aggregierte Rechenleistung in Form des Konsensmechanismus aufgewandt wurde.157 Wichtig ist festzuhalten, dass die enorme Rechenleistung nicht dafür aufgewandt wird, um neue Einheiten des Kryptowerts zu „errechnen“.

Die Neuschaffung der Einheiten geschieht als Belohnung für das Errechnen des an sich sinnlosen Rätsels und gleicht eher einer Ausschüttung als einer Neuschaffung. Das sog Mining in Form eines Proof-of-Work Systems ist ein austauschbarer Konsensmechanismus, der dazu dient, das Vertrauen in den Systemstatus der Blockchain herzustellen.158 Es dient als Vertrauensbeweis, nicht als mathematisches Generieren neuer Kryptowerteinheiten.159