Java >> Java Tutorial >  >> Java

Blockchain für Webentwickler

Ja, es könnte eine Fülle von Artikeln über Blockchain und darüber geben, wie Webentwickler Anwendungen erstellen können. Und dies könnte auch kein viel anderer Artikel sein. In diesem Beitrag beschreibe ich die Grundlagen der Blockchain- und Kryptotechnologie.

Einführung

Blockchain war die zugrunde liegende Technologie für Kryptowährungen wie Bitcoin.

Zunächst ist dies ein grundlegendes Verständnis von Blockchain. Wir werden den Rest der Grundlagen der Blockchain bald behandeln. In den meisten Bank- oder Finanzsystemen werden alle Bankkonten durch ein Hauptbuch geführt, das Einnahmen und Ausgaben verfolgt.

Zweitens folgen unsere zentralisierten Finanzsysteme in der heutigen Zeit bestimmten Regeln und Vorschriften. Eine zentrale Instanz hat diese Regeln definiert und so wurde Vertrauen aufgebaut. Aber Blockchain ist ein dezentrales System des Hauptbuchs, an dem ein Peer-to-Peer-Netzwerk beteiligt ist. Basierend auf dem Peer-to-Peer-Netzwerk bauen die am Prozess beteiligten Miner in dezentraler Form Vertrauen auf. Alle Transaktionen werden im Hauptbuch aufgezeichnet und das Hauptbuch wird von Knoten im Netzwerk verifiziert. Diese Knoten kommunizieren kryptografisch miteinander, um Transaktionen zu verifizieren. Wenn neue Transaktionen hinzugefügt werden, wird im Netzwerk ein Konsens gebildet, dieser Konsens ist nichts anderes als ein Block.

Arbeitsnachweis

Ein Grund, warum Blockchain so beliebt ist, ist, dass es ein Problem der doppelten Ausgaben löst, das in der Informatik seit langem besteht . Bei einem verteilten System gibt es keine Möglichkeit, die Integrität von Transaktionen korrekt zu überprüfen. In relationalen Datenbanksystemen verwenden wir die referenzielle Integrität, um die Integrität zu überprüfen.

Dies ist der grundlegende Algorithmus in der Blockchain. Beim Mining-Prozess konkurrieren Miner im Netzwerk miteinander, um Transaktionen zu verifizieren und neue Blöcke zu produzieren. Für diese Arbeit erhalten Miner Kryptowährung.

Im Netzwerk finden ständig Transaktionen zwischen Benutzern statt. Ein dezentrales Hauptbuch wird all diese Transaktionen verfolgen. Bergleute werden diese Transaktionen durch einen Proof-of-Work-Algorithmus verifizieren.

Person A sendet 10 $ an Person B und nicht an Person C. Wie können wir überprüfen, ob das Geld an Person B und nicht an Person C geflossen ist? Das ist ein Double-Spending-Problem. Der Arbeitsnachweis hilft, dieses Problem zu lösen. Dieser Algorithmus hat andere Aspekte, wie z. B. das Vermeiden von Sicherheitsbedrohungen, eine schnellere Blockgenerierung (Power of Network) und Speicherfunktionen. Wir werden diese Aspekte hier nicht diskutieren.

Nachteile

Dieser Algorithmus hat wenige Nachteile und einer der größten ist 51 % Angriff . Die Idee von 51% ist, wenn ein Benutzer oder eine Gruppe von Benutzern die Mehrheit der Mining-Leistung kontrolliert. Wenn dies geschieht, kann die Gruppe die Generierung neuer Blöcke monopolisieren, wodurch der Vorteil des Dezentralisierungsprinzips verloren geht.

Blöcke

Blöcke bilden das Hauptbuch, das die Grundlage der Blockchain bildet. Jeder Block enthält Transaktionsinformationen, die wir als Tatsache bezeichnen können. Ein Block ist nichts anderes als die Anordnung all dieser Fakten und jeder Block hat einen Verweis auf den nächsten Block.

Bevor diese Fakten zu Blöcken hinzugefügt werden, sind sie pending und während die Bergleute weiter arbeiten, überprüfen sie diese Tatsachen, um sie zu bestätigen.

Schlussfolgerung

Abschließend habe ich Blockchain mit einigen Grundlagen der Blockchain für Webentwickler eingeführt. Aber das ist nur die Spitze des Eisbergs, in der Welt der Kryptowährungen gibt es viel zu lernen und größere Dinge zu tun. Wenn Ihnen dieser Beitrag gefallen hat, abonnieren Sie meinen Blog.

Referenzen

  1. Blockchain:Eine Blaupause für die neue Wirtschaft von Melanie Swann – Blockchain
  2. Arbeitsnachweis – Arbeitsnachweis
  3. Ethereum für Webentwickler – Ethereum für Webentwickler


Java-Tag