Bitcoin Forum
November 11, 2024, 03:54:49 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 4 »  All
  Print  
Author Topic: Comment débloquer un wallet.dat (transaction sans frais erronée bloquée)  (Read 8670 times)
Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:06:32 PM
Last edit: September 11, 2017, 05:36:45 PM by Meuh6879
 #1

Voici une méthode qui, s'il est connu des habituels, permet de retrouver un wallet.dat (donc dans Bitcoin Core) à cause d'une faute que l'on a faite (sciemment ou pas) quand on a essayé de jouer avec les frais minimum que le réseau Bitcoin souhaite pour accepter votre transaction.

Avant toute chose, sachez que Bitcoin Core a donc 2 niveaux :
- niveau 0 : les frais sont absents ou trop bas = la transaction n'est accepté par personne (pas de diffusion aux noeuds)

- niveau 1 : diffusion faite aux noeuds = pas de chance, passez votre chemin ... cette méthode qui suit ne fonctionne pas quand tout le monde sait que vous avez émis une transaction valable mais avec pas ou peu de frais ... mais tout de même accepté par le réseau Bitcoin.

Cependant, si vous avez utilisé une très vieille version de Bitcoin (QT à l'époque), vous pouvez suivre le sujet aussi ! (en mettant d'abord à jour vers Bitcoin Core = https://bitcoin.org/bin/ )

Voici une photo du niveau 1 : on remarque que des noeuds ont bien acquis la transaction et elle est donc "partie" correctement de votre logiciel Bitcoin Core.




Ici, c'est le niveau 0 qui est visé.

Quelques rêgles de frais minimum régissent le logiciel Bitcoin Core ... il suffit de faire un getinfo dans la console de débuggage pour les voir apparaître (minimal transaction fee et minimal relay fee).

---

La méthode consiste juste à ressortir la clé privé du wallet.dat ... et à la redonner à manger à un nouveau wallet.dat

C'est aussi simple que cela lorsqu'on est au niveau 0 : personne ne connaît votre transaction invalide (pas même le réceptionnaire) et elle n'apparaît pas dans les explorer de blockchain ( https://tradeblock.com/bitcoin par exemple).

C'est aussi pour cela qu'il ne faut pas trop faire confiance aux explorer de blockchain qui utilisent des services de wallet en ligne (sur internet) ... car ils ont la fâcheuse manie d'indiquer des choses qui ne sont pas valables dans la réalité du réseau Bitcoin.

Par exemple, ils peuvent indiquer une transaction entre 2 wallets blockchain.info alors que c'est une balance interne à ce site et que le réseau Bitcoin sera utilisé en interne avec d'autres transactions (principe d'une sidechain).

Pour être sûr d'une transaction émise (par un client), vous devez à minima :
- avoir un wallet relié au bitcoin (pas un wallet virtuel).
- utiliser un explorer de blockchain qui ne propose pas de service de wallet virtuel (celui cité ou d'autres comme celui du modérateur du forum ici).

ça n'est pas compliqué, c'est juste du bon sens.
Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:07:09 PM
 #2

Commençons : votre transaction bloquée qui n'est pas sortie de Bitcoin Core (pas de diffusion à des noeuds indiqué).

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:08:32 PM
 #3

Ouvrez la fenêtre de débogage (dans Aide).
Tapez comme indiqué en rajoutant l'adresse de réception (publique) qui contient encore vos bitcoins.

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:09:52 PM
 #4

La commande génère une clé privée.
Copiez-la dans un presse-papier ou un bloc-note pour la procédure (ne faite pas d'erreur !)

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:10:56 PM
 #5

Détruisez le wallet.dat de votre dossier "blockchain" dans le dossier "Bitcoin" (après avoir éteint Bitcoin Core).
Relancez Bitcoin Core pour obtenir un nouveau wallet.dat

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:12:55 PM
Last edit: May 14, 2016, 09:24:27 PM by Meuh6879
 #6

Ouvrez la console de débuggage (dans Aide) et tapez la commande indiquée ... suivi de la clé privée.
Bitcoin Core se lance, ensuite, à la recherche de vos bitcoins dans votre blockchain locale enregistrée sur votre PC (Bitcoin Core doit donc avoir fini de la re-créer).

Cette méthode NE FONCTIONNE PAS si le Bitcoin Core n'est pas entièrement synchronisé au réseau Bitcoin.

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:16:45 PM
Last edit: September 11, 2017, 05:37:30 PM by Meuh6879
 #7

Il faudra 2h15 sur ma machine pour faire cette recherche.

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:36:49 PM
 #8

Mais au bout du compte, vos bitcoins sont revenus sans la transaction erronée.

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 14, 2016, 08:46:02 PM
 #9

Si vous jouez dans les rêgles du réseau Bitcoin, Bitcoin Core choisira toujours le meilleur moyen pour émettre votre somme avec des frais réseaux dépendant de votre historique et de ce que vous faites.

Et s'il refuse comme c'est le cas ici ... et bien, attendez d'en avoir plus dans le wallet.dat !  Cheesy
On parle de 1 centimes d'euro ici.

kcud_dab
Legendary
*
Offline Offline

Activity: 1652
Merit: 1002


Bitcoin enthusiast!


View Profile
May 14, 2016, 11:34:10 PM
 #10

... à cause d'une faute que l'on a faite (sciemment ou pas) quand on a essayé de jouer avec les frais minimum que le réseau Bitcoin souhaite pour accepter votre transaction.

Avant toute chose, sachez que Bitcoin Core a donc 2 niveaux :
- niveau 0 : les frais sont absents ou trop bas = la transaction n'est accepté par personne (pas de diffusion aux noeuds)

- niveau 1 : diffusion faite aux noeuds = pas de chance, passez votre chemin ... cette méthode qui suit ne fonctionne pas quand tout le monde sait que vous avez émis une transaction valable mais avec pas ou peu de frais ... mais tout de même accepté par le réseau Bitcoin.
Mouais, un exemple de transaction avec 0 fee... qui date d'avant hier :
-> https://www.blocktrail.com/BTC/tx/16ad07bd68a3e69d1410e6669aaa7c50fdc5080adab8d4eb9a9ce7f598b52a49

Sinon pour en revenir à ton tuto il y a bien plus simple pour supprimer les transaction du logiciel : il suffit de le lancer avec l'argument "zapwallettxes" !
Code:
-zapwallettxes=<mode>
Delete all wallet transactions and only recover those parts of the blockchain through -rescan on startup (1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data)
-> https://en.bitcoin.it/wiki/Running_Bitcoin

perl
Legendary
*
Offline Offline

Activity: 1918
Merit: 1190


View Profile
May 14, 2016, 11:37:25 PM
 #11

je peut que dire bravo pour ton tutoriel .  Cela a du prendre du temps .

Il y a plein plus simple a mon gout, editer la transaction et la résigner .
perl
Legendary
*
Offline Offline

Activity: 1918
Merit: 1190


View Profile
May 15, 2016, 12:00:39 AM
 #12


Exemple :
https://blockchain.info/fr/tx/eecd65f389847552418dd488872513a797a4969798e7beac9c8bd066582db068

Hou le pas beau une transaction avec 0 Fee (


Methode facile maintenant

On cherche la transaction en memoire :
getrawtransaction eecd65f389847552418dd488872513a797a4969798e7beac9c8bd066582db068

0100000001a86243e41c53f1dd7993deda7ba80e3d623dc8acc76000e6ce84f912c7d4a01f01000 0006b4830450221008dab391b5e3236ff9a9a84ccfab62b0a7e6ecf7a3df2fcf148cf0e29705916 85022011bdb8fa285ecf0a63b4f25ae43ae7118ccaead8ad7502dbe69fadb2a2f3f5bf012102c4c de6e607a972d7e9be6fc391b2eeb10131b19634e22f36459f755f220b8759feffffff02ea910b00 000000001976a914489f375f631d30e66b35e8169a6c3d8e90287e4088ac80841e0000000000197 6a9141313483ee887846836c70cb5e5f107195cb528ab88acb3470600

On decode la transaction
https://blockchain.info/fr/decode-tx

On on va sur https://blockchain.info/fr/tx/eecd65f389847552418dd488872513a797a4969798e7beac9c8bd066582db068
Si il l'on encore en memoire

Code:
{
   "lock_time":411571,
   "size":226,
   "inputs":[
      {
         "prev_out":{
            "index":1,
            "hash":"1fa0d4c712f984cee60060c7acc83d623d0ea87bdade9379ddf1531ce44362a8"
         },
         "script":"4830450221008dab391b5e3236ff9a9a84ccfab62b0a7e6ecf7a3df2fcf148cf0e2970591685022011bdb8fa285ecf0a63b4f25ae43ae7118ccaead8ad7502dbe69fadb2a2f3f5bf012102c4cde6e607a972d7e9be6fc391b2eeb10131b19634e22f36459f755f220b8759"
      }
   ],
   "version":1,
   "vin_sz":1,
   "hash":"eecd65f389847552418dd488872513a797a4969798e7beac9c8bd066582db068",
   "vout_sz":2,
   "out":[
      {
         "script_string":"OP_DUP OP_HASH160 489f375f631d30e66b35e8169a6c3d8e90287e40 OP_EQUALVERIFY OP_CHECKSIG",
         "address":"17czPMYXs41bzVUwVsfM8EaW3JcCPdLF5g",
         "value":758250,
         "script":"76a914489f375f631d30e66b35e8169a6c3d8e90287e4088ac"
      },
      {
         "script_string":"OP_DUP OP_HASH160 1313483ee887846836c70cb5e5f107195cb528ab OP_EQUALVERIFY OP_CHECKSIG",
         "address":"12jrwPyrF5UxWmgcdM2KzirAkkHuEpRYc3",
         "value":2000000,
         "script":"76a9141313483ee887846836c70cb5e5f107195cb528ab88ac"
      }
   ]
}


https://chainquery.com/bitcoin-api/createrawtransaction

Cela vous donne qu'elle que chose comme ceci .
0100000001a86243e41c53f1dd7993deda7ba80e3d623dc8acc76000e6ce84f912c7d4a01f01000 00000ffffffff0280841e00000000001976a9141313483ee887846836c70cb5e5f107195cb528ab 88ac9ace0a00000000001976a914489f375f631d30e66b35e8169a6c3d8e90287e4088ac0000000 0

Varifier que les montant sont bon
https://coinb.in/#verify

Tous montant non depensé sera les fee donc attention

01:58:09

signrawtransaction 0100000001a86243e41c53f1dd7993deda7ba80e3d623dc8acc76000e6ce84f912c7d4a01f01000 00000ffffffff0280841e00000000001976a9141313483ee887846836c70cb5e5f107195cb528ab 88ac9ace0a00000000001976a914489f375f631d30e66b35e8169a6c3d8e90287e4088ac0000000 0


01:58:09

{
  "hex": "0100000001a86243e41c53f1dd7993deda7ba80e3d623dc8acc76000e6ce84f912c7d4a01f01000 0006b483045022100c29ae21d37134fc047fa8ac6646fc2933d0dadf53bc22b8eb1e767f7adf3ce a302202e98036f75eacac2050045892600c5f9d744d61b286a30363a4eef143633f799012102c4c de6e607a972d7e9be6fc391b2eeb10131b19634e22f36459f755f220b8759ffffffff0280841e00 000000001976a9141313483ee887846836c70cb5e5f107195cb528ab88ac9ace0a0000000000197 6a914489f375f631d30e66b35e8169a6c3d8e90287e4088ac00000000",
  "complete": true
}

Maintenant brocaster la
https://coinb.in/#broadcast

Et voila le travail une double depense dans la mempool Smiley
Trivial a faire. Toujours attendre des confirmation
 
https://blockchain.info/tx/ec271ccb80e2d28213f25cba4046ad88e3a02707b63afcd7d17f4648683683bf


perl
Legendary
*
Offline Offline

Activity: 1918
Merit: 1190


View Profile
May 15, 2016, 12:02:26 AM
 #13

Cela prendre 2 minutes a faire quand on a l'habitude .
Mais je prefere prendre 15 minutes et triple check
perl
Legendary
*
Offline Offline

Activity: 1918
Merit: 1190


View Profile
May 15, 2016, 12:09:06 AM
 #14

Il faut faire très attention Smiley
Sinon on envoie 250BTC en Fee comme il n'y a pas très longtemps.

Tous le monde verifie le montant total de output.
Mais il faut aussi faire tres attention a pas ce tromper dans l'index de input .

Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 15, 2016, 11:20:45 AM
 #15

Merci pour toutes ces informations (zap wallet en particulier), je ne les connaissais pas (et Bitcoin Core n'ayant toujours pas un guide complet, l'information est hautement fragmentée pour des gens curieux comme moi).

Qka
Newbie
*
Offline Offline

Activity: 4
Merit: 0


View Profile
May 24, 2016, 08:01:23 AM
 #16

Bonjour, j'aimerai actuellement debloquer une transaction que j'ai essayer d'envoyer sans frais mais aucune de ces deux méthodes ne marche :
- Bitcoin core me dit qu'il ne connaît pas la clé privée
- Bitcoin core me dit Method not found (code -32601) quand je veux utiliser la fonction -zapwallettxes=<mode>

Comment puis-je faire pour ne pas perdre mes bitcoins? De plus la case stipule "envoyé si possible sans fees" donc pourquoi en voyant qque cela ne passe pas le logiciel ne l'envoie pas avec des Fees?
Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
May 28, 2016, 06:06:11 PM
 #17

Rajout d'une photo niveau 1 dans le premier message en haut.
kcud_dab
Legendary
*
Offline Offline

Activity: 1652
Merit: 1002


Bitcoin enthusiast!


View Profile
May 28, 2016, 06:12:18 PM
 #18

Rajout d'une photo niveau 1 dans le premier message en haut.
Cela ne change strictement rien que la tx soit au niveau "0" ou "1", tu peux tenter un double spend dans les deux cas (et avec les mêmes methodes) et tu n'as pas vraiment de garantie que c'est bien la "seconde" transaction qui passera !

neomulien
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
June 10, 2016, 06:47:11 PM
 #19

bonjour je suis novice je me presente néo,
j'ai suivis votre post, afin de recuperer une transaction a l'etat 0, non confirmer apres plusieurs jours, par manque de fee's...

j'ai donc, un nouveau wallet qui apres avoir chercher pendant 2h m'affiche quelques btc, recuperer sur une transaction. mais je n'ai recuperer que cette unique transaction

est ce normal ?
que dois-je faire pour obtenir, un seul et meme wallet avec un solde complet... Huh
si c'est pas clair dite le moi ...
Meuh6879 (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1012



View Profile
June 10, 2016, 08:46:29 PM
 #20

explique un peu mieux.

dans Bitcoin Core : 100 adresses de réception = 1 clé privée.
Pages: [1] 2 3 4 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!