Was sind die Anforderungen an den Speicherplatz von Ethereum?

Wie schnell wächst die Ethereum-Blockchain und wie groß wird sie voraussichtlich in der Zukunft werden? Ist es immer noch etwa 1 GB pro Monat? Sind Datenbereinigungs- oder Komprimierungsalgorithmen vorhanden oder geplant?

Unterhaltsame Tatsache – seit Oktober 2022 sind die Smart Contracts von Ethereum von 0 Smart Contracts im Jahr 2015 auf einen Höchststand von 44.023 Smart Contracts während des Bullenmarkts 2018 auf ein Allzeithoch im Jahr 2022 mit 117.922 Smart Contracts gestiegen, was einem Anstieg von 50 % seither entspricht 2021. Im Grunde nimmt also die Anzahl der Blöcke zu, und zwar immer schneller. (Quelle: alchemy.com/blog/web3-developer-report-q3-2022 )

Antworten (7)

Update am 09.12.2018 / Block ~ 6_850_000 - Es ist ziemlich lästig, diese Antwort aktuell zu halten.

Get (gehen)

Letzte Aktualisierung: 14. Mai 2018 / Block ~ 5_600_000

Client / Mode         | Block Number   | Disk Space
======================|================|===========
geth light            | 5_600_000      | 363M
geth fast full        | 5_600_000      | 142G
geth full full        | ?_???_??? [1]  | 239G + [1]
geth full archive     | 4_980_000 [2]  | 671G
  • [1]Meine Festplatte war voll, ich hatte nicht erwartet, dass der Speicherplatz knapp wird, und konnte diesen Synchronisierungsmodus nicht wiederholen
  • [2]Ich habe es leider nicht geschafft, den Archive Node innerhalb von sechs Wochen vollständig zu synchronisieren.
  • Get 1.8.3
  • Ubuntu 16.4 LTS, VPS-Instanz mit SSD-gestütztem Speicher

Parität (Rost)

Letzte Aktualisierung: 14. Mai 2018 / Block ~ 5_600_000

Client / Mode         | Block Number   | Disk Space
======================|================|===========
parity light          | 5_600_000      |  89M
parity warp fast      | 5_600_000      |  82G
parity full fast      | 5_600_000      |  78G
parity full archive   | 5_600_000      | 1.1T
  • Parität 1.10.0
  • Ubuntu 16.4 LTS, VPS-Instanz mit SSD-gestütztem Speicher

Update: 29.11.2017. Afri hat dazu einen Blogbeitrag geschrieben, insb. Parity-Pruning-Modi: Die Größe der Ethereum-Blockchain wird in absehbarer Zeit 1 TB nicht überschreiten .

Irgendein Blatt.

Wenn Ethereum so viel verwendet wird wie Bitcoin heute (etwa 5 tx/Sek.), ist das die 28-fache Wachstumsrate. Angenommen, die Leute verwenden mehr Smart Contracts und spekulieren nicht nur wie bei Bitcoin, dann werden Sie viele kleinere Transaktionen sehen. Es wird eine gewisse Konsolidierung geben, da mehr Transaktionen in einem Block abgebaut werden (was etwas weniger Bytes pro Transaktion verbraucht), aber insgesamt würde ich ein Blockkettenwachstum von 600 GB bis 1 TB pro Jahr erwarten, wenn Ethereum populär wird.
@5chdn Angenommen, diese Zahlen sind immer noch korrekt, wenn ich eine neue Brieftasche einrichten und meine erste Synchronisierung mit geth -fast durchführen würde, würde die Bandbreite, die ich für diese erste Synchronisierung verwenden würde, etwa 4,348 GB betragen ??? Ist das richtig?
Ja. Dürfte mittlerweile etwas mehr sein.
Poste deine ETH-Adresse, ich schicke dir eine Spende.
@nchinda2 0x006ed403807ae87b9f958f25c33862927ba1b57b:)
@5chdn sollten es im Light-Modus in Geth nicht 1,75 GB sein? Ich bin dabei, bei etwa Block 300k mit 140 MB gesammelten Daten zu synchronisieren. Sieht so aus, als würde es etwas über 2 GB enden.
Es sollte die UI-Option geben, um den Speicherort der Kettendaten und die Art der Synchronisierung auszuwählen ...
Es ist jetzt Ende November 2017 und meine --syncmode "fast"Blockchain auf meinem Computer ist jetzt 220 GB groß. Ich mache mir Sorgen, dass ich einen Full-Node nicht mehr lange betreiben kann, da er wirklich SSDs braucht.
Leider bereinigt Geth die Datenbank nicht kontinuierlich. Vielleicht möchten Sie die Verwendung von Parity in Betracht ziehen.
Was ist der Unterschied zwischen geth full archiveund geth full full Knoten? @ Waqar Lim
@alper einer ist ein vollständiger Knoten (beschnittene historische Zustände) und der andere ist ein Archivknoten (alle historischen Zustände), siehe dev.to/5chdn/…

Derzeit wächst das Netzwerk um etwa 1 GB pro Monat . Es ist schwer vorherzusagen, wie groß und in welchem ​​Tempo es wachsen könnte, aber es gibt bereits Bemühungen, State-Tree Pruning in verschiedenen Clients zu implementieren. Diese Techniken werden zu sogenannten "Light-Clients" beitragen.

Im verknüpften Diagramm oben wird die Entwicklung der Blockgröße geschätzt, wobei die Blockgröße in Bytes im Laufe der Zeit geschätzt wird, die zur Schätzung der Geschwindigkeit (Rate) verwendet werden kann. Welches Diagramm am besten geeignet ist, hängt davon ab, was Sie konkret unter Blockwachstumsrate verstehen .

Welche (oder Kombination?) der oben verlinkten Diagramme zeigt die Blockwachstumsrate? Keines der einzelnen Diagramme scheint dies direkt zu zeigen.
"Blockgrößenentwicklung" ist eine Schätzung der Blockgröße in Bytes über die Zeit, die verwendet werden kann, um die Geschwindigkeit (Rate) abzuschätzen. Das am besten geeignete Diagramm hängt davon ab, was Sie speziell mit "Blockwachstumsrate" meinen.
Ich habe versucht, eine Definition dessen zu finden, was etherchain.org mit „Blockgrößenentwicklung“ meint, aber ich konnte keine finden. Meine Interpretation (möglicherweise falsch) ist, dass dies die Größe einzelner Blöcke darstellt, die auf täglicher Basis gemittelt werden. Um dies in eine Schätzung der Wachstumsrate der Blockchain-Größe über einen Monat zu übersetzen (was ich in meiner vorherigen Nachricht schreiben wollte), müssten wir dies mit der Anzahl der in einem Monat hinzugefügten Blöcke multiplizieren.

Ab dem 01.11.2016 belegt die im Vollmodus heruntergeladene Ethereum-Blockchain (ETH, dh unterstützende DAO-Fork) 75 GB auf meinem Laufwerk. Der Client ist Geth (go-ethereum), Version 1.4.18, erstellt aus einer Quelle, die von https://github.com/ethereum/go-ethereum geklont wurde und auf CentOS Linux Version 7.2.1511 ausgeführt wird.

Ab heute sollte ab MM/TT/JJJJ für jede einzelne Antwort...

Ich bin über die folgenden Links gestolpert:

1- bietet ein Online-Diagramm, das die Entwicklung der aktuellen Blockchain-Größe von Ethereum neben der Größe der Bitcoin-Blockchain darstellt.

http://bc.daniel.net.nz/ Geben Sie hier die Bildbeschreibung ein

2- liefert Details über das Ethereum-Netzwerk, einschließlich der Blockchain-Größe https://bitinfocharts.com/ethereum/

Benchmarks durchgeführt auf Homestead im Juni 2016

Holen Sie sich 1.4.9 auf i7 3720QM 16 GB RAM und SSD

-----------------------------------------
|      -    |  Full  |  Fast  |  Light  |
|-----------|--------|--------|---------|
| Disk      |  22GB  | 4.8GB  |  600 Mo |
| Time      |  5h    | 21m    |  21m    |
-----------------------------------------

Parität 1.2 auf i7 3720QM 16 GB RAM und SSD

-------------------------------------------
| -         | Archive  |  Fast  |  Light  |
|-----------|----------|--------|---------|
| Disk      |  22GB    | 3.7GB  |  2.5GB  |
| Time      |  2h      | 1h30   |  2h     |
-------------------------------------------
Ich frage mich, warum der Speicherplatzbedarf für meine Ergebnisse von vor einem Monat höher ist als für Sie jetzt ...
Ich werde sie in wenigen Stunden aktualisieren

Ab dem 1. Februar beträgt die Blockchain-Größe ~940.000 Blöcke, wobei alle 17,2 Sekunden ein neuer Block erstellt wird. Das bedeutet, dass die Blockchain im Durchschnitt jeden Monat um 152.790 Blöcke wächst.

Eine ungefähre durchschnittliche Blockgröße liegt derzeit bei etwa 1.225 Bytes. Bei dieser durchschnittlichen Blockgröße beträgt die Zunahme der Blockchain-Größe 187 MB pro Monat (152.790 Blöcke x 1.225 Bytes).

Verwendete Referenz: https://www.etherscan.io

Ich synchronisiere einen Knoten im Vollmodus. Im Moment ist es auf Block 5005306 (Ende Januar 2018) und hat 700 GB. Es läuft wahrscheinlich seit mehr als 20 Tagen

Hast du geth oder parity verwendet. Wenn Geth hast du die --gcmode=archiveOption verwendet?
geth mit der Option syncmode=full. Ich habe die Option gcmode nicht verwendet. Ich weiß nicht einmal, was es vor deinem Kommen war. Es scheint etwas Neues auf Geth 1.8 zu sein? Ich verwende 1.7
Ja, in Geth 1.8 ist die automatische Bereinigung standardmäßig aktiviert. gcmode=archive deaktiviert es.
Gehe ich richtig in der Annahme, dass das neu in 1.8 ist? weil auf 1.7 der Synchronisierungsmodus voll ausreicht, um ein Pruning zu vermeiden
Ja das ist richtig.