How to confirm how many peers a node has?












1















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?










share|improve this question



























    1















    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?










    share|improve this question

























      1












      1








      1








      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?










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 6 hours ago









      DonalDraperDonalDraper

      373




      373






















          2 Answers
          2






          active

          oldest

          votes


















          3















          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).






          share|improve this answer

































            1














            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.






            share|improve this answer























              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
              });


              }
              });














              draft saved

              draft discarded


















              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









              3















              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).






              share|improve this answer






























                3















                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).






                share|improve this answer




























                  3












                  3








                  3








                  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).






                  share|improve this answer
















                  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).







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited 1 hour ago

























                  answered 2 hours ago









                  G. MaxwellG. Maxwell

                  4,2952736




                  4,2952736























                      1














                      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.






                      share|improve this answer




























                        1














                        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.






                        share|improve this answer


























                          1












                          1








                          1







                          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.






                          share|improve this answer













                          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.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 2 hours ago









                          AnonymousAnonymous

                          8,79211028




                          8,79211028






























                              draft saved

                              draft discarded




















































                              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.




                              draft saved


                              draft discarded














                              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





















































                              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







                              Popular posts from this blog

                              How to make a Squid Proxy server?

                              Is this a new Fibonacci Identity?

                              Touch on Surface Book