Author

Topic: RPC method listtransactions behavior in double spend attack scenario (Read 969 times)

full member
Activity: 164
Merit: 100
Indie Developer
Unconfirmed non-self transactions have never been included in reported balances.

They show when I make RPC calls and specify 0 confirmations. So I get the unconfirmed balance by querying getbalance accountname 0. It always worked for me.
staff
Activity: 4284
Merit: 8808
Unconfirmed non-self transactions have never been included in reported balances.
full member
Activity: 164
Merit: 100
Indie Developer
The transaction will never be removed from listtransactions. If it's double-spent, then listtransactions will say that it has -1 confirmations. (In 2012, it would say that it had 0 confirmations -- this was improved fairly recently.)

Thanks theymos, this clarifies things. It also means that "getbalance account 0" will display the balance correctly and not include double spends (I assume). But what about "getbalance account -1", would that return all transactions, including double spends? (It would be an easy way to find if an account has double spent deposits).
administrator
Activity: 5222
Merit: 13032
The transaction will never be removed from listtransactions. If it's double-spent, then listtransactions will say that it has -1 confirmations. (In 2012, it would say that it had 0 confirmations -- this was improved fairly recently.)
full member
Activity: 164
Merit: 100
Indie Developer
RPC method listtransactions behavior in double spend attack scenario
I am developing code to process bitcoin payments for my upcoming business venture.  I am using the RPC method listtransactions - I've found some useful information about that method's behavior in a few other posts ; my thanks to those who provided that info.  What I haven't found is how this method will behave in a double spend attack scenario.  Suppose a transaction is created and it gets to 2 confirmations (the more complex attacks) before it is detected.  Once it is detected, I need to know whether:
1)  listtransactions continues to return the transaction, OR
2)  listtransactions stops returning the transaction

And if the answer is #1, will the confirmations count returned by the method decrease?  Or just never increase?  Or is the transaction marked some other way to indicate what has happened?

Many thanks,
Defiance


Anyone know this? Also wondering what happens to 0 confirmation transactions when coins that were double spend were included in another block, effectively making the transaction most likely never confirm. Will bitcoind realize this or still report the double sent incoming transaction?
Jump to: