Blockchain/Niveau X · Der Kreis schließt sich/10.2 Das Rezept/Lektion 6
Schritt 6: Ihr eigener Knoten
Die Prüfsumme, der Index und die Maschine, die Nein sagt
MaterialienEin Computer mit etwa 20 GB freiem Speicher für einen reduzierten Knoten oder 1 TB für einen vollständigen Knoten.GPG-Software zur Überprüfung der Entwicklerunterschriften in heruntergeladenen Dateien installiertEin lokaler, mit Electrum kompatibler Indexierer wie Fulcrum oder electrs
Neugier
- Wie kann ein Benutzer überprüfen, ob die von ihm heruntergeladene Software nicht von einem Man-in-the-Middle oder einem kompromittierten Repository verändert wurde?
- Warum ist das Verbinden mit einem öffentlichen Server zur Überprüfung des Kontostands gleichbedeutend damit, den eigenen finanziellen Status einer Dritten Partei mitzuteilen, und wie lösen lokale Indexierer dieses Problem?
- Was ist der Unterschied zwischen der Validierung einer Transaktion durch eine entfernte Autorität und der unabhängigen Überprüfung ihrer Regeln gegenüber der Kette?
Erkunden
- Bitcoin Core (Lektion 3.1.5) validiert jeden Block von Anfang an bis zum aktuellen Stand und stellt sicher, dass jeder die Konsensregeln erfüllt. Bevor eine Version ausgeführt wird, müssen Benutzer die Integrität mithilfe der Dateien SHA256SUMS und SHA256SUMS.asc überprüfen. Diese enthalten kryptografische Hashes, die von mehreren unabhängigen Entwicklern signiert wurden. Durch das Importieren ihrer GPG-Öffentlichen Schlüssel und die Überprüfung der Signaturen kann ein Benutzer sicherstellen, dass das Binärdatei dem entspricht, was vertrauenswürdige Entwickler veröffentlicht haben – wodurch eine Ausführung manipulierter Code verhindert wird, der Schlüssel stehlen oder Daten beschädigen könnte.
- Der anfängliche Block-Download (IBD) lädt die gesamte Kette herunter und überprüft sie – insgesamt mehr als 600 GB – wobei die Dauer je nach Hardware und Verbindung einige Stunden bis Tage beträgt. Ein vollständiger Node speichert diese Historie auf der Festplatte. Ein pruned Node validiert zwar jeden Block, behält aber nur die neuesten bei (die minimale Einstellung lautet prune=550 in MiB); mit dem UTXO-Set passt dies in etwa in 10–20 GB. Beide Typen wahren unabhängig voneinander die Konsensregeln, wodurch Benutzer ungültige Transaktionen bereits vor ihrem Eintreten in ihren eigenen Mempool ablehnen können.
- Software-Wallets verbinden sich in der Regel mit entfernten Servern, um Kontostandsinformationen abzurufen und Transaktionen zu übertragen. Dadurch werden die Adressen sowie Kontostände der Wallet dem Serverbetreiber bekannt. Um die Privatsphäre zu wahren, können Nutzer eine lokale Electrum-Serverimplementierung wie Fulcrum oder electrs neben Bitcoin Core nutzen. Diese Indexierer bieten eine mit Standard-Wallets kompatible API an, arbeiten jedoch lokal auf dem Rechner des Benutzers. Die Verbindung der Wallet mit dieser lokalen Instanz stellt sicher, dass Adresshistorien und Kontostanddaten niemals das Netzwerk des Nutzers verlassen.
- Eine direkte RPC-Verbindung ist eine weitere Methode zur Integration einer Wallet mit Bitcoin Core – dabei werden intermediäre Server vollständig umgangen. Dieser Ansatz ermöglicht fortgeschrittenen Nutzern, die Erstellung von Transaktionen sowie die Logik bezüglich der Gebühren direkt an ihrem eigenen Node anzupassen. Egal ob RPC oder ein electrum-kompatibler Indexierer verwendet wird: Der entscheidende Unterschied besteht darin, dass die Datenquelle im Besitz des Nutzers ist. Der Node überprüft den UTXO-Set lokal und stellt sicher, dass die Mittel nicht bereits verwendet wurden und gemäß den Protokollregeln gültig sind, bevor etwas unterschrieben wird.
- Das Betreiben eines Nodes verlagert das Vertrauen von zentralisierten Vermittlern auf mathematische Überprüfungen. Ein lokaler Node überträgt außerdem die eigenen Transaktionen des Benutzers, sodass kein Wallet-Server sie heimlich ablehnen oder protokollieren kann. Der Kompromiss besteht in den Hardwarekosten und der Wartungspflicht: Die Nutzer müssen Softwareupdates, Festplattenerweiterungen sowie die Stabilität des Systems selbst bewältigen. Diese Autonomie stellt jedoch sicher, dass das Versagen einer einzelnen Instanz – sei es ein Börsenanbieter, ein Wallet-Anbieter oder ein Serverbetreiber – nicht zu einem Verlust des Zugangs oder der Kontrolle über die Mittel führt.
- Überprüfen Sie die Einstellungen. Führen Sie in Bitcoin Core „getblockchaininfo“ aus und stellen Sie sicher, dass die Anzahl der Blöcke mit der aktuellen Höhe auf einem öffentlichen Explorer übereinstimmt und dass „initialblockdownload“ auf „false“ gesetzt ist. Vergleichen Sie außerdem den Wert von „getbestblockhash“ mit dem neuesten Block-Hash des Explorers. In den Servereinstellungen der Wallet stellen Sie sicher, dass diese auf Ihren eigenen Node oder einen Electrum-Server verweist und nicht auf einen öffentlichen Server. Wenn die Saldoangaben auch dann geladen werden, wenn die öffentlichen Server deaktiviert sind, liest die Wallet von Ihrem eigenen Node.
Kernfakten
- SHA256SUMS.asc-Dateien werden von mehreren unabhängigen Erstellern signiert, um die Integrität der Bitcoin Core-Binärdatei zu überprüfen.
- Ein gepflegter Knoten überprüft alle Blöcke, behält aber nur die neuesten bei – insgesamt etwa 10–20 GB.
- Das Ausführen lokaler Indexierer wie Fulcrum oder Electrs verhindert, dass Wallet-Adressen und -Baldungen an Drittanbieter-Servern offengelegt werden.
- Der anfängliche Download der Blöcke überprüft mehr als 600 GB an Blöcken und dauert Stunden bis Tage.
- Eine direkte RPC-Verbindung ermöglicht es Wallets, mit Bitcoin Core zu interagieren, ohne Zwischenserverebenen.
- Ein lokaler Knoten überprüft Transaktionen unabhängig nach den Konsensregeln und lehnt ungültige Daten vor der Übertragung ab.
Übung neun, sechs, drei, eins
9SammelnListe 9 verschiedene Komponenten oder Schritte, die bei der Einrichtung und Überprüfung einer persönlichen Bitcoin-Full-Node-Umgebung erforderlich sind.
6GruppierenGruppieren Sie die 9 Elemente in 6 Kategorien nach ihrer Funktion: Quellenüberprüfung, Speichermanagement, Netzwerksynchronisierung, Datenschutz, Softwareintegration oder Wartung.
3VerdichtenReduzieren Sie die 6 Gruppen auf 3 zentrale Gründe, warum das Betreiben eines lokalen Nodes Vorteile in Bezug auf die Sicherheit bietet im Vergleich zum Vertrauen auf öffentliche Dienste.
1KristallisierenDer Kompromiss zwischen den Rechenausgaben und Speicherkosten der Selbstvalidierung sowie der Beseitigung von Abhängigkeiten von Drittparteien besteht darin, dass eineseits Kosten entstehen, andererseits aber Vertrauensprobleme vermieden werden.
Faktcheck
Datumsangaben, Zahlen und Behauptungen wurden mit den unten aufgeführten veröffentlichten Quellen abgeglichen.