Pelajaran 2

Blockchain-Grundlagen von Filecoin

1

Blockchain-Grundlagen in Filecoin

Die Filecoin-Blockchain ist eine komplexe verteilte Datenbank, die von einem Netzwerk aus Computerknoten gemeinsam genutzt wird. Jeder Knoten enthält eine Kopie der Blockchain und stellt so sicher, dass jede Transaktion und jede vertragliche Verpflichtung im Netzwerk aufgezeichnet und unveränderlich ist. Dies bietet ein zuverlässiges und sicheres Verzeichnis aller Aktivitäten innerhalb des Filecoin-Ökosystems.

Akteure: Die Arbeitspferde der Filecoin-Blockchain

Akteure auf der Blockchain von Filecoin dienen als Äquivalent zu Smart Contracts in der Ethereum Virtual Machine. Jeder Akteur kapselt eine Reihe von Zustandsvariablen und Methoden für die Interaktion mit dem Filecoin-Netzwerk. Sie sind im Wesentlichen die Agenten, die Aktionen auf der Blockchain ausführen, wie z. B. die Verwaltung von Speicherverträgen oder die Erleichterung von Transaktionen.

Integrierte Systemakteure

Das Netzwerk von Filecoin wird von mehreren integrierten Systemakteuren angetrieben, die wesentliche Funktionen übernehmen:

  • Systemakteur: Führt allgemeine Netzwerkoperationen aus.
  • Init Actor: Verantwortlich für die Initialisierung neuer Akteure und die Verwaltung von Netzwerknamenskonventionen.
  • Cron Actor: Fungiert als Planer des Netzwerks und löst in jeder Epoche wesentliche Funktionen aus.
  • Account Actor: Verwaltet Benutzerkonten über den Rahmen des Singleton-Musters hinaus.
  • Storage-Miner-Akteur: Koordiniert Storage-Mining-Vorgänge und validiert Speichernachweise.
  • Speichermarktakteur: Verwaltet Speicherverträge auf dem Marktplatz des Netzwerks.
  • Multisig Actor: Verwaltet Vorgänge im Zusammenhang mit der Multisignatur-Wallet von Filecoin.
  • Payment Channel Actor: Verwaltet die Einrichtung und Abwicklung von Zahlungskanälen.
  • Datacap-Akteur: Überwacht die Zuweisung und Verwaltung von Datacap-Tokens.
  • Verifizierter Registrierungsakteur: Verwaltet verifizierte Clients innerhalb des Netzwerks.
  • EVM-Kontoakteur: Stellt externe Ethereum-Identitäten dar und erleichtert die Interoperabilität mit Ethereum-basierten Systemen.

Vom Benutzer programmierbare Schauspieler

Mit zunehmender Reife der Filecoin Virtual Machine (FVM) haben Entwickler die Möglichkeit, ihre eigenen Akteure zu schreiben und bereitzustellen, ähnlich wie bei Smart Contracts auf anderen Blockchains. Diese vom Benutzer programmierbaren Akteure können über exportierte APIs mit den integrierten Akteuren interagieren, wodurch eine breite Palette von Anwendungen und Diensten auf dem Filecoin-Netzwerk aufgebaut werden kann.

Verteilte Zufälligkeit in Filecoin

Filecoin nutzt ein verteiltes und öffentlich überprüfbares Zufallsprotokoll namens Drand als Zufallsquelle für die Wahl des Anführers während der Blockproduktion. Diese Zufälligkeit ist wichtig, um sicherzustellen, dass der Prozess unvorhersehbar, unvoreingenommen und überprüfbar ist und die Fairness und Sicherheit des Mining-Prozesses gewahrt bleibt.

Knoten und ihre Rollen

Knoten im Filecoin-Netzwerk werden hauptsächlich nach den von ihnen bereitgestellten Diensten klassifiziert:

  • Chain Verifier Nodes: Validieren Sie die Blockchain und setzen Sie Konsensregeln durch.
  • Client-Knoten: Interagieren Sie mit dem Netzwerk, um Daten zu speichern und abzurufen.
  • Speicheranbieterknoten: Bieten Sie dem Netzwerk Speicherkapazität und stellen Sie die kontinuierliche Speicherung sicher.
  • Abrufanbieterknoten: Stellen gespeicherte Daten auf Anfrage schnell und zuverlässig bereit.
  • Mehrere Implementierungen des Filecoin-Protokolls koexistieren, um die Sicherheit und Widerstandsfähigkeit des Netzwerks zu verbessern, sicherzustellen, dass es keinen Single Point of Failure gibt und eine gesunde Dezentralisierung fördert.

Adressen: Identifizieren von Akteuren in Filecoin

Adressen in Filecoin sind alphanumerische Zeichenfolgen, die Akteure oder Benutzer im Netzwerk eindeutig identifizieren und so Interaktionen wie Transaktionen und die Ausführung intelligenter Verträge erleichtern. Diese Adressen gibt es in verschiedenen Formen, die die verschiedenen Arten von Akteuren widerspiegeln, die sie vertreten:

  • ID-Adressen (f0): Numerische Kennungen für Akteure, die eine für Menschen lesbare Möglichkeit bieten, Netzwerkteilnehmer zu referenzieren.
  • Secp256k1-Adressen (f1): Abgeleitet von öffentlichen Schlüsseln unter Verwendung des Verschlüsselungsstandards secp256k1, der üblicherweise für Wallets verwendet wird.
  • Akteuradressen (f2): Werden Smart Contracts zugewiesen und bleiben über Netzwerkzweige hinweg robust.
  • BLS-Adressen (f3): Aus öffentlichen BLS-Schlüsseln generiert und für Wallets mit BLS-Verschlüsselung verwendet.
  • Benutzerdefinierte Akteuradressen (f4): Flexible Adressen, die von benutzerdefinierbaren Adressverwaltungsakteuren zugewiesen werden können, was benutzerdefinierte und erweiterbare Adressierungsschemata ermöglicht.
  • Jeder Adresstyp dient einem bestimmten Zweck innerhalb des Filecoin-Ökosystems, von der Erleichterung von Transaktionen bis hin zur Verwaltung intelligenter Verträge und Benutzerinteraktionen.

Tipsets und Blöcke

Die Blockchain von Filecoin weicht von der Norm einer linearen Folge von Blöcken ab. Hier werden Blöcke in „Tipsets“ gruppiert, die man sich als Schnappschüsse des Netzwerkstatus in jeder Epoche oder als festes Zeitintervall im Blockchain-Sprachgebrauch vorstellen kann. Dieses Modell ermöglicht eine flexiblere und effizientere Blockchain, indem es die gleichzeitige Erstellung mehrerer gültiger Blöcke ermöglicht.

Die Anatomie eines Filecoin-Blocks

Jeder Block in Filecoin ist ein Bündel, das einen Header und eine Reihe von Nachrichten enthält, die die von den Akteuren durchgeführten Aktionen wie Transaktionen oder vertragliche Vereinbarungen darstellen. Der Block-Header enthält Metadaten wie die Adresse des Miners, das Ticket (Arbeitsnachweis) und die CIDs der übergeordneten Blöcke. Die Nachrichten sind das Kernstück des Blocks und zeichnen Zustandsänderungen wie Token-Transfers und Vertragsaufrufe auf. Blöcke sind mit mindestens einem übergeordneten Block verknüpft und bilden eine kontinuierliche Kette zurück zum Genesis-Block.

Blockzeit: Den Puls des Netzwerks synchronisieren

Die Blockzeit in Filecoin ist auf durchschnittlich 30 Sekunden festgelegt. Dieses Intervall wurde strategisch gewählt, um ein Gleichgewicht zwischen der Reaktionsfähigkeit des Netzwerks und den praktischen Aspekten seines Betriebs herzustellen. Eine kürzere Blockzeit könnte die Geschwindigkeit des Netzwerks erhöhen, würde aber auch höhere Hardwareanforderungen mit sich bringen und könnte zu häufigeren Blockzeitausfällen führen. Die Blockzeit von 30 Sekunden gibt Speicheranbietern ausreichend Zeit, um notwendige Vorgänge wie das Versiegeln von Sektoren und das Generieren von Beweisen durchzuführen, ohne ihre Hardware zu überlasten.

Tipsets: Maximierung von Effizienz und Belohnung

In einer bestimmten Epoche ist es möglich, dass mehrere Speicheranbieter erfolgreich Blöcke abbauen. Die Tipset-Struktur von Filecoin trägt diesem Umstand Rechnung, indem alle gültigen Blöcke mit derselben Höhe und demselben übergeordneten Element in einer einzigen Gruppe gebündelt werden. Dies bedeutet, dass jede gültige Arbeit zum Zustand des Netzwerks beiträgt und belohnt wird, ein wichtiges Merkmal, das die Teilnahme und Zusammenarbeit zwischen Bergleuten fördert. Es stellt außerdem sicher, dass das Netzwerk Forks effizient handhaben kann und schnell einen Konsens über die kanonische Kette erzielt.

Das Tipset-System bietet mehrere Vorteile gegenüber herkömmlichen Blockchains:

  • Erhöhter Netzwerkdurchsatz: Durch die Verwendung aller gültigen Blöcke zur Bestimmung des Netzwerkstatus kann Filecoin in jeder Epoche mehr Daten und Transaktionen verarbeiten.
  • Belohnung gültiger Arbeit: Jeder Speicheranbieter, der einen gültigen Block produziert, erhält eine Belohnung, was den Minern einen Anreiz gibt, einen Beitrag zum Netzwerk zu leisten, und einer Zentralisierung entgegenwirkt.
  • Zusammenarbeit statt Konkurrenz: Potenzielle Blockproduzenten werden zur Zusammenarbeit ermutigt, da die Tipset-Struktur keinen Anreiz bietet, Blöcke zurückzuhalten, die für das Wachstum des Netzwerks von Vorteil sein könnten.
  • Widerstandsfähigkeit gegenüber Forks: Mit der Tipset-Architektur erreicht Filecoin eine schnellere Konvergenz während Forks und gewährleistet so die Netzwerkstabilität.
  • Der Ethereum JSON-RPC und Filecoin

Es ist erwähnenswert, dass mit der Integration der Filecoin EVM-Laufzeit und der Einführung der Ethereum JSON-RPC-Standards der Begriff „Tipset“ noch benutzerfreundlicher wird. Wenn wir in diesem Zusammenhang von einem „Block-Hash“ im Ethereum JSON-RPC sprechen, beziehen wir uns tatsächlich auf den Hash eines Tipsets, der die kombinierten Zustandsänderungen aller Blöcke innerhalb dieses Tipsets umfasst.

Während wir die Blockchain von Filecoin weiter erforschen, werden wir sehen, wie diese Komponenten zusammenwirken, um ein dezentrales Speichernetzwerk zu schaffen, das robust, effizient und für zukünftiges Wachstum bereit ist.

Filecoin-Konsens

Der Konsensmechanismus von Filecoin, bekannt als Expected Consensus (EC), stellt einen Eckpfeiler seines dezentralen Speichernetzwerks dar. Dieses Kapitel soll eine Einführung in EC bieten und sich mit seinen Funktionsprinzipien, technischen Spezifikationen und der Rolle befassen, die es bei der Aufrechterhaltung der Integrität und Zuverlässigkeit des Filecoin-Netzwerks spielt.

Filecoin arbeitet mit einem einzigartigen Konsensmechanismus namens Expected Consensus (EC). Im Gegensatz zu herkömmlichen Blockchain-Protokollen, die häufig auf Proof of Work (PoW) oder Proof of Stake (PoS) basieren, kombiniert EC Elemente aus Zufälligkeit, Speicherleistung und probabilistischer byzantinischer Fehlertoleranz. Im Kern ist EC darauf ausgelegt, Anreize mit dem Hauptziel von Filecoin in Einklang zu bringen: Daten effizient und zuverlässig zu speichern.

Die Essenz von EC

  • Dezentralisierung und Zuverlässigkeit: Das Hauptziel von EC besteht darin, eine dezentrale Umgebung zu fördern, in der die Datenspeicherung und der Datenabruf sowohl zuverlässig als auch überprüfbar sind.
  • Speicherzentrierter Ansatz: Im Gegensatz zu herkömmlichen Blockchains, die sich auf Rechenleistung oder Münzbestände konzentrieren, priorisiert Filecoins EC die Speicherleistung – die Kapazität zum Speichern von Daten.

Kernmechanismen des erwarteten Konsenses

Der operative Rahmen von EC dreht sich um mehrere Schlüsselkomponenten, die jeweils eine entscheidende Rolle für die Funktionalität des Netzwerks spielen.

  1. Probabilistische byzantinische Fehlertoleranz:
  • EC verfügt über byzantinische Fehlertoleranzmechanismen, die es gegenüber einer Reihe von widrigen Bedingungen widerstandsfähig machen, einschließlich böswillig agierender oder offline gehender Knoten.
  1. Leader-Wahl und Blockproduktion:
  • Das Herzstück von EC ist ein Wahlprozess für Führungskräfte. Im Gegensatz zu deterministischen Prozessen in anderen Blockchains verwendet EC eine probabilistische Methode, um Leiter oder Miner auszuwählen, die für die Blockerstellung verantwortlich sind.
  1. Anonymität bis zur nachgewiesenen Wahl:
  • Bergleute innerhalb der EC bleiben anonym, bis sie ihren Wahlstatus durch einen „ElectionProof“ nachweisen können. Dieser Beweis ist von entscheidender Bedeutung, um Fairness und Unvorhersehbarkeit bei der Blockproduktion sicherzustellen.
  1. Aufbewahrungsnachweis:
  • Miner müssen einen „WinningPoSt“ (Proof of Spacetime) einreichen, der ihren Beitrag zur Speicherkapazität des Netzwerks bestätigt.

Technische Spezifikationen von EC

Die technischen Grundlagen von EC zeigen den innovativen Charakter von EC. Hier untersuchen wir einige der wichtigsten Spezifikationen, die diesen Konsensmechanismus definieren:

Zufälligkeit über DRAND:

  • EC verwendet DRAND, einen externen, unvoreingenommenen Zufallsbeacon, um verschiedene Aspekte des Protokolls zu erleichtern, einschließlich der Wahl des Leiters.

Überprüfbare Zufallsfunktion (VRF):

  • Miner nutzen ein VRF zusammen mit der von DRAND erhaltenen Zufälligkeit, um ihren ElectionProof zu generieren.

ElectionProof und VRF-Kette:

  • Der Wahlnachweis ist für Bergleute von entscheidender Bedeutung, um nachzuweisen, dass sie rechtmäßig für die Produktion eines Blocks ausgewählt wurden.
  • Es wird eine kontinuierliche VRF-Kette aufrechterhalten, die sich mit jedem neuen produzierten Block verlängert.

Speicherleistung und WinCount:

  • Die Leistung eines Miners im Netzwerk ist proportional zu seiner Speicherkapazität.
  • WinCount bestimmt die Anzahl der Blöcke, die ein Miner produzieren kann, basierend auf seiner Speicherleistung und dem Ergebnis seines VRF.
  • Konsenssicherheit und Fairness

Sicherheit und Fairness stehen in der EG an erster Stelle. Zur Wahrung dieser Grundsätze gibt es mehrere Mechanismen:

Konsensfehler und Strafen:

EC definiert bestimmte Arten von Konsensfehlern (z. B. Double-Fork-Mining, Time-Offset-Mining) und verhängt Strafen, um böswilliges Verhalten abzuschrecken.

Quelle der Bilder: Filecoins Dokumentation hier: https://spec.filecoin.io/algorithms/expected_consensus/

Kettengewichtung und -auswahl:

  • Das Protokoll verwendet ein einzigartiges Kettengewichtungssystem, bei dem die „schwerste“ Kette, die die größte kumulative Speicherleistung anzeigt, bevorzugt wird.

Weiche Endgültigkeit:

  • EC verwendet eine Form der weichen Endgültigkeit, indem es Blöcke zurückweist, die erheblich von der Kette abweichen, und so die Netzwerkstabilität erzwingt.

Drand: Verteilte Zufälligkeit in Filecoin

Drand (Distributed Randomness) ist eine entscheidende Komponente des Konsensmechanismus von Filecoin und stellt eine unvoreingenommene Entropiequelle bereit, die für den geheimen Wahlprozess des Netzwerkleiters unerlässlich ist. Dabei handelt es sich um ein öffentlich überprüfbares Zufallsbeacon-Protokoll, das darauf ausgelegt ist, eine Reihe deterministischer, überprüfbarer Zufallswerte zu generieren.

Wie Drand funktioniert

  • Mehrparteienberechnungen (MPCs): Drand führt eine Reihe von MPCs aus, um Zufallswerte zu erzeugen. Nach einer vertrauenswürdigen Einrichtungsphase signiert eine Gruppe bekannter Drand-Knoten eine bestimmte Nachricht mit Schwellenwert-BLS-Signaturen in aufeinanderfolgenden Runden, die in regelmäßigen Abständen stattfinden.
  • Schwellenwert für BLS-Signaturen: Der Prozess erfordert eine Mindestanzahl von Knoten (t-of-n), um eine Nachricht zu signieren. Jeder Knoten mit t der Signaturen kann die vollständige BLS-Signatur rekonstruieren. Wenn diese Signatur gehasht wird, erzeugt sie einen kollektiven Zufallswert, der anhand des öffentlichen Schlüssels aus der Einrichtungsphase überprüft werden kann.
  • Sicherheitsannahmen: Drand geht davon aus, dass mindestens t der n Knoten ehrlich und online sind. Wenn dieser Schwellenwert überschritten wird, kann der Gegner die Zufälligkeitsproduktion stoppen, die Zufälligkeit jedoch nicht beeinflussen.

Drand-Zufallsausgaben

Drand-Wertformat: Filecoin-Knoten erhalten Drand-Werte in einem bestimmten Format. Zu den Schlüsselkomponenten gehören:

  • Signatur: Eine BLS-Signatur auf dem vorherigen Signaturwert und der aktuellen Rundenzahl.
  • Vorherige Signatur: Die BLS-Signatur aus der vorherigen Drand-Runde.
  • Runde: Der Zufallsindex in der vom Drand-Netzwerk erzeugten Sequenz.

Verwendung von Drand in Filecoin

  • Wahl des Anführers: Drand wird für die Wahl des Anführers in Filecoin verwendet und liefert in jeder Epoche einen zufälligen Wert. Diese Zufälligkeit ist für den Expected Consensus (EC)-Algorithmus von entscheidender Bedeutung und gewährleistet eine faire und unvorhersehbare Auswahl der Führungskräfte.
  • Abrufen von Drand-Werten: Filecoin-Knoten rufen mithilfe bestimmter Endpunkte den neuesten Zufallswert von Drand ab. Diese Informationen werden dann mit On-Chain-Daten integriert, um den Konsensmechanismus von Filecoin zu unterstützen.

Beweise: Gewährleistung von Integrität und Vertrauen

Nachweise in Filecoin dienen dazu, zu überprüfen, ob Speicheranbieter Daten ordnungsgemäß gemäß den Standards des Netzwerks speichern. Diese Nachweise sind entscheidend für die Aufrechterhaltung der Integrität und Vertrauenswürdigkeit des dezentralen Speichersystems.

Arten von Beweisen in Filecoin

  • Proof-of-Replication (PoRep): PoRep wird zum Zeitpunkt der ersten Datenspeicherung verwendet und überprüft, ob ein Speicheranbieter eine eindeutige Kopie der Daten erstellt hat und speichert.
  • Proof-of-Spacetime (PoSt): Überprüft kontinuierlich, ob der Speicheranbieter die gespeicherten Daten über einen längeren Zeitraum verwaltet. PoSt ist weiter in WinningPoSt und WindowPoSt unterteilt und dient unterschiedlichen Validierungszwecken im Netzwerk.

Rolle von PoRep und PoSt

  • PoRep: Validiert die anfängliche Replikation von Daten durch einen Speicheranbieter und stellt so sicher, dass die Daten eindeutig codiert und versiegelt sind.
  • PoSt: WinningPoSt wird im Blockkonsensprozess verwendet, während WindowPoSt Speicheranbieter kontinuierlich prüft, um die fortlaufende Einhaltung von Speichervereinbarungen sicherzustellen.

Der Konsensmechanismus von Filecoin mit seiner einzigartigen Mischung aus EC-, Drand- und kryptografischen Beweisen bildet das Rückgrat eines robusten und zuverlässigen dezentralen Speichernetzwerks. Diese Elemente arbeiten zusammen, um sicherzustellen, dass das Netzwerk sicher, effizient und fair bleibt, und fördern eine Umgebung, in der die Datenintegrität an erster Stelle steht. Je tiefer wir in die Nuancen der Filecoin-Blockchain eintauchen, desto offensichtlicher wird der Einfallsreichtum und die Raffinesse seines Konsensmodells, was das Potenzial des Netzwerks unterstreicht, die Landschaft der digitalen Speicherung zu revolutionieren.

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 2

Blockchain-Grundlagen von Filecoin

1

Blockchain-Grundlagen in Filecoin

Die Filecoin-Blockchain ist eine komplexe verteilte Datenbank, die von einem Netzwerk aus Computerknoten gemeinsam genutzt wird. Jeder Knoten enthält eine Kopie der Blockchain und stellt so sicher, dass jede Transaktion und jede vertragliche Verpflichtung im Netzwerk aufgezeichnet und unveränderlich ist. Dies bietet ein zuverlässiges und sicheres Verzeichnis aller Aktivitäten innerhalb des Filecoin-Ökosystems.

Akteure: Die Arbeitspferde der Filecoin-Blockchain

Akteure auf der Blockchain von Filecoin dienen als Äquivalent zu Smart Contracts in der Ethereum Virtual Machine. Jeder Akteur kapselt eine Reihe von Zustandsvariablen und Methoden für die Interaktion mit dem Filecoin-Netzwerk. Sie sind im Wesentlichen die Agenten, die Aktionen auf der Blockchain ausführen, wie z. B. die Verwaltung von Speicherverträgen oder die Erleichterung von Transaktionen.

Integrierte Systemakteure

Das Netzwerk von Filecoin wird von mehreren integrierten Systemakteuren angetrieben, die wesentliche Funktionen übernehmen:

  • Systemakteur: Führt allgemeine Netzwerkoperationen aus.
  • Init Actor: Verantwortlich für die Initialisierung neuer Akteure und die Verwaltung von Netzwerknamenskonventionen.
  • Cron Actor: Fungiert als Planer des Netzwerks und löst in jeder Epoche wesentliche Funktionen aus.
  • Account Actor: Verwaltet Benutzerkonten über den Rahmen des Singleton-Musters hinaus.
  • Storage-Miner-Akteur: Koordiniert Storage-Mining-Vorgänge und validiert Speichernachweise.
  • Speichermarktakteur: Verwaltet Speicherverträge auf dem Marktplatz des Netzwerks.
  • Multisig Actor: Verwaltet Vorgänge im Zusammenhang mit der Multisignatur-Wallet von Filecoin.
  • Payment Channel Actor: Verwaltet die Einrichtung und Abwicklung von Zahlungskanälen.
  • Datacap-Akteur: Überwacht die Zuweisung und Verwaltung von Datacap-Tokens.
  • Verifizierter Registrierungsakteur: Verwaltet verifizierte Clients innerhalb des Netzwerks.
  • EVM-Kontoakteur: Stellt externe Ethereum-Identitäten dar und erleichtert die Interoperabilität mit Ethereum-basierten Systemen.

Vom Benutzer programmierbare Schauspieler

Mit zunehmender Reife der Filecoin Virtual Machine (FVM) haben Entwickler die Möglichkeit, ihre eigenen Akteure zu schreiben und bereitzustellen, ähnlich wie bei Smart Contracts auf anderen Blockchains. Diese vom Benutzer programmierbaren Akteure können über exportierte APIs mit den integrierten Akteuren interagieren, wodurch eine breite Palette von Anwendungen und Diensten auf dem Filecoin-Netzwerk aufgebaut werden kann.

Verteilte Zufälligkeit in Filecoin

Filecoin nutzt ein verteiltes und öffentlich überprüfbares Zufallsprotokoll namens Drand als Zufallsquelle für die Wahl des Anführers während der Blockproduktion. Diese Zufälligkeit ist wichtig, um sicherzustellen, dass der Prozess unvorhersehbar, unvoreingenommen und überprüfbar ist und die Fairness und Sicherheit des Mining-Prozesses gewahrt bleibt.

Knoten und ihre Rollen

Knoten im Filecoin-Netzwerk werden hauptsächlich nach den von ihnen bereitgestellten Diensten klassifiziert:

  • Chain Verifier Nodes: Validieren Sie die Blockchain und setzen Sie Konsensregeln durch.
  • Client-Knoten: Interagieren Sie mit dem Netzwerk, um Daten zu speichern und abzurufen.
  • Speicheranbieterknoten: Bieten Sie dem Netzwerk Speicherkapazität und stellen Sie die kontinuierliche Speicherung sicher.
  • Abrufanbieterknoten: Stellen gespeicherte Daten auf Anfrage schnell und zuverlässig bereit.
  • Mehrere Implementierungen des Filecoin-Protokolls koexistieren, um die Sicherheit und Widerstandsfähigkeit des Netzwerks zu verbessern, sicherzustellen, dass es keinen Single Point of Failure gibt und eine gesunde Dezentralisierung fördert.

Adressen: Identifizieren von Akteuren in Filecoin

Adressen in Filecoin sind alphanumerische Zeichenfolgen, die Akteure oder Benutzer im Netzwerk eindeutig identifizieren und so Interaktionen wie Transaktionen und die Ausführung intelligenter Verträge erleichtern. Diese Adressen gibt es in verschiedenen Formen, die die verschiedenen Arten von Akteuren widerspiegeln, die sie vertreten:

  • ID-Adressen (f0): Numerische Kennungen für Akteure, die eine für Menschen lesbare Möglichkeit bieten, Netzwerkteilnehmer zu referenzieren.
  • Secp256k1-Adressen (f1): Abgeleitet von öffentlichen Schlüsseln unter Verwendung des Verschlüsselungsstandards secp256k1, der üblicherweise für Wallets verwendet wird.
  • Akteuradressen (f2): Werden Smart Contracts zugewiesen und bleiben über Netzwerkzweige hinweg robust.
  • BLS-Adressen (f3): Aus öffentlichen BLS-Schlüsseln generiert und für Wallets mit BLS-Verschlüsselung verwendet.
  • Benutzerdefinierte Akteuradressen (f4): Flexible Adressen, die von benutzerdefinierbaren Adressverwaltungsakteuren zugewiesen werden können, was benutzerdefinierte und erweiterbare Adressierungsschemata ermöglicht.
  • Jeder Adresstyp dient einem bestimmten Zweck innerhalb des Filecoin-Ökosystems, von der Erleichterung von Transaktionen bis hin zur Verwaltung intelligenter Verträge und Benutzerinteraktionen.

Tipsets und Blöcke

Die Blockchain von Filecoin weicht von der Norm einer linearen Folge von Blöcken ab. Hier werden Blöcke in „Tipsets“ gruppiert, die man sich als Schnappschüsse des Netzwerkstatus in jeder Epoche oder als festes Zeitintervall im Blockchain-Sprachgebrauch vorstellen kann. Dieses Modell ermöglicht eine flexiblere und effizientere Blockchain, indem es die gleichzeitige Erstellung mehrerer gültiger Blöcke ermöglicht.

Die Anatomie eines Filecoin-Blocks

Jeder Block in Filecoin ist ein Bündel, das einen Header und eine Reihe von Nachrichten enthält, die die von den Akteuren durchgeführten Aktionen wie Transaktionen oder vertragliche Vereinbarungen darstellen. Der Block-Header enthält Metadaten wie die Adresse des Miners, das Ticket (Arbeitsnachweis) und die CIDs der übergeordneten Blöcke. Die Nachrichten sind das Kernstück des Blocks und zeichnen Zustandsänderungen wie Token-Transfers und Vertragsaufrufe auf. Blöcke sind mit mindestens einem übergeordneten Block verknüpft und bilden eine kontinuierliche Kette zurück zum Genesis-Block.

Blockzeit: Den Puls des Netzwerks synchronisieren

Die Blockzeit in Filecoin ist auf durchschnittlich 30 Sekunden festgelegt. Dieses Intervall wurde strategisch gewählt, um ein Gleichgewicht zwischen der Reaktionsfähigkeit des Netzwerks und den praktischen Aspekten seines Betriebs herzustellen. Eine kürzere Blockzeit könnte die Geschwindigkeit des Netzwerks erhöhen, würde aber auch höhere Hardwareanforderungen mit sich bringen und könnte zu häufigeren Blockzeitausfällen führen. Die Blockzeit von 30 Sekunden gibt Speicheranbietern ausreichend Zeit, um notwendige Vorgänge wie das Versiegeln von Sektoren und das Generieren von Beweisen durchzuführen, ohne ihre Hardware zu überlasten.

Tipsets: Maximierung von Effizienz und Belohnung

In einer bestimmten Epoche ist es möglich, dass mehrere Speicheranbieter erfolgreich Blöcke abbauen. Die Tipset-Struktur von Filecoin trägt diesem Umstand Rechnung, indem alle gültigen Blöcke mit derselben Höhe und demselben übergeordneten Element in einer einzigen Gruppe gebündelt werden. Dies bedeutet, dass jede gültige Arbeit zum Zustand des Netzwerks beiträgt und belohnt wird, ein wichtiges Merkmal, das die Teilnahme und Zusammenarbeit zwischen Bergleuten fördert. Es stellt außerdem sicher, dass das Netzwerk Forks effizient handhaben kann und schnell einen Konsens über die kanonische Kette erzielt.

Das Tipset-System bietet mehrere Vorteile gegenüber herkömmlichen Blockchains:

  • Erhöhter Netzwerkdurchsatz: Durch die Verwendung aller gültigen Blöcke zur Bestimmung des Netzwerkstatus kann Filecoin in jeder Epoche mehr Daten und Transaktionen verarbeiten.
  • Belohnung gültiger Arbeit: Jeder Speicheranbieter, der einen gültigen Block produziert, erhält eine Belohnung, was den Minern einen Anreiz gibt, einen Beitrag zum Netzwerk zu leisten, und einer Zentralisierung entgegenwirkt.
  • Zusammenarbeit statt Konkurrenz: Potenzielle Blockproduzenten werden zur Zusammenarbeit ermutigt, da die Tipset-Struktur keinen Anreiz bietet, Blöcke zurückzuhalten, die für das Wachstum des Netzwerks von Vorteil sein könnten.
  • Widerstandsfähigkeit gegenüber Forks: Mit der Tipset-Architektur erreicht Filecoin eine schnellere Konvergenz während Forks und gewährleistet so die Netzwerkstabilität.
  • Der Ethereum JSON-RPC und Filecoin

Es ist erwähnenswert, dass mit der Integration der Filecoin EVM-Laufzeit und der Einführung der Ethereum JSON-RPC-Standards der Begriff „Tipset“ noch benutzerfreundlicher wird. Wenn wir in diesem Zusammenhang von einem „Block-Hash“ im Ethereum JSON-RPC sprechen, beziehen wir uns tatsächlich auf den Hash eines Tipsets, der die kombinierten Zustandsänderungen aller Blöcke innerhalb dieses Tipsets umfasst.

Während wir die Blockchain von Filecoin weiter erforschen, werden wir sehen, wie diese Komponenten zusammenwirken, um ein dezentrales Speichernetzwerk zu schaffen, das robust, effizient und für zukünftiges Wachstum bereit ist.

Filecoin-Konsens

Der Konsensmechanismus von Filecoin, bekannt als Expected Consensus (EC), stellt einen Eckpfeiler seines dezentralen Speichernetzwerks dar. Dieses Kapitel soll eine Einführung in EC bieten und sich mit seinen Funktionsprinzipien, technischen Spezifikationen und der Rolle befassen, die es bei der Aufrechterhaltung der Integrität und Zuverlässigkeit des Filecoin-Netzwerks spielt.

Filecoin arbeitet mit einem einzigartigen Konsensmechanismus namens Expected Consensus (EC). Im Gegensatz zu herkömmlichen Blockchain-Protokollen, die häufig auf Proof of Work (PoW) oder Proof of Stake (PoS) basieren, kombiniert EC Elemente aus Zufälligkeit, Speicherleistung und probabilistischer byzantinischer Fehlertoleranz. Im Kern ist EC darauf ausgelegt, Anreize mit dem Hauptziel von Filecoin in Einklang zu bringen: Daten effizient und zuverlässig zu speichern.

Die Essenz von EC

  • Dezentralisierung und Zuverlässigkeit: Das Hauptziel von EC besteht darin, eine dezentrale Umgebung zu fördern, in der die Datenspeicherung und der Datenabruf sowohl zuverlässig als auch überprüfbar sind.
  • Speicherzentrierter Ansatz: Im Gegensatz zu herkömmlichen Blockchains, die sich auf Rechenleistung oder Münzbestände konzentrieren, priorisiert Filecoins EC die Speicherleistung – die Kapazität zum Speichern von Daten.

Kernmechanismen des erwarteten Konsenses

Der operative Rahmen von EC dreht sich um mehrere Schlüsselkomponenten, die jeweils eine entscheidende Rolle für die Funktionalität des Netzwerks spielen.

  1. Probabilistische byzantinische Fehlertoleranz:
  • EC verfügt über byzantinische Fehlertoleranzmechanismen, die es gegenüber einer Reihe von widrigen Bedingungen widerstandsfähig machen, einschließlich böswillig agierender oder offline gehender Knoten.
  1. Leader-Wahl und Blockproduktion:
  • Das Herzstück von EC ist ein Wahlprozess für Führungskräfte. Im Gegensatz zu deterministischen Prozessen in anderen Blockchains verwendet EC eine probabilistische Methode, um Leiter oder Miner auszuwählen, die für die Blockerstellung verantwortlich sind.
  1. Anonymität bis zur nachgewiesenen Wahl:
  • Bergleute innerhalb der EC bleiben anonym, bis sie ihren Wahlstatus durch einen „ElectionProof“ nachweisen können. Dieser Beweis ist von entscheidender Bedeutung, um Fairness und Unvorhersehbarkeit bei der Blockproduktion sicherzustellen.
  1. Aufbewahrungsnachweis:
  • Miner müssen einen „WinningPoSt“ (Proof of Spacetime) einreichen, der ihren Beitrag zur Speicherkapazität des Netzwerks bestätigt.

Technische Spezifikationen von EC

Die technischen Grundlagen von EC zeigen den innovativen Charakter von EC. Hier untersuchen wir einige der wichtigsten Spezifikationen, die diesen Konsensmechanismus definieren:

Zufälligkeit über DRAND:

  • EC verwendet DRAND, einen externen, unvoreingenommenen Zufallsbeacon, um verschiedene Aspekte des Protokolls zu erleichtern, einschließlich der Wahl des Leiters.

Überprüfbare Zufallsfunktion (VRF):

  • Miner nutzen ein VRF zusammen mit der von DRAND erhaltenen Zufälligkeit, um ihren ElectionProof zu generieren.

ElectionProof und VRF-Kette:

  • Der Wahlnachweis ist für Bergleute von entscheidender Bedeutung, um nachzuweisen, dass sie rechtmäßig für die Produktion eines Blocks ausgewählt wurden.
  • Es wird eine kontinuierliche VRF-Kette aufrechterhalten, die sich mit jedem neuen produzierten Block verlängert.

Speicherleistung und WinCount:

  • Die Leistung eines Miners im Netzwerk ist proportional zu seiner Speicherkapazität.
  • WinCount bestimmt die Anzahl der Blöcke, die ein Miner produzieren kann, basierend auf seiner Speicherleistung und dem Ergebnis seines VRF.
  • Konsenssicherheit und Fairness

Sicherheit und Fairness stehen in der EG an erster Stelle. Zur Wahrung dieser Grundsätze gibt es mehrere Mechanismen:

Konsensfehler und Strafen:

EC definiert bestimmte Arten von Konsensfehlern (z. B. Double-Fork-Mining, Time-Offset-Mining) und verhängt Strafen, um böswilliges Verhalten abzuschrecken.

Quelle der Bilder: Filecoins Dokumentation hier: https://spec.filecoin.io/algorithms/expected_consensus/

Kettengewichtung und -auswahl:

  • Das Protokoll verwendet ein einzigartiges Kettengewichtungssystem, bei dem die „schwerste“ Kette, die die größte kumulative Speicherleistung anzeigt, bevorzugt wird.

Weiche Endgültigkeit:

  • EC verwendet eine Form der weichen Endgültigkeit, indem es Blöcke zurückweist, die erheblich von der Kette abweichen, und so die Netzwerkstabilität erzwingt.

Drand: Verteilte Zufälligkeit in Filecoin

Drand (Distributed Randomness) ist eine entscheidende Komponente des Konsensmechanismus von Filecoin und stellt eine unvoreingenommene Entropiequelle bereit, die für den geheimen Wahlprozess des Netzwerkleiters unerlässlich ist. Dabei handelt es sich um ein öffentlich überprüfbares Zufallsbeacon-Protokoll, das darauf ausgelegt ist, eine Reihe deterministischer, überprüfbarer Zufallswerte zu generieren.

Wie Drand funktioniert

  • Mehrparteienberechnungen (MPCs): Drand führt eine Reihe von MPCs aus, um Zufallswerte zu erzeugen. Nach einer vertrauenswürdigen Einrichtungsphase signiert eine Gruppe bekannter Drand-Knoten eine bestimmte Nachricht mit Schwellenwert-BLS-Signaturen in aufeinanderfolgenden Runden, die in regelmäßigen Abständen stattfinden.
  • Schwellenwert für BLS-Signaturen: Der Prozess erfordert eine Mindestanzahl von Knoten (t-of-n), um eine Nachricht zu signieren. Jeder Knoten mit t der Signaturen kann die vollständige BLS-Signatur rekonstruieren. Wenn diese Signatur gehasht wird, erzeugt sie einen kollektiven Zufallswert, der anhand des öffentlichen Schlüssels aus der Einrichtungsphase überprüft werden kann.
  • Sicherheitsannahmen: Drand geht davon aus, dass mindestens t der n Knoten ehrlich und online sind. Wenn dieser Schwellenwert überschritten wird, kann der Gegner die Zufälligkeitsproduktion stoppen, die Zufälligkeit jedoch nicht beeinflussen.

Drand-Zufallsausgaben

Drand-Wertformat: Filecoin-Knoten erhalten Drand-Werte in einem bestimmten Format. Zu den Schlüsselkomponenten gehören:

  • Signatur: Eine BLS-Signatur auf dem vorherigen Signaturwert und der aktuellen Rundenzahl.
  • Vorherige Signatur: Die BLS-Signatur aus der vorherigen Drand-Runde.
  • Runde: Der Zufallsindex in der vom Drand-Netzwerk erzeugten Sequenz.

Verwendung von Drand in Filecoin

  • Wahl des Anführers: Drand wird für die Wahl des Anführers in Filecoin verwendet und liefert in jeder Epoche einen zufälligen Wert. Diese Zufälligkeit ist für den Expected Consensus (EC)-Algorithmus von entscheidender Bedeutung und gewährleistet eine faire und unvorhersehbare Auswahl der Führungskräfte.
  • Abrufen von Drand-Werten: Filecoin-Knoten rufen mithilfe bestimmter Endpunkte den neuesten Zufallswert von Drand ab. Diese Informationen werden dann mit On-Chain-Daten integriert, um den Konsensmechanismus von Filecoin zu unterstützen.

Beweise: Gewährleistung von Integrität und Vertrauen

Nachweise in Filecoin dienen dazu, zu überprüfen, ob Speicheranbieter Daten ordnungsgemäß gemäß den Standards des Netzwerks speichern. Diese Nachweise sind entscheidend für die Aufrechterhaltung der Integrität und Vertrauenswürdigkeit des dezentralen Speichersystems.

Arten von Beweisen in Filecoin

  • Proof-of-Replication (PoRep): PoRep wird zum Zeitpunkt der ersten Datenspeicherung verwendet und überprüft, ob ein Speicheranbieter eine eindeutige Kopie der Daten erstellt hat und speichert.
  • Proof-of-Spacetime (PoSt): Überprüft kontinuierlich, ob der Speicheranbieter die gespeicherten Daten über einen längeren Zeitraum verwaltet. PoSt ist weiter in WinningPoSt und WindowPoSt unterteilt und dient unterschiedlichen Validierungszwecken im Netzwerk.

Rolle von PoRep und PoSt

  • PoRep: Validiert die anfängliche Replikation von Daten durch einen Speicheranbieter und stellt so sicher, dass die Daten eindeutig codiert und versiegelt sind.
  • PoSt: WinningPoSt wird im Blockkonsensprozess verwendet, während WindowPoSt Speicheranbieter kontinuierlich prüft, um die fortlaufende Einhaltung von Speichervereinbarungen sicherzustellen.

Der Konsensmechanismus von Filecoin mit seiner einzigartigen Mischung aus EC-, Drand- und kryptografischen Beweisen bildet das Rückgrat eines robusten und zuverlässigen dezentralen Speichernetzwerks. Diese Elemente arbeiten zusammen, um sicherzustellen, dass das Netzwerk sicher, effizient und fair bleibt, und fördern eine Umgebung, in der die Datenintegrität an erster Stelle steht. Je tiefer wir in die Nuancen der Filecoin-Blockchain eintauchen, desto offensichtlicher wird der Einfallsreichtum und die Raffinesse seines Konsensmodells, was das Potenzial des Netzwerks unterstreicht, die Landschaft der digitalen Speicherung zu revolutionieren.

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.