Bitcoin Forum
November 12, 2024, 05:30:51 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Double Spending 101?  (Read 2510 times)
vurezo (OP)
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
February 27, 2015, 02:47:57 PM
 #1

Not trying to rip someone off here, recently had a situation where double spending saved the day.

My question is, what is the best way of double spending? (I have almost no clue what I'm talking about, please keep that in mind.)

Sending any amount without fees to 2nd address, then spend from 2nd address and resend from 1st address to a 3rd address with fee? (Would it then pick up the 0 fee transaction if transactions on 2nd address were made with fee (although input is still unconfirmed?))

Spending minimal amount without fees to 2nd address, where some additional coins gets sent back to yourself, which should make it minimal priority since it's so small, then send whole balance including the few unconfirmed ones that got sent back to yourself to 2nd address, then send new transaction with whole balance with fee to 3rd address?

I'm also thinking, if there's some reliable way to do this, maybe quite a few scams could be prevented by preemptively setting up a double spend scenario with a potential seller so that you have the option to chargeback if he turns out to be a scammer?
Newar
Legendary
*
Offline Offline

Activity: 1358
Merit: 1001


https://gliph.me/hUF


View Profile
February 27, 2015, 02:55:51 PM
 #2


Recommended reading: https://en.bitcoin.it/wiki/Double-spending

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

Activity: 67
Merit: 10


View Profile
February 27, 2015, 02:58:48 PM
 #3

I was looking for more practically speaking kind of information if anyone has any. Thanks anyhow, it was a good read, although I've read it already.
yakuza699
Hero Member
*****
Offline Offline

Activity: 935
Merit: 1002


View Profile
February 27, 2015, 03:47:03 PM
 #4

(Would it then pick up the 0 fee transaction if transactions on 2nd address were made with fee (although input is still unconfirmed?))
Yes it would it's called child pays for parent.Eligius was the first pool to implement it there is also f2pool who did the same.
Spending minimal amount without fees to 2nd address, where some additional coins gets sent back to yourself, which should make it minimal priority since it's so small, then send whole balance including the few unconfirmed ones that got sent back to yourself to 2nd address, then send new transaction with whole balance with fee to 3rd address?
It's a bit hard to understand what are your trying to say without hearing words inputs/outputs but yes.Here's an example you send a tx that has an output of less than 5460 satoshi with x fee(doesn't matter what fee but preferably 0 if you want it to don't get confirmed) to QT 0.9.3 and up miners.The miners who has QT of 0.8.x or older won't have that transaction in their memory pool so you can easily send a tx that has an outputs of more than 5460 satoshi with fee to them and they will mine it.
I'm also thinking, if there's some reliable way to do this, maybe quite a few scams could be prevented by preemptively setting up a double spend scenario with a potential seller so that you have the option to chargeback if he turns out to be a scammer?
No and NO.Don't even think about it Bitcoin was designed to be charge-back free.

Edit:If you dig through my post history you could easily find a step by step tutorial on how to double-spend by amaclin.

▄▄▄▄▄▄▄▄
▄▄▄▄▄▄
▄▄▄▄
BTC BitDice.me 
.
shorena
Copper Member
Legendary
*
Offline Offline

Activity: 1498
Merit: 1540


No I dont escrow anymore.


View Profile
February 27, 2015, 04:06:44 PM
 #5

Not trying to rip someone off here, recently had a situation where double spending saved the day.

My question is, what is the best way of double spending? (I have almost no clue what I'm talking about, please keep that in mind.)

IMHO the best way would be to avoid having to double spend in the first place. Most wallets calculate the fee for you in a way that double spending is not needed.

Sending any amount without fees to 2nd address, then spend from 2nd address and resend from 1st address to a 3rd address with fee? (Would it then pick up the 0 fee transaction if transactions on 2nd address were made with fee (although input is still unconfirmed?))

Im not entirely sure, but it sounds like you describing child pays for parent[1]. The first transaction without fee has to be confirmed for the 2nd transaction to get a confirmation. More often than not this happens even though I am not entirely sure if miners have this implemented yet. What you will often see is that the TX without fee and the follow up TX with fee get confirmed in the same block.

Spending minimal amount without fees to 2nd address, where some additional coins gets sent back to yourself, which should make it minimal priority since it's so small, then send whole balance including the few unconfirmed ones that got sent back to yourself to 2nd address, then send new transaction with whole balance with fee to 3rd address?

If the minimal amount is small enough - aka dust - the first TX (A) has a smaller chance to get confirmed, because transactions creating dust are not relayed by bitcoin core nodes. Thus it would be difficult for A to reach a miner. The follow up TX (B) might be rejected by nodes because they do not know about A and thus do not know about the input B tries to spend. Im not entirely sure each nodes checks the inputs though.

I'm also thinking, if there's some reliable way to do this, maybe quite a few scams could be prevented by preemptively setting up a double spend scenario with a potential seller so that you have the option to chargeback if he turns out to be a scammer?

There is no reliable way. Shoehorning chargback into bitcoin will only work reliable if you have >50% of the networks hash power to reorder the blocks if needed. This scenario is known as 51% attack and could be a problem for the network in general. In the past when any pool was close to 50% it lost mining power due to miners switching pools. This is also insanely expensive.

A Bitcoin transaction is meant to be irreversible. If you can not trust the person you are trading with use escrow and wait for at leats 1 confirmation when accepting bitcoin as payment. More for high amounts, the number depending on your personal needs.

Double spending against companies that accept 0 confirmation TX will most likely not work either. As long as the company is large enough to have several nodes they can keep broadcasting the inital TX which makes your double spend attempt invalid for most other nodes. They could also - and I assume most do - contact mining pools directly in order to have the TX handled with priortity.

[1] a little more here: https://bitcointalk.org/index.php?topic=182953.0
and here: https://github.com/bitcoin/bitcoin/pull/1647

Im not really here, its just your imagination.
AnalizeSituation
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
February 27, 2015, 04:58:44 PM
 #6

i think this possible see in satoshi dice  sd function randoms or some bug or bugs
this realy in practics easy i think

some bitcoins in air
pauze or some specific a lot time in this address 50% and 36% and etc..... i am some time see this and think a lot transactions broke/error  Roll Eyes

so this answer = possible
sickpig
Legendary
*
Offline Offline

Activity: 1260
Merit: 1008


View Profile
February 27, 2015, 05:18:16 PM
 #7

Look at Peter Todd replace-by-fee effort. There's a lengthy recent discussion on bitcoin dev mailing list and also here on btctalk you shuold be able to find some threads abou it.

Bitcoin is a participatory system which ought to respect the right of self determinism of all of its users - Gregory Maxwell.
yakuza699
Hero Member
*****
Offline Offline

Activity: 935
Merit: 1002


View Profile
March 01, 2015, 01:17:12 PM
 #8

this nonsense double spending FUD make me sick!

^^^ Typical pointless ad sig post.

It is indeed pointless but last time I reported something like this it wasn't "accurate".Wearing paid signatures is nothing bad as long as you call it a hobby and not a full time job.I for example use the BTC that I get from sig ads only for testing certain things or paying programmers to do the programming for me.There are two types of people who are participating in signatures campaigns one of them is people like me or shorena who would post anyways but they get a reward for doing what they would do anyways then there are people like above CIYAM who posts garbage posts and pollute our lovely forum if it were me who is the admin of this forum I would ban these kind of people permanently from wearing signature.

▄▄▄▄▄▄▄▄
▄▄▄▄▄▄
▄▄▄▄
BTC BitDice.me 
.
bitcoinmonk
Newbie
*
Offline Offline

Activity: 13
Merit: 0


View Profile
March 03, 2015, 07:35:55 PM
 #9

Look at Peter Todd replace-by-fee effort. There's a lengthy recent discussion on bitcoin dev mailing list and also here on btctalk you shuold be able to find some threads abou it.

Lengthy indeed. I'm reading up on this now - it's seems like a cool feature. I guess it will take time to get into GUI wallets but it's probably common to accidently make a stupid send and be willing to resend with a higher fee.
jl2012
Legendary
*
Offline Offline

Activity: 1792
Merit: 1111


View Profile
March 04, 2015, 03:02:15 AM
 #10

Not trying to rip someone off here, recently had a situation where double spending saved the day.

My question is, what is the best way of double spending? (I have almost no clue what I'm talking about, please keep that in mind.)

Sending any amount without fees to 2nd address, then spend from 2nd address and resend from 1st address to a 3rd address with fee? (Would it then pick up the 0 fee transaction if transactions on 2nd address were made with fee (although input is still unconfirmed?))

Spending minimal amount without fees to 2nd address, where some additional coins gets sent back to yourself, which should make it minimal priority since it's so small, then send whole balance including the few unconfirmed ones that got sent back to yourself to 2nd address, then send new transaction with whole balance with fee to 3rd address?

I'm also thinking, if there's some reliable way to do this, maybe quite a few scams could be prevented by preemptively setting up a double spend scenario with a potential seller so that you have the option to chargeback if he turns out to be a scammer?

There is no "balance" in bitcoin protocol, only "unspent transaction output" (UTXO)

Donation address: 374iXxS4BuqFHsEwwxUuH3nvJ69Y7Hqur3 (Bitcoin ONLY)
LRDGENPLYrcTRssGoZrsCT1hngaH3BVkM4 (LTC)
PGP: D3CC 1772 8600 5BB8 FF67 3294 C524 2A1A B393 6517
crazyearner
Legendary
*
Offline Offline

Activity: 1820
Merit: 1001



View Profile
March 07, 2015, 10:29:25 PM
 #11

Most double spending is cached on a lot of sites. Their is way to do it but people will not leak this without iver wanting pay or something to be valuable for the way on how to do double spends. Myself I have done it a few times just out of randomness but I think am sort of seeing how a double spend happens and is simple enough to do proving you can do quick enough or you have a scrypt in place to do double spending but one payment lands another payment never makes it and always stays missing to never be seen again but some sites do often catch it and see it as a veiled payment and gets credited to your account on system yet some sites have this protection and ignore the coin sent.

Would be nice to double spend on sites and get away with it but most sites now days have protection against double spending and if they don't then their stupid.

to get an idea of it all see https://en.bitcoin.it/wiki/Double-spending will give you a good idea of how the process works Smiley

=
  R E B E L L I O U S 
  ▄▀▀▀▀▀▄▄                           ▄▄▀▀▀▀▀▄
▄▀        █▄▄                     ▄▄█        ▀▄
█            █████████████████████            █
█▄          ██       ██ ██       ██          ▄█
█        █            █            █        █
  █    █               █               █    █
   █ ██               █ █               ██ █
    █ █               █ █               █ █
    █ ███▄  █████▄   ██ ██   ▄█████  ▄███ █
    █     ███     █         █     ███     █
     █   █   ▀███ █  █   █  █ ███▀   █   █
     █   █      █ █  █   █  █ █      █   █
     █   █      ██  █     █  ██      █   █
      █  █     ██  █       █  ██     █  █
      █  █    ██  █ ███████ █  ██    █  █
      █ ███   ██  █         █  ██   ███ █
       █   ▀███      █   █      ███▀   █
        █     ██       █       ██     █
         █      █   ▄▄███▄▄   █      █
          ███   ███▀       ▀███   ███
             █████           █████
                  ███████████
  ▄▀▀▀▀▀▄▄                           ▄▄▀▀▀▀▀▄
▄▀        █▄▄                     ▄▄█        ▀▄
█            █████████████████████            █
█▄          ██       ██ ██       ██          ▄█
█        █            █            █        █
  █    █               █               █    █
   █ ██               █ █               ██ █
    █ █               █ █               █ █
    █ ███▄  █████▄   ██ ██   ▄█████  ▄███ █
    █     ███     █         █     ███     █
     █   █   ▀███ █  █   █  █ ███▀   █   █
     █   █      █ █  █   █  █ █      █   █
     █   █      ██  █     █  ██      █   █
      █  █     ██  █       █  ██     █  █
      █  █    ██  █ ███████ █  ██    █  █
      █ ███   ██  █         █  ██   ███ █
       █   ▀███      █   █      ███▀   █
        █     ██       █       ██     █
         █      █   ▄▄███▄▄   █      █
          ███   ███▀       ▀███   ███
             █████           █████
                  ███████████
  R E B E L L I O U S
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!