Erlay est une proposition pour relayer les transactions non confirmées dans le réseau P2P de Bitcoin. Elle associe les annonces habituelles au rapprochement d’ensembles d’identifiants, appelé set reconciliation. Elle économise du trafic sans modifier le consensus ni l’obligation de valider chaque transaction reçue.
Dans le relais habituel, les nœuds connectés échangent des messages INV contenant des identifiants de transaction de 32 octets. Le voisin connaît souvent déjà la transaction. Multiplier les connexions augmente ce trafic, alors que des connexions variées aident à prévenir l’isolement d’un nœud et la partition du réseau. [1]
Erlay conserve les annonces rapides sur une petite partie des connexions. Sur les autres, deux nœuds rapprochent périodiquement leurs ensembles de transactions restant à annoncer. Un résumé mathématique compact, appelé sketch, permet de trouver les différences sans transmettre les listes entières. BIP 330 décrit l’extension P2P nécessaire. [1]
Chaque connexion possède son ensemble et chaque tour utilise un instantané fixe de celui-ci. Les deux parties fournissent chacune un salt, une donnée auxiliaire servant à dériver de courts identifiants de 32 bits à partir des wtxid. PinSketch permet de comparer ces ensembles d’identifiants. Les messages sendtxrcncl, reqrecon, sketch, reqsketchext et reconcildiff servent à négocier la prise en charge, échanger les résumés et retrouver les annonces manquantes. [1]
Une fois les différences trouvées, le nœud demande toujours la transaction complète et la valide selon ses propres règles. Le salt limite les collisions d’identifiants préparées à l’avance ; ce n’est ni un mot de passe ni un chiffrement de la transaction. Si le sketch est trop petit, une extension peut être demandée. En cas d’échec, le protocole revient aux annonces habituelles. L’implémentation doit limiter les calculs et la mémoire afin qu’un pair ne puisse pas facilement épuiser ces ressources. [1]
Lors de la vérification en octobre 2026, BIP 330 avait le statut Draft et décrivait une procédure révisée par rapport à l’étude initiale. La discussion Bitcoin Core nº 34542 réévaluait les économies de trafic, la latence et la complexité du code. Cela ne prouve pas qu’une version donnée de Bitcoin Core utilise Erlay. Il faut examiner ses notes de version, son implémentation et la prise en charge négociée entre les deux nœuds. [4]
Dans ses conditions expérimentales, l’étude de 2019 annonce environ 40 % de trafic total en moins et 84 % de réduction pour les annonces de transactions. Ce sont des résultats de simulation et de prototype, pas une promesse pour tous les réseaux actuels. Attendre le tour suivant peut augmenter la latence ; un nœud qui reçoit sans retransmettre peut encore retarder la propagation. Économie et rapidité doivent être mesurées ensemble. [2]
Erlay réduit les annonces répétées de transactions non confirmées. Compact Blocks réduit plutôt les données nécessaires pour reconstruire un nouveau bloc à partir de transactions déjà largement connues du nœud. Ces mécanismes se complètent, mais aucun ne masque à lui seul l’identité réseau du nœud. Chacun doit prévoir les échecs et se protéger contre l’épuisement des ressources. [3]
Commencez par la version de BIP 330 et le code réellement exécuté. Vérifiez la négociation, la dérivation des identifiants courts et le salt, le rythme des tours, les limites des sketches et le comportement de reqsketchext. Vérifiez aussi le retour aux annonces habituelles et la validation ultérieure de la transaction complète. Le nom Erlay ne suffit pas à établir l’économie ou la latence obtenue. [1]
Pour une vision complète, lisez aussi Mempool, Bitcoin Core, Compact Blocks, Full Node, Sybil Attack, Eclipse Attack. Cette entrée est également citée par Block Propagation.
01BIP 330 signifie-t-il que mon Bitcoin Core utilise déjà Erlay ?+
Non. La spécification seule ne le garantit pas. Vérifiez la version concernée, son implémentation et la négociation entre les deux nœuds. Du code expérimental ou une étude n’est pas une fonction activée sur votre nœud.
02Erlay remplace-t-il la validation des transactions ?+
Non. Il aide à découvrir les annonces qui manquent à l’autre partie. Le nœud demande toujours la transaction complète et applique ses propres règles pour décider de l’accepter dans son mempool et de la relayer.