Was sind Seeds im Quellcode von Bitcoin?

https://github.com/bitcoin/bitcoin/blob/master/src/chainparams.cpp

Ab Zeile 132 sehe ich die Funktion vSeeds.emplace_back("seed.bitcoin.")und daneben stehen echte vollständige Namen. Was bewirken Samen? Wozu dienen diese Linien? Welche Bedeutung haben diese Namen? Kann bitte jemand technische Details nennen?

Antworten (2)

Damit ein Bitcoin-Knoten Verbindungen zu anderen Knoten starten kann, benötigt er zunächst einen Seed-Knoten. Ein Seed-Knoten kann ein beliebiger (lauschender) Knoten sein, der mit dem Bitcoin-Netzwerk verbunden ist. Sobald sich der Knoten mit dem anfänglichen Seed-Knoten verbunden hat, kann er Informationen über andere Knoten im Netzwerk abrufen und auch Verbindungen mit diesen starten.

Die Namen, die Sie im Quellcode sehen, sind die URLs einiger der Bitcoin-Core-Entwickler, die Seed-Knoten hosten. Wenn Sie diesen verrückten Cypherpunks nicht vertrauen, können Sie in Ihrem bitcoin.confunter der Option tatsächlich Ihren eigenen Seed-Knoten angebenseednode=<your_seed_node>

Wenn ich also eine neue Münze erstelle, sollte ich wahrscheinlich die Links ändern oder die Zeilen einfach richtig auskommentieren
@turmuka wahrscheinlich!

Diese Hosts sind DNSseeds.

Wenn Ihr Knoten startet und sich innerhalb von 11 Sekunden nicht erfolgreich mit dem Netzwerk verbinden kann, fragt er die DNS-Namen ab, die von Technikern in der Bitcoin-Community betrieben werden, und erhält eine Liste der kürzlich funktionierenden Knoten.

Die Verwendung von DNS verbessert Ihre Privatsphäre etwas, da das DNS-Caching verhindern kann, dass der Nameserver des Betreibers die Anfrage überhaupt sieht, und wenn sie nicht zwischengespeichert wird, sehen sie normalerweise nicht Ihre IP-Adresse, sondern die IP Ihrer ISPs rekursiver Resolver. (Natürlich verbessert die Tatsache, dass die Verwendung vollständig übersprungen wird, wenn eine Verbindung hergestellt werden kann, auch Ihre Privatsphäre).

Sie können die Verwendung dieser DNS-Seeds deaktivieren, indem Sie -dnsseed=0 setzen.