Blockchain als Datenstruktur

Hallo Habr!



Heute möchten wir ein neues Diskussionsthema skizzieren und die Blockchain aus Sicht der Informatik - als eine der Datenstrukturen - kurz untersuchen. In letzter Zeit wurde Blockchain zunehmend außerhalb des Kryptowährungssegments verwendet , und dieser Trend verdient sicherlich Aufmerksamkeit. Lass uns darüber reden!



Die Blockchain-Technologie kann auf viele verschiedene Arten erklärt werden. Bis vor kurzem wurde Blockchain hauptsächlich in Bezug auf Kryptowährungen betrachtet. Bitcoin ist die erste Blockchain-Assoziation, die viele von uns haben. Das Speichern von Kryptowährungstransaktionen ist jedoch nur einer der vielen Anwendungsfälle für Blockchain. In diesem Artikel werden wir von diesem Standpunkt zurücktreten und Blockchain im allgemeineren Kontext der Informatik betrachten.



Blockchain ist eine Datenstruktur



Eine Datenstruktur ist eine Möglichkeit zum Speichern, Organisieren und Verwalten von Daten. Über die Datenstruktur können Sie auf diese Daten zugreifen, sie hinzufügen, ändern und nach den in dieser Struktur enthaltenen Daten suchen. Die gebräuchlichsten und grundlegendsten Datenstrukturen umfassen Arrays und verknüpfte Listen .



Array



Das Array enthält eine Reihe von aufgezählten Elementen. Dies können Zahlen, Buchstaben, Wörter oder sogar ganze Dateien sein. Dank der Indizes können Sie auf jedes einzelne Element im Array verweisen. Wenn Sie also einen Eintrag in einem Array ändern möchten und wissen, wo er sich befindet, können Sie sofort darauf zugreifen .







Eindimensionales Array mit sechs Elementen



Verknüpfte Listen



Knoten sind Datenelemente, die in einer verknüpften Liste enthalten sind. Der Knoten enthält mindestens ein Datenobjekt und einen Zeiger auf das nächste Element. Die Funktion eines Zeigers besteht darin, dem Computer mitzuteilen, wo sich das nächste Element in einer bestimmten Liste befindet.



Wenn Sie sich das erste Element in der Liste ansehen und auf das zweite verweisen möchten, sehen Sie sich den Zeiger an, der Sie zum nächsten Knoten führt. Das Hinzufügen von Daten zu einer verknüpften Liste ist einfacher als zu einem Array, da sie um einen Knoten erweitert werden müssen und das Hinzufügen von Daten zu einem Array die Anzahl der Elemente in diesem Array erhöht. Wenn Sie jedoch mit verknüpften Listen arbeiten, haben Sie keinen sofortigen Zugriff auf die Daten.



Wenn Sie in einer verknüpften Liste nach einem bestimmten Datenelement suchen, sehen Sie sich zuerst den ersten Knoten in dieser Liste an, dessen Kopf... Wenn dies nicht das gesuchte Element ist, folgen Sie dem Zeiger, der Sie zum nächsten Knoten führt. Wenn dieser Knoten nicht die Daten enthält, nach denen Sie suchen, folgen Sie weiterhin den Links von Knoten zu Knoten, bis Sie die Daten finden, die Sie benötigen.







Verknüpfte Liste mit drei Knoten



Blockchain



Im Kontext von Datenstrukturen ähnelt Blockchain am ehesten einer verknüpften Liste. Außerdem werden Daten in der Blockchain in Container unterteilt, die als Blöcke bezeichnet werden . Die Blöcke sind sehr ähnlich zu verketteten Liste Knoten . Jeder Block enthält einen Link, der ein Hash des vorherigen Blocks ist. Es fungiert als Glied zum vorherigen Block und hilft, die Ordnung in der Blockkette aufrechtzuerhalten.







Der Hauptunterschied zwischen Blockchain und verknüpfter Liste besteht darin, dass jeder Link in der Blockchain kryptografisch gesichert ist. Möglicherweise haben Sie den Begriff "nur anhängen" für die Blockchain gehört. Dies bedeutet, dass Sie der Blockchain nur dann neue Daten hinzufügen können, wenn Sie die Kette von vorne abschließen. Die Gültigkeit geschützter Links wird ständig überprüft. Wenn es möglich wäre, einen böswilligen Block in die Mitte der Blockchain einzufügen, beispielsweise zwischen den Blöcken 1 und 3 im folgenden Diagramm, wäre es möglich, einen Link zum vorherigen Block 1, aber nicht zum nächsten Block 3 zu setzen.







Jeder neue Block wird auf dem vorhandenen aufgebaut, und diese Prozedur wird normalerweise als Bestätigung bezeichnet. Je älter der Block ist, desto mehr Bestätigungen werden vorliegen. Jede Bestätigung macht es schwierig, die Daten im Block zu manipulieren. In der folgenden Abbildung hat Block 2 eine Bestätigung. Um die Daten in Block 2 zu fälschen, müssen Sie einen gültigen Block mit einem neuen gültigen Link neu erstellen. Nach jeder nächsten Bestätigung müssen Sie einen weiteren Block neu erstellen. Je älter der Block ist, desto höher ist die Sicherheit, dass an diesem Block keine Änderungen vorgenommen werden.



Referenzen zwischen Blöcken hängen nicht nur von der Reihenfolge der Blöcke ab, sondern auch davon, welche Daten in jedem Block enthalten sind. Es ist nicht möglich, Daten zu einem Block in der Blockchain hinzuzufügen oder daraus zu entfernen. Auf dieser Eigenschaft basiert das Vertrauen, dass mit den in der Blockchain platzierten Daten nichts passiert. Natürlich ist jede Fälschung in der Blockchain-Datenstruktur offensichtlich. Jede Änderung an den Daten unterbricht die Verknüpfung zu allen nachfolgenden Blöcken.



Während es unmöglich ist, Daten in der Blockchain zu löschen oder zu ändern, ist es einfach, Daten zu einem neuen Block hinzuzufügen, der an die Kette angehängt ist. Beispielsweise kann der Kryptowährungsblockchain eine neue Transaktion hinzugefügt werden. Die Transaktion ist leicht zu überprüfen, da alle vorherigen im Netzwerk aufgezeichneten Transaktionen unveränderlich sind. Wenn ein Betrag X von Adresse Y benötigt wird, muss der Restbetrag dieser Adresse einen Betrag von mindestens X haben.



Kryptowährungen sind nur eine spezielle Anwendung der Blockchain-Technologie. Blockchain wird schnell zu einer zunehmend praktikablen Option für Supply Chain Management, Flottenmanagement und andere Zwecke.



Fazit



Blockchain ist eine in der Informatik anwendbare Datenspeichermethode. Die Elemente der Blockchain - ihre Blöcke - sind kryptografisch miteinander verbunden. Es ist nicht möglich, die Daten zu ändern, nachdem sie in den Block geschrieben wurden. Dies ist der Wert der Blockchain. Es ist eine unveränderliche Registrierung, in der Sie Daten sicher speichern können, während Sie in einer nicht vertrauenswürdigen Umgebung arbeiten.



Ich möchte diesen Artikel mit einem Tweet beenden, der die Quintessenz der Eigenschaften der Blockchain-Technologie enthält und deren Platz unter anderen Datenstrukturen veranschaulicht.



, , .



, , . , – — @NickSzabo4



All Articles