Gestern haben wir hier ja bereits die erste Grundlage von Blockchains und wie diese Kette überhaupt zusammenkommt, kennengelernt.
Heute werden wir uns einen weiteren, sehr wichtigen, bzw. entscheidenden Aspekt für die Sicherheit von Blockchains anschauen: Dezentralität.
,Eine Blockchain ist ein dezentrales Netzwerk.
Das bedeutet, dass die Datenketten (Blockchains) in einem sog. Peer to Peer (P2P) Netzwerk verwaltet werden. Einem Netzwerk, dem
A) jeder beitreten kann, und welches
B) keinen zentralen Server hat oder braucht.
Jedes Mitglied des Netzwerks erhält eine vollständige Kopie der Datenketten, eine sog. Node und ist mit allen anderen Mitgliedern verbunden. Diese Nodes innerhalb des P2P Netzwerks werden kontinuierlich miteinander abgeglichen und verglichen. Das wiederum sorgt dafür, dass jedes Mitglied des Netzwerk auch direkt dazu beiträgt, dass die Informationen und damit die Kette intakt und fehlerfrei sind.
Alle Mitglieder bzw. deren Notes kontrollieren sich damit in gewisser weise selbst.
Soll zum Beispiel ein neuer Block zur Kette hinzugefügt werden, müssen alle anderen Nodes im Netzwerk diesen neuen Block ebenfalls hinzufügen und dessen Richtigkeit verifizieren.
Im Umkehrschluss bedeutet das:
Möchte jemand einen Blockchain-Eintrag nachträglich verändern (wir erinnern uns an das Beispiel vom letzten Artikel), müsste der Angreifer alle Nodes im Netzwerk ebenfalls und vor allem gleichzeitig verändern. Andernfalls würde die Veränderung ja dazu führen, dass der Block nun einen falschen Hash-Wert hat und es würde sofort auffallen. Der fehlerhafte Block bemerkt und die gesamte, jetzt falsche, Kette würde ausgeschlossen werden.
Dies macht eine Blockchain so fälschungssicher.
Ein (vereinfachtes) Beispiel zur Veranschaulichung:
dezentrale und zentrale Systeme im Vergleich
Zentrale Systeme
Bei einem zentralen System (links) laufen alle Punkte über einen gemeinsamen Knotenpunkt, welcher damit den Kern des Netzwerks bildet und damit auch die Macht hat dieses zu kontrollieren.
Einfaches Beispiel: unser Bankensystem.
Bei einer alltäglichen Banküberweisung bildet die Bank den Kern des Netzwerks und dient als Steuerelement oder auch „Point of Control“. Willst jemand eine Summe überweisen, überprüft die Bank zuerst, ob genügend Geld auf deinem Konto vorhanden ist und gibt die Überweisung entsprechend frei (oder halt auch nicht) und vermerkt die neue Differenz auf den involvierten Konten.
Dezentrale Systeme
In einem dezentralen System folgen die einzelnen Punkte (oder im Fall einer Blockchain: die Nodes) keinem besonderen Schema, sondern sind mehrfach untereinander verbunden.
Einfaches Beispiel: die Bitcoin Blockchain.
Diesmal wollen wir in unserem Beispiel eine Bitcoin (BTC) von A nach B schicken.
Eine Übertragung einer Bitcoin findet im dezentralen Netz erst statt, also wenn die anderen Nodes (Kopien) der Blockchain die Übertragung bestätigt und zugestimmt haben. Jeder Punkt (jede Node) muss also zuerst zustimmen und hat zuvor in der eigenen Kopie der Blockchain geprüft, ob genug Bitcoin im Besitz von A ist, um die Transaktion freigeben zu können.
Du kannst dir eine Blockchain also wie eine Art öffentlich einsehbares Kassenbuch vorstellen, welches auf unendlich vielen Geräten gespeichert wird und zu dem jeder User zwar neue Einträge hinzufügen, aber keine alten Einträge verändern kann. Ich hoffe, du kannst das Konstrukt einer Blockchain nun etwas besser verstehen.
Damit war es das für heute.
Ich hoffe, du konntest etwas mitnehmen und vielleicht sogar etwas Neues lernen.
Wenn du Fragen oder einen Fehler gefunden hast, oder einfach nur Feedback geben willst, kannst du mich gerne über wazup@bjornout.de erreichen.
Vielen Dank fürs lesen 💙