Insecure in any case?

Sicherheitsaspekte Blockchain-basierter Technologien

8. Mai 2017, 16:39 Uhr | Fabian Hafner, Lubomir Stroetmann, Hartmut Pohl - softScheck GmbH (1)
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

Umsetzung der Block Chain-Methode am Beispiel von Bitcoin

Die Kryptowährung Bitcoin ist in einem dezentralisierten Peer to Peer (P2P) Netzwerk umgesetzt. Die Daten sind auf beliebig vielen Nodes gespeichert, d.h. jedermann kann eine Kopie der gesamten Blockchain bei sich anlegen. Ein gegenseitiges Vertrauen der Teilnehmer ist nicht nötig. Jede Transaktion wird signiert.

Anbieter zum Thema

zu Matchmaker+
Bitcoin
Charakteristika der Bitcoin-Cryptowährung
© softScheck

Das Consensus-Verfahren von Bitcoin ist Proof of Work. Bei Be-stimmung der längsten und damit gültigen Blockchain wird die investierte Rechenzeit berücksichtigt. Damit kann ein Angreifer z.B. eine Überweisung nicht im Nachhinein durch das Erstellen einer eigenen längeren (und damit gültigen) Abzweigung der Blockchain leicht verändern.

Am Beispiel von Bitcoin muss die folgende (von Zeit zu Zeit veränderte) Aufgabe gelöst werden: Zu finden ist ein Hash mit einer bestimmten Anzahl führender Nullen. Da der Hashwert nicht berechnet werden kann, handelt es sich hierbei um eine Bruteforce-Aufgabe, die nur zufällig gelöst werden kann und dazu eine signifikante Rechenleistung benötigt. Dies ist wichtig, damit nicht immer derselbe Teilnehmer mit der größten Rechenleistung erfolgreich ist. Mining bezeichnet die Aktivität dieses Brute Forcing.

Um in den Besitz von Bitcoins zu gelangen, ist entweder Mining oder ein Händler notwendig. Zahlungen an Händler geschehen über herkömmliche Methoden, die mit traditionellen Methoden der Sicherheitsbehörden verfolgt werden können.

Gabelung der Block Chain: Fork

Wer als Erster eine Lösung des Proof-of-Work erhält, publiziert dies im Netzwerk. Die übrigen Teilnehmer überprüfen die Lösung und stimmen ihr bei positivem Ergebnis zu. Finden zwei Miner zur gleichen Zeit eine Lösung, so ergibt sich eine Gabelung (Fork) der Kette mit 2 Blockchains. Welche Fork als richtig akzeptiert wird, hängt davon ab, wie schnell sich die Lösung im Netzwerk verteilt.

Bitcoin Fork
Die Blockchain-Fork
© softScheck

Sobald ein Miner eine Lösung aus dem Netzwerk erhält, beendet er seine Arbeit mit dem aktuellen Block und beginnt, am nächsten Block zu arbeiten.

Teile des Netzwerks arbeiten mit dem Block des einen Miners weiter, andere mit dem des anderen. Forks lösen sich nach einiger Zeit auf, sobald weitere Blöcke gefunden und angehängt wurden.

Damit jemand bereit ist, diese Rechenleistung zu erbringen, wird eine Belohnung gewährt. Diese besteht aus einer „Transaktionsgebühr“ und einem festen Betrag (neues Geld im System) - im Fall von Bitcoin sind dies aktuell bis zum Jahr 2020 z.B. 12,5 Coins pro Block.

Die Schwierigkeit der Rechenaufgabe kann durch die Anzahl geforderter Nullen variiert werden. Diese wird so angepasst, dass bei der aktuell im gesamten Bitcoin-Netzwerk verfügbaren Rechenkapazität im Durchschnitt in ca. 10 Minuten eine Lösung gefunden wird, d.h. in dieser Zeit wird ein neuer Block mit bestätigten Transaktionen an die Blockchain angehängt.

Bei Bitcoin überprüft jeder „volle“ Client alle Hashes. Voll bedeutet, dass eine vollständige Kopie der Blockchain vorliegt, die zurzeit bei ca. 107 GB liegt. Dies ist für Smartphones und viele Heimanwender zu groß, daher gibt es Client-Lösungen, die ohne eine vollständige Kopie auskommen. Nutzer solcher Clients begeben sich in eine Vertrauensbeziehung zu einer Anzahl von Nodes, die den aktuellen Status vorgeben. Solange diese von mehreren Minern betrieben werden, ist das Risiko minimiert.

Der Markt fordert auch Mikrotransaktionen (z.B. zur Bezahlung eines Bus-Tickets) mit einer schnellen Lösung zur Validierung der Bezahlung. Auf ein Busticket will keiner warten, bis nach 10 Minuten genügend Gültigkeitsbestätigungen der Transaktion vom Netzwerk kommen. Dazu werden Lösungsansätze für Verkäufer angeboten, die aus statistischen Modellen einen Risikofaktor für eine Transaktion erstellen; anhand dessen der Verkäufer entscheiden kann.

Eine Transaktion gilt allgemein als sicher bei mehr als 5 unabhängigen Bestätigungen (ca. 1 Stunde), unter der Annahme dass ein Angreifer nicht 10% der Rechenkapazität des Netzes kontrolliert. Dies ist heute durch große (chinesische) Mining-Pools nicht mehr gegeben, einzelne kontrollieren nämlich ca. 20%. Für Transaktionen größerer Summen sollte also mehr als eine Stunde auf mehr als 5 Bestätigungen gewartet werden.


  1. Sicherheitsaspekte Blockchain-basierter Technologien
  2. Sicherheitsanforderungen an das Konzept Block Chain
  3. Umsetzung der Block Chain-Methode am Beispiel von Bitcoin
  4. Erfüllung der Sicherheitsanforderungen am Beispiel von Bitcoin
  5. Ausblick

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu softScheck GmbH

Weitere Artikel zu Cyber-Security

Weitere Artikel zu Smart City/Building/Home

Weitere Artikel zu IIoT-Protokolle (OPCUA, MQTT, ...)

Weitere Artikel zu IoT / IIoT / Industrie 4.0