pools de minage

Un partage périmé se produit lorsque vous trouvez un partage et le soumettez au pool de minage après que le pool est déjà passé au bloc suivant. Le pourcentage d'actions périmées devrait être très faible si tout fonctionne correctement, environ 2 actions sur 1000 environ.

Plusieurs facteurs affectent le taux de partage périmé. Les trois plus importants sont l'interrogation longue, la charge du pool et la latence entre le mineur et le pool.

Tous les partages trouvés sur la base d'anciennes unités de travail après que le contrôleur de pool reçoive un nouveau bloc seront périmés. L'interrogation longue est une technique qui permet au pool d'avertir tous ses mineurs en cas de changement dans la chaîne de blocs afin qu'ils puissent immédiatement demander de nouvelles unités de travail. Si votre pool ou votre logiciel de minage ne prend pas en charge les longues interrogations, vous terminerez les anciennes unités de travail, générant des parts périmées.

Lorsque la notification d'interrogation longue est envoyée, tous les mineurs qui prennent en charge l'interrogation longue demandent de nouvelles unités de travail à peu près au même moment. Cela génère une surcharge massive de charge car le pool doit gérer beaucoup de trafic réseau et effectuer plusieurs opérations SHA-256 pour chaque partage qu'il émet. Si le pool tarde à vous délivrer une nouvelle unité de travail, la fenêtre dans laquelle vous pouvez générer des partages périmés augmente.

Le long processus d'interrogation et de demande de partage qui s'ensuit nécessite quelques opérations réseau. La latence entre le mineur et la piscine peut ralentir ce processus. Choisir un pool avec un contrôleur près de chez vous (au niveau du réseau) peut également réduire cette partie de la fenêtre de partage obsolète.

De plus, certains pools ont eu des bogues dans leurs logiciels qui ont produit des actions périmées. Le pool vérifie si le partage est périmé en vérifiant s'il a un enregistrement de l'unité de travail et en effaçant tous les enregistrements d'unité de travail lorsque la chaîne change. Donc, si quelque chose ne va pas avec le processus de suivi des unités de travail, cela entraînera le signalement d'un partage périmé.

Par exemple, si le pool émet par erreur la même unité de travail à deux mineurs Le pool supprimera l'enregistrement lorsque le partage sera trouvé car sinon, vous pourriez soumettre le même partage plus d'une fois. Vous obtiendrez ainsi un rapport de partage périmé.

Je ne devrais probablement pas l'admettre, mais j'étais en fait responsable d'un de ces bogues. Ma première implémentation d'un long sondage dans le client Bitcoin s'est précipitée le plus rapidement possible pour envoyer les notifications d'un nouveau bloc découvert aux mineurs - si rapidement que certains mineurs pouvaient demander de nouvelles unités de travail avant que le client n'ait fini de traiter le nouveau bloc et ils ont obtenu des unités de travail basées sur l'ancien bloc. Toutes les parts soumises en fonction de ces unités de travail seraient déclarées périmées.