Empfohlene Tutorials: Python-Tutorial
Blockchain Die Konzepte und Eigenschaften von
Blockchain ist eine organische Kombination einer Reihe bestehender ausgereifter Technologien. Es zeichnet verteilte Hauptbücher effektiv auf und stellt vollständige Skripte zur Unterstützung verschiedener Geschäftslogiken bereit. In einem typischen Blockchain-System werden Daten in Blockeinheiten generiert und gespeichert und in chronologischer Reihenfolge zu einer Kettendatenstruktur verbunden. Alle Knoten beteiligen sich gemeinsam an der Datenüberprüfung, -speicherung und -wartung des Blockchain-Systems. Die Erstellung eines neuen Blocks muss normalerweise von der Mehrheit der Knoten im gesamten Netzwerk bestätigt werden (die Anzahl hängt von verschiedenen Konsensmechanismen ab) und wird an jeden Knoten gesendet, um eine netzwerkweite Synchronisierung zu erreichen, und kann anschließend nicht mehr geändert oder gelöscht werden .
Von außen betrachtet sollte das Blockchain-System die folgenden Eigenschaften aufweisen:
● Von mehreren Parteien gemeinsam geschrieben Wartung
Der Begriff „Mehrparteien“ bezieht sich hier nur auf die Buchhaltungsteilnehmer und umfasst nicht Kunden, die die Blockchain nutzen. Die Buchhaltungsteilnehmer der Blockchain sollten aus mehreren Einheiten bestehen, deren Interessen nicht vollständig konsistent sind, und in verschiedenen Buchhaltungszyklen übernehmen verschiedene Teilnehmer die Führung bei der Einleitung der Buchhaltung (die Rotationsmethode hängt von unterschiedlichen Konsensmechanismen ab) und andere Teilnehmer werden gemeinsam überprüfen die von der führenden Partei initiierten Buchhaltungsinformationen.
● Öffentliches Hauptbuch
Das vom Blockchain-System erfasste Hauptbuch sollte sich in einem Zustand befinden, auf den alle Teilnehmer zugreifen dürfen Überprüfen Sie die Blockchain. Für die Gültigkeit der aufgezeichneten Informationen müssen Buchhaltungsteilnehmer die Möglichkeit haben, auf den Informationsinhalt und den Ledger-Verlauf zuzugreifen. Öffentliche Bücher beziehen sich jedoch auf die Offenlegung der Zugänglichkeit und stellen nicht die Offenlegung von Informationen selbst dar. Daher geht die Branche davon aus, viele Datenschutztechnologien wie Zero-Knowledge-Proof, homomorphe Verschlüsselung, Schwellenwertverschlüsselung usw. anzuwenden Blockchain-Feld zur Lösung des Problems der Überprüfung der Gültigkeit von Informationen durch Chiffretextoperationen.
● Dezentralisierung
Blockchain sollte ein System sein, das nicht auf ein einzelnes Trust Center angewiesen ist, und die Verarbeitung umfasst nur geschlossene Systeme innerhalb des Wenn es um Daten geht, kann die Blockchain selbst Vertrauen zwischen den Teilnehmern schaffen. In manchen Fällen, beispielsweise bei der Identitätsverwaltung und anderen Szenarien, werden jedoch zwangsläufig externe Daten eingeführt, und diese Daten erfordern die Vertrauensbestätigung durch einen vertrauenswürdigen Dritten. Zu diesem Zeitpunkt sollte das Vertrauen für verschiedene Datentypen von verschiedenen vertrauenswürdigen Parteien stammen Dritte, anstatt sich auf ein einziges Trustcenter zu verlassen. In diesem Fall schafft die Blockchain selbst kein Vertrauen, sondern dient vielmehr als Vehikel für Vertrauen.
● Manipulationssicherheit
Als wichtigstes Merkmal der Blockchain ist die Manipulationssicherheit eine notwendige Bedingung für das Blockchain-System, nicht Unter ausreichenden Bedingungen gibt es viele hardwarebasierte Technologien, die Daten auch einmal schreiben, mehrmals lesen können und nicht manipuliert werden können. Typische Beispiele sind CD-R (Compact Disk-on-Record). Die Manipulationssicherheit der Blockchain basiert auf dem kryptografischen Hash-Algorithmus und den Merkmalen der gemeinsamen Wartung durch mehrere Parteien. Aufgrund dieser Eigenschaft ist es jedoch nicht angemessener, sie zu nennen schwer zu manipulieren.
Kerntechnologie der Blockchain
1. Distributed Ledger
Bei der Distributed-Ledger-Technologie (DLT) handelt es sich im Wesentlichen um eine dezentrale Datenspeicherung, die Daten in einem Netzwerk teilen, synchronisieren und replizieren kann, das aus mehreren Netzwerkknoten, mehreren physischen Adressen oder mehreren Organisationen besteht. Im Vergleich zu herkömmlichen verteilten Speichersystemen weist die Distributed-Ledger-Technologie hauptsächlich zwei unterschiedliche Merkmale auf:
Herkömmliche verteilte Speichersysteme implementieren einen Datenverwaltungsmechanismus, der von einem zentralen Knoten oder einer maßgeblichen Organisation gesteuert wird. Ledger basieren häufig auf bestimmten Konsensregeln und deren Verwendung Mehrparteien-Entscheidungsfindung und gemeinsame Wartung für Datenspeicherung, Replikation und andere Vorgänge. Angesichts des explosionsartigen Wachstums der Internetdaten steht die derzeitige Art und Weise, Datenverwaltungssysteme durch eine einzige zentrale Organisation aufzubauen, vor größeren Herausforderungen. Dienstanbieter müssen weiterhin in zusätzliche Investitionen investieren, um große Rechenzentren zu bauen, was nicht nur verschiedene Vorteile mit sich bringt Computer, Netzwerk, Speicher usw. Das Problem der enormen Effizienz des Ressourcenpools sowie die ständig zunehmende Systemgröße und -komplexität haben auch zu immer schwerwiegenderen Zuverlässigkeitsproblemen geführt. Die dezentrale Datenpflegestrategie der Distributed-Ledger-Technologie kann jedoch die Belastung aufgeblähter Systeme effektiv reduzieren. In einigen Anwendungsszenarien kann sogar der riesige Ressourcenpool, der von einer großen Anzahl verstreuter Knoten im Internet angesammelt wird, effektiv genutzt werden.
Das herkömmliche verteilte Speichersystem zerlegt die Daten im System in mehrere Fragmente und speichert sie dann im verteilten System. Allerdings verfügt jeder Knoten im verteilten Hauptbuch über eine unabhängige und vollständige Kopie der Datenspeicherung untereinander und haben gleiche Berechtigungen. Die endgültige Konsistenz der Datenspeicherung wird durch periodischen oder ereignisgesteuerten Konsens untereinander erreicht. Nach jahrzehntelanger Entwicklung haben die Mängel stark zentralisierter Datenverwaltungssysteme in traditionellen Geschäftssystemen in Bezug auf Datenvertrauenswürdigkeit und Netzwerksicherheit zunehmend Aufmerksamkeit erregt. Normale Benutzer können nicht feststellen, ob ihre Daten von Dienstanbietern gestohlen oder manipuliert wurden, und sind noch machtloser, wenn sie von Hackern angegriffen werden oder Sicherheitsverletzungen auftreten. Um mit diesen Problemen umzugehen, werden weiterhin zusätzliche Verwaltungsmechanismen oder -technologien eingesetzt , was die Situation weiter verschärft. Die Wartungskosten traditioneller Geschäftssysteme verringern die betriebliche Effizienz der Geschäftsaktivitäten. Die Distributed-Ledger-Technologie kann dieses Phänomen grundlegend verbessern. Da jeder Knoten einen vollständigen Satz von Datenkopien verwaltet, wirken sich Änderungen an den Daten durch einen einzelnen Knoten oder einige wenige Cluster nicht auf die Mehrheit der globalen Kopien aus. Mit anderen Worten: Unabhängig davon, ob es sich um eine absichtliche Änderung durch einen Dienstanbieter ohne Genehmigung oder um einen böswilligen Angriff durch einen Netzwerkhacker handelt, müssen die meisten Knoten im Distributed-Ledger-Cluster gleichzeitig betroffen sein, um eine Manipulation vorhandener Daten zu erreichen , Die verbleibenden Knoten im System werden das böswillige Verhalten im System schnell erkennen und verfolgen, was offensichtlich die Glaubwürdigkeit und Sicherheitsgarantie der Daten im Geschäftssystem erheblich verbessert.
Diese beiden einzigartigen Systemmerkmale machen die Distributed-Ledger-Technologie zu einer revolutionären Innovation auf sehr niedrigem Niveau, die die bestehenden Geschäftssysteme stark stört.
2. Konsensmechanismus
Blockchain ist ein verteiltes (dezentrales) System mit nachvollziehbarer Historie, Manipulationsfreiheit und der Lösung des Multiproblems (gegenseitiges Vertrauenssystem der Parteien). Verteilte Systeme sind zwangsläufig mit Konsistenzproblemen konfrontiert, und der Prozess der Lösung von Konsistenzproblemen wird als Konsens bezeichnet.
Um in einem verteilten System einen Konsens zu erreichen, ist ein zuverlässiger Konsensalgorithmus erforderlich. Der Konsensalgorithmus löst normalerweise das Problem, welcher Knoten in einem verteilten System einen Vorschlag initiiert und wie andere Knoten zu einer Einigung über diesen Vorschlag gelangen. Basierend auf dem Unterschied zwischen traditionellen verteilten Systemen und Blockchain-Systemen unterteilen wir Konsensalgorithmen in Konsensalgorithmen zwischen vertrauenswürdigen Knoten und Konsensalgorithmen zwischen nicht vertrauenswürdigen Knoten. Ersteres wurde eingehend untersucht und wird häufig in beliebten verteilten Systemen verwendet, unter denen Paxos und Raft und ihre entsprechenden Variantenalgorithmen die bekanntesten sind. Letzteres wurde zwar schon lange untersucht, doch erst als die Entwicklung der Blockchain-Technologie in den letzten Jahren in vollem Gange war, wurden verwandte Konsensalgorithmen weit verbreitet. Je nach Anwendungsszenario ist Letzteres in Konsensalgorithmen unterteilt, die für öffentliche Ketten geeignet sind, die durch Algorithmen wie PoW (Proof of Work) und PoS (Proof of Stake) dargestellt werden, sowie PBFT (Practical ByzanTIne Fault Tolerance) und seine Variantenalgorithmen Der Konsensalgorithmus eignet sich für Konsortialketten oder private Ketten.
Der arbeitslastsichere POW-Algorithmus ist der vom Bitcoin-System übernommene Algorithmus. Dieser Algorithmus wurde 1998 von W. Dai beim Entwurf von B-Geld vorgeschlagen. Das Ethereum-System verwendet derzeit auch den PoW-Algorithmus für den Konsens. Da das Ethereum-System jedoch Blöcke schneller generiert (ca. 15 Sekunden) und einfacher zu generieren ist, hat Ethereum den Onkel-Block vorgeschlagen, um zu vermeiden, dass eine große Anzahl von Knoten vergeblich ausgeführt wird Belohnungsmechanismus. Der PoS-Algorithmus (Proof of Stake) wurde erstmals von Sunny King im PPC-System (PeerToPeerCoin) implementiert, das im August 2012 veröffentlicht wurde. Das Ethereum-System hatte schon immer einen positiven Eindruck von PoS und plant, PoW in Zukunft durch PoS als Konsens zu ersetzen . Mechanismus. PoS und seine Variantenalgorithmen können das Problem der Rechenleistungsverschwendung lösen, das dem PoW-Algorithmus vorgeworfen wird, aber selbst nicht ausreichend verifiziert ist. Der PBFT-Algorithmus wurde erstmals 1999 von Miguel Castro (Castro) und Barbara Liskov (Liskov) auf der OSDI99-Konferenz vorgeschlagen. Dieser Algorithmus weist eine höhere Betriebseffizienz auf als der ursprüngliche byzantinische fehlertolerante Algorithmus. Unter der Annahme, dass es N Knoten im System gibt, kann der PBFT-Algorithmus das Vorhandensein von F bösartigen Knoten im System tolerieren, und 3F+1 ist nicht größer als N. Obwohl der PBFT-Konsensalgorithmus mit zunehmender Anzahl von Knoten im System mehr byzantinische Knoten tolerieren kann, nimmt seine Konsenseffizienz extrem schnell ab. Aus diesem Grund können wir sehen, dass es nur sehr wenige Systeme gibt, die PBFT als Konsensalgorithmus anwenden. Es gibt Gründe für mehr als 100 Knoten.
Unabhängig davon, ob es sich um den PoW-Algorithmus oder den PoS-Algorithmus handelt, besteht die Kernidee darin, Knoten durch wirtschaftliche Anreize zu ermutigen, einen Beitrag zum System zu leisten und durch wirtschaftliche Strafen zu verhindern, dass Knoten Böses tun. Um mehr Knoten zur Teilnahme am Konsens zu ermutigen, geben öffentliche Kettensysteme normalerweise Token an Knoten aus, die zum Betrieb des Systems beitragen. Der Unterschied zwischen der Allianzkette oder privaten Kette und der öffentlichen Kette besteht darin, dass die teilnehmenden Knoten der Allianzkette oder privaten Kette normalerweise hoffen, vertrauenswürdige Daten von der Kette zu erhalten, was viel sinnvoller ist, als Anreize durch Buchhaltung zu erhalten Sie haben mehr Verpflichtungen und Verantwortlichkeiten, den stabilen Betrieb des Systems aufrechtzuerhalten, und in der Regel weniger teilnehmende Knoten. PBFT und seine Variantenalgorithmen eignen sich nur für Anwendungsszenarien von Allianzketten oder privaten Ketten.
3. Smart Contract
● Was ist ein Smart Contract?
Smart Contract ist ein Computerprotokoll, das darauf ausgelegt ist, Verträge informationsbasiert zu verbreiten, zu verifizieren oder auszuführen. Intelligente Verträge ermöglichen vertrauenswürdige Transaktionen ohne Dritte. Diese Transaktionen sind nachvollziehbar und irreversibel. Ziel ist es, eine den herkömmlichen Vertragsmethoden überlegene Sicherheit zu bieten und andere mit Verträgen verbundene Transaktionskosten zu reduzieren.
Das Konzept der Smart Contracts reicht bis in die 1990er Jahre zurück und wurde erstmals vom Informatiker, Juristen und Kryptografen Nick Szabo vorgeschlagen. Seine Definition von Smart Contracts lautet wie folgt: „Ein Smart Contract ist eine Reihe von Verpflichtungen, die in digitaler Form definiert sind, einschließlich einer Vereinbarung darüber, welche Vertragsteilnehmer diese Verpflichtungen erfüllen können.“ Forscher wie Nick Szabo hoffen, Kryptographie und andere digitale Technologien zu nutzen.“ Der Sicherheitsmechanismus stellt die traditionelle Formulierung und Erfüllung von Vertragsbedingungen unter Computertechnologie, um die damit verbundenen Kosten zu senken. Aufgrund der Unreife vieler Technologien zu dieser Zeit und des Mangels an digitalen Systemen und Technologien, die programmierbare Verträge unterstützen könnten, wurde Nick Szabos Arbeitstheorie zu intelligenten Verträgen jedoch nicht verwirklicht.
Mit dem Aufkommen und der Reife der Blockchain-Technologie haben sich Smart Contracts als wichtige Forschungsrichtung für Blockchain und zukünftige Internetverträge rasant weiterentwickelt. Auf Blockchain basierende intelligente Verträge umfassen Ereignisverarbeitungs- und Speichermechanismen sowie eine vollständige Zustandsmaschine zur Annahme und Verarbeitung verschiedener intelligenter Verträge. Die Statusverarbeitung von Daten wird im Vertrag abgeschlossen. Nachdem die Ereignisinformationen an den Smart Contract übergeben wurden, wird der Smart Contract dazu veranlasst, eine Zustandsmaschinenbeurteilung durchzuführen. Wenn die Auslösebedingungen einer oder mehrerer Aktionen in der automatischen Zustandsmaschine erfüllt sind, wählt die Zustandsmaschine basierend auf den voreingestellten Informationen die automatische Ausführung der Vertragsaktion aus. Daher können intelligente Verträge als Computertechnologie nicht nur Informationen effektiv verarbeiten, sondern auch sicherstellen, dass beide Vertragsparteien den Vertrag durchsetzen können, ohne eine dritte Instanz einzubeziehen, wodurch Vertragsbrüche vermieden werden.
● Vorteile und Risiken von Smart Contracts
Mit der weit verbreiteten Anwendung von Smart Contracts in der Blockchain-Technologie wurden ihre Vorteile von immer mehr Forschern anerkannt und vom technischen Personal anerkannt . Im Allgemeinen haben intelligente Verträge die folgenden Vorteile:
a. Hohe Aktualität der Vertragsformulierung: Bei der Formulierung intelligenter Verträge ist es nicht erforderlich, sich ausschließlich auf die Beteiligung Dritter oder zentraler Agenturen zu verlassen Die Vertragsparteien müssen durch Computertechnologie gemeinsam vereinbarte Bedingungen in automatisierte und digitale Vereinbarungen umwandeln, was die Zwischenverbindungen bei der Vertragsformulierung erheblich reduziert und die Reaktionseffizienz der Vertragsformulierung verbessert.
Geringe Kosten für die Vertragswartung: Der Smart Contract nutzt Computerprogramme als Träger während des Implementierungsprozesses. Nach erfolgreicher Bereitstellung überwacht und führt das Computersystem die Vereinbarung im Vertrag durch Bei Vertragsbruch kann der Smart Contract gemäß der vorherigen Vereinbarung durchgesetzt werden. Daher werden die Kosten für die menschliche Überwachung und Ausführung erheblich reduziert.
Hohe Genauigkeit der Vertragsausführung: Aufgrund der Reduzierung der menschlichen Beteiligung können alle interessierten Parteien nicht in die konkrete Vertragsausführung eingreifen. Das Computersystem kann die korrekte Ausführung gewährleisten Die Ausführung des Vertrags verbessert effektiv die Genauigkeit der Vertragsausführung.
Obwohl Smart Contracts offensichtliche Vorteile gegenüber herkömmlichen Verträgen haben, werden intelligente Verträge noch intensiv erforscht und ihre Anwendung untersucht, und wir können die potenziellen Risiken dieser neuen Technologie nicht ignorieren.
Im Jahr 2017 meldete die Multi-Signatur-Wallet Parity eine große Sicherheitslücke, die dazu führen würde, dass Multi-Signatur-Smart-Contracts unbrauchbar werden. Zufälligerweise veröffentlichte eine Gruppe von Forschern der National University of Singapore, des Yale University College in Singapur und des University College London im Februar 2018 einen Bericht, in dem sie behaupteten, sie hätten das Analysetool Maian verwendet, um fast 1 Million Smart Contracts auf Basis von Ethereum zu analysieren und zu finden dass es 34.200 Verträge mit Sicherheitslücken gibt, die von Hackern ausgenutzt werden können, um Ether-Coins zu stehlen, Vermögenswerte einzufrieren und Verträge zu löschen.
Das Auftreten von Sicherheitsrisikovorfällen verdient unsere Überlegung, aber auf jeden Fall glauben Brancheninsider im Allgemeinen, dass Blockchain-Technologie und intelligente Verträge in Zukunft eine wichtige Richtung für die Entwicklung der IT-Technologie werden werden. Die aktuellen Risiken sind verursacht durch die Reife neuer Technologien.
● Anwendung von Smart Contracts
Derzeit werden Smart Contracts als Kerntechnologie der Blockchain in großem Umfang auf einflussreichen Plattformen wie Ethereum und Hyperledger Fabric eingesetzt. Es wird häufig in Blockchain-Projekten verwendet.
a. Smart-Contract-Anwendung in Ethereum: Ein Smart-Contract in Ethereum ist ein Code, der von der virtuellen Maschine von Ethereum ausgeführt werden kann. Ethereum unterstützt eine leistungsstarke Turing-vollständige Skriptsprache, mit der Entwickler beliebige Anwendungen darauf entwickeln können. Diese Verträge können normalerweise in Hochsprachen (wie Solidity, Serpent, LLL usw.) geschrieben und über a in Bytecode umgewandelt werden Der Compiler (Bytecode) wird auf der Blockchain gespeichert. Nach der Bereitstellung können Smart Contracts nicht mehr geändert werden. Benutzer schließen Kontotransaktionen über Verträge ab und verwalten und verwalten die Währung und den Status des Kontos.
b. Intelligente Vertragsanwendung von Hyperledger Fabric: Im Hyperledger Fabric-Projekt werden das Konzept und die Anwendung intelligenter Verträge umfassender erweitert. Als zustandsloser, ereignisgesteuerter, selbstausführender Code, der die Turing-Vollständigkeit unterstützt, werden Smart Contracts im Blockchain-Netzwerk in Fabric bereitgestellt und interagieren direkt mit dem Hauptbuch und spielen dabei eine sehr zentrale Rolle. Im Vergleich zu Ethereum sind Fabric-Smart-Verträge vom zugrunde liegenden Ledger getrennt. Bei der Aktualisierung des Smart-Vertrags ist es nicht erforderlich, die Ledger-Daten in den neuen Smart-Vertrag zu migrieren, wodurch die Trennung von Logik und Daten wirklich realisiert wird. Der intelligente Vertrag von Fabric heißt Chaincode und ist in System-Chaincode und Benutzer-Chaincode unterteilt. Der Systemkettencode wird zur Implementierung von Funktionen auf Systemebene verwendet und ist für die Verarbeitungslogik des Fabric-Knotens selbst verantwortlich, einschließlich Systemkonfiguration, Bestätigung, Überprüfung usw. Der Benutzerkettencode realisiert die Anwendungsfunktionen des Benutzers und stellt eine Statusverarbeitungslogik basierend auf dem verteilten Blockchain-Ledger bereit. Er wird vom Anwendungsentwickler geschrieben und unterstützt das Geschäft der oberen Ebene. Benutzer-Chaincode wird in einem isolierten Chaincode-Container ausgeführt.
4. Kryptographie
Informationssicherheit und Kryptographietechnologie sind der Grundstein der gesamten Informationstechnologie. In der Blockchain kommen auch zahlreiche technische Errungenschaften der modernen Informationssicherheit und Kryptographie zum Einsatz, darunter vor allem: Hash-Algorithmus, symmetrische Verschlüsselung, asymmetrische Verschlüsselung, digitale Signatur, digitales Zertifikat, homomorphe Verschlüsselung, Zero-Knowledge-Proof usw. In diesem Kapitel wird kurz die Anwendung der Sicherheits- und Kryptografietechnologie in der Blockchain unter den Aspekten Sicherheitsintegrität, Vertraulichkeit, Identitätsauthentifizierung und anderen Dimensionen vorgestellt.
● Integrität (Anti-Manipulation)
Die Blockchain verwendet kryptografische Hash-Algorithmus-Technologie, um sicherzustellen, dass die Integrität des Blockchain-Ledgers nicht zerstört wird. Der Hash-Algorithmus (Hash) kann Binärdaten in eine kürzere Zeichenfolge abbilden und weist eingabeempfindliche Eigenschaften auf. Sobald die eingegebenen Binärdaten leicht manipuliert werden, weist die durch die Hash-Operation erhaltene Zeichenfolge große Änderungen auf. Darüber hinaus verfügen hervorragende Hash-Algorithmen auch über Konfliktvermeidungseigenschaften. Wenn Sie unterschiedliche Binärdaten eingeben, sind die erhaltenen Hash-Ergebniszeichenfolgen unterschiedlich.
Die Blockchain nutzt die Eingabeempfindlichkeit und Konfliktvermeidungseigenschaften des Hash-Algorithmus. In jedem Block generiert sie einen Hash-Wert, der den vorherigen Block enthält, und generiert einen verifizierten Merkle-Root-Hash. Sobald einige Blöcke der gesamten Blockchain manipuliert werden, kann nicht mehr derselbe Hashwert wie vor der Manipulation erhalten werden, wodurch sichergestellt wird, dass die Blockchain bei Manipulationen schnell identifiziert werden kann und letztendlich die Integrität der Blockchain sichergestellt wird (Anti-Manipulation). .
● Vertraulichkeit
Die Verschlüsselungs- und Entschlüsselungstechnologie lässt sich hinsichtlich ihrer technischen Zusammensetzung in zwei Kategorien einteilen: die eine ist die symmetrische Verschlüsselung und die andere die asymmetrische Verschlüsselung. Die Verschlüsselungs- und Entschlüsselungsschlüssel der symmetrischen Verschlüsselung sind gleich; die Verschlüsselungs- und Entschlüsselungsschlüssel der asymmetrischen Verschlüsselung sind unterschiedlich, einer wird als öffentlicher Schlüssel und der andere als privater Schlüssel bezeichnet. Mit dem öffentlichen Schlüssel verschlüsselte Daten können nur mit dem entsprechenden privaten Schlüssel entschlüsselt werden und umgekehrt.
Blockchains, insbesondere Allianzketten, erfordern während des gesamten Netzwerkübertragungsprozesses eine TLS-verschlüsselte Kommunikationstechnologie (Transport Layer Security), um die Sicherheit der übertragenen Daten zu gewährleisten. TLS-verschlüsselte Kommunikation ist die perfekte Kombination aus asymmetrischer Verschlüsselungstechnologie und symmetrischer Verschlüsselungstechnologie: Die kommunizierenden Parteien verhandeln mithilfe der asymmetrischen Verschlüsselungstechnologie über die Generierung eines symmetrischen Schlüssels und verwenden dann den generierten symmetrischen Schlüssel als Arbeitsschlüssel, um die Ver- und Entschlüsselung der Daten abzuschließen Dies nutzt gleichzeitig die Vorteile der asymmetrischen Verschlüsselung, die keine gemeinsame Nutzung von Schlüsseln zwischen beiden Parteien erfordert, und der Geschwindigkeit symmetrischer Verschlüsselungsvorgänge.
● Identitätsauthentifizierung
Eine reine TLS-verschlüsselte Kommunikation kann nur die Vertraulichkeit und Integrität des Datenübertragungsprozesses gewährleisten, kann jedoch nicht das Vertrauen des Kommunikationspartners (Mittelsmann) garantieren. Angriff). Daher ist es notwendig, einen Mechanismus für digitale Zertifikate einzuführen, um die Identität des Kommunikations-Peers zu überprüfen und so die Richtigkeit des öffentlichen Schlüssels des Peers sicherzustellen. Digitale Zertifikate werden im Allgemeinen von maßgeblichen Organisationen ausgestellt. Eine Seite der Kommunikation enthält den öffentlichen Schlüssel der autorisierenden Stammzertifizierungsstelle (Zertifizierungsstelle), um zu überprüfen, ob das Zertifikat des Kommunikations-Peers selbst vertrauenswürdig ist (d. h., ob das Zertifikat von ihm selbst ausgestellt wurde), und um die Identität des Peers anhand dessen zu bestätigen der Zertifikatsinhalt. Nachdem Sie die Identität des Peers bestätigt haben, entnehmen Sie den öffentlichen Schlüssel aus dem Zertifikat des Peers und schließen Sie den asymmetrischen Verschlüsselungsprozess ab.
Darüber hinaus werden die neuesten Forschungsergebnisse der modernen Kryptographie auch in der Blockchain angewendet, einschließlich homomorpher Verschlüsselung, wissensfreiem Nachweis usw., um maximale Privatsphäre zu gewährleisten, wenn das Blockchain Distributed Ledger öffentlich ist. Schutzfähigkeit. Die Technologie in diesem Bereich wird noch weiterentwickelt und verbessert.
Blockchain-Sicherheit ist ein Systemprojekt. Systemkonfiguration und Benutzerberechtigungen, Komponentensicherheit, Benutzeroberfläche, Funktionen zur Erkennung von Netzwerkeinbrüchen und zur Verhinderung von Angriffen usw. wirken sich alle auf die Sicherheit und Zuverlässigkeit des endgültigen Blockchain-Systems aus. Während des eigentlichen Aufbauprozesses des Blockchain-Systems sollte unter der Voraussetzung, dass die Benutzeranforderungen erfüllt werden, ein angemessenes Gleichgewicht in Bezug auf Sicherheit, Systemaufbaukosten und Benutzerfreundlichkeit erreicht werden.
Das obige ist der detaillierte Inhalt vonWas sind die Prinzipien und Merkmale der Blockchain?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!