Bitcoin Forum
February 18, 2020, 03:59:35 PM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Como fazer um double spend?  (Read 1791 times)
girino
Legendary
*
Offline Offline

Activity: 2142
Merit: 1099


Advertise Here - PM for more info!


View Profile
March 06, 2016, 09:10:27 PM
 #1

Recebi a seguinte pergunta em PM. Como não tenho uma resposta definitiva, trouxe a questão em publico porque isso beneficia mais gente e dá a mais pessoas a oportunidade de opinar. A pergunta foi assim (devidamente anonimizada):

Quote
Gostaria de saber se você me ensinaria a executar um double spend pela carteira BitcoinQT
Tenho uma transação em que coloquei um valor de taxa muito baixo e por isso a mesma não foi confirmada...
pelo que entendi, a carteira que estou usando vai continuar a reenviar a transação para a blockchain até que essa seja confirmada... Tem como eu quebrar esse loop?

Vamos começar pelo fácil: como quebrar o loop?
- Excluindo a transação diretamente na carteira com ferramentas "avançadas" como essa: https://github.com/jackjack-jj/pywallet (obs. nunca usei, então não sei nem se funciona com as versões atuais)
- Exportando todas as PK da carteira e importando em uma nova carteira. (veja aqui como exportá-las e aqui como importá-las).

Lembrando que é necessário deixar a carteira offline por 48 a 72h para que a rede "esqueça" a transação. Senão sua carteira vai recer a transação de outro node e começar o loop todo de novo.

Agora existe a solução de fazer o double spend. (nunca fiz, então minha reposta é só uma indicação do caminho a seguir, mas vc vai precisar trilhar ele sozinho). Após a versão 0.12.0 o bitcoin-qt permite a substituição de transações por outra com fee maior. Só que ela não te dá uma interface pra fazer isso, então vc tem de criar a transação "manualmente". Existe essa ferramenta que encontrei, desenvolvida pelos proprios devs do bitcoin para testar essa funcionalidade: https://github.com/petertodd/replace-by-fee-tools

Se você quer apenas que a transação se complete, use essa ferramenta para aumentar a fee.

Eu passei por um problema semelhante, mas como meu full node estava desatualizado, no tempo que eu levei para sincronizar meu bitcoin-qt a transação original foi confirmada, então acabei não tendo a oportunidade de testar.

Se mais alguem tiver ideias de como tratar esse problema, sintam-se a vontade de postar abaixo.

Advertise Here - PM for more info!
1582041575
Hero Member
*
Offline Offline

Posts: 1582041575

View Profile Personal Message (Offline)

Ignore
1582041575
Reply with quote  #2

1582041575
Report to moderator
1582041575
Hero Member
*
Offline Offline

Posts: 1582041575

View Profile Personal Message (Offline)

Ignore
1582041575
Reply with quote  #2

1582041575
Report to moderator
100% First Deposit Bonus Instant Withdrawals Best Odds 10+ Sports Since 2014 No KYC Asked Play Now
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1582041575
Hero Member
*
Offline Offline

Posts: 1582041575

View Profile Personal Message (Offline)

Ignore
1582041575
Reply with quote  #2

1582041575
Report to moderator
1582041575
Hero Member
*
Offline Offline

Posts: 1582041575

View Profile Personal Message (Offline)

Ignore
1582041575
Reply with quote  #2

1582041575
Report to moderator
trvorts
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
March 08, 2016, 02:43:27 AM
 #2

Boa noite a todos!

 Gostaria de agradecer ao Girino e ao Adriano pelo retorno à mensagem que lhes enviei em PM, que rendeu este post e também rendeu um aprendizado muito valioso! Havia pesquisado um pouco pelo assunto (sem um  resultado claro) e de certa forma fiquei receoso de postar diretamente aqui no fórum com medo de ser um assunto delicado.


 Depois de ler a contribuição do Girino, resolvi seguir as dicas deixadas aqui por ele. Pesquisei mais um pouco sobre o pywallet e achei esse post:

 https://bitcointa.lk/threads/guide-delete-your-0-unconfirmed-transactions-in-30-seconds.28870/

 No mesmo, o autor enumera os passos para se eliminar as transações não confirmadas da carteira:

Quote
Ultimate way to delete your forever unconfirmed transactions

  • Backup your wallet just in case
  • Download Pywallet
  • Run './pywallet.py --web'
  • Go to http://localhost:8989 in your browser
  • Fill the Delete form like this:
  • Wallet Directory: /your/wallet/directory
  • Wallet Filename: yourwalletfilename
  • Key: all
  • Type: leave 'Transaction'
  • Click the Delete button
  • Run 'bitcoin -rescan'
  • Done, no more unconfirmed tx's

Bem,depois de fazer o backup da carteira,  segui os passos acima deletando a transação não confirmada...

Logo depois reiniciei BitcoinQT (criei um atalho na área de trabalho para que abrisse com a opção -scan), e para minha feliz surpresa, lá estava meu saldo de volta! (um alívio sem precedentes!!! kkkkk)

Agora, depois de quebrar o loop do BitcoinQT, só me resta efetuar uma nova transação... Nesse ponto persiste uma dúvida: Mesmo depois de recuperar meu saldo na carteira e de quebrar o loop, ainda assim preciso exportar as PK's da carteira e transferí-las para uma nova?

Qual seria o risco de efetuar uma transação pela mesma carteira?

PS: descobri mais uma coisa...

https://bitcointa.lk/threads/guide-delete-your-0-unconfirmed-transactions-in-30-seconds.28870/page-2#post-5411143

Quote
New method with 0.9+ built directly into core client:

-rescan Rescan the block chain for missing wallet transactions
-zapwallettxes Clear list of wallet transactions (diagnostic tool; implies -rescan)

It does exactly what it says - it rebuilds the transaction list from the officially confirmed blocks.

Naturally, get a reliable wallet backup first.


TRVORTS.
 
girino
Legendary
*
Offline Offline

Activity: 2142
Merit: 1099


Advertise Here - PM for more info!


View Profile
March 08, 2016, 03:18:50 AM
 #3

(...)
Agora, depois de quebrar o loop do BitcoinQT, só me resta efetuar uma nova transação... Nesse ponto persiste uma dúvida: Mesmo depois de recuperar meu saldo na carteira e de quebrar o loop, ainda assim preciso exportar as PK's da carteira e transferí-las para uma nova?

Qual seria o risco de efetuar uma transação pela mesma carteira?
(...)

Não necessita, os dois procedimentos são "alternativas", se vc usa um não precisa usar o outro. (ou seja, se vc usou o pywallet nao precisa importar as chaves em uma nova carteira, e vice versa).

Advertise Here - PM for more info!
jhonnymitnick
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
June 21, 2016, 06:48:22 PM
 #4

Boa tarde Pessoal!

Sou bem novato (pra não usar outra palavra) no ramo de bitcoins, porém estou gostando bastante.
Ontem, por falta de habilidade e conhecimento, acabei fazendo um pagamento com bitcoins com uma taxa muito baixa (0.00000799), pois era o que restaria na carteira e a biticoinQT adicionou o que tinha.
Pois bem, até agora (umas 18h depois) ainda não confirmou, pois os mineiros não vão trabalhar por tão pouco né..rsrs
Estive lendo as vossas postagens e achei que o método mais simples para mim, e para que eu consiga ter o saldo de volta e reenvie o pagamento com uma fee mior é o descrito pelo GIRINO, porém o hyperlink "aqui como importá-las" não está funcionando.
Alguém poderia me auxiliar a resolver esse problema? eu até mando uns satoshis pela ajuda. rsrsrs (é sério).
Meu e-mail é: jhonnymitnick@msn.com

ABS,

Jhonnatan
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!