TPS -Analyse: Die wahre Bedeutung der Blockchain -Leistung

Populärwissenschaft: Was ist TPS (Transfer) Wenn das Projekt behauptet, Millionen von TPS zu haben, können wir nicht anders, als zu fragen: Was ist TPS? Kurz gesagt, TPS ist ein "Durchsatzsystem", nämlich die Menge des verarbeiteten Verkehrs pro Sekunde. Das oberflächliche Verständnis dieses Konzepts ist jedoch nicht tief genug. Viele Menschen mögen falsch verstehen, dass TPS höher und besser ist, aber tatsächlich sind diese Indikatoren nicht isoliert. Wir wählen. Wenn Sie beispielsweise Bitcoin einnehmen, beinhalten TPS -Berechnungen die Blockerzeugungszeit (z. B. 10 Minuten), Transaktionen pro Block und Beobachtungszyklus. In Bitcoin -Netzwerken können TPS nur 6 -mal pro Sekunde flach sein, wenn 10 Minuten als Beobachtungszyklus verwendet werden. Dies weist darauf hin, dass die Zunahme der TPS nicht erreicht werden kann, indem einfach die Anzahl der Transaktionen erhöht oder die Blockzeit verkürzt wird, da auch grundlegende Parameter wie Blockgröße und Netzwerkanforderungen einzuschränken. In komplexen Systemen wie Wildservern beinhaltet TPS die Interaktionen vieler Subsysteme wie Konten, Datenbanken, Netzwerke usw. Beispielsweise kann die "gleichzeitige Anmeldenummer" im Spiel mehr von der Benutzererfahrung als TPS widerspiegeln, da der Anmeldendruck dazu führen kann, dass das System fällt. Die Optimierung des Spielservers erfordert häufig eine umfassende Berücksichtigung einer Vielzahl von Faktoren, einschließlich gleichzeitiger Verarbeitungsfunktionen, Datenbankleistung, Speicher und Effizienz der CPU -Nutzung. Für Blockchain macht es seine einfache Struktur schwierig, die hohen Leistungsanforderungen des Mainstream -Spiels zu erfüllen, und die Komplexität wird häufig von Kosten und Risiken begleitet. Daher wählt Blockchain ein einfaches und stabiles Design aus der hohen Verfolgung von TPS. Im Blockchain -Netzwerk ist die Benutzererfahrung in der tatsächlichen Anwendung aufgrund der P2P -WAN -Topologie, obwohl TPS hoch ist, durch die Netzwerklatenz, insbesondere wenn der Cross -Betrieb des Servers ist. Kurz gesagt, angesichts von Millionen von TPS sollten wir auf die grundlegenden Parameter des Projekts, des Konsensmechanismus, der Netzwerk -Topologie und der Benutzererfahrung in realen Anwendungen, nicht nur TPS -numerischen Wert achten. Zukünftige Fortschritte können zu neuen Lösungen führen, aber zu diesem Zeitpunkt brauchen wir eine umfassende Optimierung und nicht eine hohe TPS. Was sind die grundlegenden öffentlichen Blockchain -Ketten? Fünf öffentliche Ketten global anerkannt

Nr. 1, Ethereum (ETH)

Nr. 2, Xiaoyi (Neo)

Nr. 3, Quantum (Bustum) )

Nr. 4, EOS

Nr. 5, Quartk (NCI).

Informationen erweitern:

1. Erweitern Sie die Grenzen der Technologie- und Blockchain -Anwendungen. Es scheint, dass dies definitiv eine High -Definition ist.

2. Das Design der Quantentechnologie basiert weitgehend auf seiner Kompatibilität, einschließlich der Kompatibilität von Eteum und Bitcoin und der abnehmenden Quantenkompatibilität sowie des Modulsmodells und des Quantenkonsensmechanismus. Quantum genehmigt den Konsensmechanismus des innovativen POW, dh. iPow.

3. EOS -Gründer ist der berühmte BM. Bit, Steem usw. Aktionen wurden von dieser Person gegründet. Das aktuellste an EOS ist jedoch die große Anzahl von Auslassungen und ihre Zeit für das Sammeln von Spenden ist ein Jahr.

4. Und die Handelsgeschwindigkeit, die behauptet, Millionen von TPPs zu unterstützen, hat die öffentliche Aufmerksamkeit erregt, da dies in den Augen von Bitcoin und Etereum eine Geschwindigkeit ist, die nicht verglichen werden kann.

5. Punktnetzwerk für Punkt. Xiaoyi kann im Kapitalabschlusskapital, im Internetkredite P2P, in digitaler Vermögenswerte, intelligenten Verträgen und anderen Bereichen verwendet werden.

6. Es hat die Fülle von Turing und unterstützt intelligente Verträge. Es hat eine komplexe Logik erstellt, die unterschiedliche geschäftliche und nichtkommerzielle Umgebungen herstellen kann, die Komplexität grundlegender Technologien verbergen und Anwendungsentwicklern ermöglicht, sich mehr auf die Logik der Anwendungs- und Geschäftslogik zu konzentrieren.

7. 2000TPS -Transaktionen können zu einer raschen Erhöhung der Speicherung und Blockierung von Etereum in der Kette führen. Während mehr Anwendungen erreicht sind, können sie im späteren Stadium stärker komprimiert werden. Glücklicherweise sollte der volle Etereumsknoten nur den Zustand als eine volle Blockchain beibehalten.

8. In Zukunft wird sein Investitionspre is nicht niedrig sein, auch wenn das Problem der Blockierung von Etereum nicht gelöst werden kann.

Was sind die drei Hauptketten der Blockchain?

Die drei Hauptketten der Blockchain beziehen sich auf BTC, ETH und ADA

Blockchains öffentliche Kette wird auch als übliche Blockchain -Kette bezeichnet. Zu jeder Zeit sind öffentliche Ketten oft völlig dezentralisiert.

Informationen erweitern:

Blockchain ist ein Begriff im Bereich der Informationstechnologie. Grundsätzlich handelt es sich um eine Basis der gemeinsamen Daten, und die darin gespeicherten Daten oder Informationen haben die Eigenschaften von "Nicht -Counterfeed", "Erkennung von" während des gesamten Prozesses "," Spuren "," offen und transparent "und" kollektive Wartung " . Basierend auf diesen Merkmalen hat die Blockchain -Technologie eine starke Grundlage für "Glauben" gelegt, einen zuverlässigen "Kooperations" -Mechanismus geschaffen und eine breite Anwendungsperspektive hat.

Typ

1. Bestätigung von Blockchain und jeder kann an seinem Konsensprozess teilnehmen. Öffentliche Blocchains sind die frühesten Blocchains und die am häufigsten verwendeten Blocchains.

2.ny Die vorgegebenen Knoten sind die Buchhalter, und die Erzeugung jedes Blocks wird durch alle vorgegebenen Knoten bestimmt (die vorgegebenen Knoten beteiligen sich am Konsensprozess). Fragen Sie nach dem Rechnungslegungsprozess (im Grunde genommen ist es noch Sorgerechtsrekorder. Das Konto wird einfach verstreute Rechnungswesen, die Anzahl der vordefinierten Knoten, wie man den Bericht jedes Blocks zum Hauptrisikopunkt der Blockchain wird), kann jeder andere andereEntwickeln Sie begrenzte Fragen durch Open Blockchains offene API.

3. Die Kette unterscheidet sich nicht wesentlich von anderen verstreuten Speicherlösungen. Traditionelle Finanzen wollen mit privater Blockchain experimentieren, während öffentliche Kettenanwendungen wie Bitcoin industrialisiert und immer noch private Kettenanwendungsprodukte untersucht werden.

Was sind die öffentlichen Blockchains? Öffentliche Kette Elektronisches Geldsystem: Bitcoin, intelligente Verträge und dezentrale Anwendungsplattform: Eteum.

Blockchain ist ein neues Anwendungsmodell für Computertechnologien wie Speichern verteilter Daten, Punkt -zu -Punkt -Übertragung, Konsensmechanismus und Verschlüsselungsalgorithmen.

Blockchain ist ein wichtiges Konzept für Bitcoin. Der Blockdo-Datenblock enthält Informationen zu einer Reihe von Bitcoin-Netzwerktransaktionen, mit denen die Gültigkeit seiner Informationen (Anti-Counterfiting) und die Generierung des anderen Blocks überprüft werden.

erweiterte Informationen

Abhängig vom Grad der Blockchain -Netzwerkzentralisierung werden Blockchains in drei verschiedenen Anwendungsszenarien differenziert:

1. Mechanismus der Autorisierung wird als Öffentlichkeit bezeichnet Kette; , eine Allianzkette oder Industriekette genannt;

Allianzkette und private Kette werden auch gemeinsam als lizenzierte Ketten bezeichnet, und öffentliche Ketten werden nicht lizenzierte Ketten bezeichnet.

Blockchain -Funktionen

1. Die Blockchain -Technologie basiert nicht auf zusätzlichen dritten -Party -Verwaltungsagenturen oder Hardware -Einrichtungen und keine zentrale Steuerung. . Die Dezentralisierung ist das prominenteste und wesentliche Merkmal der Blockchain.

2. Blockchain Technology Foundation ist Open Source. Die Informationen sind sehr transparent.

3. Basierend auf Konsenspezifikationen und Protokollen (ähnlich wie verschiedene mathematische Algorithmen wie Hashing -Algorithmen, die von Bitcoin verwendet werden) basiert das gesamte Blockchain -System nicht auf anderen Dritten. Jede menschliche Intervention.

4. Solange Sie nicht 51% aller Datenknoten kontrollieren können, können Sie Netzwerkdaten nicht manipulieren und ändern, was die Blockchain selbst relativ sicher macht und subjektive und künstliche Datenänderungen vermeidet.

5. Wenn es keine rechtlichen Normen gibt, müssen technisch gesehen die Identitätsinformationen jedes Blockknotens nicht offengelegt oder verifiziert werden, und die Übertragung von Informationen kann anonym durchgeführt werden.

Referenzquelle: Encyclopedia Baidu-Blockchain

Referenzquelle: Baidu Encyclopedia-Zinjir-öffentlich

Wie viel kann eine Blockchain auf höchstem Niveau wachsen? Ist die längste Blockchain die rechte Blockchain?

Was ist die längste Kette? Warum ist die richtige Blockchain?

Das Bitcoin White Paper schreibt vor, dass Knoten immer glauben, dass die längste Kette die richtige Blockchain ist und sich weiter ausdehnen wird. Alle Bergleute unterbreiten an der längsten Kette, die der Einzigartigkeit des Blockchain -Hauptbuchs förderlich ist. Wenn die an Sie übertragenen Bitcoin -Transaktionen nicht in der längsten Kette aufgezeichnet sind, können Sie mit Immobilienverlusten konfrontiert werden.

Wie wird es als "längste Blockchain" angesehen? Da Bergleute auf der ganzen Welt gleichzeitig abgebaut sind, ist es möglich, dass zwei Bergleute gleichzeitig die richtige Antwort berechnet haben und die Blockchain eine Gabel bildet und die verbleibenden Bergleute weiterhin auf einer belieh2en Gabelung abbauen können .

benötigen wir normalerweise, dass wir nach dem Verpacken der Bitcoin -Übertragung 6 Blöcke durchgehen müssen, um sicherzustellen, dass der Bergmann nicht zu einer anderen Gabel zurückkehrt, bevor es als echter Übertragung angesehen werden kann.

[Populärwissenschaft] Wie Sie die längste Kette von Blockchain

auswählen

Dieser Artikel wird durch den Big V -Entwicklungsplan von Biche Hit (biche.yaofache.com) unterstützt.

basierend auf gewinnorientierten Knoten werden die Vereinbarung spontan einhalten. Konsens ist, dass Zehntausende unabhängiger Knoten einfachen Regeln (durch asynchrone Interaktion) folgen.

Bitcoin hat keine zentrale Organisation, und fast alle vollständigen Knoten haben ein öffentliches Hauptbuch.

Warum sollten wir uns an die Vereinbarung halten?

Dies ist tatsächlich ein wirtschaftliches Problem. Dass es gültig ist (ein neuer Block verpackt, werden andere Knoten nur nach Überprüfung im Netzwerk hinzugefügt). Auf der Grundlage von Gewinnsuch werden die Knoten spontan an der Vereinbarung einhalten. Konsens ist, dass Zehntausende unabhängiger Knoten einfachen Regeln (durch asynchrone Interaktion) folgen.

dezentraler Konsens

Tatsächlich wird der Bitcoin -Konsens durch die Wechselwirkung von 4 unabhängigen Prozessen aller Knoten erzeugt:

Jeder Knoten (Mining) Miningknoten unabhängig Verifizieren Sie jede Transaktion gemäß den Standards. Blockchain mit der größten kumulativen Arbeitsbelastung unter dem Nachweis des Arbeitsmechanismus;

Wählen Sie die längste Kette

Definieren Sie zuerst eine Blockchain, die am schwierigsten ansammelt. Im Allgemeinen wird die Kette, die auch die meisten Blöcke enthält, als Hauptkette

Jeder (Bergbau-) Knoten genannt immer ausgewählt und versucht, die Hauptkette zu erweitern.

gabel

Wenn zwei Bergleute den Nachweis der Arbeitslösung in fast gleichzeitig berechnen können, verteilen sie ihren "Gewinn" -Block in diesem Fall sofort auf das Netzwerk. Es ist zuerst. Propagiert an benachbarte Knoten und dann in das gesamte Netzwerk. Jeder Knoten, der einen gültigen Block empfängt, integriert ihn in die Blockchain und erweitert ihn. ? Wenn sich diese beiden Blöcke ausbreiten, erhalten einige Knoten #3458a zuerst, einige Knoten empfangen zuerst #3458b, und diese beiden Kandidatenblöcke (normalerweise enthalten diese beiden Kandidatenblöcke fast die gleiche Transaktion), sind beides. In einer Gabel und zu dieser Zeit werden zwei Ketten mit Wettbewerbsbeziehungen gegabelt. Knoten, die beide Blöcke empfangen, werden weiterhin die Hauptkette mit mehr Workloads sein, und die andere wird als Backup -Kette gespeichert (außer, weil die Backup -Kette die Hauptkette in Zukunft überschreiten kann, wird sie als neue Hauptkette bezeichnet).

Fork -Lösung

Nach erhaltener (Mining) Knoten von #3458a wird dieser Block sofort als übergeordnete Block verwendet, umeinen neuen Kandidatenblock zu generieren und diesen Beweis zu finden Arbeitslösung für Kandidatenblöcke. In ähnlicher Weise werden Knoten, die Block Nr. 3458b akzeptieren, mit diesem Block als Scheitelpunkt der Kette neue Blöcke erzeugen und diese Kette erweitern (im Folgenden als B -Kette bezeichnet). Wenn der Knoten, der ursprünglich mit #3458a gelöst hat, wie der übergeordnete Block #3458b, #3459b, erhält, wird die B -Kette sofort als Hauptkette verwendet (weilDie Kette mit #3458a als Scheitelpunkt ist nicht mehr die längste Kette) weiterhin abgebaut. Der Knoten kann zuerst #3459b und dann #3458b erhalten. wird empfangen, der Knoten entzieht das Waisen aus dem Waisenpool und verbindet sich mit seinem übergeordneten Block, um es Teil der Blockchain zu machen.

Bitcoin -Konstruktionen Blockintervalle auf 10 Minuten, ein Kompromiss zwischen einer schnelleren Transaktionsbestätigung und einer geringeren Wahrscheinlichkeit des Gabels. Bei kürzeren Blockerzeugungsintervallen kann die Transaktionsbestätigung schneller abgeschlossen sein und auch zu häufigeren regionalen Blockchain -Gabeln führen. Im Gegensatz dazu verringern lange Intervalle die Anzahl der Gabeln, führen jedoch zu längeren Bestätigungszeiten.

Was ist die Blockchain-Expansion?

Die Fähigkeit eines normalen Benutzers, Knoten auszuführen Gegen 2 Uhr morgens erhalten Sie einen Notruf von jemandem auf der anderen Seite der Welt, der Ihnen hilft, den Bergbaupool (Steckpool) zu betreiben. Ab vor etwa 14 Minuten haben sich Ihr Pool und mehrere andere von der Kette getrennt, während das Netzwerk immer noch 79% seiner Rechenleistung beibehält. Abhängig von Ihrem Knoten sind die meisten Kettenblöcke ungültig. Zu diesem Zeitpunkt trat ein Gleichgewichtsfehler auf: Der Block schien 4,5 Millionen zusätzliche Token an eine unbekannte Adresse in die Irre geführt zu haben.

Eine Stunde später haben Sie und zwei andere kleine Bergbaupool -Teilnehmer, die ebenfalls auf einen Unfall gestoßen sind, einige Blockbrowser und Börsen gesehen, die einen Twitter -Account in einem Chatraum veröffentlicht haben. Neuer Aufenthaltsfonds für den nachhaltigen Abkommen “.

Am Morgen waren die Diskussionen auf Twitter und in einem Community -Forum, das Inhalt nicht zensierte, weit verbreitet. Bis dahin wurde jedoch ein großer Teil der 4,5 Millionen Token in andere Vermögenswerte umgewandelt, und es wurden Milliarden von Dollar an Defi -Transaktionen durchgeführt. 79% der Konsensknoten sowie alle wichtigen Blockchain -Browser und leichten Brieftaschenendpunkte folgen dieser neuen Kette. Vielleicht finanziert der neue Entwicklerfonds einige Entwicklungen, oder vielleicht wird all dies durch führende Bergbaupools, Börsen und deren Cronyme verschluckt. Unabhängig davon, was das Ergebnis ist, ist der Fonds tatsächlich zu einem Erleichterungen geworden, und gewöhnliche Benutzer können nicht widerstehen.

Vielleicht gibt es einen solchen Themenfilm. Vielleicht wird es von Molochdao oder anderen Organisationen finanziert.

Wird dies in Ihrer Blockchain geschehen? Die Eliten Ihrer Blockchain -Community, einschließlich Bergbaupools, Blockbrowser und Hosting -Knoten, sind möglicherweise gut koordiniert und sind wahrscheinlich im selben Telegrammkanal und in der WeChat -Gruppe. Wenn sie wirklich plötzlich die Regeln der Vereinbarung zu ihrem Vorteil ändern wollen, können sie diese Fähigkeit haben. Die Ethereum -Blockchain hat in zehn Stunden den Konsensfehlern vollständig aufgelöst. Der einzig zuverlässige Weg, solchen sozialen kollaborativen Angriffen zu widerstehen, ist die "passive Verteidigung", und diese Macht stammt von einer dezentralen Gruppe: Benutzer.

Stellen Sie sich vor, ein Benutzer führt einen Blockchain -Überprüfungsknoten (unabhängig davon, ob es sich um eine direkte Überprüfung oder andere indirekte Technologiehandelt) und lehnt automatisch Blöcke ab, die gegen die Protokollregeln verstoßen, auch wenn mehr als 90% der Bergarbeiter oder Staker es wie wie Wird sich die Geschichte in diesen Blöcken entwickeln?

Wenn jeder Benutzer einen Validierungsknoten ausführt, wird der Angriff bald fehlschlagen: Einige Bergbaupools und Börsen werden während des gesamten Prozesses dumm aussehen. Aber auch wenn nur einige Benutzer den Überprüfungsknoten ausführen, kann der Angreifer keinen großen Sieg gewinnen. Im Gegenteil, Angriffe können zu Verwirrung führen, und verschiedene Benutzer sehen unterschiedliche Blockchain -Versionen. Im schlimmsten Fall wird die folgende Marktpanik und die potenziell laufenden Kettengabeln die Gewinne der Angreifer erheblich verringern. Die Idee, auf einen solchen langwierigen Konflikt zu reagieren, kann selbst die meisten Angriffe stoppen.

HASUs Ansicht dazu:

"Wir müssen klar machen .Derjenige, der gewinnt. Wenn jeder Knoten ausführt, scheitert der Angreifer. Wir wissen nicht, was die genaue Schwelle für die Herdenimmunität gegen einen kollaborativen Angriff beginnt, aber eines ist absolut klar: Je mehr gute Knoten, desto weniger böswillige Knoten sind und wir brauchen definitiv mehr als ein paar hundert oder tausend .

Wie hoch ist die Obergrenze für die vollständige Arbeit?

Um so viele Benutzer wie möglich zu ermöglichen, den vollständigen Knoten auszuführen, konzentrieren wir uns auf gewöhnliche Verbraucherhardware. Selbst wenn Sie problemlos dedizierte Hardware kaufen können, die den Schwellenwert für einige volle Knoten senken können, ist die Verbesserung der Skalierbarkeit nicht so gut, wie wir es uns vorgestellt haben.

Die Fähigkeit des vollständigen Knotens, eine große Anzahl von Transaktionen zu verarbeiten Knoten ausführen?

Bandbreite: Wie viele Bytes kann ein Block basierend auf der aktuellen Netzwerkverbindung basieren?

Speicher: Wie viel Platz können wir Benutzer zum Speichern bitten? Wie schnell sollte seine Lesegeschwindigkeit außerdem sein? (D.h. Wir können diese drei Faktoren wiederum diskutieren:

Computerleistung

Falsche Antwort: 100% der CPU sollten zur Blockverifizierung

richtige Antwort verwendet werden: etwa 5 -10% der CPUs können zur Blockverifizierung verwendet werden

Die vier Hauptgründe, warum die Grenze so niedrig ist Angriffe (Transaktionen, die von Angreifern mit Codeschwächen erstellt wurden, erfordern eine längere Verarbeitungszeit als regelmäßige Transaktionen)

Knoten müssen in der Lage sein, mit der Blockchain nach Offline zu synchronisieren. Wenn ich eine Minute lang getrennt werde, sollte ich in der Lage sein, die Synchronisation innerhalb weniger Sekunden zu vervollständigen.

Der laufende Knoten sollte den Akku nicht sehr schnell abtropfen lassen, und es sollte auch andere Anwendungen

Knoten haben auch andere Nicht-Block-Produktionsarbeiten, die durchgeführt werden müssen. 10% werden benötigt? Es gibt viele Korrekturen für dieses Problem, z. B. Bitcoinng oder den POS -Beweis für den Einsatz. Aber diese haben die anderen vier Probleme nicht gelöst, sodass sie bei der Skalierbarkeit nicht große Fortschritte erzielten, wie viele erwartet hatten.

Parallelität ist auch keine magische Medizin. Im Allgemeinen wurden auch Clients, die anscheinend einsthread-Blockchains zu sein scheinen, parallelisiert: Signaturen können durch einen Thread überprüft werden, während die Ausführung durch andere Threads durchgeführt wird, und es gibt einen separaten Thread, der die Transaktionspool-Logik im Hintergrund verarbeitet. Je näher die Nutzungsrate aller Threads auf 100%liegt, desto mehr Energieverbrauch konsumieren die laufenden Knoten und je niedriger der Sicherheitsfaktor für DOS.

Bandbreite

Fehler Antwort: Wenn 10 MB-Blöcke ohne2-3 Sekunden generiert werden, sind die meisten Benutzer-Netzwerke größer als 10 MB/s, und natürlich können sie diese Bereiche bewältigen. Block

Richtige Antwort: Vielleicht können wir 1-5 MB Blöcke alle 12 Sekunden verarbeiten, aber dies ist immer noch schwierig

Jetzt hören wir oft, wie viel Internetverbindungen Statistiken von weitem bereitstellen können Propagierte Bandbreite: 100 Mbit / s oder sogar 1 Gbit / s sind häufig. Es gibt jedoch einen großen Unterschied zwischen der behaupteten Bandbreite und der erwarteten tatsächlichen Bandbreite aus folgenden Gründen: < /p>

"Mbps" bedeutet "Millionen von Bits pro Sekunde"; Deshalb müssen wir die beanspruchte Bitnummer um 8 teilen, um die Anzahl der Bytes zu erhalten.

Netzwerkbetreiber machen wie andere Unternehmen oft Lügen aus.

Es gibt immer mehrere Anwendungen, die dieselbe Netzwerkverbindung verwenden, sodass der Knoten nicht ausschließlich die gesamte Bandbreite besetzen kann.

P2P-Netzwerk führt unweigerlich Overhead ein: Knoten laden normalerweise mehrmals denselben Block herunter und laden neu auf (ganz zu schweigen davon, dass Transaktionen über Mempool ausgestrahlt werden, bevor sie in den Block verpackt werden).

Als Starkware 2019 ein Experiment durchführte, veröffentlichte sie erstmals einen 500 -KB -Block, nachdem die Kosten für Handelsdatengase reduziert worden waren und einige Knoten keine Blöcke dieser Größe verarbeiten konnten. Die Fähigkeit, große Blöcke zu handhaben, wurde und wird weiterhin verbessert.Aber egal was wir tun, wir können immer noch nicht die durchschnittliche Bandbreite in MB/Sec bekommen, und überzeugen uns, dass wir eine 1 -Sekunde -Verzögerung akzeptieren und die Fähigkeit haben, Blöcke dieser Größe zu verarbeiten.

Speicher

Falsche Antwort: 10TB

Richtige Antwort: 512GB

Wie Sie vielleicht vermutet haben, sind die Hauptargumente hier mit anderen Der gleiche Ort: Der Unterschied zwischen Theorie und Praxis. Theoretisch können wir 8-TB-Festkörpertreiber bei Amazon kaufen (SSD oder NVME benötigt; HDD ist für Blockchain-Zustandspeicher zu langsam). Tatsächlich hat der Laptop, den ich in diesem Blog geschrieben habe, 512 GB, und wenn Sie die Leute zu Hardware kaufen lassen, werden viele Leute faul (oder sie können sich die 800 $ 8TBSSD nicht leisten) und nutzen einen zentralen Service. Selbst wenn Sie eine Blockchain auf ein Speichergerät laden können, kann eine Menge Aktivität die Festplatte schnell abtropfen und Sie dazu zwingen, neue zu kaufen.

Eine Gruppe von Blockchain -Protokollforschern befragte den Speicherplatz aller Scheiben. Ich weiß, dass die Stichprobengröße klein ist, aber immer noch

= "ikqb_image_caption"> Klicken Sie klicken, um die Bildbeschreibung

zusätzlich einzugeben, Die Speichergröße stellt fest, dass der neue Knoten online sein kann und die Zeit für die Teilnahme am Netzwerk beginnt. Alle Daten, die ein vorhandener Knoten speichern muss, sind die Daten, die der neue Knoten herunterladen muss. Diese anfängliche Synchronisationszeit (und die Bandbreite) ist auch ein wichtiges Hindernis für Benutzer, um Knoten auszuführen. Während ich diesen Blog -Beitrag schrieb, brauchte ich ungefähr 15 Stunden, um einen neuen Getth -Knoten zu synchronisieren. Wenn die Nutzung von Ethereum um das 10 -fache zunimmt, dauert es mindestens eine Woche, um einen neuen Geth -Knoten zu synchronisieren, und führt eher zu eingeschränkten Internetverbindungen zu den Knoten. Dies ist bei einem Angriff umso wichtiger, bei dem eine erfolgreiche Antwort auf einen Angriff erfordert, dass der Benutzer einen neuen Knoten aktiviert, wenn ein Benutzer zuvor keinen Knoten ausgeführt hat.

Interaktionseffekt

Zusätzlich besteht ein Interaktionseffekt zwischen diesen drei Arten von Kosten. Da die Datenbank eine Baumstruktur internverwendet, um Daten zu speichern und abzurufen, steigt die Kosten für das Erhalten von Daten aus der Datenbank mit der logarithmischen Größe der Datenbank. Da die obere Ebene (oder die ersten Stufen) in RAM zwischenstrichen werden können, sind die Kosten für die Datenträgerzugriffskosten proportional zur Datenbankgröße und sind ein Vielfaches der zwischengespeicherten Datengröße im RAM.

Verstehe diesen Diagramm nicht wörtlich, verschiedene Datenbanken funktionieren unterschiedlich, normalerweise ist der Teil des Speichers nur eine separate (aber große) Ebene (siehe LSM -Baum, die in LevelDB verwendet werden). Aber die Grundprinzipien sind gleich.

Zum Beispiel, wenn der Cache 4 GB ist und wir annehmen, dass jede Schicht der Datenbank 4 -mal größer ist als die vorherige Schicht, erfordert der aktuelle ~ 64 -GB -Status von Ethereum ~ 2 Zugriffe. Wenn die Zustandsgröße jedoch um das 4 -fache auf ~ 256 GB steigt, erhöht sich dies auf ~ 3 Besuche. Daher kann eine 4-fache Zunahme der Gasgrenze tatsächlich in eine ~ 6-fache Erhöhung der Blocküberprüfungszeit umgewandelt werden. Dieser Effekt kann sogar noch größer sein: Die Festplatte dauert länger, wenn es darum geht, zu lesen und zu schreiben, wenn es voll ist, als wenn er im Leerlauf ist.

Was bedeutet das für Ethereum?

Ein Knoten in der Ethereum -Blockchain ist jetzt eine Herausforderung für viele Benutzer, obwohl zumindest die Verwendung regelmäßiger Hardware immer noch möglich ist (ich habe dies gerade in meinem geschrieben. Ein Knoten wird auf dem Laptop synchronisiert!). Daher sind wir im Begriff, einen Engpass zu begegnen. Das wichtigste Problem für Kernentwickler ist die Speichergröße. Daher ist es unwahrscheinlich, dass die aktuellen großen Anstrengungen zur Lösung von Computer- und Daten Engpässen und sogar Änderungen der Konsensalgorithmen zu einer signifikanten Verbesserung der Gaslimit führen. Auch wenn Ethereums größte DOS -Schwäche gelöst wird, kann sie nur um 20%um 20%erhöhen.

Die einzige Lösung für das Problem der Speichergröße ist ein Staatelo und staatlich überfällig. Bei Stauress ermöglicht es, dass die Knotengruppe überprüft wird, ohne den dauerhaften Speicher aufrechtzuerhalten. Der überfällige Status wird den kürzlich nicht besuchten Zustand inaktivieren, und der Benutzer muss manuelle Nachweise zur Aktualisierung vorlegen. Diese beiden Wege wurden seit langem untersucht und haben eine Implementierung der Konzept-Nachweis über Staatenlosigkeit begonnen. Die Kombination dieser beiden Verbesserungen kann diese Bedenken erheblich lindern und Platz für eine signifikante Verbesserung der Gaslimit eröffnen. Aber auch nach der Implementierung eines überfälligen und staatlichen Staates kann Gaslimit nur sicher um das dreifache 3 -fache ansteigen, bis andere Beschränkungen funktionieren.

Eine weitere mögliche Zwischenmitte ist die Verwendung von ZK-Snarks, um Transaktionen zu validieren. ZK-SNARKs können sicherstellen, dass gewöhnliche Benutzer keinen persönlichen Speicherstatus oder keine Überprüfung benötigen. Blöcke, auch wenn sie noch alle Daten im Block herunterladen müssen, um gegen Daten nicht verfügbare Angriffe zu verteidigen. Auch wenn der Angreifer ungültige Blöcke nicht einreichen kann, wenn es zu schwierig ist, einen Konsensknoten auszuführen, besteht immer noch ein Risiko einer koordinierten Überprüfung des Angriffs. Daher können ZK-SNARKs die Knotenfunktionen nicht unendlich verbessern, sie können sie aber dennoch erheblich verbessern (möglicherweise 1-2 Größenordnungen). Einige Blockchains untersuchen diese Form auf Layer1, während Ethereum über das Layer2 -Protokoll (auch als Zkrollups bezeichnet) wie ZkSync, Loopring und Starknet profitiert.

Was passiert nach dem Sharding?

rasieren löst grundlegend die oben genannten Einschränkungen, da sie die Daten, die auf derBlockchain enthalten sind, aus den Daten entkoppelt, die ein einzelner Knoten verarbeiten und speichern muss. Knotenüberprüfungsblöcke erfolgen nicht durch das Herunterladen und Ausführen persönlicher, sondern verwenden fortschrittliche mathematische und kryptografische Techniken, um Blöcke indirekt zu überprüfen.

. Sharded-Blockchains können also sicher sehr hohe Durchsatzwerte aufweisen, die nicht-Sand-Blockchains nicht erreichen können. Dies erfordert eine Menge kryptografischer Techniken, um die naive vollständige Überprüfung effektiv zu ersetzen, um ungültige Blöcke abzulehnen. Dies kann jedoch getan werden: Die Theorie befindet sich bereits im Fundament, und ein auf dem Entwurfsspezifikationen basierender Beweis für das Konzept ist bereits im Gange.

Ethereum plant eine quadratische Sharding, wobei die Gesamtskalierbarkeit durch die Tatsache begrenzt ist einige feste Managementarbeit. Wenn die Scherben zu groß sind, kann der Knoten keinen einzigen Shard mehr verarbeiten, und wenn es zu viele Scherben gibt, kann der Knoten keine Beacon -Kette mehr verarbeiten. Das Produkt dieser beiden Einschränkungen stellt die Obergrenze dar.

Es kann sich vorstellen, dass wir durch kubisches Sharding oder sogar exponentielles Sharding weiter gehen können. In einem solchen Design wird die Datenverfügbarkeitsabtastung sicherlich komplexer, dies ist jedoch möglich. Ethereum übertrifft jedoch den quadratischen Fall nicht, da die zusätzlichen Skalierbarkeitsvorteile von Scherben von Transaktionsscherben zu Transaktionsschirten nicht tatsächlich erzielt werden können, unter der Prämisse, dass andere Risikoniveaus akzeptabel sind.

Was sind diese Risiken?

Mindestanzahl von Benutzern

Es kann sich vorstellen, dass eine Nicht-Segment-Blockchain, solange ein Benutzer bereit ist, teilzunehmen, ausgeführt werden kann. Dies ist jedoch bei Sharded Blockchains nicht der Fall: Ein einzelner Knoten kann nicht die gesamte Kette verarbeiten, sodass genügend Knoten benötigt werden, um die Blockchain gemeinsam zu verarbeiten. Wenn jeder Knoten 50 tPs und die Kette 10000 TPs verarbeiten kann, benötigt die Kette mindestens 200 Knoten, um zu überleben. Wenn die Kette zu irgendeinem Zeitpunkt weniger als 200 Knoten enthält, kann der Knoten dazu führen, dass der Knoten nicht mehr synchronisiert wird, oder der Knoten hört auf, ungültige Blöcke zu erkennen, oder viele andere schlechte Dinge können je nach Einstellungen der Knotensoftware stattfinden.

In der Praxis ist die minimale Anzahl von SAFES aufgrund der Notwendigkeit einer Redundanz (einschließlich Datenverfügbarkeitsabtastung) mehrmals höher als die einfache "Ketten -TPS geteilt durch Knoten -TPS". Stellen Sie es 1000 Knoten ein.

Wenn die Kapazität der Sharded Blockchain um das 10 -fache zunimmt, steigt die Mindestzahl der Benutzer ebenfalls um das 10 -fache. Jetzt fragen Sie sich: Warum beginnen wir nicht mit geringerer Kapazität und erhöhen sich, wenn es viele Benutzer gibt?

Hier gibt es mehrere Probleme:

Die Blockchain selbst kann nicht zuverlässig erkennen, wie viele einzigartige Benutzer es gibt, sodass eine Art Governance erforderlich ist, um die Anzahl der Shards zu erkennen und festzulegen . Die Regierungsführung von Kapazitätsbeschränkungen kann leicht zur Quelle von Teilung und Konflikt werden.

Was ist, wenn viele Benutzer plötzlich gleichzeitig versehentlich getrennt werden?

Erhöhung der Mindestanzahl von Benutzern, die zum Starten einer Gabelung erforderlich sind, erschweren noch schwieriger gegen böswillige Kontrolle.

Die minimale Anzahl von Benutzern beträgt 1.000, was fast in Ordnung ist. Andererseits ist die minimale Anzahl von Benutzern auf 1 Million festgelegt, was definitiv nicht möglich ist. Sogar die Mindestzahl der Benutzer beträgt 10.000, was als riskant werden kann. Daher erscheint esschwierig, eine geschmierte Blockchain mit mehr als ein paar hundert Scherben zu rechtfertigen.

Historische Abrufbarkeit

Das wichtige Attribut von Blockchain, dass Benutzer wirklich Wert dauerhaft sind. Wenn ein Unternehmen bankrott geht oder das Ökosystem aufrechterhält, genutzt keine Vorteile mehr, bestehen die auf dem Server gespeicherten digitalen Vermögenswerte nicht mehr innerhalb von 10 Jahren. Und NFTs auf Ethereum sind dauerhaft.

Ja, 2372 Personen können Sie immer noch herunterladen und anzeigen verschlüsselte Katze.

Aber sobald die Blockchain eine zu hohe Kapazität aufweist, wird es schwieriger, all diese Daten zu speichern, bis irgendwann ein großes Risiko auftritt, und einige historische Daten werden irgendwann niemand wird es speichern.

Es ist einfach, dieses Risiko zu quantifizieren. Multiplizieren Sie mit ~ 30, um die Daten pro Jahr (TB) in Einheiten der Datenkapazität der Blockchain (MB/Sec) zu erhalten. Die Datenkapazität des aktuellen Shard -Plans beträgt ca. 1,3 MB/s, so dass es etwa 40 TB/Jahr beträgt. Wenn es das 10 -fache erhöht, ist es 400 TB/Jahr. Wenn wir nicht nur auf die Daten zugreifen möchten, sondern auch bequem, benötigen wir auch Metadaten (z. Internetarchiv (Internet Archive) verwendet 50pb. Es kann also gesagt werden, dass dies die Obergrenze der Sicherheitsgröße der Sharded Blockchain ist.

Es scheint also, dass das Ethereum -Shard -Design in diesen beiden Dimensionen tatsächlich sehr nahe an einem angemessenen maximalen Sicherheitswert liegt. Die Konstante kann ein wenig erhöht werden, aber nicht zu viel.

Schlussfolgerung

Es gibt zwei Möglichkeiten, die Blockchain zu erweitern: grundlegende technische Verbesserungen und einfacher Verbesserung der Parameter. Erstens klingt die Steigerungsparameter attraktiv: Wenn Sie auf Essenspapier Mathe machen, ist es leicht zu der Annahme, dass ein Laptop der Verbraucher, der Tausende von Transaktionen pro Sekunde, ohne ZK-Snark, Rollups oder Sharding abwickeln kann. Leider gibt es viele subtile Gründe, warum dieser Ansatz grundsätzlich fehlerhaft ist.

Computer, die Blockchain -Knoten ausführen, können nicht 100% ihrer CPU verwenden, um Blockchains zu verifizieren. Ich möchte es nicht für eine andere Anwendung verwenden können, wenn Sie Knoten auf dem Computer ausführen. Die Bandbreite ist ebenfalls begrenzt: Eine 10 -MB/s -Verbindung bedeutet nicht, dass 10 MB Blöcke pro Sekunde verarbeitet werden können! Vielleicht können 1-5 MB Blöcke alle 12 Sekunden verarbeitet werden. Gleiches gilt für die Speicherung. Die Erhöhung der Hardwareanforderungen für das Ausführen von Knoten und die Begrenzung dedizierter Knotenbetreiber ist nicht die Lösung. Bei dezentralen Blockchains ist es entscheidend, dass gewöhnliche Benutzer Knoten ausführen und eine Kultur bilden können, dass laufende Knoten ein universelles Verhalten ist.