[Obsolète] Réutilisation de la clé privée détectée! Comment débloquer vos fonds.

Dans certains cas, le portefeuille officiel de l'interface graphique iota affiche l'avertissement ci-dessus et vous empêche effectivement de virer vos fonds. Cet article vous aidera à accéder à nouveau à vos iotas.

Edit: Cet article se concentre sur le portefeuille obsolète d'interface graphique Iota. Pour obtenir des conseils sur la façon de résoudre le même problème dans le portefeuille Trinity, basculez vers cet article:
Attention: fonds sur les adresses dépensées! Comment débloquer vos fonds

Ceci est la deuxième partie d'une histoire en deux parties. La première partie de cette histoire se concentre sur la signification de l'erreur et sur la manière dont vous vous êtes retrouvé dans cette situation.

L'avertissement de réutilisation de clé apparaît pour deux raisons principales. Transactions et fonds en attente sur les adresses utilisées. Les transactions en attente seront d'abord vérifiées, car si tel est votre problème, il peut être facilement résolu sans ajouter de risque supplémentaire à vos fonds.

Toutefois, si aucune transaction en attente ne peut être trouvée, cela signifie que vous avez des fonds sur une adresse déjà utilisée et nous utiliserons le portefeuille officiel en ligne de commande iota (portefeuille cli) pour transférer vos fonds. Sachez qu'il existe un certain risque, qui sera expliqué en détail plus tard.

Contenu:

1. Transactions en attente
 1.1 Trouver des transactions en attente
 1.2 Comment confirmer une transaction en attente

2. Déplacer des fonds
 2.1 Déplacez d'abord les fonds non bloqués
 2.2 Utilisez le portefeuille cli pour déplacer des fonds bloqués
 2.3 Installation du portefeuille cli
 2.4 Envoi de fonds bloqués

1. Transactions en attente

Une transaction en attente peut vous empêcher d’envoyer des iotas dans le portefeuille. Bien que les transactions soient rapidement confirmées, il peut arriver qu’elles restent en attente pendant un certain temps. Comme l'enchevêtrement d'iota fonctionne, une autre transaction doit choisir la vôtre comme astuce pour le confirmer. En raison de la nature de l'algorithme de sélection des pourboires, plus une transaction est ancienne et moins elle sera susceptible d'être sélectionnée pour être confirmée par d'autres transactions. Si une transaction a plusieurs jours, voire plusieurs semaines, elle ne sera probablement plus sélectionnée et elle peut rester en suspens pour toujours.

C'est pourquoi vous devez parfois pousser activement votre transaction à être confirmée.

1.1 Trouver des transactions en attente

Tout d'abord, vous devez rechercher toute transaction en attente avec une valeur. Les transactions à valeur zéro n'ont pas besoin d'être confirmées et ne peuvent pas bloquer votre portefeuille.

Ouvrez la section historique du portefeuille et consultez la liste des transferts. Ceux qui se trouvent en haut de la liste sont les transactions les plus récentes.

Trouvez ceux qui disent En attente. Malheureusement, l’historique peut aussi sembler un peu déroutant car vous pourriez rencontrer plusieurs entrées comme celle-ci:

Vous voyez trois transactions, une confirmée et deux en attente. En fait, ces trois entrées dans l'historique sont des réattachements ou des copies du même lot. Si vous cliquez sur Afficher l’ensemble sur l’un des éléments en attente, vous obtenez des informations plus détaillées.

Dans la boîte de dialogue Détails du paquet, vous pouvez voir une représentation plus précise de l’état vous indiquant qu’un rattachement de cette transaction a déjà été confirmé. Ainsi, cette transaction ne compte pas comme non confirmée en ce qui concerne le blocage de vos fonds et vous pouvez l'ignorer.

Parcourez votre historique complet et recherchez d’autres transactions en attente.

1.2 Comment confirmer une transaction en attente

Si vous avez identifié une ou plusieurs transactions en attente, cliquez sur Afficher l'ensemble.

Le premier bouton Rebroadcast est rarement utilisé et n’est utile que dans le cas où le nœud auquel vous avez envoyé la transaction ne l’a pas correctement diffusée à ses voisins. Utilisez le bouton Reattach pour créer une nouvelle copie de l'ensemble complet à un emplacement différent de l'enchevêtrement. Ceci est sûr et ne publie aucune partie supplémentaire de la clé privée. La nouvelle transaction a maintenant beaucoup plus de chances d'être retenue et d'être confirmée par d'autres transactions.

Une fois la réinsertion réussie, le bouton Réattacher change le libellé en Promotion.

Vous pouvez encore augmenter les chances de confirmation en promouvant votre transaction. Cela le rendra encore plus populaire pour être sélectionné comme astuce par d’autres transactions.

Chaque fois que vous appuyez sur le bouton Promouvoir, le portefeuille favorisera votre transaction 5 fois.
En règle générale, vous pouvez rattacher une transaction si elle a plus de 30 minutes et effectuer la promotion autant de fois que vous le souhaitez entre les deux.

Si vous avez confirmé la dernière transaction en attente dans votre portefeuille, vous devriez être libre d'envoyer d'autres transactions sans voir l'avertissement de réutilisation de clé. Si vous ne trouvez pas les transactions en attente ou si vous voyez toujours l'avertissement, vous devrez transférer vos fonds à l'aide du portefeuille Cli.

2. Déplacer des fonds

Bien que cela puisse paraître comme cela à ce stade, votre graine actuelle n'est pas cassée. Si vous le souhaitez, vous pouvez toujours l'utiliser plus tard. Cependant, pour faciliter les choses et prendre un nouveau départ, nous transférerons tous vos fonds sur une nouvelle graine.

Tout d'abord, assurez-vous d'avoir une nouvelle graine disponible. NE PAS utiliser de générateur de semences en ligne. Si vous n'êtes pas certain de savoir comment générer une graine, lisez l’article de Koen: Le secret de la sécurité - Le secret est essentiel.

Utilisez la nouvelle graine pour vous connecter au portefeuille et générer une nouvelle adresse de réception. Copiez cette adresse quelque part afin de l’avoir sous la main. Ce sera votre adresse cible à partir de maintenant. Assurez-vous également d'avoir une copie de sauvegarde sécurisée de votre nouvelle graine.

2.1 Déplacez d'abord les fonds non bloqués

De la manière dont le portefeuille de l’interface graphique et Trinity fonctionnent, vous constaterez que tous vos fonds ne sont pas bloqués. Seul le montant figurant sur l'adresse ou les adresses concernées doit en réalité être transféré à l'aide du portefeuille Cli. Les fonds restants peuvent être déplacés à l'aide du portefeuille officiel de l'interface graphique ou de Trinity. Ces fonds ne risquent jamais d'être volés, mais en cas de problème lors du transfert du portefeuille de la cli, il est possible de se retrouver dans une situation où ces fonds jusque-là non affectés peuvent également être bloqués. Ce n'est qu'un cas marginal avec une probabilité très faible, mais toujours recommandée, surtout si vous avez des fonds importants sur vos semences. Si vous souhaitez ignorer cette étape, vous pouvez passer directement à Utilisez le portefeuille Cli pour transférer des fonds bloqués.

Afin de transférer le solde non affecté en premier lieu, vous devez savoir combien il représente réellement. Si vous avez déjà identifié l'adresse bloquant vos fonds, vous pouvez simplement les soustraire de votre solde total et émettre une nouvelle transaction à la nouvelle adresse cible avec le montant obtenu.

Si vous ne savez pas quelle adresse vous bloque et quel équilibre est affecté, vous devez effectuer un travail de détective. Utiliser le porte-monnaie Trinity est une tâche assez simple, car il existe un bon aperçu de vos adresses et de leur solde. Vous pouvez trouver cette liste en cliquant sur Paramètres → Gestion de compte → Afficher les adresses (utilisez le menu Compte lorsque vous êtes sur le bureau Trinity). Faites défiler votre liste et trouver une adresse utilisée avec des fonds. Les adresses utilisées sont surlignées en rouge avec des caractères barrés.

Dans la capture d'écran ci-dessus, vous pouvez voir que l'adresse 9GIYJ… est utilisée mais qu'il y a toujours 100i dessus. Ces fonds sont bloqués, mais en supposant qu'il s'agisse de la seule adresse concernée, les 115i restants (montant total de 215i moins 100i bloqués) peuvent être déplacés sans problème.

Le portefeuille d'interface graphique manque d'une liste d'adresses et d'une balance aussi intéressantes. Si vous ne pouvez utiliser que ce portefeuille, l'identification de l'adresse concernée est un peu plus compliquée. Vous pouvez effacer les fonds non bloqués, une adresse à la fois, en appliquant la procédure suivante. Cela peut prendre beaucoup de temps, car vous devez effectuer deux transactions pour chaque adresse que vous devez effacer, mais si vous disposez de fonds considérables, cela est toujours recommandé.

Utilisez le portefeuille pour envoyer 1i (pas 1Ki ou Mi) à votre adresse cible. Si le portefeuille accepte le transfert sans afficher à nouveau l'avertissement de réutilisation de clé, vous avez au moins une adresse avec des fonds non bloqués.

Recherchez ensuite la transaction sortante 1i dans votre historique et cliquez sur Afficher le paquet.

Cela montrera toutes les transactions dans le paquet. Premièrement, il y a la transaction 1i, puis vous voyez une transaction -1000i, ce qui signifie qu’une adresse a été utilisée pour l’envoi qui comportait précédemment 1000i. Enfin, vous voyez une transaction qui envoie le reste de 999i à une autre adresse de votre graine. Vous savez maintenant qu’un autre 999i est disponible pour l’envoi. Assurez-vous que la transaction 1i est confirmée, puis publiez-en une seconde avec le montant restant. Bien entendu, le montant peut être différent dans votre cas.

Répétez cette opération jusqu'à ce que l'envoi d'une transaction 1i affiche l'avertissement de réutilisation de clé.

2.2 Utilisez le portefeuille cli pour déplacer des fonds bloqués

À ce stade, seuls les fonds bloqués doivent rester dans votre portefeuille. Le portefeuille en ligne de commande Iota (portefeuille cli) est un logiciel de portefeuille simple sans interface utilisateur graphique publiée par la Fondation Iota. Il est complètement contrôlé via la ligne de commande. Nous l'utilisons ici car, contrairement à la plupart des autres portefeuilles (portefeuille GUI, Trinity), cela ne vous empêche pas de réutiliser la clé privée d'une adresse.
Il est important de comprendre que l'avertissement de réutilisation de clé dans les autres portefeuilles existe pour une raison. Lorsque vous utilisez une adresse pour envoyer plusieurs fois, vous vous exposez à un risque de vol de ces fonds. Chaque transaction sortante à partir d'une adresse publie au hasard 50% de la clé privée de cette adresse spécifique. Le risque de vol augmente avec chaque transaction sortante supplémentaire. Si l'adresse n'a été utilisée qu'une seule fois auparavant, le risque est assez faible. Mais s'il a été utilisé 3 fois, voire plus, il devient facile pour des parties malveillantes d'accéder à vos fonds. Il faut dire que seuls les fonds de cette adresse spécifique sont en jeu et qu'aucune autre adresse ni aucune partie de vos semences ne sont jamais publiées ou en danger. S'il vous plaît gardez tout cela à l'esprit car je ne peux pas être tenu responsable des pertes qui pourraient survenir. Si vous vous sentez incertain ou mal à l'aise après cette procédure, rejoignez l'iota Discord et expliquez les détails de votre cas dans le canal #help pour rechercher une autre solution.

2.3 Installation du portefeuille cli

Pour installer et exécuter le portefeuille Iota cli, nous devrons d’abord installer Node.js. Bien que le nom soit similaire, cela n'a rien à voir avec l'exécution d'un nœud Iota. Node.js est un environnement d'exécution à code source ouvert permettant d'exécuter du code javascript.

Accédez au site Web officiel de Node.js (https://nodejs.org/) et téléchargez le programme d'installation correspondant à votre système d'exploitation. Il est recommandé de choisir la version de support à long terme (LTS). Téléchargez et exécutez le programme d'installation. Une fois terminé, il est temps d'ouvrir l'interface de ligne de commande de votre système d'exploitation. Pour Windows, allez dans le menu Démarrer, tapez cmd et appuyez sur Entrée. Sous Mac OS X, utilisez la recherche Spotlight pour rechercher un terminal et le démarrer.

Une fois à l’interface de ligne de commande, nous pouvons utiliser npm, l’installateur de paquets qui fait partie de Node.js, pour télécharger et installer directement le portefeuille iota cli en entrant cette ligne:

npm installer -g iota-cli-app

Appuyez sur Entrée et attendez que l'installation soit terminée.

2.4 Envoi de fonds bloqués

Vous aurez besoin d'une adresse cible à partir d'une graine fraîche et du portefeuille Cli installé pour continuer. Lancez le portefeuille cli avec cette commande:

iota-cli

Après avoir démarré cela ressemblera à ceci:

Par défaut, le portefeuille essaiera de se connecter à un nœud exécuté localement sur votre ordinateur. Si vous n'exécutez pas de nœud local, vous pouvez entrer un nœud public approuvé. Nous allons utiliser ici l'un des nœuds gérés par un membre de la Fondation Iota (Ralf Rottmann): nœuds.iota.fm:80.
Vous pouvez choisir le même noeud ou en choisir un autre en lequel vous avez confiance. Une liste de nœuds est par exemple disponible ici https://iota.dance/

Connectez le portefeuille au nœud en tapant

noeud http://nodes.iota.fm:80

Après quelques secondes, le portefeuille sera connecté, visible par la coche verte après le nom du nœud.

Maintenant, entrez votre graine:

ensemencer YOURSEED

Remplacez YOURSEED par votre propre graine et appuyez sur Entrée. Si vous collez votre graine à partir du Presse-papiers, vous pouvez utiliser le clic droit de la souris et Coller sous Windows et Maj-Command-V sous OS X.

Choisissez Non lorsque vous êtes invité à enregistrer la graine localement pour la complétion automatique (tapez N et appuyez sur Entrée).

Après avoir entré votre graine, le portefeuille récupérera automatiquement toutes les données du compte en arrière-plan. En fonction du nombre d'adresses que vous avez déjà utilisées, le portefeuille peut prendre quelques minutes pour vérifier toutes les adresses. Une fois terminé, il vous informera et affichera également le solde disponible (1.2Mi ou 1200Ki dans ce cas).

Si la balance n'est pas affichée, vous pouvez spécifiquement demander de la recevoir avec la commande de balance.

équilibre

Il est recommandé de commencer par transférer les fonds non bloqués avec le portefeuille de votre choix. À ce stade, le solde correspondant aux fonds figurant sur l'adresse (s) bloquée (s) est alors affiché.

Lorsque vous envoyez des fonds avec le portefeuille Cli, vous devez indiquer le montant sous forme de nombre de points, et non de Ki, Mi ou Gi. Cela signifie que si vous voyez une unité telle que K, M ou G derrière le solde, vous devez la convertir en montant en iota. Les 1.2 Mi sont indiqués en 1200 Ki, ce qui équivaut encore à 1200000 iotas. Utilisez ce tableau pour référence si vous n'êtes pas sûr des unités.

Vous avez maintenant tout pour lancer la commande de transfert final. N'oubliez pas qu'à partir du moment où la transaction est publiée, vos fonds sont exposés au risque jusqu'à la confirmation de la transaction. Même s'il ne s'agit que d'un faible risque, vous souhaitez que la nouvelle transaction soit confirmée le plus rapidement possible.

Pour envoyer enfin les fonds à partir de la ou des adresses bloquées, entrez la commande comme ceci et vérifiez-la avant de cliquer sur Entrée:

montant ADRESSE de transfert

Remplacez ADRESSE par l'adresse cible à laquelle vous souhaitez envoyer vos fonds et remplacez le montant par le nombre de virements que vous souhaitez virer. N'incluez aucune unité lors de la définition du montant. Avec mon portefeuille, la commande pourrait ressembler à ceci:

transfert HBMYPAZXKHMGUVHZGEATCWCVUXLMSGZQFVLGJNYJMBWEFAUAHMHDXWKBANJDSDZHPVOOVFZVWSHAKFJODRJWNMPPXW 1200000

Le portefeuille vérifie la validité de l'adresse. Ainsi, si vous incluez une faute de frappe quelque part, elle sera détectée en raison de la somme de contrôle non valide. Vous verriez ce message d'erreur dans ce cas:

Si vous voyez ce message

cela signifie que vous avez probablement entré une unité (i, Ki, etc.) après le montant. Assurez-vous de ne donner que le nombre de iotas à transférer.

Après avoir appuyé sur Entrée avec la commande de transfert correcte, le portefeuille commencera à créer le paquet de transfert et à l'envoyer à l'enchevêtrement. Cela peut prendre quelques minutes. Une fois terminé, il ressemblera à ceci:

Il est maintenant temps de promouvoir la nouvelle transaction afin de la faire confirmer plus rapidement. Cela peut prendre une minute avant que la transaction apparaisse dans l'historique du portefeuille, mais vous pouvez ensuite utiliser votre portefeuille pour en faire la promotion.

Dès que la transaction est confirmée, vos fonds sont bien arrivés sur la nouvelle graine.

Questions ou commentaires? Trouvez-moi sur le Iota Discord (HBMY289). Nous remercions tout particulièrement les utilisateurs de Discord, Olaz Preton et Berdiin, qui ont contribué à la relecture de cet article.