Author

Topic: Is there a way to find if two addresses come from the same wallet? (Read 1082 times)

administrator
Activity: 5222
Merit: 13032
I am still utterly flabbergasted that this exists. bitcoind's accounts rank as one of the most epic design failures I have ever seen.

I find accounts pretty intuitive for the most common use cases. If you're running a website selling something, you can just create one bitcoind account per user on your site. Use getaccountaddress to get the address for deposits to that account, sendfrom to make withdrawals from that account, getbalance to get the account's balance, and move to move funds from one person on your site to another person on your site. No need to worry about tracking or updating addresses.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
I am still utterly flabbergasted that this exists. bitcoind's accounts rank as one of the most epic design failures I have ever seen.

Thanks for making me hate the world. ;p

To be fair the problem is not that the accounts don't work but that they serve a completely different purpose to coin control (and yes intuitively most people would tend to think of the things as being the same).

At least in 0.7 there is going to be support for "raw transactions" which will allow you complete control. Smiley
newbie
Activity: 24
Merit: 0
You're mixing up accounts and addresses.

You can use sendfrom to send from a particular account, but that doesn't change which adress(es) the payment comes from.  The concept of 'accounts' is purely accounting within your local client and doesn't affect the generated transactions at all.

If you want to send from a specific address rather than an account, you can combine it with setaccount.

I really think you're mistaken.  'bitcoind sendfrom' doesn't do what you think it does.  It debits the specified account, but uses whichever unspent outputs in your wallet fit the spent amount best* no matter which address 'owns' them.

* for a particular and somewhat weird definition of 'best'

This is such incredibly broken and counter-intuitive behaviour that I hadn't even considered that anyone in their right mind would do such a thing, even after you suggested that someone had. But I just looked it up, and you're right: accounts don't work.

I am still utterly flabbergasted that this exists. bitcoind's accounts rank as one of the most epic design failures I have ever seen.

Thanks for making me hate the world. ;p
legendary
Activity: 1106
Merit: 1004
If there is a tx which has Address A & B as inputs then you know that A & B exist in the same wallet.  Also if there is a tx which has A & C as inputs and another tx which has B & C as inputs then all 3 are from the same wallet.

And if this ever gets implemented, you won't be able to always assume that any more. Wink
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
I really think you're mistaken.  'bitcoind sendfrom' doesn't do what you think it does.  It debits the specified account, but uses whichever unspent outputs in your wallet fit the spent amount best* no matter which address 'owns' them.

* for a particular and somewhat weird definition of 'best'

This is very much correct as I also had a lot of misunderstandings about what "accounts" were when I first started playing with bitcoind.

So just remember that when "sending" an account != address and the purpose of setaccount is really only for "receiving" (and probably should not be allowed for external addresses but unfortunately I think that that is how the labels are handled).
legendary
Activity: 2940
Merit: 1333
You're mixing up accounts and addresses.

You can use sendfrom to send from a particular account, but that doesn't change which adress(es) the payment comes from.  The concept of 'accounts' is purely accounting within your local client and doesn't affect the generated transactions at all.

If you want to send from a specific address rather than an account, you can combine it with setaccount.

I really think you're mistaken.  'bitcoind sendfrom' doesn't do what you think it does.  It debits the specified account, but uses whichever unspent outputs in your wallet fit the spent amount best* no matter which address 'owns' them.

* for a particular and somewhat weird definition of 'best'
newbie
Activity: 24
Merit: 0
bitcoind has this feature in the sendfrom call.

You're mixing up accounts and addresses.

You can use sendfrom to send from a particular account, but that doesn't change which adress(es) the payment comes from.  The concept of 'accounts' is purely accounting within your local client and doesn't affect the generated transactions at all.

If you want to send from a specific address rather than an account, you can combine it with setaccount.

Code:
$ bitcoind setaccount 1BitcoinAddress temporary_account
$ bitcoind sendfrom temporary_account 1DestinationAddress 1
$ bitcoind setaccount 1BitcoinAddress old_account

Cumbersome, I know, but such is life with bitcoind.
legendary
Activity: 2940
Merit: 1333
but is there a way to statistically or by math to deduce that
two addresses come from the same private key or wallet?

blockparser can do that for you.
full member
Activity: 140
Merit: 100
legendary
Activity: 2940
Merit: 1333
bitcoind has this feature in the sendfrom call.

You're mixing up accounts and addresses.

You can use sendfrom to send from a particular account, but that doesn't change which adress(es) the payment comes from.  The concept of 'accounts' is purely accounting within your local client and doesn't affect the generated transactions at all.
legendary
Activity: 2506
Merit: 1010
The concept is called "coin control" and my understanding is that it is being worked on.  

bitcoind has this feature in the sendfrom call. If you want to send from a specific address rather than an account, you can combine it with setaccount.

The coin control capability is not yet in a released version of the Bitcoin.org client.  You'ld need to build it from source.

There are other clients that have this and this is also available from the Blockchain.info/wallet hybrid EWallet.
 - http://www.Blockchain.info/wallet
newbie
Activity: 24
Merit: 0
Thank you.
This also means that to increase anonimity the original client should include
not only 'send to' and 'amount', but also the 'send from' :- )

The concept is called "coin control" and my understanding is that it is being worked on. 

bitcoind has this feature in the sendfrom call. If you want to send from a specific address rather than an account, you can combine it with setaccount.
donator
Activity: 1218
Merit: 1080
Gerald Davis
Thank you.
This also means that to increase anonimity the original client should include
not only 'send to' and 'amount', but also the 'send from' :- )

The concept is called "coin control" and my understanding is that it is being worked on. 
newbie
Activity: 36
Merit: 0
Thank you.
This also means that to increase anonimity the original client should include
not only 'send to' and 'amount', but also the 'send from' :- )

donator
Activity: 1218
Merit: 1080
Gerald Davis
From the addresses themselves... no.

The private keys are simply random numbers.  Every address has a different private key and there is no method of correlated addresses.

You can look at transactions to determine if they are from the same wallet.

If there is a tx which has Address A & B as inputs then you know that A & B exist in the same wallet.  Also if there is a tx which has A & C as inputs and another tx which has B & C as inputs then all 3 are from the same wallet.
newbie
Activity: 36
Merit: 0
Hi again,
another newbie question:

Given two addresses found, ok,
you don't know who owns them,
but is there a way to statistically or by math to deduce that
two addresses come from the same private key or wallet?

Thank you in advance to our experts! :- )
Jump to: