Aller au contenu principal

FEELER CONNECTION

RÉSEAU Traduction en français : CONNEXION SONDE

Connexion sortante éphémère que Bitcoin Core établit toutes les deux minutes, une fois les 10 connexions sortantes permanentes remplies (8 classiques et 2 block-relay-only). Elle se limite au handshake VERSION/VERACK pour vérifier qu’une adresse correspond bien à un nœud Bitcoin joignable, puis se ferme.

La feeler connection alterne entre deux comportements. Si le tampon d’éviction contient des adresses (cas d’une collision lors de l’insertion dans la table « tried »), elle en teste une : si l’adresse existante répond, la nouvelle est ignorée ; sinon, l’ancienne est remplacée. Ce mécanisme est appelé test-before-evict. Si le tampon est vide, la feeler tire une adresse aléatoire de la table « new » et tente de s’y connecter : en cas de succès, l’adresse est promue dans « tried ».

Ce mécanisme a été introduit par Ethan Heilman comme contre-mesure à certains types d’attaque éclipse. En peuplant la table « tried » avec des adresses récemment vérifiées, il réduit la proportion d’adresses obsolètes et rend plus difficile l’éclipse d’un nœud. Lorsqu’aucun nouveau bloc n’a été reçu depuis 30 minutes, Bitcoin Core détecte un éventuel stale tip et établit une connexion sortante supplémentaire vers un nouveau pair, afin de vérifier s’il dispose d’un bloc plus récent et de contourner une éventuelle partition du réseau. Ce mécanisme est distinct des feeler connections.

Termes associés :