Gesamtschritte zur Entwicklung einer Blockchain -Anwendung p>
Die Entwicklung einer Blockchain -App (DAPP) ist ein komplexer, aber vollständiger Prozess, der mehrere Schlüsselschritte enthält. Hier sind die Gesamtschritte, um eine Blockchain -App zu entwickeln:
i. Bestimmen Sie die Ziele und Anforderungen der Anwendung
klare Ziele: Erstens müssen Sie die Probleme ermitteln, die Blockchain -Anwendungen erstellt werden, um die Anforderungen zu lösen oder zu decken, z. Identifizieren Sie Funktionen: Klären Sie als nächstes die Hauptfunktionen und Merkmale der Anwendung, um nachfolgende Entwicklungsbemühungen zu unterstützen. Wählen Sie eine Plattform: Wählen Sie eine geeignete Blockchain -Plattform, die auf Zielen und Bedürfnissen basiert, wie Ethereum, Hyperledgerfabric, EOs usw. Bei der Auswahl der Eröffnung der Plattform (öffentlich, privat oder im Zusammenhang mit der Grenzkette), intelligentes Vertragsunterstützung, Leistung und Skalierung sowie Aktivitäten in der Gemeinde sowie Ökosystem.2. Wählen Sie die entspre chende Blockchain -Plattform
Plattformart: Wählen Sie öffentliche, private oder verbundene Ketten für die Anforderungen der Anwendung. Öffentliche Blockchains wie Etereum sind für alle offen und für dezentrale Anwendungen geeignet. Private Blockchains eignen sich für Transaktionen zwischen bestimmten Mitgliedern. Allianzketten sind private Blockchains von zahlreichen Parteien. Intelligenter Vertragsunterstützung: Wenn die Anwendung einen intelligenten Vertrag erfordert, wählen Sie eine Plattform, die intelligente Verträge wie Etereum unterstützt. Leistung und Skalierung: Wählen Sie eine Plattform mit ausreichender Leistung und Skalierung, basierend auf der Größe der Anwendung und der erwarteten Anzahl von Benutzern. Gemeinschaft und Ökosystem: Aktive Gemeinschaften und reichhaltige Ökosysteme können mehr Ressourcen und Unterstützung bereitstellen, um die Entwicklung und Förderung der Anwendung zu erleichtern.3. Design intelligente Verträge
Datenstrukturen definieren: Definieren Sie Daten, die intelligente Verträge, einschließlich Strukturen, Variablen und Datentypen, speichern. Schreiben Sie die Vertragslogik: Bestimmen Sie die Vertragsmethoden, einschließlich Funktionen und Ereignisse, um sicherzustellen, dass die Logik klar, sicher und zuverlässig ist. Testen und Lastschrift: Verwenden Sie die Vertragskorrektur -Tools und Testsrahmen, um intelligente Verträge vollständig zu erstellen, um ihre Korrektheit und Stabilität zu gewährleisten.4. Entwickeln Sie Front-End-Anwendungen
Entwicklungsrahmen wählen: Wählen Sie entspre chend den Anforderungen der Anwendung geeignete Entwicklungsrahmen und Bibliotheken wie React, Vue usw., um eine Frontoberfläche zu erstellen. Integrierte Blockchain -Bibliothek: Verwenden Sie Web3.js oder andere Blockchain -Bibliotheken, um eine Verbindung zum Blockchain -Netzwerk herzustellen, um eine Interaktion mit intelligenten Verträgen zu erzielen. Design -Benutzeroberfläche: Entwerfen Sie eine intuitive und einfache Benutzeroberfläche, um sicherzustellen, dass Benutzer Anwendungen leicht verstehen und bedienen können. Testen und Debugging: Verwenden Sie geeignete Tools und Technologien, um die Anwendungen zu beweisen und zu debuggen, um die Einhaltung und Stabilität zu gewährleisten.5. Richten und pflegen Sie
intelligente Verträge: Verwenden Sie Tools wie den Handel, um intelligente Verträge in das Hauptnetzwerk oder das Testnetzwerk zu platzieren, um den normalen Betrieb sicherzustellen. Apps einrichtenAnti: Platzieren Sie Front -Server oder Cloud -Plattformen, um sicherzustellen, dass Benutzer sie online verwenden können. Überwachung und Wartung: Verwenden Sie Überwachungsinstrumente und -dienste, um die Leistung und Sicherheit von Anwendungen ständig zu überwachen und Probleme sofort zu entdecken und zu lösen. Regelmäßige Aktualisierungen: Regelmäßige Aktualisierungen und Anwendungswartung entspre chend den Bedürfnissen der Benutzer und technologischen Entwicklungen, um ihren kontinuierlichen und nachhaltigen Betrieb sicherzustellen.vi. Lernen und erkunden Sie
Forschung zu neuen Tools und Technologien: Achten Sie kontinuierlich auf neue Entwicklungen und Technologien im Bereich Blockchain und verstehen Sie neue Plattformen und Tools wie neue Sprache intelligenter Verträge oder Frontbibliotheken. Nehmen Sie an Community -Veranstaltungen teil: Sie nehmen aktiv an Aktivitäten und Konferenzen in der Blockchain -Community teil und teilen Erfahrungen und Wissen mit anderen Entwicklern und Experten aus. Kontinuierliche Lektion: Lernen und Üben von Blockchain -Technologie durch Online -Kurse, Bücher, Blogs usw., um Ihre beruflichen Fähigkeiten und Ihr Wissen zu verbessern.Kurz gesagt, die Entwicklung von Blockchain -Anwendungen erfordert ein imtptisches Verständnis von Blockchain -Technologie und verwandten Tools und auch gute Design- und Entwicklungspraktiken. Durch ständiges Lernen und Üben können Sie dauerhaftere und zuverlässigere Blockchain -Anwendungen entwickeln.
⑴ Wie man das Blockchain -System entwickelt
Blockchain -Systementwicklung sollte gemäß den folgenden Phasen und Zusammensetzung erfolgen:
Systemtrendsziele und -anforderungen:
Bestimmung der Hauptfunktionen und Anwendungsszenarien des Blockchain -Systems. Analysieren Sie die Anforderungen an die Leistung, Sicherheit und Skalierbarkeit des Systems.Entwerfen Sie die zugrunde liegende Struktur:
Verschlüsselungsschicht: Wählen Sie als Blockchain -Technik den geeigneten Verschlüsselungsalgorithmus aus, um Garantie für den Systemschutz und die Vergessenheit zu gewährleisten. Datenschicht: Entwurfsdatenblockstruktur, einschließlich Speicherung und Verwaltung von Daten wie Zufallsnummer, Timstamps, öffentlichen und privaten Schlüssel.Erstellen Sie die Netzwerkschicht: Verwenden Sie die P2P -Technologie, um einen verteilten Netzwerkmechanismus anzuwenden, um den Informationsaustausch zwischen
Knoten sicherzustellen. Entwerfen Sie die Datenübertragungs- und Datenüberprüfungsmechanismen, um die Sicherheit und Integrität der Daten zu gewährleisten.Wenden Sie die einstimmige Schicht an:
Auswählen Sie die richtigen Konsensalgorithmen und Konsensmechanismen wie POW (Nachweis der Arbeit), POS (Nachweis des Einsatzes) usw. Wenden Sie den Konsensprozess zwischen Knoten an, um eine effiziente Bestätigung der Effektivität der Blockdaten zu gewährleisten.Incentive -Schicht für Design (falls angewendet):
in der öffentlichen Kette, um Knoten zu ermutigen, an der Überprüfung, dem Entwurf und der Gestaltung des Vertriebssystems wirtschaftlicher Anreize teilzunehmen. Überlegen Sie in der Alliance -Kette, ob zusätzliche Ermutigung erforderlich ist oder eine spontane Wartung, die von der organisatorischen Authentifizierung abhängt.Vertragsschicht entwickeln:
Smart Contracts und Skripte entwerfen, um die Programmabilität von Blockchain zu spüren. Bestimmen Sie das Transaktionsmodell und die Prozessdetails, um die korrekte Ausführung intelligenter Verträge zu gewährleisten.Anwenden Sie die Anwendungsschicht an:
Verschiedene Anwendungsszenarien und Angelegenheiten entspre chend den Systemzielen. Wenden Sie Blockchain -Technologie auf reale Szenarien an und bereichern Sie das ökologische System.Tests und Debuggen:
breite Tests des Systems, einschließlich Funktionstests, Leistungstests, Sicherheitstests usw. Debuggen und Anpassung gemäß den Ergebnissen des Systems, um die Stabilität und Zuverlässigkeit des Systems zu gewährleisten.Bereitstellung und Wartung:
Das System in der realen Umgebung bereitstellen und online ausführen. Regelmäßige Systeme werden gewartet und aktualisiert, um den kontinuierlichen Betrieb und die Sicherheit des Systems sicherzustellen. Im Entwicklungsprozess ist es notwendig, dem neuesten Fortschreiten der Blockchain -Technologie- und Branchentrends und der rechtzeitigen Anpassung und Optimierung der Systemdesign- und Implementierungspläne die Aufmerksamkeit zu schenken. Gleichzeitig ist es auch notwendig, auf die Sicherheit und Skalierbarkeit des Systems zu achten, um sicherzustellen, dass das System zukünftige Herausforderungen und Bedürfnisse decken kann.⑵ Welche Erfahrung benötigt Blockchain?
Was ist die Grundlage für das Lernen von Blockchain?1. Cryptography
Elektronische Währung ist nur eine Reihe von Zeichenfolgen, und die elektronische Währung ist leicht zu kopieren. Wem gehört diese elektronische Währung also? Selbst wenn Sie unzählige Kopien kopieren, wie können Sie nur eine Kopie gültig erstellen? Hier brauchen wir Kryptographie -Techniken, um präzise, asymmetrische Kryptographie zu sein.
2.P2P -Netzwerk
Die zweite verwendete Technologie ist das P2P -Netzwerk.
Kryptographie löst das Problem des Eigentums in der digitalen Währung durch öffentliche und private Schlüsseltechnologie perfekt, löst jedoch nicht das Problem mehrerer Transaktionen. Wenn ich beispielsweise 1 Yuan und ich einen privaten Schlüssel habe, kann ich ihn einfach wiederholt ausgeben.
Wie löst ich das Problem mehrerer Transaktionen? Satoshi Nakamoto nutzte die Technologie des P2P -Netzwerks.
Samoto hat ein P2P -Netzwerk entwickelt, das aus vielen Knoten zufällig zusammengesetzt ist, und jeder Knoten verwaltet eine Datenbank, mit der alle Transaktionen aufgezeichnet werden.
Diese Technologie ist sehr einfach. Jedes Mal, wenn Sie eine Transaktion durchführen, müssen Sie eine Mitteilung senden, um allen Knoten mitzuteilen, die Sie gehandelt haben, und dann alle Knoten die Transaktion aufzeichnen. Wenn mehr als 50% der Knoten die Transaktion aufzeichnen, kann die Transaktion nicht geändert werden.
3. Österreichische Schule für Wirtschaft
Nach Kryptographie und P2P -Netzwerk scheint das Problem perfekt gelöst worden zu sein. Das System gibt digitale Münzen über öffentliche und private Schlüssel aus, zeichnet Transaktionen über das P2P -Netzwerk auf, und dann werden digitale Münzen ständig gehandelt, und digitale Münzen arbeiten perfekt.
gibt es hier jedoch eine weitere grundlegende Frage: Warum müssen diese P2P -Netzwerkknoten Konten aufbewahren?
P2P -Netzwerk ist keine neue Technologie. Vor langer Zeit gab es viele P2P -Netzwerke, wie den berühmten Kuaibo. Die meisten dieser Netzwerke leben jedoch von Verstößen oder werden von Hormonen im Unterkörper angetrieben. Worauf stützt sich das P2P -Netzwerk, um zu werben?
Samoto Nakamoto öffnete den Mülldose und fand Hayek, den Vertreter der österreichischen Schule. Ich eröffnete ein Buch mit dem Titel "Denationalisation of Currency" und fand die Motivation für dieses P2P -Netzwerk der Wertübertragung: Menschen sind egoistisch.
Saito Nakamoto entwarf dann zwei Belohnungsmodelle: Bergbaugebühr und Buchhaltungsgebühr.
Bergbau besteht darin, neue Blöcke zu finden, und die Rechnungslegung besteht darin, alle Transaktionen aufzuzeichnen. Diese beiden sind Verhaltensweisen, für die der Stromverbrauch der Stromverbrauch berechnet wird, und sie sind auch zwei Aktionen, die P2P -Knoten leicht ausführen können. Beide Aktionen können Vorteile erzielen. Solange dieser Gewinn hoch genug ist, wird er genügend Menschen anziehen, um in den Knoten zu gelangen und an der Einrichtung und dem Betrieb dieses Netzwerks teilzunehmen.
4. Programmierung
Zwei Technologien und eine Wirtschaftstheorie (oder soziologische Theorie) vervollständigen ein perfektes Modell: Unter dem Anreiz der Konformung mit der Wirtschaftstheorie wird die digitale Währung, die seine Zugehörigkeit durch asymmetrische Verschlüsselung bestimmt, in der riesigen und grenzenlosen Bitwelt glücklich übertragen. Dies ist ein fröhlicher Garten von Eden.
Dieser Garten Eden hat bereits gedacht, dass der Verstand von Satoshi. Wie kann man diesen Garten Eden auf die Erde kommen lassen?
Dies ist das letzte Tool, das heißt, Programmierung. Dies ist für Satoshi Nakamoto oder sein Team sehr einfach. Schließlich kann die C -Sprache alle Funktionen implementieren, und asymmetrischeVerschlüsselung und P2P -Netzwerke sind sehr reife Technologien.
.Top -Domänenname ist der Ansicht, dass Blockchain keine Technologie, sondern eine Sammlung von Technologien ist. Blockchain hat keine neuen Technologien vorgeschlagen, sondern nur einige einfache, aber sehr stabile und reife Technologien, um eine neue Welt aufzubauen. Derzeit ist es sehr erfolgreich.
Welche Technologieentwicklung wird für Blockchain benötigt?
Welche Technologieentwicklung ist für Blockchain erforderlich:
1. Blockchain -Theorie: Blockchain -Entwickler müssen die theoretische Kenntnis der Blockchain vertraut und beherrschen. Dies ist die grundlegendste Anforderung für einen Blockchain -Entwickler. Die Inhalte umfassen Blockchain -Netzwerkarchitektur, Dezentralisierung und andere verwandte Anwendungstechnologien. Die Erweiterung der technischen Theorie ist die Beherrschung der Ethereumentwicklung.
2. Smart Contract: Smart Contracts sind eine Reihe von Codes, die von Blockchain -Entwicklern in der Blockchain -Programmiersprache geschrieben wurden. Sie werden nach der Konzeption der Logik entwickelt, die auf verschiedenen Szenarien basiert. Sie wollen die Intervention Dritter beseitigen und ein effizientes und sehr vertrauenswürdiges Blockchain -Netzwerk schaffen. Blockchain -Entwickler müssen die automatische Ausführung dieser Codezeichenfolge erkennen, und es handelt sich um einen irreversiblen Betriebseffekt.
3. Kryptographie: Es gibt viele Blockchain -Anwendungsszenarien.hohe Verschlüsselung, Point-to-Point-Verschlüsselungsmodus ist eine kryptografische Funktion. Blockchain -Entwickler lernen Verschlüsselungskonzepte wie Brieftaschen, Schlüssel, umfangreiche Verschlüsselung und Entschlüsselungstechnologien durch die Erforschung der Kryptographie kennen. 4. Verteilte Architektur: Blockchain -Entwickler müssen die Funktionen verteilter Architektur und Netzwerke verstehen. Dezentrale Netzwerke sind die Grundlage für die Blockchain -Architektur. Informationsübertragung in Blockchain -Netzwerken muss einer dezentralen Methode folgen, damit jeder die gleichen Netzwerkrechte genießen kann.
Wie kann man Karriere ändern und im Jahr 2020 in die Blockchain -Industrie eingeben?Als Wissenschafts- und Technologiearbeiter und Computerpädagogen werde ich diese Frage beantworten.
Zunächst wird Blockchain mit der Entwicklung des industriellen Internets im Jahr 2020 über mehr Anwendungsszenarien verfügen und die Blockchain -Technologie auch eine aktivere Rolle bei der Implementierung und Anwendung des industriellen Internets spielen. Aus dieser Perspektive wird das Blockchain -Feld in Zukunft auch zu einem Hotspot für Innovation und Unternehmertum.
Für gewöhnliche Unternehmer, wenn sie in das Blockchain -Feld eingeben möchten, können sie Einstiegspunkte basierend auf ihren eigenen Funktionen für die Integrationsfunktionen der Branche finden. Für die überwiegende Mehrheit der kleinen und mittelgroßen Unternehmer sollte das Eintritt in das Blockchain-Feld in der vorhandenen Blockchain-Plattform innovative Anwendungen annehmen. Dies wird nicht nur den Schwellenwert für Innovation und Unternehmertum erheblich verringern, sondern auch eine bestimmte Grundlage für die Umsetzung haben. Da viele große Technologieunternehmen im Blockchain-Bereich eingesetzt werden, werden in Zukunft mehr Anwendungsmodelle auf der Grundlage bestimmter Branchen im Blockchain-Bereich auftreten, und kleine und mittelgroße Unternehmer beitreten diesen ökologischen Modellen, der unternehmerische Prozess wird einfacher sein.
Innovation im Blockchain -Feld muss vollständig mit dem aktuellen Hintergrund der Industriestrukturverbesserung kombiniert werden. In diesem Prozess müssen Unternehmer über bestimmte Funktionen für die Integrationsfunktionen für die technische Ressourcen verfügen und auch über eine gewisse Anhäufung desrelevanten Wissens im Bereich der Branche verfügen. Die Innovation von Blockchain im Branchenbereich muss untrennbar mit der Teilnahme von Branchenexperten untrennbar sein. Aufgrund der großen Anzahl von Innovationen in der Branche sind die Aussichten auf die Blockchain -Anwendung immer noch sehr breit.
Die Innovation der Blockchain -Technologie kann auch aktuelle Cloud -Computing, Big Data und Internet of Things -Technologien kombinieren. Wenn Blockchain -Technologie als Beispiel das Gebiet von Big Data einnimmt, kann er die Sicherheitsprobleme von Big Data in gewissem Maße lösen, was auch bestimmte Sicherheitsgarantien für die Implementierung und Anwendung von Big Data bietet. Mit der kontinuierlichen Implementierung und Anwendung industrieller Internet-Technologien werden die Anwendungsszenarien von Blockchain nach und nach verbessert.
Schließlich können sie für Unternehmer mit starken Ressourcenintegrationsfunktionen auch in Betracht ziehen, eine eigene Blockchain -Plattform zu erstellen.
Wenn Sie Fragen zum Internet, Big Data, künstliche Intelligenz usw. oder Probleme mit der Postgraduierten -Aufnahmeprüfung haben, können Sie eine Nachricht im Kommentarbereich hinterlassen oder mir eine private Nachricht senden!
1. Blockchain-Kenntnis des Selbststudiums
Das Grundwissen vor dem Eintritt in die Branche ist unerlässlich.
Blockchain ist eine interdisziplinäre Disziplin, die hauptsächlich Finanzen und Informatik umfasst, gefolgt von Informatik, Wirtschaftlichkeit, Psychologie, Quantenmechanik, Kryptographie, Soziologie usw., und sein Wissenssystem ist recht komplex. Gleichzeitig gibt es als aufstrebende Sache eine breite Palette relevanter Informationen im Internet, aber sein Wissenssystemkonstruktion und die populäre Wissenschaftsarbeit sind immer noch sehr unvollkommen, und es ist für Anfänger schwierig, umfassende und leicht verständliche Materialien zum Lernen zu finden.
2. Verstehen Sie die Angebots- und Nachfragessituation der Rekrutierung in der Blockchain-Industrie
Blockchain-Rekrutierungsnachfrage konzentriert sich in Städten in der ersten Stufe und in neuen Erststädten, und das meiste davon konzentriert sich auf Peking, Shanghai und Shenzhen. Daher kann die Anzahl der Arbeitssuche in Peking, Shanghai und Shenzhen erhalten werden.
Die vorhandenen Blockchain -Talente konzentrieren sich auf Peking, hauptsächlich Senioren am Arbeitsplatz, und die Hälfte von ihnen verfügt über mehr als 5 Jahre Berufserfahrung. Ihre akademischen Qualifikationen sind im Allgemeinen hoch, die meisten von ihnen sind Bachelor -Abschluss oder höher, sodass die erforderlichen akademischen Qualifikationen für die Einstellung im Allgemeinen den Bachelor -Abschluss oder höher erfordern.
Ab 2018 zeigen Daten, dass es in der Blockchain-Branche meines Landes etwa 388 Start-up-Projekte gibt, die hauptsächlich in den Bereichen Finanz- und Blockchain-Plattformen verteilt sind, von denen Finanzprojekte 42,3%und Blockchain-Plattformen etwa 39,2%ausmachen. Die meisten der bestehenden Talente in der Blockchain -Branche sind ebenfalls aus der Internetbranche und der Finanzbranche zugefügt, sodass die beruflichen Hintergrundanforderungen für neue Absolventen auch Priorität und Finanzmajors zur Verfügung stellen.
83% der von Blockchain -Unternehmen erhaltenen Investitionen sind konzentriertIn den frühen Stadien (Runde A und zuvor) waren die rekrutierten Unternehmen hauptsächlich kleine und mittelgroße Unternehmen, dh Unternehmen mit einer Skala von weniger als 100, und die Skala von 20 bis 99 erreichten 43%.
3. Gehen Sie häufiger an Branchenaktivitäten teilzunehmen. Gleichzeitig ist es besonders wichtig, abends und Wochenenden häufiger an Branchenaktivitäten teilzunehmen, um Verbindungen herzustellen.
Denn mit einem gewissen Grad an entspre chender Berufserfahrung besteht der Schlüssel zu einererfolgreichen sozialen Einstellung darin, interne Verbindungen zu erhalten und Mitarbeiter innerhalb eines bestimmten Unternehmens kennenzulernen. Wenn ihr Unternehmen Rekrutierungsanforderungen hat, können Sie ihn so schnell wie möglich bekommen. In Verbindung mit der Kreditversorgung dieser Beziehung kann sie die Effizienz der sozialen Rekrutierung bei der Suche nach Arbeitsplätzen erheblich verbessern.
Wenn Sie Ihre Branchenverbindungen kennenlernen möchten, ist es am besten, an internen Branchenaktivitäten teilzunehmen. Als Konzentration an Ressourcen der Blockchain -Industrie werden Peking, Shanghai und Shenzhen jeden Monat viele Branchenaktivitäten durchführen, von denen viele kostenlos, kostenlos und direkt registriert werden können.
Bekennt Sie über Blockchain?
Blockchain ist eine aufstrebende Branche. Es wird gesagt, dass es selbst eine gute Sache ist, aber wenn jeder etwas darin hat, denke ich, wenn es so weitergeht, kann es nicht genug Kuchen geben, um sie zu teilen. Einige Leute haben auch im Namen der Blockchain schlechte Dinge gemacht, also denke ich persönlich, dass Sie, wenn Sie ein Außenseiter sind, nicht hineingehen sollten, um nicht zu leiden.
Was ist Blockchain? Nehmen Menschen aus derselben Community zusammen kurze Douyin -Videos zusammen? [Decken Sie Ihr Gesicht ab]
Blockchain ist ein Konsortium von Bigwigs. Menschen, die gerade in die Logistikbranche eintreten, sollten zuerst abwarten und nicht berühren.
Ist Blockchain eine Branche? [Ja] [ja] [ja] [ja]
Blockchain ist etwas, das nur High-End-Leute spielen können. Die meisten Menschen, die es betreten, werden es betreten, ohne die Blockchain, so, es gibt kein kostenloses Mittagessen auf der Welt. Ich habe viele Opfer um mich herum. Dieses Konzept wird vorgeschlagen, viele Menschen wissen nicht einmal, was Blockchain ist, und sie müssen Blockchain machen. Sollten wir mehr über Blockchain -Anwendungsszenarien und dann die Transformation lernen?
Erstens müssen Sie die relevanten Inhalte in der Netzwerkkommunikation verstehen, gefolgt von Datenspeicherung, Verschlüsselungstechnologie, Konsensmechanismus und Sicherheitstechnologie sowie schließlich Cross-Chain-Technologie und Technologie außerhalb der Kette. Ich persönlich glaube, dass wir von der Praxis beginnen sollten, um Blockchain zu lernen. Wenn Sie ein Programmierer sind, können Sie Blockchain-bezogene Unternehmen wenden, um verwandte Unternehmen zu kontaktieren und bei der Arbeit zu lernen. Ich habe bei Xuanling Technology gearbeitet. Das Unternehmen verfügt über eine gute Stärke und Erfahrung in der Blockchain -Entwicklung und ist ein gutes Ziel für Arbeit und Zusammenarbeit.
Aus dem Namen können wir sehen, dass "Blockchain" aus "Block" und "Kette" besteht. Blöcke (Datenblöcke) werden in irgendeiner Weise mit einer Blockchain miteinander verbunden.
Was enthalten die Blockdaten? Inwiefern sind sie miteinander verbunden?
Sie können sehen, dass die Hash -Werte des Blockheaders und der vorherige Blockheader enthalten sind, damit alle Blöcke in einer bestimmten Reihenfolge miteinander verbunden werden können. Der Hash -Wert wird gemäß den Hash -Verschlüsselungsfunktionen implementiert. In der C/C ++ - Sprache gibt es das Konzept des Zeigers: Ein Zeiger ist eine Adresse, die Adresse eines Speichers im Speicher. Die Blockchain verwendet auch den Hash -Wert jedes Blocks als Adresse des nächsten Blocks basierend auf einem ähnlichen Konzept.
Was ist ein Hash -Wert?
Der Hash -Wert ist die "Zusammenfassung" eines Datensatzes, eine Reihe von Zeichenfolgen, die durch einen Hash -Verschlüsselungsalgorithmus generiert werden. Darüber hinaus enthält der geheime Schlüssel eine Reihe von geheimen Schlüssel, öffentlichen Schlüssel und Bissen, die der Außenwelt zur Verschlüsselung von Daten zur Verfügung gestellt werden und zum Entschlüsseln von Daten verwendetwerden. Daten, die mit öffentlichen Schlüssel verschlüsselt sind, können nur durch private Schlüssel entschlüsselt werden. Auch wenn andere Daten erhalten haben und öffentliche Schlüssel haben, können sie die Daten nicht entschlüsseln. Dies gewährleistet die Datensicherheit. Der private Schlüssel kann auch als einzigartige Authentifizierung dieses Knotens verwendet werden, der die Privatsphäre jedes Knotens gewährleistet und die Anonymität erreicht. Wenn einer der Knoten einen Teil der Daten ändert, ändert sich der Hash -Wert des Blocks, was zu Änderungen in allen nachfolgenden Blöcken führt. Wenn dieser Block andere Blöcke der modifizierten Daten benachrichtigt, werden die anderen Blöcke feststellen, dass die gesendeten Daten mit den von ihnen gespeicherten Daten nicht übereinstimmen, und es ablehnen, die Daten zu akzeptieren, um sie in ihr eigenes Hauptbuch zu schreiben. Dies sorgt für die Daten Integrität.
Was ist Dezentralisierung?
Oft alle QQ, WeChat usw. verfügen über einen Backend -Server, der die von jedem Mobiltelefon übertragenen Daten einheitlich verarbeitet und ihn über den Server verarbeitet. Die Blockchain -Technologie besteht darin, die Unified Server -Verarbeitung abzusagen, und jeder Knoten ist ein Server, selbst wenn der Client ein Server ist. Wenn ein Knoten Daten über das Netzwerk sendet, empfangen die anderen Knoten die Daten und übergeben dann eine Reihe von Überprüfungen, um zu bestätigen, dass die Daten nicht problematisch sind, und schreiben sie dann in seinen eigenen Block. Dieser Knoten ist der Server und die anderen Knoten sind der Client. Wenn dieser Knoten Daten empfängt, ist ein weiterer Knoten der Server und dieser Knoten der Client. Der Vorteil davon ist, dass der Server entfernt wird und jeder Knoten Daten unabhängig verarbeiten und Kosten sparen kann.
Wie kann ich die Datenkonsistenz beibehalten?
Die sogenannte Datenkonsistenz bedeutet, dass die Daten oder der Status aller Knoten gleichzeitig konsistent bleiben. Die Essenz von Blockchain ist eine verteilte Anwendungssoftware. Wenn es sich um ein zentrales Szenario handelt, ist das Erreichen einer Vereinbarung kein Problem, da nur eine Datensicherung vorhanden ist. In einer verteilten Umgebung werden Daten über das Netzwerk übertragen, und es kann unzuverlässig, verzögert oder sogar Fehler, Abschalten und Neustarts sowie andere verschiedene Situationen sein, die die Datenkonsistenz beeinflussen.
FLP -Theorem: Verschwenden Sie keine Zeit damit, Algorithmen zu entwerfen, die in jedem Szenario Konsens für asynchrone verteilte Systeme erzielen können. Wenn ein Knotenfehler zulässig ist, können reine asynchrone Systeme nicht sicherstellen, dass die Konsistenz in einer begrenzten Zeit abgeschlossen wird.
CAP -Theorem: Ein verteiltes Computersystem kann keine Konsistenz, Verfügbarkeit und Partitionsfehler gleichzeitig sicherstellen, und es ist unmöglich, beide drei zu haben.