Blockchain

Erfahren Sie auf dieser Seite die grundlegenden Ideen und Prinzipien einer Blockchain und tauchen Sie in das Grundgerüst jeder Kryptowährung ein. 

Wie kann man sich eine Blockchain vorstellen?

Kurz und knapp beschrieben, ist eine Blockchain eine Möglichkeit, dezentral und unveränderlich bestimme Zustände, bzw. Datensätze zu speichern. Daher kommt auch der Name: "Distributed Ledger Technologie", was nichts weiter als "dezentral geführte Kontobuchtechnologie" bedeutet. In der Welt der Kryptowährungen sind dies häufig Kontostände.

Grundsätze jeder Blockchain

1: Dezentralität

Die Dezentralität spiegelt den wohl wichtigsten Aspekt einer Blockhain wieder. In diesem dezentralen System ist jeder gleichberechtigt und eine Partei kann "Peer to Peer", d.h. direkt und ohne Mittelsmann mit einer anderen Person interagieren.

Ebenfalls umfasst dieser Begriff die dezentrale Speicherung der Daten. Das bedeutet, dass jeder Nutzer die Daten speichert und somit eine eigene Kopie besitzt. Diese Kopien sind natürlich alle identisch.

Zentral

Dezentral


2: Unveränderlichkeit

Eine Blockchain kann grundsätzlich nicht verändert werden. Die Daten innerhalb der Blockchain sind miteinander verknüpft und neuere Einträge bauen auf älteren auf. Später mehr dazu.

3: Konsensmechanismus:

Innerhalb der Blockchain muss Konsens über die vorhanden Daten herrschen. Alle Nutzer müssen somit einverstanden mit dem jetzigen Zustand sein. Um das zu überprüfen, bedient sich die Blockchain Technologie verschiedener Konsensmechanismen. Diese gleichen einer Art Abstimmung, bei der die Nutzer regelkonformen Datensätzen zustimmen und regelwidrige Datensätze ablehnen können. Ein Regelverstoß kann z.B. auftreten, wenn nicht im Eigentum befindende Bitcoins verschickt werden. 

Mehr zu diesem Thema können Sie den Erklärungen zum Thema Mining entnehmen.

4: Transparenz

Die Inhalte einer Blockchain müssen für jeden Nutzer ohne Einschränkung einsehbar sein. Das bedeutet zwar nicht, dass er die nutzen kann, aber eine Zugriffsverweigerung oder Kommunikationen "unter der Hand" sind ausgeschlossen. Eine nicht Nutzbarkeit kann dadurch entstehen, dass die Daten verschlüsselt sind.

Wie funktioniert das?

Bitcoin Block digitales Gold

Eine Blockchain besteht aus verschiedenen Daten, die in Blöcken gebündelt werden.

Damit diese Daten in Form eines Blockes in die Blockchain aufgenommen werden können, bedarf es den oben genannten Mining Prozess. Stellen Sie sich diesen Prozess nun erstmal vereinfacht als Abstimmung der Community vor, die über einen Block entscheidet.

In so einem Block befinden sich Daten, die grundsätzlich alles Mögliche sein können. Bei Kryptowährungen sind diese Daten z.B. Transaktionen. Ähnlich wie bei einer Banküberweisung enthält so eine Transaktion dann Informationen über Sender, Empfänger, Betrag und einen Zeitstempel. 

Wenn die Daten stimmig sind, wird der Block mit Transaktionen in die Blockchain aufgenommen und ist für jeden einsehbar. 

Die Grundsätze Konsensmechanismus und Transparenz sind also eng mit der Abstimmung, dem Mining verbunden.

Wie kommt es nun zur Unveränderlichkeit der vorhandenen Blöcke?

Dieser Grundsatz wird garantiert, in dem in jedem Block der neu zu der Blockchain hinzugefügt wird, ein eindeutiger Verweis zu dem vorherigen Block vorhanden ist. Dieser Verweis wirkt zwar unscheinbar, garantiert also, dass die Blockchain nicht nachträglich verändert werden kann, beispielsweise wenn ein Betrüger eine vorherige Transaktion an sich selber adressieren möchte. 

Ein Verweis ist nämlich immer eine Bestätigung der vorhanden Blöcke und quasi eine Mini Zusammenfassung aller vorherigen Daten. Wird an einem älteren Block etwas verändert, sind die Verweise der nachträglichen Blöcke nicht länger logisch.

Mit diesem Verweisen steigt demnach also auch immer die Sicherheit  der vorherigen Transaktionen, da mit jedem Block eine weitere Sicherheitsstufe generiert wird. 

  

Private Key und Public Adress

Die bei einer Transaktion beigefügten Informationen darf man sich allerdings nicht als "ganz normal" vorstellen, Sie schicken als keine Bitcoins an Max Mustermann und Sie unterschreiben, also bestätigen, eine Transaktion auch nicht mit Ihrer Unterschrift.

Dafür gibt es die Public Adress, sowie den Private Key. 

Wie der Name schon sagt, ist die public Adress die öffentliche Adresse von einem Empfänger. Diese existieren auf der Blockchain in unvorstellbaren Mengen und werden jedem Nutzer zugeordnet. Ganz grob gesagt kann man sich die public Adress also als Kontonummer eines Nutzers vorstellen. Wie greift dieser aber auf das Konto zu?

 

Dafür bedarf es den private Key. Dieser bietet dem Nutzer die Möglichkeit, auf alles das, was unter der public Adress gespeichert ist, zuzugreifen. Es ist also, vereinfacht gesagt, so etwas wie die Pin für die auf dem Konto hinterlegten Bitcoin. 

Es ist also essentiell, dass ein Nutzer stets Zugang zu seinen private Keys besitzt!

 

Private Key und public Adress sind also immer aneinander gekoppelt und mit Hilfe mathematischer Verfahren auch auseinander errechenbar. Ist jemanden ein private Key zugeordnet worden, kann er verhältnismäßig leicht auch die public Adress bestimmen. Das stellt kein Problem dar, da ja nur der Besitzer der public Adress den private Key kennen sollte.

Andersherum wäre dieser Fall aber dramatisch, wenn aus der öffentlichen Adresse der geheime Zugang berechnet werden könnte. Glücklicherweise ist die mathematische bzw. kryptografische Verbindung so gewählt, das eine Berechnung auf diesem Weg praktisch ausgeschlossen ist.

 

Auf Grund des Vorhandenseins dieser public Adresses anstelle von echten Namen wird die Blockchain auch als anonym bezeichnet. Ein Zuordnung von einer Adresse zu einem Menschen ist als generell sehr schwierig und nur in Ausnahmefällen möglich.

 

Kombinationen für einen solchen Private Key gibt es schier unendlich.

Der Private Key ist 256 Stellen lang und besteht aus Nullen und Einsen. Somit ist die unfassbare Anzahl von 2 hoch 256 (!) Kombinationsmöglichkeiten erstellbar. Damit sollte klar sein, dass ein Private Key vor einfachem Erraten eines Angreifers bestmöglich geschützt ist. Häufig wird uns der Private Key in der sogenannten hexadezimalen Schreibweise präsentiert. Durch die Transformation entsteht ein 64 Stellen langer Code aus Zahlen und Buchstaben. Im Normalfall wird dieser Private Key von ihrer Wallet berechnet.

Wem gehört was ?

Sehr wichtig zu verstehen ist ebenfalls, dass auch wenn mir ein private Key zugeordnet wurde, dass ich auf der Blockchain nicht als Eigentümer oder ähnliches anzusehen bin. Mit dem private Key sind Sie lediglich in der Lage, auf die Werte zuzugreifen. Hier kann man eben auch erkennen, wie wichtig es ist, wirklich die private Keys zu kennen und sich nicht nur auf die Arbeit von Wallets zu verlassen. Was ein Wallet ist, lesen Sie hier nach.

Lassen Sie die private Keys von einem drittem Verwalten, sind Sie objektiv betrachtet in keiner Weise in der Lage, Anspruch auf die Werte zu besitzen. Sie sind stets auf die Funktionalität und dem guten Willen des Dritten angewiesen.

Hack- oder zerstörbar?

Hacker  Programm Code Binärcode Blockchain

Ist es nun aber vielleicht möglich, eine Blockchain zu attackieren oder gar zu zerstören?

Theoretisch ja, praktisch nein. Generell gilt: Wenn eine Blockchain groß ist und dementsprechend viele Nutzer hat, wird es sehr schwer. 

Es gibt verschiedene Angriffspunkte bei einer Blockchain.

Einer besteht z.B. im Konsensus Mechanismus. Wie eben beschrieben, finden immer kurze Abstimmungen ab, ob die Mehrheit der Nutzer mit der Historie der Kette zufrieden ist. Eine 51 % Attacke versucht genau diese Abstimmungen zu beeinflussen. Die Idee ist klar, wenn man über mehr als die Hälfte der Hashrate verfügt, also den Großteil des Stimmrechts, kann man die Abstimmungen manipulieren. Eine Möglichkeit wäre einen Block zu erstellen, der gefälschte Transaktionen enthält. Also z.B. eine Überweisung über etliche Bitcoins an sich selber. Normalerweise würde so ein Block natürlich durch die Mehrheit des System abgelehnt werden. Bei der Attacke sorgt man nun aber dafür, dass so ein Block in die Historie aufgenommen wird, da die "richtigen" Stimmberechtigten ja keine Wahl mehr entscheiden können.

Theoretisch ist diese Attacke möglich. Praktisch scheitert das aber an 2 Punkten. Erstens dürfen die betrogenen 49% der Abstimmer nichts davon mitkriegen. Sonst würden diese die Blockchain verlassen und der Coin würde massiv an Wert verlieren. Der für den Betrüger entstandene Profit wäre dadurch gering. Zweitens ist es in einem großen Netzwerk extrem schwierig überhaupt 51% der Abstimmungsrechte zu erhalten. Es ist durch den sogenannten Proof-of-Work nämlich notwendig, eine Arbeit zu verrichten, um an der Abstimmung teilzunehmen. Ein anderes Modell ist z.B. Proof-of-Stake, wo bezahlt werden muss, um an der Abstimmung teilzunehmen. Durch dieses Verfahren wird gewährleistet, dass man eben nicht umsonst am Konsensus Mechanismus mitwirkt, sondern für Abstimmungsrechte immer einen Preis bezahlen muss. Eben dieser wäre für 51 % der Rechte in der Bitcoin Blockchain unfassbar groß und praktisch unmöglich durchzuführen.

 

Eine Sybil Attacke greift auch wieder das Abstimmungsverfahren an. Sie ist dadurch gekennzeichnet, dass Bots an der Abstimmung teilnehmen können. Diese Bots würden kostenlos und natürlich aus eigenem Interesse die Abstimmung beeinflussen. Auch diese Attacke wird durch Mechanismen wie Proof-of-Work verhindert. Kostenloses bzw. günstiges Teilnehmen an einer Abstimmung geht nicht! 

Übrigens ist das auch einer der Wege um z.B. ihren E-Mail-Account vor Spam-Mails zu schützen. Jede E-Mail bedarf einer bestimmten Leistung und so würden beim Versenden von unendlich vielen E-Mails auch unendlich hohe Kosten entstehen.

 

Eine weitere Möglichkeit um innerhalb einer Blockchain zu manipulieren, ist das Zurückhalten von Blöcken. Wie geht das? 

Wie bereits in anderen Artikeln beschrieben, werden die Blöcke in der Blockchain von Minern erzeugt. Es ist ein reines Wahrscheinlichkeitsspiel, wann er entsteht. Durch die Mining Difficulty wird gewährleistet, dass im Regelfall die Dauer für das Erzeugen eines Blockes konstant bei ca. 10 Minuten bleibt. 

Tritt nun der unwahrscheinliche Fall ein, dass ein Miner einen Block schon nach beispielsweise 2 Minuten erstellt hat, würde er ihn normalerweise freigeben. Das System würde über diesen abstimmen und der Miner erhielte seine Belohnung.

Was passiert nun aber, wenn er den gelösten Block nicht freigibt? 

Der Miner kann nach dem Lösen des Blockes nun schon mit der Berechnung des nächsten Blockes anfangen!

Wieso macht das Sinn? Weil der Miner nun für den 2. Block vergleichsweise viel Zeit benötigt. Gehen wir davon aus, dass alle anderen im System für beide Blöcke die durchschnittliche Dauer von 10 Minuten benötigen, hat der "Angreifer" nun 8 Minuten länger Zeit auch diesen zu erstellen. Angenommen er schafft es, in den 18 Minuten nun auch noch den 2. Block zu errechnen, kann er beide zur Abstimmung stellen. Was passiert nun?

Das System wird die neuen 2 Blöcke akzeptieren, da ja der 1. Block auch eine gültige Fortführung der Historie ist. Somit würde der Miner nun die Belohnung für beide Blöcke kassieren.

In der Blockchain entsteht nun ein sogenannter Orphan-Block. Dieser wurde ausgetauscht, da die 2 "Angreifer-Blöcke" eine längere, gültige Kette verursachen und das immer bevorzugt wird. Der ursprünglich angehängte Block ist nun verwaist. 

Aber auch hier ist der ganze Prozess in der Realität schwierig zu vollziehen. Die Wahrscheinlichkeit einen Block so viel früher zu lösen, geht extrem stark gegen Null!

EU und Blockchain Regulierung Schloss

Ein stark kritisierter Aspekt, ist die Regulierung durch Staaten. Darunter wird verstanden, dass Regierungen z.B. den Handel mit Kryptowährungen verbieten. Sie können auch gegen Miner vorgehen und beispielsweise deren Hardware beschlagnahmen. Hier muss jeder für sich selber entscheiden, für wie wahrscheinlich er es hält, dass es soweit kommen kann. Nur so viel: Rein technisch wäre dieser Schritt vergleichbar mit der weltweiten Verbietung des Internets!

Ein weiterer Angriffspunkt in einem konservativen System ist eine Datenbank. In ihr sind beispielsweise alle Passwörter der Kunden mit dazu gehörigen Bankverbindung aufgehoben. Trotz riesiger kryptografischer Barrieren sind in der Vergangenheit immer wieder Beispiele von Datenklau bekannt geworden. Entweder durch Veruntreuung oder tatsächlich durch einen Hacker-Angriff. Dieses Problem fällt auf einer Blockchain komplett weg! Es gibt keine Datenbänke oder sonstige zentrale Instanzen, die Angriffspunkt werden könnten. Somit bietet eine Blockchain hier natürlich einen weiteren großen Vorteil.

Probleme

Eines der größten Probleme der Blockchain ist die Skalierbarkeit. Wie eben erklärt, besteht die Blockchain aus verschiedenen Blöcken, die Informationen beinhalten. Diese sind durch ihre festgesetzte Größe aber limitiert und können nicht unendlich viele Daten speichern. In der Bitcoin Blockchain sind dadurch z.B. maximal 7 Transaktionen pro Sekunde möglich. Das klingt auf den ersten Blick gar nicht so wenig. Wenn man aber bedenkt, dass bei PayPal z.B. mindestens 60 Transaktionen pro Sekunde verarbeitet werden, erkennt man das Problem. Kommen nun mehr als die maximal möglichen Transaktionen auf, kommt es zu einem regelrechten Stau auf der Blockchain. Die sonst so schnelle Transaktionszeit steigt an und das System ist verstopft. 

Problematisch ist ebenfalls genau der Punkt, mit dem die Blockchain eigentlich punktet: Jeder soll alles wissen. Wird die Blockchain nun immer größer, müssen alle immer noch auf dem neusten Stand bleiben, d.h. die gesamte Historie kennen und bestätigen. Dadurch entstehen in Zukunft riesige Datenmengen. Verschiedene neuere Projekte versuchen diesen Punkt zu umgehen. In deren Systemen reicht es, wenn nur noch eine Gruppe rund um die Transaktion Bescheid weiß. Von diesen Gruppen gibt es nun mehrere und wenn alles ordentlich arbeiten und sich einig sind, kann dieses Problem umgangen werden. Dieses Prinzip ist aber eigentlich ein Schritt gegen die Dezentralisierung und verstößt gegen die Prinzipien der Blockchain. Auf Grund der technischen Vorteile haben diese Projekte aber natürlich trotzdem ihre Legitimation!

 

Ein weiteres Problem, das in Zusammenhang mit der Blockchain genannt wird, ist der Energieverbrauch. Genauer gesagt der Energieverbrauch, der beim Mining Prozess anfällt. Wie bereits häufiger angeschnitten, wird in den meisten Blockchains das Proof-of-Work Prinzip verwendet, was durch die immensen Rechenleistung einen hohen Stromverbrauch mit sich zieht.

Neben den technischen Problemen, muss die Blockchainwelt auch ethische Probleme lösen. Generell gilt nämlich: "Code is Law". Das bedeutet so viel: Egal was passiert, der Computer hat immer Recht. Es gab schon mehrere Vorfälle in denen nur Nachteile durch die Verfolgung dieses Gebotes entstanden sind. Beispielsweise, wenn durch einen Bug bestimmte Zugänge zu Coins verwehrt werden, sprich Geld verloren wird. Häufig ist es technisch möglich, diese Coins "wiederzubeleben" und so den Menschen ihr Geld zurückzugeben. Aber darf man das? Wenn der Code immer Recht hat, eigentlich nicht. Aber würden dadurch nicht überwiegend Vorteile entstehen? Eigentlich ja. Aber wo wäre die Grenze? Kriegen Menschen auch bei selbstverschuldeten Verlusten ihr Geld wieder? Oder bei Betrug? Oder muss erst eine bestimmte Summe fehlen, um diese wieder zu bekommen? Diese Frage kann bis jetzt keiner so genau beantworten.

Aber auch rund um den Smart-Contract auf der Ethereum Blockchain gibt es ethische Bedenken. Den Vertrag interessiert es nicht, ob z.B. ethisch äußerst fragwürdige Methoden zur Erfüllung der im Vertrag festgeschriebenen Bedingung eingesetzt wurden. Im Vertrag könnte beispielsweise festgeschrieben sein, dass Person A eine Geldmenge erhält, sobald Person B stirbt. Es wäre quasi eine Lebensversicherung. Bringt Person A nun aber Person B um, würde sie trotzdem das Geld erhalten. Dem Vertrag ist egal, wie Person B stirbt. Ist er tot, ist die Bedingung erfüllt und das Geld wird gezahlt. 

Da gilt, dass der Code immer Recht hat, könnte man das auch nicht anfechten.

Problemlösungen

Blokchain Problemlösungen Glühbirne Denkblase

Es gibt glücklicherweise schon genug Ideen, wie man die Probleme einer Blockchain massiv verringern kann. 

Gerade bei der Skalierung, gibt es äußerst interessante und vielversprechende Ideen.

Eine Möglichkeit ist, die Blockgröße selber zu erhöhen. So ist es übrigens auch bei Bitcoin passiert, als es einen Hard Fork zu Bitcoin Cash gab. In der alternativen Währung Bitcoin Cash ist alles gleich, außer dass die Blockgröße von einem MB, wie bei Bitcoin, auf 8 MB erhöht wurde. Somit ist eine höhere Belastbarkeit vorhanden und temporär stellt dieses Verfahren eine legitime Lösung dar. Nur wird auch hier die Kapazität irgendwann erreicht sein und somit nach einer anderen Lösung gesucht werden müssen.

Bei Bitcoin gab es im Jahr 2017 noch ein weiteres Update, einen Soft Fork namens SegWit. Um zu verstehen, warum SegWit auch nur temporär wirkt, muss wieder ein Blick auf die Blockchain geworfen werden. Die einzelnen Blöcke bestehen aus Informationen über z.B. Transaktionen, Adressen und sonstige relevante Daten. Auf der Bitcoin Blockchain heißt das, dass in einen 1 MB großen Block, ca. 4250 Transaktionen "passen". Der Ansatzpunkt von SegWit liegt nun darin, nicht die Blockgröße zu verändern, sondern die Datenmenge die in den Block aufgenommen werden soll, zu verringern. Genau gesagt wurde durch ein neues System, ca. doppelt so viel Platz für andere Transaktionen geschaffen. Erreicht wurde dies, durch einen anderen Umgang mit dem Private Key. Diese Zeichenfolge nahm vor SegWit Platz im Block weg, durch das Update werden die anderen Daten nun aber nur noch von dem Private Key "unterschrieben". Dadurch gibt es aber keinen Verlust im Punkto Sicherheit!

Eine weitere, sehr vielversprechende Lösung ist das Lightning Netzwerk. Durch die Integration von diesem System in die Bitcoin Blockchain, kann eine Kommunikation zwischen zwei Partnern "off-Chain" ablaufen. Vorgestellt werden kann sich das dadurch, dass sie innerhalb diese Netzwerkes die Möglichkeit haben, einen Kanal mit einer anderen Person zu öffnen. Zu Beginn wird der eigentlichen Blockchain mitgeteilt, wie viele Bitcoins sie in diesem Kanal transferieren. In unserem Beispiel nehmen Max und Chris 5 Bitcoins mit in ihren Kanal. Das wird auf der eigentlichen Blockchain vermerkt. Mit diesen 5 Bitcoins können Max und Chris nun aber machen was sie wollen, solange es unter ihnen bleibt. Die Blockchain muss erst informiert werden, sobald der Kanal aufgelöst wird und die 5 Bitcoins mit anderen in Kontakt kommen.

Was bringt das ?  Ganz einfach, stehen Max und Chris in einer geschäftlichen Beziehung zu einander und überweisen sich täglich bestimmte Beträge, kann das innerhalb eines Lightning Kanals wundervoll abgewickelt werden. Die Blockchain selber wird aber massiv entlastet, da nicht jede Transaktion zwischen den Beiden auf der Blockchain gespeichert und von Minern kontrolliert werden muss. Daraus resultiert auch der Name: "off-Chain". Gleiche Versuche gibt es auch auf der Ethereum Blockchain, dort heißt das Projekt Raiden.

Das Problem der Energieversorgung ist bereits heute lösbar. Es gibt Methoden, die auch ohne Proof-of-Work auskommen. Beim Proof-ok-Stake Verfahren wird z.B. statt verrichteter Arbeit ein minimaler Wert verlang, um an einer Abstimmung teilzunehmen. Somit würden der Energieverbrauch nur noch durch "normale" Computerleistungen entstehen. Aber auch das Proof-of-Work Verfahren wird stetig verbessert. Mit kontinuierlich besser werdender Hardware wird an der Stellschraube Energieverbrauch massiv gedreht werden.