Ri 02/2018: Zurück in die Zukunft.

Ri 02/2018: Navigation

Ri 02/2018: Beitrag

Anmerkungen zu möglichen technischen Weiterentwicklungen der Blockchain

Joachim Spalink*

Die Blockchain wird häufig mit Bitcoin und dem damit verbundenen Konsensalgorithmus „Proof of Work“ gleichgesetzt. Einem Konzept, das einerseits kontinuierlich für eine hohe Validierungskraft[1] der vorgenommenen Transaktionen[2] sorgt, andererseits aber, so ist es im Konzept des Proof of Work angelegt, durch das immer schwieriger werdende, durch die Miner zu lösende mathematische Rätsel einen entsprechend steigenden Energieverbrauch erfordert. Die stetig hinzukommenden Mengen an zu bestätigenden Transaktionen stauen sich, sodass schnelle Transaktionen teuer und nur langsam bis nie bestätigte Transaktionen günstig bleiben. Momentan wird daran gearbeitet, das Konzept des Proof of Work durch andere Konzepte zu ersetzen, ohne die Glaubwürdigkeit der Blockchain in Frage stellen zu müssen. Dieser Artikel soll dazu einige Einblicke geben.


___STEADY_PAYWALL___1. Grundlagen der Blockchain

Die Blockchain wird bespielt durch Transaktionen, die einen Zustand, z.B. in einer sog. Wallet oder einem Smart Contract, verändern. Dieser Zustand gibt – einfach gesprochen – im Falle einer Wallet, einer digitalen „Geldbörse“, an, welche Adresse welchen Zu- bzw. Kontostand aufweist. Diese Adressen benötigen sowohl bei Bitcoin als auch bei Ethereum jeweils 20 Byte Speicherplatz.

Eng damit verknüpft sind die Grundlagen einer „DLT“ (distributed ledger technology), einer verteilten Datenbank, von der jeder Peer eine Kopie vorhält und regelmäßig synchronisiert.[3] Die in der Datenbank gespeicherten Daten können dabei unterschiedliche Gestalt aufweisen:

Die Möglichkeiten reichen von einfachen Adressen, welche mit einem „Kontostand“ versehen werden, bis hin zu Smart Contracts, die, bei entsprechender Rechtslage, zum Nachweis des Eigentums an Häusern, Autos und Luxusartikeln[4] dienen könnten. Eine wichtige Rolle spielt dabei, ob jedermann an diesem Blockchain-Netzwerk teilnehmen kann und die jeweilige Blockchain damit öffentlich („Public Blockchain“) ist wie Bitcoin oder Ethereum, oder ob die jeweilige Blockchain nur einem begrenzten Personenkreis zugänglich ist und damit in einem privaten („Private Blockchain“) Netzwerk aufgesetzt wird.


2. Der Proof of Work (PoW) als besondere Eigenheit einer Blockchain

a) Eigenheiten des PoW

Je nach Ausformung des Netzwerkes muss den Knoten (sog. Nodes) einer Blockchain unterschiedlich viel Vertrauen entgegengebracht werden. Darauf basierend wird ein Algorithmus gewählt, um einen Konsens der Teilnehmer zu schaffen, darüber, ob eine Transaktion „gültig“ bzw. „valide“[5] ist. Letztlich ist dies die entscheidende Eigenschaft der Blockchain: Das Vertrauen muss nicht mehr in bestimmte Personen gelegt werden, sondern besteht darin, dass Transaktionen grundsätzlich nicht „gefälscht“ werden können, weil die Mehrheit der Teilnehmer einer Transaktion zugestimmt hat und eine unerwünschte Änderung durch die zahlreichen identischen Kopien auffallen würde. Die Mehrheit würde stets über eine übereinstimmende und damit richtige Version verfügen.

PoW wird momentan (noch) bei Bitcoin und Ethereum eingesetzt und geht auf Konzepte zurück, die zur Verhinderung von Spammails erdacht wurden.[6] Sie erfordern allerdings eine leistungsstarke Hardware sowie viel Energie. Der Energieverbrauch des Bitcoin-Netzwerkes ist dadurch aktuell so hoch wie der Energieverbrauch der Schweiz, was von vielen Marktteilnehmern als essentielles Problem dieses Blockchain-Netzwerkes angesehen wird.[7]


b) Weiterentwicklungen des PoW

Momentan bestehen Überlegungen, den beim PoW anfallenden Aufwand an Rechenleistung „sinnvoll“ zu nutzen, z.B. für Forschungsanwendungen.[8] Als Vorbild dient hier BOINC, ein Projekt der University of California, bei dem ein Rechner durch einen client[9] mit dem Berkeley Open Interface for Network Computing (BOINC)[10] verbunden ist und an einem oder mehreren Rechenprojekten mitarbeiten kann, um Leerlauf zu vermeiden. BOINC ist eine Plattform für verteiltes Rechnen, also eine Community, die Rechenkapazitäten teilt. Besteht eine Internet-Verbindung, so kann der Rechner ein Aufgabenpaket herunterladen und abarbeiten, soweit dafür Rechenleistung „übrig“ ist. Bei nächster Gelegenheit werden dann die Ergebnisse hochgeladen und das nächste Paket kann heruntergeladen und bearbeitet werden. Dieser Prozess kann beliebig oft wiederholt werden, soweit Rechenkapazitäten „über“ sind. Verwirklicht wurde ein ähnliches Konzept bei der Kryptowährung Primecoin:[11] Der PoW wird dazu verwendet, bestimmte Folgen von Primzahlen zu suchen, die dann weiter verwendet werden können.[12] PoW könnte so zukünftig nutzbringend zu unterschiedlichsten Zwecken eingesetzt werden.


3. Der Proof of Stake (PoS) als alternatives Konzept zu PoW

Der sogenannte Proof of Stake (PoS) wird momentan als alternatives und deutlich vorteilhafteres Konzept zum PoW diskutiert, selbst für Bitcoin. Dieses Prinzip wird bereits bei PPCoin[13] und (in abgewandelter Form) bei reddcoin[14] angewendet. Ausschlaggebend ist dabei, dass die „Stimmgewalt“ eines Miners nicht – wie beim PoW – aus seiner Rechenleistung folgt, sondern aus der Menge an Kryptowährung (Stakes), über die er verfügt.[15] Der immense Rechenaufwand beim PoW fällt damit weg, auch die Validierungszeiten[16] sind deutlich kürzer.

Aufgrund der zukünftig wohl hohen Bedeutung des PoS soll dieses Verfahren etwas ausführlicher erklärt werden. Wenn eine Transaktion in der Blockchain validiert[17] werden soll, geht es regelmäßig darum, mit Hashfunktionen einen bestimmten Wert zu finden. Hashfunktionen sollen ihrer Bestimmung nach allerdings nicht umkehrbar sein.[18] Eine einfache Berechnung der Hashfunktion ist aus diesem Grund nicht möglich, vielmehr müssen viele Werte ausprobiert werden. Je strenger die Anforderungen an die Eigenschaften eines Wertes sind, umso schwieriger ist es auch, einen solchen Wert zu finden. Bei PoS wird die Schwierigkeit aber unter anderem dadurch beeinflusst, welchen Stake ein Nutzer aufweist – je höher der Stake ist, umso geringer sind die Anforderungen an das Ergebnis. Letztlich bewegt sich der PoS gedanklich in die Richtung eines Unternehmensanteils, der, je nach Größe, ein bestimmtes Stimmrecht gewährt.

Bei Ethereum soll dieses Verfahren in Zukunft angewendet werden. Allerdings funktioniert PoS erst ab einer gewissen Anzahl an Teilnehmern, um gegen Attacken von Gruppen (sogenannten „Puzzles“) gesichert zu sein. Verfügt ein Angreifer über mehr als die Hälfte aller Stakes, i.e. des Gesamtvermögens, so ist er in der Lage, die Blockchain zu manipulieren. Untersuchungen zeigen, dass die Sicherheit der Blockchain bei diesem Verfahren nicht weniger problematisch zu gewährleisten ist als beim PoW. Auch hier hat sich erst kürzlich wieder gezeigt, dass PoW keinen absoluten Schutz vor Manipulation bietet.[19]


4. Weitere Möglichkeiten zur Lösung des Konsensproblems

Weitere Vorstöße zur Lösung des Konsensproblems sind Raft[20] und SwirIds[21]. Raft erreicht einen Konses durch einen gewählten „Leader“. Die Server in einem Raft-Cluster sind daher entweder „Leader“ oder „Follower“. Ist im Cluster der Leader gewählt worden, können Anfragen ausgeführt werden. Die Akzeptanz der Anfragen geschieht zunächst über die Follower; akzeptiert die Mehrheit der Follower, macht sich der Leader die Anfrage zu eigen und die Anfrage kann ausgeführt werden. Fällt der Leader aus, wird ein neuer Leader gewählt.

Der Swirldshashgraph consensus algorithm“ ist ein neues System für sog. replicated state machines mit einer garantierten byzantine fault tolerance (BFT).[22] Einem Angreifer wird hierbei die Manipulation des Auswahlprozesses erschwert, welche von zwei Transaktionen die erste in der Konsens-Reihenfolge sein soll. Der Algorithmus ist asynchron; das bedeutet, es gibt keine Leaders oder Miners. Das Ergebnis wird durch ein virtuelles Voting, „Gossiping“, erreicht, weswegen das zugrundeliegende Protokoll auch das „Gossip Protocol“ genannt wird.[23] Dabei wird allerdings nicht über Transaktionen geklatscht, sondern über „Klatsch“. Durch das „Geklatsche“ wird ein Hashgraph erzeugt, eine Hashkette, die alle geschehenen „Klatsch“-Events umfasst.

Bei Ethereum steht momentan zur Lösung des Skalierungsproblems auch der Plasma-Ansatz im Raum. Dabei geht es im Wesentlichen um Smart Contracts, die „Bäume“ (sog. Children) von untergeordneten Blockchains generieren.[24]


5. Ausblick

Die Blockchain und insbesondere Bitcoin werden momentan stark wegen der langsamen und extrem energieaufwändigen Ausführung von Transaktionen unter Kritik gestellt. Dies liegt am sogenannten Proof of Work (PoW), der erhebliche Rechenleistungen erfordert. Es existieren aber Konzepte und teilweise auch schon eingeführte Technologien, die die Abhängigkeit der Blockchain-Technologie von Energieaufwand und Rechenleistung lösen und dessen Probleme zu einem großen Teil vermeiden. Die Blockchain ist eine Technologie, die sich ständig weiterentwickelt. Sie wird sich im Zweifel den Herausforderungen anpassen, denen sie im praktischen Einsatz begegnet.

A

A

* Joachim Spalink ist Softwareentwickler bei der Cetonis GmbH in Stuttgart.


[1]  Validierung meint hier keine Bestätigung des Inhalts als richtig sondern die Einhaltung der systemischen Anforderungen.

[2]  Vgl. zum Begriff: Otto, Ri 2017, 5 (7).

[3]  Vgl. Otto, Ri 2017, 5 (6).

[4]  “Blockchain Startups Take Aim at Counterfeiting of Luxury Products”, 9. Februar 2016, https://bitcoinmagazine.com/articles/blockchain-startups-take-aim-at-counterfeiting-of-luxury-products-1455049770/ (zuletzt abgerufen am 27. Mai 2018).

[5]  Vgl. Fn 1.

[6]  Naor, M. and Dwork, C., „Pricing via Processing or Combatting Junk Mail“, http://www.wisdom.weizmann.ac.il/~naor/PAPERS/pvp.pdf (zuletzt abgerufen am 27. Mai 2018).

[7]  Bolzli, M., „Bitcoin verbraucht so viel Strom wie die Schweiz“, 26. April 2018, https://www.nau.ch/politik-wirtschaft/wirtschaft/2018/04/26/bitcoin-verbraucht-so-viel-strom-wie-die-schweiz-65329343 (zuletzt abgerufen am 27. Mai 2018).

[8]  Sameeh, T., „Useful Proof Of Work (PoW) – Energy Preserving Cryptocurrency PoW Protocols“, 20. März 2017, https://www.deepdotweb.com/2017/03/20/useful-proof-of-work-pow-energy-preserving/ (zuletzt abgerufen am 27. Mai 2018).

[9]  Ein Client ist eine Software, welche über Schnittstellen kommuniziert.

[10]  Open-source software for volunteer computing, https://boinc.berkeley.edu/ (zuletzt abgerufen am 27. Mai 2018).

[11]King, S., „Primecoin: Cryptocurrency with Prime Number Proof-of-Work, 7. Juli 2013, https://web.archive.org/web/20131103035723/http://primecoin.org/static/primecoin-paper.pdf ; vereinfacht und zusammengefasst: https://en.wikipedia.org/wiki/Primecoin (beide zuletzt abgerufen am 27. Mai 2018).

[12]  Buterin, V., “Primecoin: The Cryptocurrency Whose Mining is Actually Useful“, 8. Juli 2013, https://bitcoinmagazine.com/articles/primecoin-the-cryptocurrency-whose-mining-is-actually-useful-1373298534/ (zuletzt abgerufen am 27. Mai 2018).

[13]  https://peercoin.net/ (zuletzt abgerufen am 27. Mai 2018).

[14]  https://reddcoin.com/ (zuletzt abgerufen am 27. Mai 2018).

[15]  Vgl. dazu Otto, Ri 2017, 5 (10, 14); Ri 2018, 16 (30 ff.,33).

[16]  Vgl. Fn 1.

[17]  Vgl. Fn 1.

[18]  Vgl. Otto, Ri 2018, 16 (27 ff.).

[19]  “Bitcoin Gold Hit by Double Spend Attack, Exchanges Lose Millions”, https://www.ccn.com/bitcoin-gold-hit-by-double-spend-attack-exchanges-lose-millions/ (zuletzt abgerufen am 27. Mai 2018).

[20] Copeland, C., Zhong, H., “Tangaroa: a Byzantine Fault Tolerance Raft”, http://www.scs.stanford.edu/14au-cs244b/labs/projects/copeland_zhong.pdf (zuletzt abgerufen am 27. Mai 2018).

[21]  “Hashgraph wants to give you the benefits of blockchain without the limitations”, 13. März 2018, https://techcrunch.com/2018/03/13/hashgraph-wants-to-give-you-the-benefits-of-blockchain-without-the-limitations/ (zuletzt abgerufen am 27. Mai 2018).

[22]  Zum Byzantine Generals‘ Problem siehe Otto, Ri 2017, 5 (10); https://en.wikipedia.org/wiki/Byzantine_fault_tolerance (zuletzt abgerufen am 27. Mai 2018).

[23]  Zum Byzantine Generals‘ Problem siehe Otto, Ri 2017, 5 (10); Baird, Leemon, „The Swirlds Hashgraph Consensus Algorithm: Fair, Fast, Byzantine Fault Tolerance“, 18. März 2018, https://www.swirlds.com/downloads/SWIRLDS-TR-2016-01.pdf (zuletzt abgerufen am 27. Mai 2018).

[24]  Plasma und Plasma Cash – Skalierbarkeit und Sicherheit auf der Ethereum Blockchain, 21. März 2018, https://cointrend.de/plasma-und-plasma-cash/ (zuletzt abgerufen am 27. Mai 2018).

Titelbild: © ApricotBrandy via Adobe Stock, #159088614

You cannot copy content of this page