Accélerer la confirmation d’une transaction

Temps de Transaction

EDIT : Depuis la mise à jour du code base IOTA (IRI 1.5.0) et l’upgrade de la fonction de sélection des extrémités, les temps de confirmations ont drastiquement chuté. Certains tests réalisés directement après la mise en service de la mise a jour ont démontré un taux de confirmation proche de 95% dans les 2 premières minutes suivant l’émission des transactions.

Votre transaction est bloquée en « pending »  ? même avec Trinity ? Vous ne savez plus quoi faire pour qu’elle soit confirmée plus rapidement ? Cet article va vous expliquer différentes options qui permettent d’accélérer considérablement le temps de confirmation pour votre transaction. 

 

Arriver à faire confirmer sa transaction est parfois un challenge avec IOTA, dû au fait que le Tangle n’est qu’à ses prémices. Il est malgré tout extrêmement important que toutes vos transactions soient confirmées avant l’envoi d’une nouvelle. De ce fait, même les plus petites transactions ne peuvent être laissées de côté. Contrevenir à cette règle risque d’exposer votre portefeuille à la réutilisation d’adresse. Cependant, le programme du wallet vous interdira de réaliser de nouvelles transactions tant que ce problème n’est pas réglé.
Le temps de confirmation d’une transaction est très variable avec IOTA. Les raisons derrière ces variations sont liées à la topologie et la structure du Tangle à un instant donné et sont difficiles à expliquer. Ce sujet est d’ailleurs au centre de plusieurs recherches poursuivies actuellement par les développeurs. Heureusement, il existe plusieurs outils mis en place pour permettre d’améliorer les chances de voir sa transaction confirmée rapidement.  

Avant tout, il faut identifier deux cas de figure : la transaction est faite au départ d’un site d’échange (comme Binance par exemple) ou elle est faite au départ d’un wallet (trinity, light wallet, …). En fonction de la situation la marche à suivre ne sera pas exactement la même. 

 

Transaction au départ d’un site d’échange 

Dans le premier cas, il arrive parfois que la transaction soit indiquée comme étant en « processing », ce qui veut dire qu’en réalité l’exchange n’a pas encore posté la transaction sur le Tangle. Vous pouvez vérifier cela en constatant qu’elle n’apparait pas dans la section « historique » de votre wallet (vu qu’elle n’est pas encore publiée).  

Comme IOTA oblige l’envoyeur à effectuer deux petites PoW à chaque envoi, il arrive souvent que les exchanges aient trop de PoW à faire en même temps pour valider tous les retraits demandés. Dans ce cas, ils mettent les transactions en file d’attente avant que leur serveur n’ait le temps de les traiter et les poster sur le Tangle. Tant qu’une transaction est en « processing » par le site, il n’y a donc rien à faire.  

Une fois que le statut de la transaction passera « pending » c’est qu’elle aura été postée sur le Tangle et qu’elle se trouve en attente de validation. On se retrouve à ce moment dans la même situation que si elle avait été initiée depuis un wallet directement. 

 

Transaction au départ d’un wallet 

Transactions IOTA

Si après environ vingt minutes la transaction n’est toujours pas confirmée, vous pouvez la rattacher au Tangle et la promouvoir pour booster ses chances de confirmations (les détails techniques relatifs à ces opérations sont donnés dans la FAQ). Pour info, une transaction non confirmée apparait comme étant « pending » ou « en attente » dans la rubrique historique de votre wallet (trinity les affiche en rouge en prime). 

Light wallet

Dans le cas où vous utiliseriez le light wallet, il suffit de cliquer sur la transaction problématique, puis de sélectionner « montrer le paquet » et ensuite « rattacher ». Vous pouvez ensuite recliquer sur la transaction et sélectionner « promouvoir ». Faites la promotion de votre transaction toutes les deux minutes tant qu’elle n’est pas confirmée, cela ne devrait pas être très long. 

Trinity Wallet

Si vous utilisez le Trinity wallet, il vous suffit de sélectionner la transaction dans votre historique et cliquer sur « réessayer » (la fonction « retransmettre » n’est que très rarement utile, pas besoin de l’utiliser ici). Répétez l’opération plusieurs fois jusqu’à ce que la transaction soit confirmée.
Trinity vous permet également de réaliser cette opération de manière automatique. Pour ce faire, rendez-vous dans les réglages avancés du wallet et activez la « promotion automatique » (cela nécessite d’être connecté à un nœud autorisant la PoW à distance). Une fois la promotion auto activée, il suffit de garder le wallet ouvert au premier plan de votre appareil et les transactions seront automatiquement promues. 

Sites Web

Il existe également des services gratuits en ligne proposant de promouvoir votre transaction automatiquement. Le plus connu et fiable est le site web https://www.iotareatta.ch. Sur ce site, il vous suffit d’introduire le hash du paquet ou de la transaction problématique, puis de sélectionner un serveur dans la liste (peu importe lequel, trouvez juste un qui fonctionne) et cliquez sur « start ». Laissez le site tourner et au bout que quelques instants votre transaction devrait être validée. 

Discord

Si vous êtes un utilisateur de discord, vous pouvez démarrer une conversation privée avec le bot IOTipBot#2462 et lui envoyer la commande :

!reattach <le hash de votre transaction>

Ce qui donnera par exemple:

!reattach ZKJHDLHHBXHX9BHJZDB…

Le bot se chargera alors de récupérer ce hash et promouvoir votre transaction à votre place. Il vous enverra ensuite une notification quand la transaction sera confirmée. Vous pouvez également taper la commande  ci-dessus sur n’importe quel channel du serveur discord IOTA officiel. 

CarrIOTA Field

Si vous réalisez des transactions depuis votre wallet vers un autre (ou vers un site d’échange), vous pouvez aussi utiliser le serveur field  comme serveur personnalisé (avec l’URL : https://field.carriota.com:443) . Field se chargera de rattacher et promouvoir pour vous toutes les transactions qui sont passées par son serveur, même quand le wallet est fermé. Donc avec ce système vous pouvez passer une transaction et l’oublier, le serveur prendra tout en charge pour vous afin de garantir une confirmation plus rapide. 

Serveur perso

La dernière option c’est naturellement d’avoir son propre serveur IOTA. Dans ce cas vous pouvez très simplement faire un script pour le forcer à promouvoir vos transactions. Mais c’est également l’option la moins simple à mettre en place, c’est donc seulement dans le cas où vous auriez déjà un serveur IOTA. 

 

Conclusion 

Notez que le temps de confirmation des transactions peut varier très fortement avec IOTA. Dans le cas d’une simple transaction (sans promotion, rattachement,…) il arrive que certaines soient validées en quelques secondes et d’autres en plusieurs dizaines de minutes. Si vous voulez avoir un aperçu du temps moyen de confirmation des transactions actuellement sur le Tangle, rendez-vous sur le site tanglemonitor.com. Au-dessus du tableau représentant les transactions en temps réel, vous pourrez y lire le temps de confirmation moyen (« Avg. Conf. Time »). En toute logique, ça ne sert à rien d’attendre des miracles avec votre transaction si le temps moyen de confirmation est de 30 min (bien que ce soit rare). Typiquement, vous pouvez espérer que votre transaction soit confirmée dans ce temps moyen à partir de la première promotion que vous effectuez. 

Grâce aux différentes options présentées dans cet article j’espère que vous bénéficierez des pleines capacités du Tangle. N’hésitez pas à laisser un commentaire si votre transaction ne se valide pas malgré nos conseils. Nous utiliserons alors notre serveur pour tenter de vous dépanner. 

 

Si cet article vous a aidé, n’hésitez pas à nous le faire savoir par un petit don à cette adresse.

Cet article a 2 commentaires

  1. Alexis Gaucher le 01/07/2018 à 21:49 Répondre

    Quand je met le nœud https://field.carriota.com:443 dans Trinity wallet, j’ai une erreur (sans information sur le type d’erreur, juste un message qui me dit qu’il y a un problème avec ce noeud). Suis-je le seul ?

    • Thomas Lambert le 02/07/2018 à 12:39 Répondre

      Oui c’est une erreur qui arrive parfois, les devs sont au courant depuis la sortie et bossent dessus.

      Souvent la connexion marche malgré tout. Je présume que le fait que le field soit un loadbalancer entre une multitude de noeuds différents implique divers bugs. A l’origine field devait même figurer dans la liste des noeuds prédéfinis, mais ils l’ont retiré justement à cause de ça…

Laisser un commentaire