PSA: Bootstrap runners

Hi folks, in preparation for 2.0, we will need bootstrap operators to perform a few important configuration changes, and also we need to ensure the list is fully up to date. Please reach out to me over your preferred medium. If you would like to run one but are not currently (understand there are no rewards in doing this), also please reach out.

1 Like

Hi Cassie,

I’m interested in participating in this activity. Could you please provide more details on how I can get involved? Thank you!

1 Like

Ref: Telegram

The important note is that it’s purely a volunteer effort, there’s no rewards for running a bootstrap in 2.0, but if you’re in, set up the server as a normal node, and submit a PR to include the node in the config.go file, example here: Add bootstrap peer by littleblackcloud · Pull Request #154 · QuilibriumNetwork/ceremonyclient · GitHub

You can get your peer id a few different ways, it does need to be included in the multiaddr string

1 Like

What are the costs involved in running a boostrap node?

I am very interested, and I have extensive experience in running nodes and stable servers.

only the cost of your server

hi @cassie, while reflecting about this thread, 2 main points came to my mind:

  1. how you see the notion of the bootstrap server going forward? is it something temporary? i’m saying this as it looks they have some sort of centralised role

  2. could there be some security/privileged info concerns for the ones having that role? (e.g. IP addresses of the nodes, peer id’s and then being able to match that will pre-powm rewards, etc.). probably there will be already some mechanisms to prevent/diminish that, otherwise of course i’d trust there is some sort of ‘vetting’ process for the ones applying to such role (as it may be an ideal place for malicious actors to grab a hold on a key area of the project, no?)

2 Likes

I can only address (and hope I get it right) the second point.

FYI: when reading, DHT refers to a “Distributed Hash Table” essentially a way to keep track of all nodes on the network. Further reading here.

Bootstrap peers are:

Bootstrap peers being the first point of entry for the network help maintain a DHT of all the peers on the network so new nodes can find a good spot to connect to in the mesh (Telegram link)

… a bootstrap node is a “first point of entry” for new nodes on the network — they connect to a few from that list to listen for peer announcements…

These [bootstrap] nodes do not receive any rewards… in 2.0, which is a really important change and may make some folks currently running nodes want to de-register as being a bootstrap.

Security Questions

Per the security side of it, I imagine that you could probably try to DDOS the list of bootstraps, considering you have a list of IP addresses to attempt to hit… but outside of that, but considering the bootstrap nodes won’t be used for rewards I assume that means no data storage or any other sensitive information.

Node operators should have a firewall protections for unrelated port, use SSH keys (no passwords, no root login) and other basic security protections. Some host providers offer a level of DDOS protection, as well, since the machines/servers are on their networks.

From my listening to Cassie on the network statistics, for someone to run a successful DDOS attack on enough bootstrap nodes to matter would essentially take way too much resources to do casually.

The above security protocols go for any node operator, not just bootstrap operators.

Connecting Peer ID to rewards data

My node is new so the pre-powm rewards doesn’t matter for this node.

Even if it did, you can always cycle your node .config directory to another node and get a new Peer ID for your bootstrap node if it matters-- there really is no benefit to running a long-standing node (from pre-1.4.19) as a bootstrap node come 2.0, as even if you run as a full node, a bootstrap node doesn’t get rewards. Period.

I would recommend people to get a domain with some enhanced DNS package and then add their bootstrap node IP address as a A record. This allows you to change your node without needing to update the Quil network code if you want to change your bootstrap node IP address.

Privileged Information

There is also no information that a bootstrap operator gets get that anybody else can’t ask or know.

There really isn’t anything privileged about this, other than maybe being “higher profile” in the project. But considering most people are probably not aware of what a bootstrap node is or it’s function, I would consider this claim as dubious at best.

A other bootstrap operator sets up the bootstrap node like any other node on the network and just submits the IP address (or DNS record to get the IP address) to the bootstrap list.

The network protocol reads that list and takes care of the rest.

Running the bootstrap node doesn’t get the bootstrap operator essentially offers a way to keep the network functioning efficiently for everyone, including themselves.

A bootstrap node doesn’t “see” any actual network traffic any better than any other node, doesn’t get any rewards in 2.0, no special insider chat rooms, etc.

What is the Bootstrap node’s function

A new node doesn’t strictly need to connect to bootstrap nodes to operate, but it does reduce initial performance and growth, from what I understand.

This functionality was not always there (it was a lot slower and finding nodes could be very flaky). This part of the network was added to facilitate a new node starting on the network.

The function of the bootstrap node is that the node software reads this list in on initialization and connects to these bootstrap nodes.

Once the new node is connected to one or a few of the bootstrap nodes it can listen for other nodes that connect to them.

Since pretty much every other new node has or will be connecting to bootstrap nodes, this allows the new nodes to expand their own list of nodes significantly faster than randomly connecting to any one random node on the network and hoping that it is functioning, up-to-date, and has a lot of other nodes connecting to it.

3 Likes

Thanks for the detailed reply.

Agreed that the nodes security is paramount. Hacks can affect any node of course, but I was more concerned about the bootstrap ones, as they are about 10-12 at the moment?, and them being the entry point in the network may make them prime targets.

Besides, I was just thinking what if a state actor simply runs few of those bootstrap nodes? Wouldn’t in that way at least see the IP addresses of the nodes connecting to them? Because if so, without hacking, they would be able to map those addresses with the corresponding ISPs, and then do the usual threat: “ban this people because xyz, otherwise sanctions/you can’t do business in our country”.

If that is a possibility, although perhaps a far fetched one, hence my initial point towards @cassie about the kind of ‘central’ role the bootstrap nodes seem to play quilibrium.

1 Like

I suppose such a person/entity could do that.

It would be a game of whack-a-mole and since the advent of crypto-focused data-centers that accept crypto and have no KYC, there would be a massive wave of increased adoption of such services as demand increases (operator rewards go up, server prices are lucrative to those that don’t have to care, etc) and such a blanket ban strategy would produce very little long-term effect.

You could actually achieve the same “snooping plan” without being a bootstrap operator if an such an operator’s regular node was on the network long enough as a node should ideally (in theory) not be isolated.

And IMO getting a list of IPs to try a more targeted approach really would not aid at all considering the privacy inherent to the network itself.

1 Like

If I remember correctly, the long term plan is to let go of the bootstrap nodes completely though.
I remember @cassie mentioning this…

If you look through the official telegram Cassie said as such. She doesn’t like the bootstrap solution to kick-starting finding peers and ideally it would be temporary.

Will it be possible to enter as a boostrap provider later on?

yes, it just will require you to wait until the next update deployment

Yes, long term plan is to eliminate bootstrap peers entirely. Near term is to ensure bootstraps are behaving correctly and help maintain network health.

2 Likes