图片

In diesem Blogbeitrag erläutern wir das Speichermodell des Internetcomputers (IC) und bieten einige Einblicke in den Fahrplan für mehr Speicher.

Zunächst skizzieren wir, welche Arten von Speicher Blockchain normalerweise bieten kann, dann erläutern wir die einzigartigen Kompromisse, die durch die Architektur des Internetcomputers realisiert werden, und schließlich skizzieren wir den nächsten Meilenstein auf dem Fahrplan, um mehr Speicher zu implementieren.

Im Kontext der Blockchain-Speicherung kann grob zwischen zwei Arten von Speicher unterschieden werden: vollständig repliziertem Speicher und verteiltem Speicher. Der Internetcomputer basiert auf vollständig repliziertem Speicher, bei dem als Teil des Protokolls sichergestellt wird, dass alle teilnehmenden Knoten eine vollständige Kopie der Daten speichern – oft auch als replizierter Zustand bezeichnet – sodass dieser Speichertyp das direkte Lesen/Schreiben/Aktualisieren/Löschen von Daten unterstützt, als Teil jeder Operation, die die teilnehmenden Knoten durch ein gewisses Konsensprotokoll in replizierter Weise erreichen.

Aus der Perspektive von Smart-Contract-Entwicklern fühlt sich dieser Speichertyp sehr ähnlich an wie der dauerhaft verfügbare RAM in traditionellen Computerprogrammen.

Andererseits fungiert das Konsensprotokoll in verteiltem Speicher lediglich als Koordinator, der entscheidet, welcher Teil der zuvor vereinbarten Daten von welcher Knotenmenge gespeichert wird. Dies bedeutet normalerweise, dass nicht alle teilnehmenden Knoten alle Daten speichern müssen, wodurch der Replikationsfaktor gesenkt werden kann.

Es ist jedoch entscheidend, dass dies auch bedeutet, dass das direkte Lesen von Daten während der replizierten Ausführung unpraktisch wird, weshalb dieser Speichertyp hauptsächlich zur Speicherung statischer Blobs verwendet wird.

Daher ist das Modell der vollständigen Replikation von Daten offensichtlich stärker beim Aufbau von Anwendungen als das Modell der verteilten Speicherung, steht aber auch vor Herausforderungen in Bezug auf die Skalierbarkeit.

Die Architektur des Internetcomputers umfasst drei Konzepte, die diese Skalierbarkeitsherausforderungen einzigartig angehen und eine enorme Kapazität für vollständig replizierte Speicherung bieten: deterministische Dezentralisierung, Implementierung einer leistungsstarken Speicherebene und die Fähigkeit zur Erweiterung durch Hinzufügen von Subnetzen.

Wir werden nun kurz erörtern, wie sie eine hochgradig skalierbare vollständig replizierte Speicherung fördern:

  • Deterministische Dezentralisierung: Das Netzwerk-Neuronal-System (NNS) DAO trifft fundierte Entscheidungen darüber, welche Knoten dem Netzwerk beitreten und welche Knoten Teil eines Subnetzes werden. Daher ist die Gesamtzahl der Knoten in jedem Subnetz im Vergleich zu einer Konfiguration, die es jedem Knoten erlaubt, dem Netzwerk oder Subnetz beizutreten, viel geringer. Dadurch können Ziele der Vielfalt und Dezentralisierung erreicht werden.

  • Implementierung einer leistungsstarken Speicherebene: Kürzlich wurde im Rahmen des Stellarator-Meilensteinprojekts die gesamte Speicherebene des IC neu gestaltet. Unter anderem ist die neue Speicherarchitektur ein wichtiger Schritt in Richtung einer vollständigen Replikation der Speicherkapazität jedes Subnetzes. Zu Beginn des Stellarator-Meilensteinprojekts wurde die maximale Speicherkapazität jedes Subnetzes auf 1 TiB erhöht, aber entscheidend ist, dass die neue Architektur auch die Unterstützung nachfolgender Projekte bietet, um eine vollständige Replikation der Speicherkapazität jedes Subnetzes zu ermöglichen.

  • Erweiterung durch Hinzufügen von Subnetzen: Das NNS kann bei Bedarf neue Subnetze starten, sodass bei Bedarf neue Speicherkapazitäten hinzugefügt werden können.

Aufgrund dieser architektonischen Merkmale des Internetcomputers liegt der Fokus bisher auf der Optimierung der Kapazität vollständig replizierter Speicherung. In den verbleibenden Teilen dieses Artikels werden wir einen spezifischeren Überblick über die nächsten Schritte zur Kapazität vollständig replizierter Speicherung des Internetcomputers geben.

Zum Zeitpunkt der Erstellung dieses Artikels kann ein einzelnes Subnetz 1 TiB (ca. 1,1 TB) an vollständig repliziertem Speicher speichern. Der Internetcomputer hat derzeit 34 Subnetze, die dapps hosten, was bedeutet, dass die gesamte replizierte Speicherkapazität derzeit 34 TiB beträgt.

Von 1 TiB Subnetzspeicher auf 2 TiB

Die Art und Weise, wie die neue Speicherebene des ICs entworfen und implementiert wurde, ermöglicht es, dass keine zeitaufwendigen Operationen ausgeführt werden müssen, die linear mit der Größe des replizierten Zustands wachsen. Die Operationen hängen nur von der Menge der Daten ab, die sich im Vergleich zum vorherigen Zustand geändert haben. Daher ist der Internetcomputer aus dieser Perspektive gut vorbereitet, um die maximale Größe des replizierten Zustands eines Subnetzes zu erhöhen.

Um die Kapazität reibungslos auf 2 TiB zu erhöhen, gibt es einige bekannte Faktoren, die noch untersucht werden müssen. Es könnten jedoch auch andere unbekannte Faktoren während des Implementierungsprozesses entdeckt werden:

  • Knoten, die neu in das Subnetz eintreten oder hinter anderen Knoten des Subnetzes zurückbleiben, verwenden ein Protokoll namens 'Status-Synchronisation', um vollständig mit dem neuesten Status des Subnetzes aufzuholen. Darüber hinaus kann die Wiederherstellung des Subnetzes beinhalten, dass bestimmte Knoten den gesamten Status synchronisieren müssen. Es sind Benchmark-Tests erforderlich, um die Leistung der Status-Synchronisation bei 2 TiB Status zu verstehen und ob diese Leistung in allen Fällen akzeptabel ist und/oder ob Optimierungen erforderlich sind.

  • Manchmal müssen die Knoten, die am Subnetz teilnehmen, den replizierten Zustand hashen. Obwohl dies schrittweise erfolgt (d. h. es muss nur der Unterschied zum vorherigen Zustand gehasht werden), gibt es in den meisten Fällen auch extreme Situationen, in denen der gesamte Zustand gehasht werden muss. Wir müssen Tests durchführen, um festzustellen, ob diese Situationen akzeptabel sind.

Optimistisch betrachtet ist der Weg zu 2 TiB durch umfangreiche Tests und einige potenzielle Optimierungen befahrbar.

Subnetzspeicher über 2 TiB

Eine naheliegende Frage ist, ob es möglich ist, sich weiterzuentwickeln. Leider ist es etwas komplizierter, über 2 TiB hinauszugehen als 2 TiB zu erreichen, hauptsächlich weil die Skalierung in einigen der schlechtesten Nutzungsszenarien dazu führen kann, dass der physische Speicher des Knotens voll wird.

Insbesondere die Art und Weise, wie die neue Speicherebene Dateien auf der Festplatte speichert, sowie die Tatsache, dass das Protokoll in Bezug auf die Beibehaltung alter Zustände ziemlich konservativ ist, bedeutet, dass es erhebliche Kosten in Bezug auf die Festplattennutzung geben wird.

Um mehr als 2 TiB zu überschreiten, beispielsweise auf 4 TiB oder sogar größere Speicherkapazitäten, sind einige Änderungen am Protokoll erforderlich. Zunächst müssen die Speicherparameter geändert werden, um die Speicherkosten zu senken, was natürlich auch die Ausführungsleistung beeinflussen wird. Zweitens muss das Protokoll geändert werden, um beim Löschen alter Zustände proaktiver zu sein.

Offensichtlich erfordern beide Maßnahmen ein besonderes Maß an Sorgfalt in Design und Umsetzung sowie umfangreiche Tests. Um dieses Ziel zu erreichen, müssen alle Punkte, die im Schritt zu 2 TiB erwähnt werden, möglicherweise erneut geprüft und weiter verbessert werden.

Daher sind wir von diesem Schritt noch etwas entfernt, aber wir sind nach wie vor sehr zuversichtlich, dass wir dieses Ziel letztendlich erreichen können.

Verteilter Speicherplatz des Internetcomputers

Schließlich ist es wichtig zu beachten, dass, obwohl der Internetcomputer bisher darauf fokussiert war, massiven replizierten Speicher bereitzustellen, es nichts gibt, was grundlegend verhindern könnte, dass das Protokoll erweitert wird, um zusätzliche Unterstützung für verteilte Speicherkapazitäten (z. B. Blob-Speicher) hinzuzufügen. Dieses Thema wird in einem späteren Artikel behandelt.

Fazit

In den letzten Jahren hat der Internetcomputer die Grenzen der Kapazität von Blockchain-repliziertem Speicher kontinuierlich überschritten, was für viele Anwendungsfälle im Web3, die vor einigen Jahren noch als unmöglich galten, entscheidend ist. Ein Beispiel ist die künstliche Intelligenz, bei der große Sprachmodelle vollständig on-chain betrieben werden.

Der Internetcomputer hat einige einzigartige architektonische Eigenschaften, die es ihm ermöglichen, die bestehenden Unterstützungsgrenzen in Bezug auf replizierte Speicherung zu überschreiten. Wie erwähnt, gibt es bereits einige spezifische Folgeaktionen, die geplant sind, um die Speicherkapazität des Internetcomputers weiter zu steigern.

Darüber hinaus werden die Bemühungen um ein zweites Speichermodell, das in der Lage ist, statische Blobs zu speichern, in naher Zukunft auf dem Internetcomputer beginnen.

图片

#DFINITY #ICP. #IC

Inhalte von IC, die Sie interessieren

Technologischer Fortschritt | Projektinformationen | Globale Aktivitäten

Favoriten und Abonnements des IC Binance-Kanals

Bleiben Sie auf dem neuesten Stand