Was ist Blockchain?

Was ist Blockchain-Technologie?

Sofern Sie sich nicht unter einem Felsen verstecken, sind wir sicher, dass Sie von Bitcoins und Blockchain gehört haben. Schließlich sind sie heute die Trend- und Lieblingsthemen der Medien und sogar die Schlagworte des Jahres. Sogar die Leute, die noch nie eine Kryptowährung abgebaut haben oder verstehen, wie sie funktioniert, sprechen darüber. Und wenn das passiert, kommt die Zeit, etwas zu schreiben, auf das jeder die anderen verirrten Seelen hinweisen kann, um in einfachem Deutsch zu schreiben, was jeder normale Internetnutzer versteht.

Inhaltsverzeichnis

Der Grund für die Blockchain-Technologie

Im Gegensatz zu jedem anderen Beitrag im Internet werden wir, anstatt zuerst die Blockchain zu definieren, das Problem verstehen, das sie löst.

Stellen Sie sich vor, Joe ist Ihr bester Freund. Er reist nach Übersee, und am fünften Tag seines Urlaubs ruft er Sie an und sagt: "Alter, ich brauche etwas Geld. Mir ist es ausgegangen." Sie antworten: "Sende dir sofort etwas" und legen auf.

Überweisung von Geldern

Dann rufen Sie Ihren Kundenbetreuer bei Ihrer Bank an und sagen ihm: "Bitte überweisen Sie $1000 von meinem Konto auf Joes Konto." Ihr Kundenbetreuer antwortet: "Ja, natürlich." Er öffnet die Kasse, überprüft Ihren Kontostand, um zu sehen, ob Sie genügend Guthaben haben, um $1000 an Joe zu überweisen. Da Sie ein reicher Mann sind, haben Sie genug; deshalb macht er einen Eintrag in das Register wie folgt:

Transaktionsregister

Sie rufen Joe an und sagen ihm: "Ich habe das Geld überwiesen. Nächstes Mal, wenn du zu deiner Bank gehst, kannst du die $1000 abheben, die ich gerade überwiesen habe."

Was ist gerade passiert? Sie und Joe haben beide der Bank vertraut, um Ihr Geld zu verwalten. Es gab keine wirkliche Bewegung von echten Banknoten, um das Geld zu überweisen. Alles, was nötig war, war ein Eintrag in das Register. Oder genauer gesagt, ein Eintrag in das Register, das weder Sie noch Joe kontrollieren oder besitzen. Und das ist das Problem der heutigen Systeme. Seit Jahren sind wir darauf angewiesen, diesen Vermittlern zu vertrauen. Sie könnten sich fragen: "Was ist das Problem, das von ihnen abhängt?"

Um Vertrauen zwischen uns zu schaffen, sind wir auf einzelne Dritte angewiesen. 
- Mohit Mamoria 

Das Problem ist, dass sie in ihrer Anzahl einzigartig sind. Wenn ein Chaos in die Gesellschaft eingespeist werden muss, genügt es, wenn eine Person/Organisation korrupt wird, absichtlich oder unabsichtlich.

  • Was passiert, wenn das Register, in dem die Transaktion protokolliert wurde, bei einem Brand verbrannt wird?
  • Was wäre, wenn Ihr Kundenbetreuer versehentlich 1500 $ statt 1000 $ geschrieben hätte?
  • Was, wenn er das absichtlich getan hat?

Seit Jahren legen wir alle unsere Eier in einen Korb und das auch in den von jemand anderem. 
- Mohit Mamoria 

Könnte es ein System geben, bei dem wir noch Geld überweisen können, ohne die Bank zu benötigen? Um diese Frage zu beantworten, müssen wir weiter nachschlagen und uns eine bessere Frage stellen. Denken Sie eine Sekunde darüber nach, was Geldtransfer bedeutet? Nur einen Eintrag im Register. Die bessere Frage wäre dann: Gibt es eine Möglichkeit, das Register untereinander zu führen, anstatt dass jemand anderes es für uns tut?

Für jedes komplexe Problem gibt es eine klare, einfache und falsche Antwort.
- H. L. Mencken 

Nun, das ist eine Frage, die es wert ist, untersucht zu werden. Und die Antwort ist das, was Sie vielleicht schon erraten haben. Die Blockchain ist die Antwort auf diese tiefe Frage. Es ist eine Methode, dieses Register unter uns aufrechtzuerhalten, anstatt von jemand anderem abhängig zu sein, es für uns zu tun. Sind Sie noch bei mir? Gut. Denn jetzt, wenn Ihnen mehrere Fragen in den Sinn gekommen sind, werden wir erfahren, wie dieses verteilte Register funktioniert.

Was ist die Blockchain-Technologie?

Die Anforderung an diese Methode ist, dass es genügend Menschen geben muss, die nicht von einem Dritten abhängig sein möchten. Nur dann kann diese Gruppe das Register selbstständig pflegen. Wie viele sind genug? Mindestens drei. Für unser Beispiel gehen wir davon aus, dass zehn Personen Banken oder Dritte aufgeben wollen. Im gegenseitigen Einvernehmen verfügen sie ständig über Details zu den Konten der anderen - ohne die Identität der anderen zu kennen.

Zehn Personen
  1. Ein leerer Ordner
    Jeder davon enthält zunächst einen leeren Ordner mit sich selbst. Im weiteren Verlauf werden alle diese zehn Personen weiterhin Seiten zu ihren derzeit leeren Ordnern hinzufügen. Und diese Sammlung von Seiten bildet das Register, das die Transaktionen verfolgt.

  2. Wenn eine Transaktion stattfindet
    Sitzt jeder im Netzwerk mit einer leeren Seite und einem Stift in der Hand. Jeder ist bereit, jede Transaktion zu notieren, die innerhalb des Systems stattfindet.

    Nun, wenn Person 2 $10 an Person 9 schicken will.

    Um die Transaktion durchzuführen, ruft Person 2 und sagt allen: "Ich möchte $10 auf Person 9 übertragen. Also, Leute, bitte notiert es euch auf euren Seiten."

    USD 10 Überweisung


    Jeder überprüft, ob #2 genügend Guthaben hat, um $10 an #9 zu überweisen. Wenn sie genügend Guthaben hat, notiert sich jeder die Transaktion auf seinen leeren Seiten.

    Erste Transaktion


    Die Transaktion gilt dann als abgeschlossen.

  3. Transaktionen werden fortgesetzt
    Im Laufe der Zeit haben immer mehr Menschen im Netzwerk das Bedürfnis, Geld an andere zu überweisen. Wann immer sie eine Transaktion durchführen wollen, geben sie diese allen anderen bekannt. Sobald eine Person die Ankündigung hört, schreibt sie diese auf ihre Seite. Diese Vorgehensweise wird fortgesetzt, bis allen auf der aktuellen Seite der Platz ausgeht. Angenommen, auf einer Seite ist Platz für zehn Transaktionen, sdann geht jedem der Platz aus, sobald die zehnte Transaktion durchgeführt wird.

    Keine Seite mehr


    Es ist an der Zeit, die Seite in den Ordner zu legen und eine neue Seite hervorzubringen und den Vorgang von Schritt 2 oben zu wiederholen.

  4. Die Seite wegräumen
    Bevor wir die Seite in unsere Ordner legen, müssen wir sie mit einem einzigartigen Schlüssel versehen, dem jeder im Netzwerk zustimmt. Indem wir sie versiegeln, stellen wir sicher, dass niemand etwas daran ändern kann, sobald die Kopien in der Mappe aller Beteiligten abgelegt sind - nicht heute, nicht morgen und nicht einmal nach einem Jahr. Einmal im Ordner, bleibt es immer im Ordner - versiegelt. Außerdem, wenn jeder dem Siegel vertraut, vertraut jeder dem Inhalt der Seite. Und diese Versiegelung der Seite ist der Kern dieser Methode.

    Zuvor hatte uns der Drittanbieter/Mittelmann das Vertrauen gegeben, dass das, was er in das Register eingetragen hat, nie geändert wird. In einem verteilten und dezentralen System wie dem unseren wird dieses Siegel stattdessen das Vertrauen schaffen.

Wie funktioniert das verteilte und dezentrale System?

Bevor wir erfahren, wie wir die Seite versiegeln können, werden wir sehen, wie das Siegel im Allgemeinen funktioniert. Und die Voraussetzung dafür ist, etwas zu lernen, das als "Hash-Funktion" bezeichnet wird.

Hashing-Funktion

Angenommen, Sie senden die Zahl 4 im Innern von links, wir würden feststellen, dass diese das folgende Wort auf der rechten Seite ausgegeben hat: "dcbea". Wie hat es die Zahl 4 in dieses Wort umgewandelt? Niemand weiß es. Zudem ist es ein unumkehrbarer Prozess. Angesichts des Wortes "dcbea" ist es unmöglich zu sagen, was der Maschine auf der linken Seite zugeführt wurde. Aber jedes Mal, wenn Sie der Maschine die Nummer 4 zuführen, wird sie immer das gleiche Wort ausgeben, "dcbea".

Hash dcbea

Angesichts des Wortes "dcbea" ist es unmöglich zu sagen, was der Maschine auf der linken Seite zugeführt wurde. Aber jedes Mal, wenn Sie der Maschine die Nummer 4 zuführen, wird sie immer das gleiche Wort ausgeben, "dcbea". Lassen Sie uns versuchen, eine andere Nummer einzugeben. Wie wäre es mit 26?

Hash 94c8e

Diesmal haben wir 94c8e'. Interessant! So können die Wörter auch Zahlen enthalten. Was wäre, wenn wir Ihnen jetzt die folgende Frage stellen würden: "Können Sie mir sagen, was ich von der linken Seite der Maschine senden soll, so dass ich ein Wort bekomme, das mit drei führenden Nullen von der rechten Seite der Maschine beginnt? Zum Beispiel 000ab oder 00098 oder 000fa oder irgendetwas anderes."

Vorhersage der Eingabe

Denken Sie einen Moment lang über die Frage nach. Ich habe Ihnen gesagt, dass die Maschine eine Eigenschaft hat, die wir nicht berechnen können, was wir von links senden müssen, nachdem wir die erwartete Leistung auf der rechten Seite erhalten haben. Wenn uns eine solche Maschine gegeben wird, wie können wir dann die Frage wie gewünscht beantworten? Wir können uns eine Methode vorstellen. Warum versuchen wir nicht jede Zahl im Universum einzeln, bis wir ein Wort bekommen, das mit drei führenden Nullen beginnt?

Alles ausprobieren

Wenn wir optimistisch sind, werden wir nach mehreren tausend Versuchen eine Zahl haben, die die gewünschte Leistung auf der rechten Seite liefert.

Es war extrem schwierig, die Eingabe anhand der Ausgabe zu berechnen. Aber gleichzeitig wird es immer unglaublich einfach zu überprüfen sein, ob die vorhergesagte Eingabe die gewünschte Leistung bringt. Denken Sie daran, dass die Maschine jedes Mal das gleiche Wort für eine Zahl ausgibt. Wie schwierig ist Ihrer Meinung nach die Antwort, wenn wir Ihnen eine Zahl, sagen wir 72533, geben und Ihnen die Frage stellen: Liefert diese Zahl, wenn sie in die Maschine eingegeben wird, ein Wort, das mit drei führenden Nullen beginnt? Alles, was Sie tun müssen, ist, die Nummer in die Maschine einzuwerfen und zu sehen, was Sie auf der rechten Seite davon erhalten haben. Das ist es.

Die wichtigste Eigenschaft solcher Maschinen ist, dass es bei einer Ausgabe extrem schwierig ist, die Eingabe zu berechnen, aber angesichts der Eingabe und der Ausgabe ist es ziemlich einfach zu überprüfen, ob die Eingabe zur Ausgabe führt. Wir werden uns an diese eine Eigenschaft der Hash-Funktionen über den Rest des Beitrags erinnern: "Bei einem Output ist es extrem schwierig, den Input zu berechnen, aber bei einem Input und Output ist es ziemlich einfach zu überprüfen, ob der Input zum Output führt".

Wie funktioniert die Blockchain-Technologie?

Wir verwenden die Hashing-Funktion, um ein Siegel für unsere Seite zu generieren. Wie immer beginnen wir mit einer imaginären Situation. Stellen Sie sich vor, wir geben Ihnen zwei Kisten. Das erste Feld enthält die Nummer 20893. Ich frage Sie dann: "Können Sie eine Zahl herausfinden, die, wenn sie zur Zahl in der ersten Box hinzugefügt und der Maschine zugeführt wird, uns ein Wort gibt, das mit drei führenden Nullen beginnt?"

Nummer 20893

Dies ist eine ähnliche Situation, wie wir sie zuvor gesehen haben, und wir haben gelernt, dass der einzige Weg, eine solche Zahl zu berechnen, darin besteht, jede im gesamten Universum verfügbare Zahl zu versuchen. Nach mehreren tausend Versuchen stoßen wir auf eine Zahl, sagen wir 21191, die, wenn sie 20893 hinzugefügt (d.h. 21191 + 20893 = 42084) und der Maschine zugeführt wird, ein Wort ergibt, das unseren Anforderungen entspricht.

Nummer 42084

In einem solchen Fall wird diese Nummer, 21191, zum Siegel für die Nummer 20893. Angenommen, es gibt eine Seite, auf der die Nummer 20893 steht. Um diese Seite zu versiegeln (d.h. niemand kann den Inhalt ändern), werden wir ein Abzeichen mit der Bezeichnung 21191" darauf anbringen. Sobald die Siegelnummer (z.B. 21191) auf die Seite gesetzt wird, wird die Seite versiegelt.

Nummer 20893 Versiegelt

Wenn jemand überprüfen möchte, ob die Seite verändert wurde, müsste er nur den Inhalt der Seite mit der Siegelnummer hinzufügen und an die magische Maschine übergeben. Wenn die Maschine ein Wort mit drei führenden Nullen ausgibt, wurde der Inhalt nicht verändert. Wenn das Wort, das herauskommt, nicht unseren Anforderungen entspricht, können wir die Seite wegwerfen, weil ihr Inhalt beeinträchtigt wurde und keinen Nutzen hat. 

Wir werden einen ähnlichen Verschlussmechanismus verwenden, um alle unsere Seiten zu versiegeln und eventuell in unseren jeweiligen Ordnern anzuordnen. Um unsere Seite, die die Transaktionen des Netzwerks enthält, zu versiegeln, müssen wir eine Zahl herausfinden, die, wenn sie an die Liste der Transaktionen angehängt und an die Maschine übergeben wird, ein Wort ergibt, das mit drei führenden Nullen auf der rechten Seite beginnt.

Nummer 000

Sobald diese Zahl berechnet wurde, nachdem Zeit und Strom an dem Gerät verbraucht wurden, wird die Seite mit dieser Zahl versiegelt. Wenn jemals jemand versucht, den Inhalt der Seite zu ändern, erlaubt die Siegelnummer jedem, die Integrität der Seite zu überprüfen. Nun, da wir über das Versiegeln der Seite Bescheid wissen, werden wir in die Zeit zurückkehren, als wir die zehnte Transaktion auf der Seite geschrieben hatten, und wir hatten keinen Platz mehr, um mehr zu schreiben.

Sobald jeder die Seite verlässt, um weitere Transaktionen zu schreiben, berechnet er die Siegelnummer für die Seite, damit sie im Ordner verstaut werden kann. Jeder im Netzwerk führt die Berechnung durch. Der erste im Netzwerk, der die Siegelnummer herausfindet, meldet sie an alle anderen.

Siegelnummer 912574

Sofort nach dem Hören der Siegelnummer überprüft jeder, ob sie die gewünschte Leistung bringt oder nicht. Wenn ja, beschriftet jeder seine Seiten mit dieser Nummer und legt sie in seinen Ordnern ab. Aber was wäre, wenn für jemanden, sagen wir Person 7, die angekündigte Siegelnummer nicht die gewünschte Leistung bringt? Solche Fälle sind nicht ungewöhnlich. Die möglichen Gründe dafür könnten sein:

  • Sie könnte die Transaktionen, die im Netzwerk angekündigt wurden, falsch verstanden haben.
  • Sie könnte die Transaktionen, die im Netzwerk angekündigt wurden, falsch geschrieben haben.
  • Sie könnte versucht haben, zu betrügen oder unehrlich zu sein, wenn sie Transaktionen schreibt, entweder um sich selbst oder jemand anderen im Netzwerk zu bevorzugen.

Egal was der Grund ist, Person 7 hat nur eine Wahl. Seine Seite zu verwerfen und von jemand anderem zu kopieren, damit auch sie sie in den Ordner legen kann. Wenn sie ihre Seite nicht in den Ordner legt, kann sie keine weiteren Transaktionen mehr schreiben und somit wird ihr verboten, Teil des Netzwerks zu sein.

Was ist Mining und warum sollten Sie das tun?

Warum gibt jeder Mensch Ressourcen für die Berechnung aus, wenn er weiß, dass jemand anderes sie berechnen und ihnen mitteilen wird? Warum nicht einfach warten und auf die Ankündigung warten?

Tolle Frage. Hier kommen die Anreize ins Spiel. Jeder, der Teil der Blockchain ist, hat Anspruch auf Belohnungen. Der erste, der die Versiegelungsnummer berechnet, wird mit kostenlosem Geld für seine Bemühungen belohnt (d.h. für verbrauchte CPU-Leistung und Strom).

Stellen Sie sich einfach vor, wenn Person 5 die Siegelnummer einer Seite berechnet, wird sie mit etwas Geld belohnt, sagen wir $1, was aus dem Nichts geprägt wird. Mit anderen Worten, der Kontostand von Person 5 wird um $1 erhöht, ohne den Kontostand von jemand anderem zu verringern. So entstand Bitcoin. Es war die erste Währung, die auf einer Blockchain (d.h. verteilten Registern) abgewickelt wurde. Und als Gegenleistung, um die Bemühungen im Netzwerk fortzusetzen, wurden die Leute mit Bitcoins ausgezeichnet.

Wenn genügend Menschen Bitcoins besitzen, wachsen sie im Wert, so dass andere Menschen Bitcoins wollen; dass Bitcoins im Wert noch weiter wachsen; dass noch mehr Menschen Bitcoins wollen; dass sie im Wert noch weiter wachsen; und so weiter. Und sobald jeder die Seite in seinen Ordnern weggesteckt hat, bringen sie eine neue leere Seite heraus und wiederholen den ganzen Prozess noch einmal - für immer.

Und so funktioniert die Blockchain. Stellen Sie sich jedoch vor, es befinden sich bereits fünf Seiten im Ordner - alle mit einer Siegelnummer versiegelt. Was passiert, wenn wir zur zweiten Seite zurückkehren und eine Transaktion zu meinem Vorteil ändern? Die Siegelnummer lässt jeden die Inkonsistenz in den Transaktionen erkennen, richtig? Was wäre, wenn wir für die geänderten Transaktionen auch eine neue Siegelnummer berechnen und die Seite damit kennzeichnen würden? Um dieses Problem zu vermeiden, dass jemand zurückgeht und eine Seite (Block) sowie die Siegelnummer ändert, gibt es eine kleine Besonderheit bei der Berechnung einer Siegelnummer.

Ist die Blockchain sicher?

Erinnern Sie sich, dass Sie zwei Kästen hatten - eine mit der Nummer 20893 und eine weitere leer, die Sie berechnen konnten? In Wirklichkeit, um die Versiegelungsnummer in einer Blockchain zu berechnen, gibt es anstelle von zwei Boxen drei - zwei voreingestellte und eine zu berechnende. Und wenn der Inhalt aller drei Boxen hinzugefügt und der Maschine zugeführt wird, muss die Antwort, die von der rechten Seite kommt, die erforderlichen Bedingungen erfüllen.

Wir wissen bereits, dass eine Box die Liste der Transaktionen enthält und eine Box die Siegelnummer. Das dritte Feld enthält die Ausgabe der magischen Maschine für die vorherige Seite.

Drei Boxen

Mit diesem netten kleinen Trick haben wir dafür gesorgt, dass jede Seite von ihrer vorherigen Seite abhängt. Wenn also jemand eine historische Seite ändern müsste, müsste er auch den Inhalt und die Siegelnummer aller folgenden Seiten ändern, um die Kette konsistent zu halten.

Wenn eine von zehn Personen, die wir uns am Anfang vorgestellt haben, versucht, den Inhalt der Blockchain (der Ordner mit den Seiten mit der Liste der Transaktionen) zu betrügen und zu modifizieren, müsste er mehrere Seiten anpassen und auch die neuen Siegelnummern für all diese Seiten berechnen. Wir wissen, wie schwierig es ist, die Versiegelungsnummern zu berechnen. Deshalb kann ein unehrlicher Mensch im Netzwerk die neun ehrlichen nicht schlagen. Was passieren wird, ist, dass die Seite, die der unehrliche Mensch versucht zu betrügen, eine weitere Kette im Netzwerk schaffen würde, aber diese Kette würde nie in der Lage sein, die ehrliche Kette einzuholen - einfach weil die Bemühungen und die Geschwindigkeit eines Menschen die kumulativen Bemühungen und die Geschwindigkeit von neun nicht übertreffen können. Daher ist die Garantie, dass die längste Kette in einem Netzwerk die ehrliche Kette ist.

Die längste Kette ist die ehrlichste Kette.

Als gesagt wurde, dass ein unehrlicher Mensch neun ehrliche Menschen nicht bezwingen kann, hat es da in Ihrem Kopf geklingelt?

Was ist ein Angriff von 51%?

Für den Fall, dass sechs Personen unehrlich werden, anstatt einer, würde das Protokoll einfach ausfallen. Dies wird als "51% Angriff" bezeichnet. Wenn die Mehrheit der Personen im Netzwerk beschließt, unehrlich zu werden und den Rest des Netzwerks zu betrügen, wird das Protokoll seinen Zweck nicht erfüllen.

Und das wäre der einzige Grund, warum Blockchains zusammenbrechen könnten, wenn sie es jemals tun sollten. Sie sollten wissen, dass es unwahrscheinlich ist, dass dies geschieht, aber wir alle müssen die Schwachstellen des Systems kennen. Es basiert auf der Annahme, dass der Großteil einer Menge immer ehrlich ist.

Und das ist alles, was es über Blockchains zu wissen gibt.