Was macht die Universa Blockchain so sicher? HashID

In diesem Artikel tauchen wir in das Thema Sicherheit rund um die Universa-Blockchain ein. Was macht die Benutzung der Universa Blockchain sicher? Wie werden die Daten auf der Blockchain geschützt?

Im vorherigen Artikel haben wir uns mit der Geschwindigkeit und den Kosten des Universa Blockchain Protokolls im Vergleich zu Bitcoin und Ethereum beschäftigt. Für den Fall, dass Sie dien Artikel nicht gelesen haben, können Sie ihn hier nachlesen.

Universa Today wird mit Hilfe der Community gepflegt und übersetzt. Falls Sie an den Übersetzungen ehrenamtlich mitarbeiten wollen, kontaktieren Sie @starnold auf Telegram. Wie Sie sehen können sind unsere Artikle in vielen Sprachen übersetzt, weil viele fleißige Helfer zusammen arbeiten.

Sicherheit der Universa Blockchain

Zunächst müssen Sie einen der Schlüsselaspekte einer Blockchain verstehen: Unveränderlichkeit und Vertrauen, ohne dass vertrauenswürdige Dritte Parteien erforderlich sind. Aber wie kann ein Protokoll solche Merkmale aufweisen, ohne dass weitere Personen den Prozess oder die Zahlung prüft? In der Welt der Blockchains wird die Überprüfung von einem Netzwerk von Knotenpunkten durchgeführt.

In der Welt der Blockchains wird das Auditing von einem Netzwerk von Knotenpunkten übernommen. Sie registrieren Daten, die unveränderlich sein müssen. Das einfachste Beispiel ist Geld: Sie möchten, dass Ihr digitales Geld Ihnen gehört. Für Aussenstehende sollte es nicht möglich sein, Zugriff auf Ihr Geld zu erlangen. Hierzu bestehen zwei Möglichkeiten:

  • Ein Netzwerk, das ein verteiltes Kassenbuch enthält (wobei jeder Knotenpunkt eine Kopie des verteilten Kassenbuchs enthält);
  • Kryptographie.

Die Knoten prüfen die Daten aller Peers im Netzwerk. Jeder Knotenpunkt hält, bzw. prüft seine eigenen Daten und wenn eine Konsensfrage entschieden werden muss, stimmt jeder Knotenpunkt ab.

Bei Geld validieren und prüfen die Knotenpunkte die Bilanz aller Teilnehmer des Netzwerks. Diese Bilanz in der Universa Blockchain ist nur eine Zahl (Betrag) im Smart-Vertrag. Da das Netzwerk ein verteiltes und dezentrales System ist, erzielen die Knotenpunkte einen Konsens (90 +%) über die Daten. Dies verhindert, dass einzelne Teile betrügen können.

Das Universa Blockchain Protocol beinhaltet verschiedene interessante Aspekte die ein sicheres Netzwerk garantieren. Sensible Geschäftsdaten werden nicht leichtfertig und unbeabsichtigt in unbekannten Regionen der Welt gespeichert. Es wird durch organisatorische Sicherheitspraktiken verschlüsselt und reguliert. Dies ermöglicht es Unternehmen, einer Blockchain mit sensiblen oder privaten Geschäftsprozessen zu vertrauen. Hier kommt der zweite Sicherheitsaspekt ins Spiel: Verschlüsselung.

Kryptographie/Verschlüsselung

Kryptographie ist der Schlüssel zum Erfolg. Es gibt verschiedene Wege Dateien zu verschlüsseln. Das Bitcoin-Netzwerk verwendet zum Beispiel die SHA-256-Hash-Funktion und der Verschlüsselungsalgorithmus in Ethereum ist Keccak. Beide gehören zu einer etwas anderen Hashing-Familie. SHA-256 gehört zur SHA-2-Familie und Keccak zu SHA3.

Interessanterweise ist die Ethereum-Implementierung im Grunde ein SHA3-Algorithmus. Da es nur eine kurze Zeit dauerte, bis der SHA3 offiziell akzeptiert wurde, unterscheidet er sich von ihm (in einigen kleinen Konstanten).

Der Keccak-Algorithmus in Ethereum entspricht im Wesentlichen dem SHA3-Standard, ist jedoch nicht binär kompatibel. Was kann schwerwiegende Probleme verursachen, wenn beispielsweise Hardware-Implementierungen oder andere standardkonforme Lösungen verwendet werden?

Derzeit sind sie mehr oder weniger sicher, obwohl Sie bereits eine Reihe von Angriffen und Problemenausgesetzt waren.

Eine Hash-Funktion verwandelt die Eingabe in einen Verarbeitungs-Trakt. Es ist eine Einbahnstraßen-Funktion, deren Umkehrung praktisch unmöglich ist. Dazu muss man verstehen, dass gehashte Informationen sehr sicher über das Internet übertragen werden können.

Wenn wir das Wort „Universa“ nehmen und es mit der SHA-256-Funktion hashen, ist das Ergebnis eine Zeichenfolge wie die folgende:

E7A3A82B5C33F35CAEFF7EB092B3A8A963DC83C7CB8E2EF8B1A2916A4ED6D1DE

Wenn wir die Eingabe jedoch nur ein wenig in „Un1versa“ ändern, ist die Ausgabe (oder der Hash) bereits eine völlig andere. Es ist nicht möglich, die Eingabe durch Vergleichen dieser beiden Ausgaben abzuleiten. Der neue Hash sieht wie folgt aus:

2D21258B9EF1CD7EA29F65AE161B7E453A628BD6033929D1F608ECE81F1D71C3

Sie können das selbst auf diversen Internetseiten testen. Wie Sie sehen können, sehen beide Hashes völlig unterschiedlich aus, während die Eingabe fast gleich ist, was auch als sogenannter „Lawineneffekt“ bezeichnet wird. Eine kleine Änderung in der Eingabe hat eine große Änderung in der Ausgabe zur Folge.

Aber… wenn es in Zukunft eine Schwachstelle im Algorithmus gibt, kann nicht garantiert werden, dass die Daten sicher gespeichert werden. Universa behebt diese potenzielle Sicherheitslücke mit der sogenannten HashID.

Bitcoin, Ethereum und Universa

Bitcoin und Ethereum verwenden jeweils einen einzelnen Hash einer anderen Familie. Die Universa Blockchain verwendet drei verschiedene kryptografische Hash-Funktionen aus drei verschiedenen Algorithmusfamilien und kombiniert ihre Ergebnisse im Wesentlichen zu einer komplexen Hash-Funktion, wobei die besten Eigenschaften von drei unabhängigen Algorithmen verwendet werden.

Die benutzten Hash-Funktionen sind:

  • SHA-512/256
  • SHA3-256 (256 bits)
  • Streebog (256 bits)

Alle sind weltweit standardisiert. SHA-512 zum Beispiel wurde 2002 von der US-Bundesregierung standardisiert. Die japanische Regierung und die Europäische Union akzeptieren diese kryptografische Technik ebenfalls. Außerdem wird Streebog 2012 von der Russischen Föderation standardisiert.

Es ist einer der sogenannten „GOST“-Algorithmen. GOST steht als Abkürzung für GOsudarstvenniy STandard, „State Standard“. Es gibt in Russland nicht mehr „standardisierte“ Standards als GOSTs. und die GOST-Standards decken von Technologien/Industrien bis hin zur Lebensmittelproduktion und -handhabung alles ab.

Um das nochmals kurz zu verdeutlichen:

  • Die Universa Blockchain beutzt drei verschieden Hash-Funktionen.
  • Diese gehören zu völlig anderen Algorithmusfamilien;
  • Sie werden von drei signifikant unterschiedlichen Kryptografenteams entwickelt und verwenden ganz unterschiedliche kryptografische Konzepte und Grundelemente.
  • Wenn eine der Hash-Funktionen in Zukunft auf Sicherheitslücken stößt, werden die Daten nicht öffentlich zugänglich gemacht.

HashID in der Paxis

Wie Sie sich vielleicht aus den vorherigen Artikeln erinnern, basiert das Universa Blockchain-Protokoll auf der Überprüfung des Vertragsstatus. Die „dezentralen Apps“ werden nicht ausgeführt.

Sie können den Status eines Vertrags als langen Code lesen. Erinnern Sie sich an den Hash von „Universa“ und „Un1versa“? Solche Zeichenfolgen können leicht durch die Knotenpunkte einer Blockchain verifiziert werden. Wenn Sie jedoch versuchen, einige Informationen aus der Eingabe zu ändern (wenn Sie beispielsweise das Eigentum an einem Vertrag beanspruchen möchten), ändert sich die ID des Vertrags extrem. Die Knotenpunkte erkennen es nicht als „GENEHMIGT“. Weitere Informationen hierzu finden Sie auf der Grundlagenwissen-Seite.

Lassen Sie uns diese Hashing-Methode mit HashID in die Praxis umsetzen, um zu sehen, was passiert. Nehmen wir als Beispiel den ursprünglichen Smart-Vertrag aus dem UTN-Token.

Wenn Sie den Smart-Vertrag im Universa-Explorer überprüfen, sehen Sie die ID des Root-Vertrags:

NPo4dIkNdgYfGiNrdExoX003+lFT/d45OA6GifmcRoTzxSRSm5c5jDHBSTaAS+QleuN7ttX1rTvSQbHIIqkcK/zWjx/fCpP9ziwsgXbyyCtUhLqP9G4YZ+zEY/yL/GVE

Dies ist eine Anreihung/Folge von 128 Symbolen. Bevor wir jedoch von einem intelligenten Vertrag zu diesem kleinen Textstück übergehen, ist viel passiert, und zwar „hinter den Kulissen“. Diese Zeichenkette enthält viele Informationen. Es repräsentiert den Zustand eines intelligenten Vertrags. Diese Zeichenfolge spiegelt jedoch den gesamten Inhalt eines Smart-Vertrags (oder seiner Überarbeitung) wider. Das einzige, was die Knotenpunkte tun müssen, ist zu überprüfen, ob dieser Status gültig ist (daher „GENEHMIGT“). Ist dies nicht der Fall, wird der Vertrag mit der Meldung ABGELEHNT, WIDERRUFEN oder NICHT DEFINIERBAR versehen.

Das einzige, was ein Knotenpunkt speichert, ist die Beziehung wie folgt:

“Der Vertrag mit der Kennung NPo4dIkNdgYfGiNrdExoX003+lFT/d45OA6GifmcRoTzxSRSm5c5jDHBSTaAS+QleuN7ttX1rTvSQbHIIqkcK/zWjx/fCpP9ziwsgXbyyCtUhLqP9G4YZ+zEY/yL/GVE iist jetzt gültig”

Kehren wir zum UTN-Smart-Vertrag mit der ID von 128 Symbolen zurück.

Smart-Verträge

Jedes Mal, wenn eine erste (oder eine neue) Revision des Smart-Vertrags im Universa-Netzwerk registriert wird, erhält jeder Knoten den Hauptteil dieses Vertrags (oder dessen Revision). Wenn der Knotenpunkt nach Überprüfung der Vertragskörper mit vielen verschiedenen Validierungsprüfungen entscheidet, dass der Smart-Vertrag gültig ist und registriert werden soll, beginnt er mit der Verarbeitung des Vertragskörpers mithilfe des HashID-Algorithmus. Jede der drei verschiedenen Hash-Funktionen in HashID durchsucht den gesamten Vertrag und generiert eine 256-Bit-Zeichenfolge (32 Byte). Wenn Sie dies also dreimal mit drei verschiedenen Hash-Funktionen tun, erhalten Sie ein Ergebnis von 3⋅256 = 768 Bit (96 Byte). Diese Ausgabe ist mit Base64 codiert, das A-Z, a-z, 0-9, das + und das /-Zeichen enthält.

Die Eigenschaft der Base64-Codierung besteht darin, dass jeweils 3 Bytes aller Binärdaten als 4 Symbole der Base64-Darstellung codiert werden. Daher wird jede HashID normalerweise als 96⋅4 / 3 = 128 Symbole angezeigt. Und das ist die Zahl, mit der wir begonnen haben: Die HashID eines intelligenten Vertrags besteht aus einer Zeichenfolge von 128 Symbolen. Und selbst ein einzelnes Bit oder ein einzelner Buchstabe, der (gelegentlich oder absichtlich) im Smart-Vertrag geändert wurde, führt zu erheblichen Änderungen des Ergebnisses jeder der drei Komponenten. Jede der drei Komponenten ändert sich auf unterschiedliche Weise und verwendet unterschiedliche Algorithmen. Dies führt zu einer unglaublich unvorhersehbaren Änderung des HashID-Ergebnisses – der Qualität, die von guten kryptografischen Hashes erwartet wird.

HashID bei Universa

Die HashID enthält alle Informationen zu (überarbeiteten) Smart-Verträgen. Jetzt ist es kompakt und nicht umkehrbar/veränderbar gelagert. Jeder Knoten speichert das Wissen, dass „der Vertrag mit einer bestimmten GENEHMIGTEN HashID“ versehen ist.

Irgendwann kann sich ein Benutzer entscheiden, diesen intelligenten Vertrag zu verwenden (z. B. eine neue Revision vornehmen). Zu diesem Zweck lädt der Benutzer den ursprünglichen Smart Contract Body in das Netzwerk hoch. Die HashID dieses Smart-Vertrags wird noch einmal neu berechnet. Solange die Informationen im Smart-Vertrag gültig und unverändert sind, ergibt die HashID-Berechnung den gleichen Wert wie den, der von den Knotenpunkten des Netzwerks als „GENEHMIGT“ gespeichert wurde. Die Knoten betrachten es als genehmigt und lassen es vom Kunden verwenden. Dies gibt den Daten ein hohes Maß an Sicherheit und speichert nur eine geringe Datenmenge und nicht den gesamten Vertragsbestand.

Zusammenfassung

Wir haben diesen Artikel mit Unveränderlichkeit und Vertrauen begonnen, ohne dass ein dritte Instanz als Vertrauensperson hinzugezogen werden muss. Wie kann das erreicht werden?

Das Universa Blockchain-Protokoll verwendet ein Hashing mit drei Algorithmen, um die Eingabe einer Transaktion (den intelligenten Vertrag) sicher und privat in der Blockchain zu speichern. Wenn die Zeichenfolge mit 128 Symbolen gültig ist, verarbeiten die Knoten die Zahlung/Transaktion/Revision. Da die HashID aus Hashing-Funktionen dreier vollständiger Algorithmusfamilien besteht, erhalten die Daten zusätzliche Sicherheit für den Fall, dass in Zukunft einige Schwachstellen in einer dieser Funktionen auftreten. Da diese Algorithmen in verschiedenen Ländern standardisiert sind, kann Universa darüber hinaus in allen Ländern die jeweiligen Standards erfüllen.

Die Zeichenfolge mit 128 Symbolen wird von allen Knoten der Blockchain überprüft. Wenn sie es als gültig anerkennen (und alle anderen Änderungen als legal), wird die Transaktion der DAG hinzugefügt. Jetzt wird der Vertrag auf vertrauenswürdige Weise unveränderlich, sicher und privat gespeichert, ohne dass ein einziger vertrauenswürdiger Dritter erforderlich ist.

Help translating this post to Englisch Französisch Niederländisch Italienisch Spanisch Kroatisch Russisch. Contact @starnold to participate!

Related posts

Alexander trifft Amsterdam 2020

Arnold

Innerhalb des Universa DAG

Arnold

Was macht die Universa Blockchain so kostengünstig?

Arnold

Leave a Comment