Bitcoin Forum
December 12, 2024, 11:51:29 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How can I broadcast a 'Replace-by-Fee' double-spend transaction?  (Read 2056 times)
Amitabh S (OP)
Legendary
*
Offline Offline

Activity: 1001
Merit: 1005


View Profile
October 27, 2016, 09:24:18 AM
 #1

Say I have manually constructed a 'replace-by-fee' tx. How do I broadcast it? None of the push-tx sites seem to be accepting it. I am not running a full node, so pushing locally is not an option.

EDIT: I just realized I have to mark the original transaction as replacable, which was not done. So I guess I have to find some miner willing to take my double-spend TX.

Aren't there any mining services offering this? It will be a good business model.

Coinsecure referral ID: https://coinsecure.in/signup/refamit (use this link to signup)
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 10:46:36 AM
 #2

None of the push-tx sites seem to be accepting it.
Try https://webbtc.com/relay_tx
But the result depends on the peers of webbtc

I am not running a full node, so pushing locally is not an option.
I have standalone program for this task, which connects to a number of nodes and pushes the tx
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
October 27, 2016, 12:37:19 PM
 #3

- snip -
I guess I have to find some miner willing to take my double-spend TX.

Aren't there any mining services offering this? It will be a good business model.

If you're willing to send a big enough tip, there are definitely mining pool operators here at bitcointalk.org that will mine it for you.

In particular there are two forum members, macbook-air and Quickseller, that both have access to add transactions directly to blocks solved by one of the currently largest pools (F2Pool). Send either of them a message and see what sort of tip they'd require to include your transaction in their next block.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 27, 2016, 12:51:04 PM
Last edit: October 27, 2016, 01:17:54 PM by amaclin
 #4

In particular there are two forum members, macbook-air and Quickseller, that both have access to add transactions directly to blocks solved by one of the currently largest pools (F2Pool). Send either of them a message and see what sort of tip they'd require to include your transaction in their next block.
As far as I know, the F2Pool engine allows to move the existing transaction in mempool queue to the beginning (or add the transaction with the highest priority if transaction is unknown to a pool)
The engine currently does not allow to replace transaction with conflicting one.

And this way is too hard for everyday/anyone use  Cheesy
DannyHamilton
Legendary
*
Offline Offline

Activity: 3514
Merit: 4894



View Profile
October 27, 2016, 01:10:32 PM
 #5

- snip -
As far as I know, the F2Pool engine allows to move the existing transaction in mempool queue to the beginning (or add the transaction with the highest priority is transaction is unknown to a pool)
The engine currently does not allow to replace transaction with conflicting one.
- snip -

You may be right, but in this case it wouldn't hurt to check with macbook-air or Quickseller and see.
codehtcmail
Sr. Member
****
Offline Offline

Activity: 1192
Merit: 260

Tryig to survive in this harsh world


View Profile
October 27, 2016, 09:40:22 PM
 #6

Say I have manually constructed a 'replace-by-fee' tx. How do I broadcast it? None of the push-tx sites seem to be accepting it. I am not running a full node, so pushing locally is not an option.

EDIT: I just realized I have to mark the original transaction as replacable, which was not done. So I guess I have to find some miner willing to take my double-spend TX.

Aren't there any mining services offering this? It will be a good business model.

"Aren't there any mining services offering this? It will be a good business model. "

Think about it again, what you are asking for is a scam service to double spend if it was to be made it will be and should be rejected by the network.
Amitabh S (OP)
Legendary
*
Offline Offline

Activity: 1001
Merit: 1005


View Profile
October 28, 2016, 07:47:09 AM
 #7

Say I have manually constructed a 'replace-by-fee' tx. How do I broadcast it? None of the push-tx sites seem to be accepting it. I am not running a full node, so pushing locally is not an option.

EDIT: I just realized I have to mark the original transaction as replacable, which was not done. So I guess I have to find some miner willing to take my double-spend TX.

Aren't there any mining services offering this? It will be a good business model.

"Aren't there any mining services offering this? It will be a good business model. "

Think about it again, what you are asking for is a scam service to double spend if it was to be made it will be and should be rejected by the network.


This is not a scam service. By replace-by-fee, it is assumed that a double spend must be sending to the same addresses, with a higher fee (possible by reducing amount to some other address in the outputs). Now how do we check that the amount deducted is actually from the change address and not the "real" receiver?

The tx must have a special form, the change address must be from the set of inputs. That way we can check that indeed the amount was reduced from change and not from some other address.

Rather than being a scam, this is a service that can help tx confirm faster. So its completely the opposite.

Of course, miners could (and should be allowed to) not only accept replace-by-fee but any double spend. This is the whole idea of mining. If we go by your logic, and everyone is going to be "good" and not allow "scams" to happen, then we don't even need Proof-of-Work.

As per the protocol, it does not matter what tx someone has in their mempool. What actually matters is which tx is finally mined and included in a block. Relying on zero-confirmations is not a very smart thing to do.  

Also I'm curious to see how such a service will be "rejected by the network"? (what does this mean?)

Coinsecure referral ID: https://coinsecure.in/signup/refamit (use this link to signup)
codehtcmail
Sr. Member
****
Offline Offline

Activity: 1192
Merit: 260

Tryig to survive in this harsh world


View Profile
October 28, 2016, 10:00:38 AM
 #8

Say I have manually constructed a 'replace-by-fee' tx. How do I broadcast it? None of the push-tx sites seem to be accepting it. I am not running a full node, so pushing locally is not an option.

EDIT: I just realized I have to mark the original transaction as replacable, which was not done. So I guess I have to find some miner willing to take my double-spend TX.

Aren't there any mining services offering this? It will be a good business model.

"Aren't there any mining services offering this? It will be a good business model. "

Think about it again, what you are asking for is a scam service to double spend if it was to be made it will be and should be rejected by the network.


This is not a scam service. By replace-by-fee, it is assumed that a double spend must be sending to the same addresses, with a higher fee (possible by reducing amount to some other address in the outputs). Now how do we check that the amount deducted is actually from the change address and not the "real" receiver?

The tx must have a special form, the change address must be from the set of inputs. That way we can check that indeed the amount was reduced from change and not from some other address.

Rather than being a scam, this is a service that can help tx confirm faster. So its completely the opposite.

Of course, miners could (and should be allowed to) not only accept replace-by-fee but any double spend. This is the whole idea of mining. If we go by your logic, and everyone is going to be "good" and not allow "scams" to happen, then we don't even need Proof-of-Work.

As per the protocol, it does not matter what tx someone has in their mempool. What actually matters is which tx is finally mined and included in a block. Relying on zero-confirmations is not a very smart thing to do.  

Also I'm curious to see how such a service will be "rejected by the network"? (what does this mean?)

The way I see it, any attempt to change an already broadcast transaction is a scam attempt, the network should reject any double spend attempt even to the same address with a different fee as it is changing (most likely deleting, replacing or ignoring) an already broadcast tranzsaction, it is against the concept of bitcoin of no changing or altering broadcast transactions even if still not confirmed.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
October 28, 2016, 10:05:53 AM
 #9

The way I see it, any attempt to change an already broadcast transaction is a scam attempt,
the network should reject any double spend attempt
What do you mean by "network should reject"? Who is responsible for rejecting
on every node in the world? You? Me? Satoshi?

Quote
even to the same address with a different
fee as it is changing (most likely deleting, replacing or ignoring) an already broadcast tranzsaction,
it is against the concept of bitcoin
It is not against the concept. And there is no such thing as "concept". There are consenus rules.
And the consensus rules do not have a rule for rejecting unconfirmed conflicting transactions.
Pages: [1]
  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!