How to confirm how many peers a node has?
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours. I'm just wondering is there a way to confirm that those nodes are actually his neighbours and not random/bad nodes?
Or is there an easier way to determine which of your neighbours is the most connected i.e has the most connections to it?
network peers p2p
add a comment |
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours. I'm just wondering is there a way to confirm that those nodes are actually his neighbours and not random/bad nodes?
Or is there an easier way to determine which of your neighbours is the most connected i.e has the most connections to it?
network peers p2p
add a comment |
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours. I'm just wondering is there a way to confirm that those nodes are actually his neighbours and not random/bad nodes?
Or is there an easier way to determine which of your neighbours is the most connected i.e has the most connections to it?
network peers p2p
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours. I'm just wondering is there a way to confirm that those nodes are actually his neighbours and not random/bad nodes?
Or is there an easier way to determine which of your neighbours is the most connected i.e has the most connections to it?
network peers p2p
network peers p2p
asked 6 hours ago
DonalDraperDonalDraper
373
373
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours.
No it doesn't. It responds with list of nodes that its aware of being claimed exist. It likely isn't connected to any of the nodes it returns and probably has never connected to many of them. Many of them may not even be real. (though some of them will be, because it does make an effort to include at least some that it has previously connected to)
There is no direct way to get information about a node's peers, and ways to do so are considered a security compromise (if not the most cosmically critical one).
add a comment |
It returns some plausible peers, not all of its peers.
You have no way of knowing any specific details about them, if they’re sybil, not operational, or not useful. The software tries to work out what is most optimal for outgoing connections based on its own criteria, and doesnt trust this information for anything besides a hint towards where other peers are located.
There is no optimization towards finding peers which are “better connected”, closer in latency any similar criteria. To optimize for latency for example would allow for attacks where you surround a node with a swathe or lower latency peers you control.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "308"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f84664%2fhow-to-confirm-how-many-peers-a-node-has%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours.
No it doesn't. It responds with list of nodes that its aware of being claimed exist. It likely isn't connected to any of the nodes it returns and probably has never connected to many of them. Many of them may not even be real. (though some of them will be, because it does make an effort to include at least some that it has previously connected to)
There is no direct way to get information about a node's peers, and ways to do so are considered a security compromise (if not the most cosmically critical one).
add a comment |
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours.
No it doesn't. It responds with list of nodes that its aware of being claimed exist. It likely isn't connected to any of the nodes it returns and probably has never connected to many of them. Many of them may not even be real. (though some of them will be, because it does make an effort to include at least some that it has previously connected to)
There is no direct way to get information about a node's peers, and ways to do so are considered a security compromise (if not the most cosmically critical one).
add a comment |
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours.
No it doesn't. It responds with list of nodes that its aware of being claimed exist. It likely isn't connected to any of the nodes it returns and probably has never connected to many of them. Many of them may not even be real. (though some of them will be, because it does make an effort to include at least some that it has previously connected to)
There is no direct way to get information about a node's peers, and ways to do so are considered a security compromise (if not the most cosmically critical one).
When a node requests one of it's neighbours for a list of it's peers, that node responds with a list of all of it's neighbours.
No it doesn't. It responds with list of nodes that its aware of being claimed exist. It likely isn't connected to any of the nodes it returns and probably has never connected to many of them. Many of them may not even be real. (though some of them will be, because it does make an effort to include at least some that it has previously connected to)
There is no direct way to get information about a node's peers, and ways to do so are considered a security compromise (if not the most cosmically critical one).
edited 1 hour ago
answered 2 hours ago
G. MaxwellG. Maxwell
4,2952736
4,2952736
add a comment |
add a comment |
It returns some plausible peers, not all of its peers.
You have no way of knowing any specific details about them, if they’re sybil, not operational, or not useful. The software tries to work out what is most optimal for outgoing connections based on its own criteria, and doesnt trust this information for anything besides a hint towards where other peers are located.
There is no optimization towards finding peers which are “better connected”, closer in latency any similar criteria. To optimize for latency for example would allow for attacks where you surround a node with a swathe or lower latency peers you control.
add a comment |
It returns some plausible peers, not all of its peers.
You have no way of knowing any specific details about them, if they’re sybil, not operational, or not useful. The software tries to work out what is most optimal for outgoing connections based on its own criteria, and doesnt trust this information for anything besides a hint towards where other peers are located.
There is no optimization towards finding peers which are “better connected”, closer in latency any similar criteria. To optimize for latency for example would allow for attacks where you surround a node with a swathe or lower latency peers you control.
add a comment |
It returns some plausible peers, not all of its peers.
You have no way of knowing any specific details about them, if they’re sybil, not operational, or not useful. The software tries to work out what is most optimal for outgoing connections based on its own criteria, and doesnt trust this information for anything besides a hint towards where other peers are located.
There is no optimization towards finding peers which are “better connected”, closer in latency any similar criteria. To optimize for latency for example would allow for attacks where you surround a node with a swathe or lower latency peers you control.
It returns some plausible peers, not all of its peers.
You have no way of knowing any specific details about them, if they’re sybil, not operational, or not useful. The software tries to work out what is most optimal for outgoing connections based on its own criteria, and doesnt trust this information for anything besides a hint towards where other peers are located.
There is no optimization towards finding peers which are “better connected”, closer in latency any similar criteria. To optimize for latency for example would allow for attacks where you surround a node with a swathe or lower latency peers you control.
answered 2 hours ago
AnonymousAnonymous
8,79211028
8,79211028
add a comment |
add a comment |
Thanks for contributing an answer to Bitcoin Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f84664%2fhow-to-confirm-how-many-peers-a-node-has%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown