Umbrel/Citadel: Flaschenhals beim initialen Blockchain Sync?

Mich würde mal interessieren, wo sich technisch gesehen beim Einrichten einer Fullnode mit Umbrel/Citadel eigentlich der Flaschenhals beim initialen Blockchain Sync befindet?

  • CPU Rechenleistung?
  • Disk I/O?
  • Internet-Geschwindigkeit?

Hat das jemand mal nachgemessen? Was ist der limitierende Faktor?

Mit was für Downloadzeiten muss ich denn aktuell ungefähr rechnen, wenn ich Citadel mit einen Raspi 4 mit 4GB und 1TB SSD neu aufsetze? Stunden? Tage? Wochen?

Macht es Sinn, den initialen Blockchain Sync mit einem PC zu machen und anschließend die SSD erst an den Raspi zu hängen?
Und um wieviel schneller würde das ungefähr gehen?
Falls es Sinn macht, gibt es dafür eine Anleitung für Citadel?

Ich glaube es waren 2 Tage bei mir. Habe einen Raspi4 mit 4GB mit einer 1TB SSD und konstanten 100 Mbit Downloadspeed.

Interessante Frage: Ich dachte irgendwie immer, dass der Raspi am langsamsten in dieser Kette ist. (einfach weil er so günstig ist) Aber vielleicht liege ich falsch. (500 GB lade ich auf jeden Fall schneller runter auf meinem normalen Rechner)

1 „Gefällt mir“

Soweit mir bekannt, ist ein ein CPU Problem, da jeder Block zusätzlich noch validiert werden muss.

Eine kleinere Bremse ist die Tor-Verbindung. Darüber bekommt man nie die komplett zur Verfügung stehende Downloadgeschwindigkeit.

Der Flashenhals beim Blockchain Sync ist ganz klar die fehlende Geduld der zukünftigen Node-Betreiber :joy: :joy:

Der Sync kann teilweise bis zu zwei Wochen in Anspruch nehmen. Das ist das erste große Learning, dass man nichts überstürzen sollte. Rein technisch gesehen, liegt es am Raspberry Pi. Da tatsächlich validiert und nicht bloß gedownloaded wird, braucht das Gerät aufgrund der geringen Rechenleistung entsprechend lang für diese Arbeit.

Das Vorsyncen auf dem PC ist natürlich eine Option. Inwieweit das bei Umbrel/Citadel geht weiß ich nicht. Beim Raspiblitz ist die Übertragung kein Problem.

Ich glaube nicht, dass die Internetgeschwindigkeit wirklich ausschlaggebend dafür ist. Klar sollte man keine Bambusleitung haben.

Bei dem initialen Blockchain Sync sieht man im Bitcoin-Log, dass die ersten 500.000 Blöcke nach ein paar Stunden durch sind. Ab dann dauert es länger.

Das liegt daran, dass natürlich ALLE Transaktionen in den Blöcken validiert werden müssen. Erst ab den letzten ca. 250.000 Blöcken sind viele Transaktionen in den Blöcken.

Ich hab einen RaspiBlitz am laufen. Da hat der Blockchain Sync eine Woche dedauert.
Auf meinem Desktop PC mit exakt gleicher Internetgeschwindigkeit + Tor und SATA SSD hat der Sync 6 Stunden gedauert.
Der einzige unterschied ist die CPU und der RAM, die im Vergleich zum RaspiBlitz wesentlich besser sind. (AMD Ryzen 7 5700-G, 16GB RAM)

Daraus schlussfolgere ich, dass die CPU hier der Flaschenhals sein könnte.

Deine Idee mit dem „Vorsync“ der Blockchain auf einem richtigen PC finde ich interessant. Sicherlich kann man das mal ausprobieren.

1 „Gefällt mir“

Ok, wenn selbst der initiale Sync schon über Tor läuft, wäre das dann eine weitere Bremse, mit der ich jetzt nicht gerechnet hätte.

Ok danke, das ist ja schonmal eine Hausnummer als Vergleich.

In diesem Thread gibt es ein paar Hinweise und Links, bezieht sich aber fast alles auf Raspiblitz und nicht Umbrel/Citadel:

Blockchain am PC herunterladen, dann in RaspiBlitz

Ich weiß leider nicht wie Umbrel/Citadel im Kern funktionieren. Beim RaspiBlitz kann man das data-direcoty vom Bitcoin-Core einfach Copy&Pasten: bitcoin core - How to transfer only the blockchain to a friend's computer? - Bitcoin Stack Exchange

Ich kann mir vorstellen, dass das bei anderen Node OSs auch so geht. Wahrscheinlich läuft der Bitcoin-Core bei Umbrel in einem Docker Container.