Einrichtung eines Full Node - Lernkurve eines Neulings

Ich schreibe diesen Bericht, weil es da draußen vermutlich noch andere gibt, die trotz der zahlreichen Tutorials und Anleitungen ebenso verunsichert sind wie ich es lange Zeit war.

Nachdem ich monatelang mit dem Gedanken gespielt hatte, mir einen full node einzurichten, habe ich es nunmehr vollbracht. Großer Dank dafür gebührt mehreren hilfreichen Mitgliedern dieses Forums, die mich auf Schiene gebracht haben. Es hat lange gedauert, bis mir die Unterscheidung zwischen Hardware (=kleiner Computer) und Software (=Betriebssystem dieses Computers) klar wurde.
Häufigstes Beispiel in diesem Forum: Raspberry Pi (Computer) plus RaspiBlitz (Software). Alternative Betriebssysteme wären Umbrel, Mynode oder Citadel. Zu den Vor- und Nachteilen dieser Programme findet man unzählige Informationen im Internet.

Es gibt auch fertige Kombis, wie z.B. den RaspiBlitz von Fulmo (dass das Gerät gleich wie die Software heißt, macht die Sache nicht einfacher) oder teure Systeme wie Umbrel Home oder die nodl-Produkte u.a. Der fertige von Fulmo angebotene RaspiBlitz ist zur Zeit nicht erhältlich, und jeder (inkl. dem Fulmo-Support) empfiehlt DIY (was auch günstiger ist). Als lebenslanger Nutzer von Plug 'n Play-Systemen hat mich DIY reflektorisch abgeschreckt und zu Versagensängsten geführt. Bis ich die Trivialität des Ganzen endlich erkannt hatte.

Man kauft sich um ca. 100.- Euro einen Raspberry PI 4 (mit dem leistungsstärkeren 5er sind die OS zurzeit nur sehr bedingt kompatibel), steckt eine SD-Card mit dem aufgespielten („geflashten“) Betriebssystem rein und schließt über USB eine Festplatte an (mindestens 1 TB, besser 2 TB, unbedingt SSD). Der Raspberrey PI wird über LAN mit dem Internet verbunden. Damit ist der full node bereits fertig und legt los, sobald er Strom hat! Zwecks Kühlung klebt man Kühlpads oder Kühlkörper auf die Prozessoren und zwecks Optik stülpt man ein Gehäuse drüber, das im Idealfall passiv kühlt. Nach ausführlicher Recherche würde ich jetzt das kühlende Flirc-Case nehmen, obwohl Überhitzung bei normalem Betrieb ohnehin kaum auftreten wird. Von einem Ventillator (Fan) rate ich ab, weil der permanent vor sich hin zwitschernd läuft und außerdem nicht erforderlich ist.

Welches Betriebssystem? Als jahrzehntelanger treuer Apple-Kunde (iMac, iPhone, iPad, iWatch) haben mich die schicke Benutzeroberfläche und Einfachheit von Umbrel überzeugt, obwohl Roman u.a. Freaks davon abraten und stattdessen RaspiBlitz empfehlen (deutlich weniger attraktiv und komplizierter). Bei Umbrel erfolgt der Zugriff auf den Node im Browser über umbrel.local. Als erstes installiert man sich die Bitcoin Node App und wartet dann geduldig, bis die Blockchain synchronisiert ist. Bei mir hat das trotz frühzeitigem Wechsel vom lausigen WLAN zu Hause auf ein high speed Netz auf der Arbeit fast eine Woche gedauert. Alle anfänglichen Prognosen über die Dauer haben sich als viel zu optimistisch erwiesen, weil die letzten 5 % (also etwa 3 Monate) quälend langsam synchronisiert wurden. Dazu findet man viele Berichte im Netz. Als Grund wird zumeist die größere Anzahl von Transaktionen pro Block genannt, was aber nicht stimmt - die war vor 4 Jahren auch nicht geringer. Wenn die Sync fertig ist, installiert man sich den Electrum-Server (Electrs), dessen Sync wiederum ca. einen Tag braucht, und kann dann gemäß Anleitung seine Wallets problemlos mit dem Node verbinden.

Fazit: Neben der Investition von ca. 200.- Euro ist die einzige mögliche Hürde bei der Installation eines full node ein allfälliger Mangel an Geduld. Eilig darf man es nicht haben!

Selbstverständlich habe ich noch ein paar Fragen für euch:

  1. Wie kann ich ein Backup der Festplatte mit der Blockchain erstellen? Die SSD ist in Ext4 formatiert und daher mit dem Mac OS nicht kompatibel. Die Installation einer Linux VM übersteigt meine Fähigkeiten.

  2. Was bringt mir ein eigener Lightning Node gegenüber einem self-custodial lightning wallet von Blockstream Green (oder Phönix)? Die Selbstverwaltung von Kanälen ist umständlich, bei den Wallets wird das von oben erledigt.

  3. Warum ist die Sync der Blockchain am Ende dermaßen langsam?

Nochmals herzlichen Dank an alle hier, die mir bei der Transformation zum echten Bitcoiner behilflich waren! Mein derzeitiges Projekt: Den günstigen Kurs nutzen und Sats stacken. :blush:

3 „Gefällt mir“

Streng genommen sind Raspiblitz und Co. Software, aber kein Betriebssystem.

  • Deine Handykamera ist die Hardware.
  • Dein Betriebssystem (Android/iOS/…) bietet die Treiber (Software), um die Kamera ansteuern zu können.
  • Die Kamera App ist auch Software und bietet dir ein schönes Interface, um Mithilfe der Treiber die Kamera letztendlich steuern zu können.

Physischer PC > Hardware
Betriebssystem > Windows/Linux/Mac
Andere Software > Office, Browser, Banking etc.

Oder auf den Menschen bezogen:

Der Körper ist die Hardware, die Atmung und der Herzschlag werden vom Betriebssystem gesteuert (notwendige Basisfunktionen) und die Sprache ist eine später installierte Software. :slight_smile:

Ohne Sprache lässt es sich zwar leben, aber man wäre schon sehr eingeschränkt. Ohne Atmung ist man nicht am Leben.

Fazit:

Raspberry Pi 4 > Hardware
Ubuntu Linux > Betriebssystem
Raspiblitz (Bitcoin Core, LND, Blockchain Explorer etc) > Software
Der Raspiblitz ist letztendlich nur eine schön zusammengestellte Softwaresammlung :slight_smile:

Wenig nach deinen Anforderungen. Möchtest du wilde erweiterte Funktionen nutzten, wie LNBits, brauchst du eine eigene Node. Damit erhältst du mehr Kontrolle und Einstellmöglichkeiten. Für das reine Bezahlen ist es nicht erforderlich. Möchtest du einen Webshop betreiben, bietet die eigene Node die benötigten Funktionen.

Der Raspberry Pi ist sehr effiziente, stromsparende Hardware. Die Blockchain wird nicht nur heruntergeladen, sondern jeder einzelne Block wird „nachgerechnet“. Du kannst die Blockchain auch am leistungsstarken PC syncen, da dauert es nur Stunden statt Wochen. Danach ließe sich die Chain einfach rüberkopieren. Die Anleitung ist im Einrichtungsprozess des Raspiblitz eingebaut.

Der Pi muss quasi Kopfrechnen, während der PC Zugriff auf einen Taschenrechner hat. Beide konmen zum Ziel, aber mit Zeitunterschied.

1 „Gefällt mir“

Der Raspberry Pi wird ja abseits von full node Anwendungen mit dem Raspberry PI OS (=operating system; dt: Betriebssystem) betrieben. Da man für full nodes stattdessen RaspiBlitz oder Umbrel usw. benutzt, hatte ich diese Programme (offensichtlich fälschlicherweise) als Betriebssysteme betrachtet. Danke für die anschauliche Erläuterung mit der Analogie aus der menschlichen Physiologie. Das Beipiel ist wunderbar illustrativ.

Lightning node kann ich mir also sparen. Ich wurde halt nervös, weil alle darüber diskutieren und umbrel mir mit einem Klick die App dazu anbietet. :wink:

Dass die Blockchain nicht nur gealden sondern auch jeder Block validiert werden muss, ist mir schon klar. Unklar ist hingegen, warum das in der Endphase (ca. 3 Monate) um ein Vielfaches länger dauert als die Jahre zuvor, obwohl Anzahl der Transaktionen pro Block und Blockgröße weitgehend unverändert sind.

Das wird auch so gut wie immer falsch beantwortet. Egal ob hier im Forum oder in Videos. Die Aussage, dass am Anfang weniger Transaktionen in den Blöcken waren stimmt zwar, aer selbst ein randvoller Block braucht nur Millisekunden um validiert zu werden.
Der Grund liegt darin begründet, dass jeder Bitcoin Node eine eigene Datenbank aufbaut, um den aktuellen Status der Blockchain griffbereit zu haben. Wenn du also Coins verschickst, dann wird nicht jedes Mal die ganze Blockchaingeschichte durchforstet, ob du die Coins (UTXOs) auch wirklich bewegen darfst. Es wird einfach in einer Datenbank nachgesehen, ob die Aktion erlaubt ist.
Je größer die heruntergeladene Blockchain wird, desto komplexer wird auch diese Datenabnk und sie muss nach jedem Block entsprechend angepasst und auch optimiert werden. Das kostet Zeit. Wenn die Datenbank dann mal steht und nur alle ca. 10min eiin neuer Block kommt, ist es kein großer Aufwand mehr.

Danke für die Erklärung. Also hat die Grösse des Blockes gar keinen Einfluss darauf, wie lange es geht, die Prüfsumme zu erstellen? Oder ist der Einfluss einfach so klein und zu vernachlässigen?

Der Einfluss bei Bitcoin ist zu vernachlässigen. Erst wenn Hashes über große Datenmengen berechnet werden müssen, dann wird der Unterschied langsam merkbar, da eine lineare Abhängigkeit besteht (zumindest bei SHA-256).

Z.B:
1MB – SHA-256 → 100ms
100MB – SHA-256 → 10s

Dieser Werte sind nur grobe Richtwerte, weil die Hardware natürlich einen viel größeren Einflussfaktor hat!

Ich hab mich das schon mal gefragt wegen des Minings und den leeren Blöcken: Bei Exa-Hashes wird es wohl auch eine Rolle spielen? Wäre es für ein Miner nicht sinnvoll, nach leeren Blöcken zu suchen
leere Blöcke —> mehr Hashrate?

Das ist jetzt etwas off topic und ich bin kein Experte im Thema mining. Mir kommen dazu aber zwei konkrete Probleme in den Sinn.

  • Man verzichtet auf alle Transaktionsgebühren. Ob der Effekt der vielleicht 0,0…1% mhr geminten Blöcke das ausgleicht ist mehr als fraglich. Ich schätze nein.

  • Wenn du die nonce eines leeren Blocks durchiteriert hast und kein Versuch geglückt ist, dann musst du schon zwangsweise Transaktionen aufnehmen, um neue Hashes zu generieren.

Korrigiert mich, aber ich denke es wird standardmäßig von den Minern zuerst jegliche mögliche leere Blockvariante ausprobiert, danach dann mit den profitabelsten Verianten weitergemacht. (Zensur durch miner mal außer Acht gelassen)

Herzlichen Glückwunsch! Solange man auf Umbrel nur das für Bitcoin und Lightning notwendige installiert, sehe ich da keinen Nachteil zu RasPiBlitz, es ist ja niemand gezwungen, das ganze Unkraut im App-Store zu installieren. Ich bin damit zufrieden.

Das bringt dir potenziell mehr Privatsphäre (Phoenix weiß beispielsweise wem [welchem public key] du wieviel schickst), mehr Selbstbestimmtheit (zu welchen Nodes öffnest du Kanäle mit welcher Kapazität?) und geringere Gebühren (ein LSP [Lightning Service Prodiver] muss auch von was leben). Dem gegenüber steht mehr Aufwand und mehr benötigtes Wissen.

Kurzes Update nach einigen Tagen Nutzung meines full nodes. Die Wallets sind verbunden und es läuft alles problemlos. Ein paar Aspekte möchte ich aber anmerken bzw. hinterfragen.

  1. Bitbox: Über den Server von shiftcrypto war die App beim Öffnen sofort bereit. Nun werden nach Start der App über eine Minute lang Adressen gescannt („historische Daten gesammelt“). Warum das so ist, verstehe ich nicht - schließlich steht die Blockchain jetzt lokal zur Verfügung. Das Verhalten ist zwar gelegentlich nervig, aber nicht weiter tragisch.

  2. WLAN-Bandbreite: Nachdem ich nicht nur nehmen sondern auch geben wollte, hatte ich incoming connections erlaubt und dazu Port 8333 am Router aufgemacht. Da hatte ich dann neben 9-10 outgoing Peers noch 3-5 Gäste. Allerdings war das Upload-Volumen in dieser Konfiguration dermaßen hoch, dass unser WLAN (zumeist nur 10-20 Mbts/s weil im Schatten des Funkmastens) für sonst nix mehr zu gebrauchen war und mir meine Familie mit Hausverbot gedroht hat. Wenn die Kids am Spielen waren und ich z.B. den Roman gestreamt habe, war es bereits ohne full node grenzwertig, mit ging gar nix mehr.
    Mir war nicht klar, dass incoming connections einen derart hohen Traffic verursachen. Seit ich das abgestellt habe, ist wieder gut. Das wird wohl ein wesentlicher Grund für die vergleichsweise geringe Zahl an sichtbaren Knoten sein, nehme ich an.

  3. Outgoing to I2P Peers: Soll man die erlauben oder nicht?

Hallo,
erstmal vielen Dank für den tollen Bericht!
Ich bin gerade dabei mir alles nötige für eine full node zu besorgen, da frage ich mich, ob ich eine Festplatte von WD Elements die ich noch habe mit 1 TB verwenden kann, weil du schriebst man solle unbedingt SSD verwenden :thinking: Außerdem sind ca. 30 GB schon in Benutzung auf der Festplatte, wäre dies schlimm oder sollte sie „clean“ sein?
Vielen Dank vorab allen für Tipps :slight_smile:

Allgemein empfehlen alle wegen der Performance SSD. 1 TB mag ja einstweilen reichen, mit Blick in die Zukunft würde ich aber 2 TB nehmen. Ein späterer Wechsel ist zwar möglich, aber umständlich.

Nachdem die HD ja permanent am Raspi angeschlossen sein wird, bringt Dir der Rest drauf nicht viel. Und das Zeug nimmt Dir weiteren Speicherplatz. Ob das grundsätzlich möglich ist, weiß ich nicht.

Ich verlinke Dir ein Bild der derzeitigen Speicherbelegung meiner Festplatte. Wenn die nur 1 TB hätte, würde ich mit der Zeit nervös. :wink:

Fazit: Investiere einen 100er vom (ohnehin bald wertlosen) Fiat-Geld in eine 2 TB SSD Platte.

1 „Gefällt mir“

Vielen Dank für die tolle und schnelle Antwort:)
Ich werde deinen Rat befolgen, wenn ich das so sehe! :slight_smile: