# Bootstrapping node

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Bootstrapping_node
> Markdown URL: https://mediated.wiki/source/Bootstrapping_node.md
> Source: https://en.wikipedia.org/wiki/Bootstrapping_node
> Source revision: 1306702469
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

A '''bootstrapping node''', also known as a rendezvous host,<ref name="Francis01">{{cite journal |title=Yoid: Extending the Internet Multicast Architecture |publisher=www.aciri.org |author=Francis, Paul |date=2000-04-02 |url=https://www.cs.cornell.edu/people/francis/yoidArch.pdf |accessdate=2008-12-24}}</ref> is a [node](/source/Node_(networking)) in an [overlay network](/source/overlay_network) that provides initial configuration information to newly joining nodes so that they may successfully join the overlay network.<ref name="sun01">{{cite web |url=https://patents.google.com/patent/US7065579 |title=US Patent 7,065,579 |access-date=2008-12-23 |author=Traversat |date=2006-06-20|display-authors=etal}}</ref><ref name="Saxena01">{{cite journal |title=Admission Control in Peer-to-Peer: Design and Performance Evaluation |publisher=In ACM Workshop on Security of Ad Hoc and Sensor Networks (SASN) 2003 |author=Saxena |year=2003 |url=http://www.ics.uci.edu/~gts/paps/sty03.pdf |accessdate=2008-12-24|display-authors=etal}}</ref>  Bootstrapping nodes are predominantly found in [decentralized](/source/decentralized) [peer-to-peer](/source/peer-to-peer) (P2P) networks because of the dynamically changing identities and configurations of member nodes in these networks.

==Overview==
When attempting to join a P2P network, specific discovery or membership protocols (or other configuration information) may be required, and, if a newly joining node is unaware of these protocols, the newly established joining node will not be able to communicate with other nodes and ultimately join the network.<ref name="Saxena01"/>  Furthermore, these protocols and configuration requirements may dynamically change as the infrastructure and membership of the P2P network evolves.<ref name="Francis01"/>  Therefore, there is a need to be able to dynamically inform a newly joining node of the required protocols and configurations.<ref name="sun01"/>

==Identifying a bootstrapping node==
Several methods may be used by a joining node to identify bootstrapping nodes: 

* A joining node may have been pre-configured with the [static addresses](/source/IP_address) of the bootstrapping nodes.<ref name="sun01"/> In such a case, the bootstrapping node addresses cannot change, and therefore should be [fault-tolerant](/source/fault-tolerant) members of the network, which are not able to leave the network.

* Alternatively, the bootstrap node can be identified via a [DNS](/source/Domain_Name_System) service, where a [domain name](/source/domain_name) resolves to one of the bootstrapping nodes' addresses.<ref name="Francis01"/><ref name="Ratnasamy01">{{cite journal |title=A Scalable Content-Addressable Network |publisher=In Proceedings of ACM SIGCOMM 2001 |author=Ratnasamy |year=2001 |url=http://berkeley.intel-research.net/sylvia/cans.pdf |accessdate=2008-12-23 |display-authors=etal |url-status=dead |archiveurl=https://web.archive.org/web/20080807172254/http://berkeley.intel-research.net/sylvia/cans.pdf |archivedate=2008-08-07 }}</ref> This allows the bootstrapping nodes' addresses to change as needed.

==Configuration information provided==
The objective of the bootstrapping node is to provide newly joining nodes with sufficient configuration information so that the new node may then successfully join the network and access resources, such as shared content.<ref name="Francis01"/>  Discovery protocol information can instruct the new node how to discover peers on the network.<ref name="Francis01"/>  Membership protocol information can instruct the new node how to request-to-join and subsequently join peer groups on the network.<ref name="sun01"/>  Other configuration information, such as [overlay network](/source/overlay_network) dependent instructions, may be provided.<ref name="Francis01"/><ref name="Ratnasamy01"/>  An example of overlay dependent instructions is instructing a new node how to obtain a zone of a [CAN](/source/content_addressable_network).<ref name="Ratnasamy01"/>  Further configuration information may be designed for P2P network admission control, used when joining a network that supports trust management, and include such things as [encryption](/source/encryption)/[signature](/source/digital_signature) protocols or admission policies.<ref name="Saxena01"/>

==Networks that use bootstrapping nodes==
*[Distributed hash tables](/source/Distributed_hash_tables)
**[CAN](/source/Content_addressable_network)
**[Chord](/source/Chord_project)
**[IPFS](/source/InterPlanetary_File_System)
**[Kademlia](/source/Kademlia)
**[Pastry](/source/Pastry_(DHT))
**[Tapestry](/source/Tapestry_(DHT))

*[Cryptocurrency](/source/Cryptocurrency)
**[Bitcoin](/source/Bitcoin)
**[Ethereum](/source/Ethereum)
**[Litecoin](/source/Litecoin)

==References==
{{reflist}}

==See also==
*[Bootstrapping](/source/Bootstrapping)
*[Network topology](/source/Network_topology)

{{DEFAULTSORT:Bootstrapping Node}}
Category:Network service
Category:Distributed data storage
Category:Peer-to-peer computing

---
Adapted from the Wikipedia article [Bootstrapping node](https://en.wikipedia.org/wiki/Bootstrapping_node) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Bootstrapping_node?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
