Bitcoin Forum
April 27, 2024, 12:21:04 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: How do I double spend? {SOLVED}  (Read 2679 times)
zDavidR (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 22, 2015, 10:41:08 AM
Last edit: January 18, 2016, 07:12:57 AM by zDavidR
 #1

This has been solved, closed thank you
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714177264
Hero Member
*
Offline Offline

Posts: 1714177264

View Profile Personal Message (Offline)

Ignore
1714177264
Reply with quote  #2

1714177264
Report to moderator
1714177264
Hero Member
*
Offline Offline

Posts: 1714177264

View Profile Personal Message (Offline)

Ignore
1714177264
Reply with quote  #2

1714177264
Report to moderator
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 10:50:44 AM
 #2

How do I perform a double spend attack, as I received some funds without the guy paying a fee,

You can only create a (new) transaction for funds you have the private keys for. Since you received coins it is unlikely that you have the private keys required to create a competing transaction with fee.

and now I just want to spend the funds I have that is confirmed

So its confirmed?

but I can't because the transaction sent money to itself which included the money which was unconfirmed

You lost me. A single transaction can not be confirmed and unconfirmed at the same time. Maybe if you can give more detailed information in a clearer way someone here might be able to answer your questions. You could also just post a transaction ID.

Im not really here, its just your imagination.
vurezo
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 22, 2015, 11:13:38 AM
Last edit: February 25, 2015, 04:27:03 PM by vurezo
 #3

How do I perform a double spend attack, as I received some funds without the guy paying a fee,

You can only create a (new) transaction for funds you have the private keys for. Since you received coins it is unlikely that you have the private keys required to create a competing transaction with fee.

and now I just want to spend the funds I have that is confirmed

So its confirmed?

but I can't because the transaction sent money to itself which included the money which was unconfirmed

You lost me. A single transaction can not be confirmed and unconfirmed at the same time. Maybe if you can give more detailed information in a clearer way someone here might be able to answer your questions. You could also just post a transaction ID.
He actually does, he's the sender of the unconfirmed funds and he's posting on my friends behalf. As you can see, there's one transaction received with unconfirmed funds, so we sent all the confirmed funds (minus miner's fee) to another wallet, but it won't go through as you can see, it's also unconfirmed.
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


https://gliph.me/hUF


View Profile
February 22, 2015, 11:20:12 AM
 #4


Who owns https://www.blocktrail.com/BTC/address/16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX ?

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
vurezo
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 22, 2015, 11:22:04 AM
 #5

OP does, he needs to get his wallet fixed, can anyone help us?
zDavidR (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 22, 2015, 11:22:51 AM
 #6

I own that wallet
vurezo
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 22, 2015, 11:31:02 AM
 #7

On OP's two latest transactions (with a HEAVY miner's fee paid), it says that he has unspent input, and when I checked his recieved, all of his received funds are confirmed?

Edit: Unless it's trying to spend funds of the funds that were sent back to his own address from within the unconfirmed transactions...
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 11:44:32 AM
 #8

I assume we are talking about this[1][2] transaction. As you can see it spends 4 different inputs (enable "Scripts & coinbase on bc.i or add ?show_adv=true at the end of the URL if its not showing). One of the inputs[3] is unconfirmed and in turn relies on an unconfirmed input[4]. Thats probably why Newar asked who controlls 16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX.

OP does, he needs to get his wallet fixed, can anyone help us?

Yes, its possible but it will probably take time, which wallet software was used?


[1] https://blockchain.info/tx/4a842fd7548d4c2609785d8422c4c27f44f77c1753716ff70a1c9db5366ef4be?show_adv=true
[2] https://www.blocktrail.com/BTC/tx/4a842fd7548d4c2609785d8422c4c27f44f77c1753716ff70a1c9db5366ef4be
[3] https://blockchain.info/tx/a2cfaaaf72bab5d2bcd494ff1d992cbfe2b8305c2dcac94ce186303c3a5bace7
[4] https://blockchain.info/tx/07f89fbccc4923ab3808d3ebf1d7bba05e3035959f0d5568998a5ddccaa6ebfb

Im not really here, its just your imagination.
zDavidR (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
February 22, 2015, 11:49:27 AM
 #9

I assume we are talking about this[1][2] transaction. As you can see it spends 4 different inputs (enable "Scripts & coinbase on bc.i or add ?show_adv=true at the end of the URL if its not showing). One of the inputs[3] is unconfirmed and in turn relies on an unconfirmed input[4]. Thats probably why Newar asked who controlls 16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX.

OP does, he needs to get his wallet fixed, can anyone help us?

Yes, its possible but it will probably take time, which wallet software was used?


[1] https://blockchain.info/tx/4a842fd7548d4c2609785d8422c4c27f44f77c1753716ff70a1c9db5366ef4be?show_adv=true
[2] https://www.blocktrail.com/BTC/tx/4a842fd7548d4c2609785d8422c4c27f44f77c1753716ff70a1c9db5366ef4be
[3] https://blockchain.info/tx/a2cfaaaf72bab5d2bcd494ff1d992cbfe2b8305c2dcac94ce186303c3a5bace7
[4] https://blockchain.info/tx/07f89fbccc4923ab3808d3ebf1d7bba05e3035959f0d5568998a5ddccaa6ebfb
I used blockchains web interface
vurezo
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 22, 2015, 11:50:12 AM
 #10

OP wants to fix all the unconfirmed transactions to make sure everyone gets their money.  Roll Eyes
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 12:01:59 PM
 #11

-snip-
I used blockchains web interface

IIRC they will "return" the funds after a week. They essentially have to stop broadcasting the transaction in order for it to be easily replaced by another one. It is also possible (but risky) to export the private key(s), import them into another wallet, create a new transaction and broadcast that. There are several problems here.

#1 exposure of the private key, the export/import process might leak the private key if you are not careful
#2 the other wallet might pick up on the transaction you allready created and refuse to make a new one. There are tools like pywallet that are helpfull in this case, but its another step where something could go wrong
#3 you might not be able to broadcast the transaction as you are competing with the multiple nodes of blockchain.info. A node that knows about the "old" transaction will refuse the "new" transaction as its a double spend.


tl;dr there is no safe way, but to wait an contact support, they might be able to manually stop broadcasting the transaction.

Im not really here, its just your imagination.
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


https://gliph.me/hUF


View Profile
February 22, 2015, 12:11:31 PM
 #12

I think it will be tricky as one depends on the other unconfirmed.

How to create a raw transaction: https://www.reddit.com/r/Bitcoin/comments/2ebaow/how_to_create_a_raw_transaction_in_bitcoin_qt/  It's for Bitcoin Core, so you'd have to import your private key there. You would have to look for the original unspent inputs on the blockchain.

The thing is that you then have to submit it to a pool who can include that double spend in a block for you. I think f2pool are the only ones offering it publicly, but you still need to contact them before hand.

The alternative would be to wait (maybe a week or so) for the network to forget that tx and then send afresh, with appropriate fees. Or maybe it even confirms in the meanwhile.

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 12:16:42 PM
Last edit: February 22, 2015, 02:04:29 PM by shorena
 #13

I think it will be tricky as one depends on the other unconfirmed.

How to create a raw transaction: https://www.reddit.com/r/Bitcoin/comments/2ebaow/how_to_create_a_raw_transaction_in_bitcoin_qt/  It's for Bitcoin Core, so you'd have to import your private key there. You would have to look for the original unspent inputs on the blockchain.

The thing is that you then have to submit it to a pool who can include that double spend in a block for you. I think f2pool are the only ones offering it publicly, but you still need to contact them before hand.

The alternative would be to wait (maybe a week or so) for the network to forget that tx and then send afresh, with appropriate fees. Or maybe it even confirms in the meanwhile.

I just had the same idea and checked, neither my server, nor my desktop node[1] know about the transaction. Even bc.i's pushtx service[2] can not decode the transaction (which usually indicates that its not in their mempool). Creating a raw transaction might indeed do the trick. Once its signed you can post it here and we can help broadcasting it.

[1] -missleading pic removed- I used the wrong command (decoderawtransaction TXID instead of getrawtransaction TXID) the outcome is the same though.
Quote
No information available about transaction (code -5)

[2] https://blockchain.info/pushtx


Edit: does bc.i allow signing a rawtransaction? This would allow you (Newar) or me or someone else to create the rawtransaction (unsigned ofc) and let it get signed by OP via bc.i. If its possible, is it safe or would that allow a known plaintext attack on the private key? Nope


Edit2:

The inputs are from these 4 transactions:
https://blockchain.info/tx/9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac
https://blockchain.info/tx/536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f
https://blockchain.info/tx/540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67
https://blockchain.info/tx/770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698

Thus this:

Code:
createrawtransaction
"[
{\"txid\":\"9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac\",\"vout\":1},
{\"txid\":\"536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f\",\"vout\":1},
{\"txid\":\"540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67\",\"vout\":1},
{\"txid\":\"770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698\",\"vout\":1}
]"
"{\"16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX\":0.21042297}"

Would create an unsigned transaction that spends these 4 inputs and pays a 20k satoshi fee.

It returns the raw and unsigned transaction
Code:
0100000004acd5b90b0ac55d6d7016485be0ba4693a417e52498c24ece66a88c748543e69a0100000000ffffffff5f555aee5873ca27c669693d3d9cd4a7e888accfd2dcc791348b4d15adc96e530100000000ffffffff672ec6410ec315a767003f41a810583b4859e6bc6da781f22bb40d9968ce0d540100000000ffffffff9886c2b3b792f285a1a35d258b15a90176eb0b9063e4c4ea5822284585c10a770100000000ffffffff0179144101000000001976a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac00000000

which decodes to:

Code:
{
"txid" : "cef9dcd795d3727ba8598fe77fb94e372b4616f7a273dcc015a532d441e44dd0",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
},
{
"txid" : "536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
},
{
"txid" : "540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
},
{
"txid" : "770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 0.21042297,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 402c972aa8932483ba216d3ce1f4ee5f2e35ea89 OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX"
]
}
}
]
}

Thus bitcoin core/qt (even unsycned) should be able to sign it with:

Code:
signrawtransaction 0100000004acd5b90b0ac55d6d7016485be0ba4693a417e52498c24ece66a88c748543e69a0100000000ffffffff5f555aee5873ca27c669693d3d9cd4a7e888accfd2dcc791348b4d15adc96e530100000000ffffffff672ec6410ec315a767003f41a810583b4859e6bc6da781f22bb40d9968ce0d540100000000ffffffff9886c2b3b792f285a1a35d258b15a90176eb0b9063e4c4ea5822284585c10a770100000000ffffffff0179144101000000001976a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac00000000

Please, please, please OP, before you do this let someone else (preferably yourself after understanding what I did) confirm that I have not made a mistake.

Im not really here, its just your imagination.
vurezo
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 22, 2015, 12:49:40 PM
 #14

I think it will be tricky as one depends on the other unconfirmed.

How to create a raw transaction: https://www.reddit.com/r/Bitcoin/comments/2ebaow/how_to_create_a_raw_transaction_in_bitcoin_qt/  It's for Bitcoin Core, so you'd have to import your private key there. You would have to look for the original unspent inputs on the blockchain.

The thing is that you then have to submit it to a pool who can include that double spend in a block for you. I think f2pool are the only ones offering it publicly, but you still need to contact them before hand.

The alternative would be to wait (maybe a week or so) for the network to forget that tx and then send afresh, with appropriate fees. Or maybe it even confirms in the meanwhile.

I just had the same idea and checked, neither my server, nor my desktop node[1] know about the transaction. Even bc.i's pushtx service[2] can not decode the transaction (which usually indicates that its not in their mempool). Creating a raw transaction might indeed do the trick. Once its signed you can post it here and we can help broadcasting it.

[1]
[2] https://blockchain.info/pushtx


Edit: does bc.i allow signing a rawtransaction? This would allow you (Newar) or me or someone else to create the rawtransaction (unsigned ofc) and let it get signed by OP via bc.i. If its possible, is it safe or would that allow a known plaintext attack on the private key? Nope


Edit2:

The inputs are from these 4 transactions:
https://blockchain.info/tx/9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac
https://blockchain.info/tx/536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f
https://blockchain.info/tx/540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67
https://blockchain.info/tx/770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698

Thus this:

Code:
createrawtransaction
"[
{\"txid\":\"9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac\",\"vout\":1},
{\"txid\":\"536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f\",\"vout\":1},
{\"txid\":\"540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67\",\"vout\":1},
{\"txid\":\"770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698\",\"vout\":1}
]"
"{\"16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX\":0.21042297}"

Would create an unsigned transaction that spends these 4 inputs and pays a 20k satoshi fee.

It returns the raw and unsigned transaction
Code:
0100000004acd5b90b0ac55d6d7016485be0ba4693a417e52498c24ece66a88c748543e69a0100000000ffffffff5f555aee5873ca27c669693d3d9cd4a7e888accfd2dcc791348b4d15adc96e530100000000ffffffff672ec6410ec315a767003f41a810583b4859e6bc6da781f22bb40d9968ce0d540100000000ffffffff9886c2b3b792f285a1a35d258b15a90176eb0b9063e4c4ea5822284585c10a770100000000ffffffff0179144101000000001976a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac00000000

which decodes to:

Code:
{
"txid" : "cef9dcd795d3727ba8598fe77fb94e372b4616f7a273dcc015a532d441e44dd0",
"version" : 1,
"locktime" : 0,
"vin" : [
{
"txid" : "9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
},
{
"txid" : "536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
},
{
"txid" : "540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
},
{
"txid" : "770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698",
"vout" : 1,
"scriptSig" : {
"asm" : "",
"hex" : ""
},
"sequence" : 4294967295
}
],
"vout" : [
{
"value" : 0.21042297,
"n" : 0,
"scriptPubKey" : {
"asm" : "OP_DUP OP_HASH160 402c972aa8932483ba216d3ce1f4ee5f2e35ea89 OP_EQUALVERIFY OP_CHECKSIG",
"hex" : "76a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac",
"reqSigs" : 1,
"type" : "pubkeyhash",
"addresses" : [
"16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX"
]
}
}
]
}

Thus bitcoin core/qt (even unsycned) should be able to sign it with:

Code:
signrawtransaction 0100000004acd5b90b0ac55d6d7016485be0ba4693a417e52498c24ece66a88c748543e69a0100000000ffffffff5f555aee5873ca27c669693d3d9cd4a7e888accfd2dcc791348b4d15adc96e530100000000ffffffff672ec6410ec315a767003f41a810583b4859e6bc6da781f22bb40d9968ce0d540100000000ffffffff9886c2b3b792f285a1a35d258b15a90176eb0b9063e4c4ea5822284585c10a770100000000ffffffff0179144101000000001976a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac00000000

Please, please, please OP, before you do this let someone else (preferably yourself after understanding what I did) confirm that I have not made a mistake.

OP just went to bed and he's new to BitCoins, if you could, please PM him your Skype or whatnot, any help is greatly appreciated. If not, I'll try my best to help him and probably make more of a mess than the one he's already in!
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 12:58:21 PM
 #15

-snip-
OP just went to bed and he's new to BitCoins, if you could, please PM him your Skype or whatnot, any help is greatly appreciated. If not, I'll try my best to help him and probably make more of a mess than the one he's already in!

In that case its probably best to let them sleep. Time is essentially on "our" site as it improves the chance that the transaction gets confirmed and the chance that nodes forget about the transaction. I dont use skype and I am afraid I know of no safe way to help remotly that would not compromise the private key. I could write step by step instructions how to export the private key from bc.i into bitcoin core/qt if that helps.

Im not really here, its just your imagination.
vurezo
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 22, 2015, 01:17:37 PM
 #16

-snip-
OP just went to bed and he's new to BitCoins, if you could, please PM him your Skype or whatnot, any help is greatly appreciated. If not, I'll try my best to help him and probably make more of a mess than the one he's already in!

In that case its probably best to let them sleep. Time is essentially on "our" site as it improves the chance that the transaction gets confirmed and the chance that nodes forget about the transaction. I dont use skype and I am afraid I know of no safe way to help remotly that would not compromise the private key. I could write step by step instructions how to export the private key from bc.i into bitcoin core/qt if that helps.
Sure, anything will help. I didn't quite understand the steps, do you want him to paste all that into the console as-is or paste the main commands and replace the rest of the command with the output?

Anyhow, it wouldn't be the end of the world if his private key got compromised, as he's going to be changing to an offline wallet after this incident. I hope I made it clear that everyone who has received unconfirmed funds needs to be double spent to get confirmed funds or whatnot. (i.e. https://blockchain.info/address/16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX all nine of those unconfirmed ones.)
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 01:26:01 PM
 #17

-snip-
OP just went to bed and he's new to BitCoins, if you could, please PM him your Skype or whatnot, any help is greatly appreciated. If not, I'll try my best to help him and probably make more of a mess than the one he's already in!

In that case its probably best to let them sleep. Time is essentially on "our" site as it improves the chance that the transaction gets confirmed and the chance that nodes forget about the transaction. I dont use skype and I am afraid I know of no safe way to help remotly that would not compromise the private key. I could write step by step instructions how to export the private key from bc.i into bitcoin core/qt if that helps.
Sure, anything will help. I didn't quite understand the steps, do you want him to paste all that into the console as-is or paste the main commands and replace the rest of the command with the output?

With what you mentioned below Id probably have to revise the commands.

Anyhow, it wouldn't be the end of the world if his private key got compromised, as he's going to be changing to an offline wallet after this incident. I hope I made it clear that everyone who has received unconfirmed funds needs to be double spent to get confirmed funds or whatnot. (i.e. https://blockchain.info/address/16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX all nine of those unconfirmed ones.)

I was focused on the one transaction with 4 inputs[1], but now that you mention it, there are other[2] unconfirmed TX. What it eventually will do is create a single transaction that is competing with all other unconfirmed transactions, but pays a fee. OP will have to create all transactions after those again as they will become invalid.
Im a little short time wise now, so Ill do this later or maybe someone else will chime in.


[1] this: https://blockchain.info/tx-index/78466613/1
[2] https://blockchain.info/tx-index/78472577/1

Im not really here, its just your imagination.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 04:17:39 PM
Last edit: February 22, 2015, 10:31:44 PM by shorena
 #18

step by step:

Edit: The below will no longer work as one of the inputs has been spend in another transaction which at the moment has at least 15 confirmations.

Disclaimer: Keep in mind that I am doing most of this "blind" and if anything goes wrong it might be better to stop and ask here. I can also not guarantee that this will work as I have no way to judge if miners allready know about your old transactions or not. Any node (this includes mining nodes as well as others running bitcoin core) that already knows about the old transactions will refuse to accept or broadcast the new transaction. You should also read it entirely first to see if the guide is at least understandable in what you should do. I imagine it can be pretty overwhelming for someone that is new to bitcoin to have to go "under the hood". It is also possible to let someone else do this for you if you can find someone you would trust with your private key. You might also want to hire someone trusted from the forum to do this for you.

#0 (optional, but advised) prepare a new wallet you want to use in the future. Probably something light and easy to backup like Electrum or Multibit.
#1 download and install bitcoin core/qt[1], do not open it yet. It would only start to sync the blockchain which is not needed and might slow down the machine, this will happen later anyway.
#2 log into your bc.i wallet and click:
-> Import / Export -> "I understand" -> on the side click "Export Unencrypted" and above the big box with the grey background select "Bitcoin-Qt format"
a text similar to this will appear in the grey box, do not show it to anyone else.
Code:
{
"guid" : "6353f1aa-7152-463a-8a20-9f6d5ac7cc16",
"sharedKey" : "11d287ad-6d5f-4c80-ade8-8ca1d090d5a9",
"options" : {"pbkdf2_iterations":5000,"fee_policy":0,"html5_notifications":false,"logout_time":600000,"tx_display":0,"always_keep_local_backup":false,"transactions_per_page":30,"additional_seeds":[]},
"keys" : [
{"addr":"1DiTkfmND73ji2ikNNa7v5sXmQFoqDHAy6","priv":"KxGQM2pQyCJUMKwcGVXDLVYGgNiYZorHK3frWqnUBkYzRg1aK1km","created_time":1424616473228,"created_device_name":"javascript_web","created_device_version":"1.0"}
]
}

Search for the following but with your address instead
Code:
"addr":"1DiTkfmND73ji2ikNNa7v5sXmQFoqDHAy6","priv":"KxGQM2pQyCJUMKwcGVXDLVYGgNiYZorHK3frWqnUBkYzRg1aK1km"

In this example KxGQM2pQyCJUMKwcGVXDLVYGgNiYZorHK3frWqnUBkYzRg1aK1km is the private key that belongs to the address 1DiTkfmND73ji2ikNNa7v5sXmQFoqDHAy6.

#3 Open Bitcoin core, once you see the main window, click:
Help -> Debug Window -> Console and enter (with the private key from above):

Code:
importprivkey KxGQM2pQyCJUMKwcGVXDLVYGgNiYZorHK3frWqnUBkYzRg1aK1km "my bc.i key" false

This will import the private key with the label "my bc.i key" into the wallet without rescanning the blockchain for its transactions (the false at the end does that)

Now you need to create a a raw transaction. I have prepared this part for you under the assumption that you want to double spend  the following unconfirmed transactions (format: TXID vout # - amount). Vout refers to the "position" the btc we spend were in the transaction we reference with the transaction id. It starts counting with 0, thus if its the first output its 0, if its the second output its 1.

Code:
9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac vout 1 - 0.06074217
536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f vout 1 - 0.04276511
540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67 vout 1 - 0.04454379
770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698 vout 1 - 0.06257190
68281239401be7f1b5c26088ad8595fd5743ad5fd1da9c0a8b40054b1bf863a6 vout 0 - 0.01280400
cf3b1b6ab3183749ed70c17fec049900b54bd9e81f1b09eef238581eebe952ca vout 0 - 0.23906800
0b0a746ec7c9a17d970458db019df68b9c08938f6aa40018c3a882364aefe1a1 vout 0 - 0.22775337

links:
https://blockchain.info/tx/9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac
https://blockchain.info/tx/536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f
https://blockchain.info/tx/540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67
https://blockchain.info/tx/770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698
https://blockchain.info/tx/68281239401be7f1b5c26088ad8595fd5743ad5fd1da9c0a8b40054b1bf863a6  
https://blockchain.info/tx/cf3b1b6ab3183749ed70c17fec049900b54bd9e81f1b09eef238581eebe952ca
https://blockchain.info/tx/0b0a746ec7c9a17d970458db019df68b9c08938f6aa40018c3a882364aefe1a1

These are all confirmed transactions I could find that are used in unconfirmed transactions without fee.

The total BTC amount spendable is: 0.69024834

Since a transaction needs space in the blockchain and the fee is at least in part dependant on that I estimated the size of the transaction. 7 inputs with ~180 byte, 1 output with ~34 byte and ~10 bytes for the rest would result in ~1304 byte for the new transaction. The common fee for this would be 20,000 satoshi. In order to give the miners an incentive to confirm this transaction in the next block should it ever reach them we double the fee to 40k satoshi, which leaves us with 0.68984834 which will be send to the address 16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX

Once you have read and understood the part above, make sure what is below is what you want. You might want to replace the address if you want the BTC to be send elsewhere, e.g. to your new wallet from step #0.

Code:
createrawtransaction
"[
{\"txid\":\"9ae64385748ca866ce4ec29824e517a49346bae05b4816706d5dc50a0bb9d5ac\",\"vout\":1},
{\"txid\":\"536ec9ad154d8b3491c7dcd2cfac88e8a7d49c3d3d6969c627ca7358ee5a555f\",\"vout\":1},
{\"txid\":\"540dce68990db42bf281a76dbce659483b5810a8413f0067a715c30e41c62e67\",\"vout\":1},
{\"txid\":\"770ac18545282258eac4e463900beb7601a9158b255da3a185f292b7b3c28698\",\"vout\":1},
{\"txid\":\"68281239401be7f1b5c26088ad8595fd5743ad5fd1da9c0a8b40054b1bf863a6\",\"vout\":0},
{\"txid\":\"cf3b1b6ab3183749ed70c17fec049900b54bd9e81f1b09eef238581eebe952ca\",\"vout\":0},
{\"txid\":\"0b0a746ec7c9a17d970458db019df68b9c08938f6aa40018c3a882364aefe1a1\",\"vout\":0}
]"
"{\"16rKfUnTnSiFdqRA3j69XNdfKwSBNxF5wX\":0.68984834}"

You will see a long string as an answer. This is the raw transaction. I will use raw_TX when indicating its use. Depending on your OS you can select it with a doubleclick and copy paste it.

In order to sign it with your private key you enter

Code:
signrawtransaction raw_TX

it will return another string, part of it is your now signed transaction. I will use signed_TX to indicate it below, keep in mind that the " symbols are not part of it, but indicate its beginning and its end.

Code:
{
"hex" :
"signed_TX",
"complete" : true
}

In order to broadcast the transaction use:

Code:
sendrawtransaction signed_TX

bitcoin core should answer with a transaction hash. You can also broadcast signed_TX via bc.i[2] or post it here so we can help you spreading it through the network.

[1] https://bitcoin.org/de/download
[2] https://blockchain.info/pushtx

Im not really here, its just your imagination.
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1000


https://gliph.me/hUF


View Profile
February 22, 2015, 04:55:45 PM
 #19

I admire your enthusiasm!


[...]
You can also broadcast signed_TX via bc.i[2] or post it here so we can help you spreading it through the network.

I thought most clients won't announce it to the network [1], since the inputs are used in other tx already? Unless you get a hold of a miner [2] who mines the tx for you "directly". In that case the mempool wouldn't matter much (?). But if you choose your approach and pool all tx back in the sending address again, that might look like fraud to them. Better link them to this thread. But then again, not everybody with the receiving addresses of those 10 unconfirmed txs has chimed in, i.e. signing a message with those addresses that they agree to this approach.

OPs oldest unconfirmed tx will be a week old tomorrow [3]. Maybe wait and see how that pans out?


[1] https://bitcoin.stackexchange.com/questions/4514/is-it-possible-to-cancel-an-unconfirmed-transaction/4515#4515
Quote
Network nodes won't accept transactions which double-spend coins used in a transaction they already know about.
[2] https://www.f2pool.com/pushtx
[3] https://www.blocktrail.com/BTC/tx/7f8f5f195692450c43de71f150ac926bf92861a9f187e7e0a19e7ebe6ad6d73b

OTC rating | GPG keyid 1DC91318EE785FDE | Gliph: lightning bicycle tree music | Mycelium, a swift & secure Bitcoin client for Android | LocalBitcoins
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1499


No I dont escrow anymore.


View Profile WWW
February 22, 2015, 10:29:39 PM
 #20

I admire your enthusiasm!


[...]
You can also broadcast signed_TX via bc.i[2] or post it here so we can help you spreading it through the network.

I thought most clients won't announce it to the network [1], since the inputs are used in other tx already?

Yes that is true. It might work though if bc.i is not activly rebroadcasting transactions their clients made.

Unless you get a hold of a miner [2] who mines the tx for you "directly". In that case the mempool wouldn't matter much (?).

Its essential to reach a miner. I know some had an interface, but I could not remember any URLs. This might also work with the existing transactions. How to get a Referal code though?

But if you choose your approach and pool all tx back in the sending address again, that might look like fraud to them. Better link them to this thread. But then again, not everybody with the receiving addresses of those 10 unconfirmed txs has chimed in, i.e. signing a message with those addresses that they agree to this approach.

Hmm yes there might be services/users that accept(ed) payment without confirmation among them.

OPs oldest unconfirmed tx will be a week old tomorrow [3]. Maybe wait and see how that pans out?

Im all for waiting or confirming the old transactions.

TX to push would be:
https://blockchain.info/tx/07f89fbccc4923ab3808d3ebf1d7bba05e3035959f0d5568998a5ddccaa6ebfb [r1]
https://blockchain.info/tx/7f8f5f195692450c43de71f150ac926bf92861a9f187e7e0a19e7ebe6ad6d73b [r2]
https://blockchain.info/tx/ff779a100a43f1deb5c8f6569abfba7fb0885fcc3d7c4883a5134fba875a4c2a - confirmed >15 blocks ago, thus the raw TX from earlier is no longer valid anyway. Ill edit the post in a bit.
https://blockchain.info/tx/adb28e98cdc37e8836b451e410f0f41d273a981b43adb95b41023b9d8e6d031e [r3]

raw:

[r1]
Code:
0100000004acd5b90b0ac55d6d7016485be0ba4693a417e52498c24ece66a88c748543e69a010000008b483045022100b06b060c946905f39e9bd2c1d82a6fee7e16a77c41c366a644d8983b5fc8bb850220348ea53b6f2c0ed354815bd344fda1d4fa0185e3dcda96c810ca672f3398be520141048091cb7f4d00962ce2b9d10f9f2fe8b6f784f398eb854e94fc9fc72b72c73f9585a9f6fd2ed3fea527b9c7fa4bb6d860815e45ef622a87f5f7a73e903b717fcaffffffff5f555aee5873ca27c669693d3d9cd4a7e888accfd2dcc791348b4d15adc96e53010000008b483045022100d7f83ffba3d63e7c6c0de3c5f650b0fe00c8af86d9bf7c0391635507ce4ced060220719553484c0028d6f011457b529c91d27599492ed32e5242d1948133a4aedc670141048091cb7f4d00962ce2b9d10f9f2fe8b6f784f398eb854e94fc9fc72b72c73f9585a9f6fd2ed3fea527b9c7fa4bb6d860815e45ef622a87f5f7a73e903b717fcaffffffff672ec6410ec315a767003f41a810583b4859e6bc6da781f22bb40d9968ce0d54010000008b48304502210086684e78b4cb7a15990a97b798234648616c2c3b2e5d519095fac0b8d5800ecb02202b5feda3693f9313b6075223d008427e813c0cd4a56728f87e2afe40deb11ffd0141048091cb7f4d00962ce2b9d10f9f2fe8b6f784f398eb854e94fc9fc72b72c73f9585a9f6fd2ed3fea527b9c7fa4bb6d860815e45ef622a87f5f7a73e903b717fcaffffffff9886c2b3b792f285a1a35d258b15a90176eb0b9063e4c4ea5822284585c10a77010000008a473044022008ad0dfc9a9a0701424a45539959f9ab9c60c51fab430b28f5844165170edd9302203233a14f930f4a45740370a2e28dc82247ddf62c53476bb66ad3304f53d119f30141048091cb7f4d00962ce2b9d10f9f2fe8b6f784f398eb854e94fc9fc72b72c73f9585a9f6fd2ed3fea527b9c7fa4bb6d860815e45ef622a87f5f7a73e903b717fcaffffffff02eacef800000000001976a9148bd091a30475999ac9979a91e727b6ab2f0c17d488acaf934800000000001976a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac00000000
[r2]
Code:
0100000001a663f81b4b05408b0a9cdad15fad4357fd9585ad8860c2b5f1e71b4039122868000000008a473044022046d085a2f1a7fddf645b84a349ce3ef365a42c8bd2c93e422436d0e84eeaffec022071404843e31f38cd6ec901e7e56870715ae8932820094784d00e42c6481900720141048091cb7f4d00962ce2b9d10f9f2fe8b6f784f398eb854e94fc9fc72b72c73f9585a9f6fd2ed3fea527b9c7fa4bb6d860815e45ef622a87f5f7a73e903b717fcaffffffff0190891300000000001976a91482d7b6e7151aa6a9172aa5abc35dc8b63b5888a288ac00000000
[r3]
Code:
0100000001a1e1ef4a3682a8c31800a46a8f93089c8bf69d01db5804977da1c9c76e740a0b000000008b483045022100b3d87a9a4fd9f8ec5de22951c21c7ac5f4ff7052bcd70d1231073ec4e1c53abe022075b3097811736fb9642cd66695a1ed2a76137a00ff2b4c65da6f36a68b37dc720141048091cb7f4d00962ce2b9d10f9f2fe8b6f784f398eb854e94fc9fc72b72c73f9585a9f6fd2ed3fea527b9c7fa4bb6d860815e45ef622a87f5f7a73e903b717fcaffffffff02e0ab7d00000000001976a914efb1dfaca81fa8a6491b0614faa2c34310ee5b9088ac49dadd00000000001976a914402c972aa8932483ba216d3ce1f4ee5f2e35ea8988ac00000000


Im not really here, its just your imagination.
Pages: [1] 2 »  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!