Author

Topic: Do nodes relay big transactions without a fee? (Read 792 times)

staff
Activity: 4284
Merit: 8808
As scintill says,  unconfirmed transactions are unsafe and there are many ways you can be out spent in them.

In exchange protocols what you need to do is first pay into a escrow transaction that requires both parties to sign, let that confirm and then you can be confident that it can't be spent out from under you.

As for the specific question being asked—  on Bitcoin network nothing standard will relay or mine transactions over 100k under any condition to avoid DOS attacks. Transactions without fee are not relayed if they're over 23k or so, also to avoid DOS attacks.
sr. member
Activity: 448
Merit: 254
The basic question might still be worth answering (I don't really know the answer), but I don't think this is an "attack" any more than any other zero-conf transaction.  There will always be ways to trick people when it comes to relayed transactions, that's why you have to wait until several confirmations prove the person can't double-spend.
legendary
Activity: 1148
Merit: 1008
If you want to walk on water, get out of the boat
Fee is for miners, not for relaying. A transaction is relayed to matter the fee (depending on the bitcoin rules and the local rules of course)
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
For instance, a transaction has many small inputs, and the user sends this transaction without a fee. Would a node relay this transaction to other nodes regardless of the fact that it has zero fee, but it's big(not huge, just bigger than normal)?

Trying to figure out if an attack like this would work:
  User A sends User B a transaction of the type described above. User A first makes sure his node has a lot of connections and broadcasts this transaction without a fee just once and never again.  User B after a while sees this tx in Bitcoin-Qt and is willing to send User A say 500 Litecoins immediately, but includes a sufficient fee. No miner is willing to include User A's transaction in a block, so after a while most nodes will drop it from their memory pool and it will be forgotten. User A now gets to keep his Bitcoins and also 500LTC.
Jump to: