Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: MrKain on May 13, 2013, 08:51:43 PM



Title: bitcoind and who sent ?
Post by: MrKain on May 13, 2013, 08:51:43 PM


Hi,

Simple enough question -

Is there a way to determine who sent me some money - can I find which bitcoin address was
the sender ?

MK

Thanks


Title: Re: bitcoind and who sent ?
Post by: MrKain on May 13, 2013, 09:00:10 PM

 I see this question has been asked before -

What I'd like to know, is how does the site 'satoshi dice' determine ( and quickly ),
what your address is , so that it can pay you if you win ?



Title: Re: bitcoind and who sent ?
Post by: Knecke on May 13, 2013, 09:01:56 PM
the address which you have sent from is the address where they will return the wins/loses


Title: Re: bitcoind and who sent ?
Post by: MrKain on May 14, 2013, 01:06:10 AM

 I notice most people have a signature on this forum with
a bitcoin address for donations -

 How would one know , who sent the donation ?



Title: Re: bitcoind and who sent ?
Post by: grue on May 14, 2013, 01:59:56 AM

 I notice most people have a signature on this forum with
a bitcoin address for donations -

 How would one know , who sent the donation ?


you can know which address sent the donation, but it's hard to tie the address to a specific entity. a wallet has multiple addresses that are independent of each other. even if you know a person's public address, but he may have other addresses under his control.


Title: Re: bitcoind and who sent ?
Post by: MrKain on May 14, 2013, 02:45:33 AM


Not sure what you mean by entity -

I don't want to know who the actual sender is ( i.e name, or location ) -

just want to know the bitcoin address they sent from , - so I know
who sent me what , when and for how much -



Title: Re: bitcoind and who sent ?
Post by: DannyHamilton on May 14, 2013, 03:52:04 AM
Most wallets will let you have more than one address.  The easiest (and correct) way to do this is to give each person a separate bitcoin address to pay you. Since you can see which address gets paid, you'll know who paid you (since you'll have kept a list for yourself of which payment address you gave out to each person.  Even better yet give out a new address for every transaction. Then you can tell exactly which transaction was paid.

The method that SatoshiDice uses is a hack that is unreliable.  It is not recommended and is generally a bad idea.  I believe that they wrote their own software to support their model.


Title: Re: bitcoind and who sent ?
Post by: Jaxkr on May 17, 2013, 04:49:16 AM
Most wallets will let you have more than one address.  The easiest (and correct) way to do this is to give each person a separate bitcoin address to pay you. Since you can see which address gets paid, you'll know who paid you (since you'll have kept a list for yourself of which payment address you gave out to each person.  Even better yet give out a new address for every transaction. Then you can tell exactly which transaction was paid.

The method that SatoshiDice uses is a hack that is unreliable.  It is not recommended and is generally a bad idea.  I believe that they wrote their own software to support their model.
Yeah. What SDIce does is looks at the input of the TX, and sends the prize to the same address.


Title: Re: bitcoind and who sent ?
Post by: Terk on May 17, 2013, 06:56:42 AM
The method that SatoshiDice uses is a hack that is unreliable.  It is not recommended and is generally a bad idea.  I believe that they wrote their own software to support their model.

Out of curiosity, why it's not reliable? What's wrong and unreliable in decoding raw transaction and checking addresses that the inputs came from? Of course assuming that your app is not lame and won't crash with coinbase transactions (and treat such transaction as a donation).


Title: Re: bitcoind and who sent ?
Post by: DannyHamilton on May 17, 2013, 12:20:23 PM
The method that SatoshiDice uses is a hack that is unreliable.  It is not recommended and is generally a bad idea.  I believe that they wrote their own software to support their model.

Out of curiosity, why it's not reliable? What's wrong and unreliable in decoding raw transaction and checking addresses that the inputs came from? Of course assuming that your app is not lame and won't crash with coinbase transactions (and treat such transaction as a donation).

What happens if someone sends you bitcoins from MtGox, or from Coinbase.com, or from BTC-e, or from campBX?  What happens if someone sends you coins through a mixer, or if they use "shared send" from blockchain.info?  If the previously received coins were received as an M of N transaction output or a multisig transaction output?


Bitcoin doesn't have the concept of a "sending address" in the protocol.  Some people (such as SatoshiDice) have chosen to take a situation that is very common (spending a common output type from a wallet you control) and build an interface on the assumption that they can rely on that very common situation.  That doesn't make it reliable, and it isn't the right way to do it.


Title: Re: bitcoind and who sent ?
Post by: Terk on May 17, 2013, 01:01:40 PM
What happens if someone sends you bitcoins from MtGox, or from Coinbase.com, or from BTC-e, or from campBX?  What happens if someone sends you coins through a mixer, or if they use "shared send" from blockchain.info?

That is simply their problem. If they do that when sending to a service which is known to make return transactions to the same address which the coins went from, then it's just their misusage.

Bitcoin is full of conventions which you need to follow, because if you don't, you screw things up. Take these paper wallets for example and people launching Ubuntu Live to spend money from them. They send 2 BTC out of 10 BTC balance and put their wallet back into secure vault, not knowing that their 8 BTC change also left their paper wallet and have been lost forever with the deleted linux instance.

People need some knowledge to use bitcoins, and I think that understanding “you need to send coins from your own wallet which you control, because we will send some coins back to the same address” is actually much, much easier and more natural to understand than understanding the change concept (which also isn't that hard, but harder).

Bitcoin doesn't have the concept of a "sending address" in the protocol.  Some people (such as SatoshiDice) have chosen to take a situation that is very common (spending a common output type from a wallet you control) and build an interface on the assumption that they can rely on that very common situation.  That doesn't make it reliable, and it isn't the right way to do it.

Of course bitcoin doesn't have such concept, but that doesn't mean that we cannot create it as an abstraction on top of the protocol. Does bitcoin protocol have the “change” concept? I am not aware of that. On the protocol level there are just outputs. It's the client software what introduced “change” as an abstract concept. You can't argue “returning addresses” telling that it's an abstract concept that doesn't exist on the protocol level and use at the same time use “change” term which is as much abstract as the returning address.

I am fully aware of limitations of return address concept, but they don't make it wrong. Take the example of that paper wallet which someone want to spend partially from a throwaway Bitcoin-qt instance - it also have limitations which can loose you money if you don't understand them. Does that make the paper wallets concept wrong? No, you simply need to know how to use it. It's the same with return addresses. You need to know how to use it (not sending from MtGox, etc).


Title: Re: bitcoind and who sent ?
Post by: DannyHamilton on May 17, 2013, 03:06:41 PM
Does bitcoin protocol have the “change” concept? I am not aware of that. On the protocol level there are just outputs. It's the client software what introduced “change” as an abstract concept.

I'm pretty sure that the Satoshi Whitepaper lays out the concept of change in the design of bitcoin in Section 9. where it says:

Quote
To allow value to be split and combined, transactions contain multiple inputs and outputs. Normally there will be either a single input from a larger previous transaction or multiple inputs combining smaller amounts, and at most two outputs: one for the payment, and one returning the change, if any, back to the sender.

Furthermore, I'm pretty sure that the Satoshi Whitepaper lays out the concept of not re-using addresses and every transaction using a new address in Section 10. where it says:

Quote
a new key pair should be used for each transaction


Personally, I don't see much difference between users not understanding the way bitcoin is designed to work and developers/merchants not understanding the way bitcoin is designed to work.  Although in the first case, the user is responsible for their own loss of coins, whereas in the second case the developer/merchant deserves some responsibility for failing to use bitcoin as intended.


Title: Re: bitcoind and who sent ?
Post by: Terk on May 17, 2013, 04:12:46 PM
I'm pretty sure that the Satoshi Whitepaper lays out the concept of change in the design of bitcoin in Section 9.

Still, there is no such thing as change on the protocol level, it's only in the description of how things work. It is a purely abstract concept and to use your words, bitcoin doesn't have the concept of “change” in the protocol. There are no “main output” and “change output” fields in a decoded transaction. We already use so many abstract concepts that are not in the protocol. And if you bring out the whitepaper to show that the “change” word exists in the description, well, take the wallet concept. It's purely abstract, it's not in the protocol and it's not in the whitepaper. Do you object using the wallet concept in bitcoin clients?

I'm just trying to have an open mind. Bitcoin isn't a religion and the original whitepaper isn't some holy book. No technology will last forever and every technology needs to evolve to adapt and to last longer by being more useful and by being useful longer. There have been changes to the bitcoin protocol already and there will be more. It's a good thing. And using a “return address” abstract isn't even changing the protocol at all. It can be applied to a subset of transactions to give them some new possibilities. There is no reason why you shouldn't use it where it's possible, if you like the features it enables. You just need to understand its limitations. Not re-using key pairs isn't a hard protocol rule. It's merely a guideline recommended to those who want more privacy. If someone doesn't need that level of privacy, but could use the convenience that comes with the return address concept, why don't let them use it?

I agree that it's wrong to think that “a bitcoin transaction has a from address”. But it's perfectly right to claim that “in some cases you can determine the address which was previous owner of the coins sent in a transaction and which private key was used to sign the transaction”. If you can identify it, why not use it for a return transaction if the owner of that address agrees to do so?


Title: Re: bitcoind and who sent ?
Post by: DannyHamilton on May 17, 2013, 04:17:38 PM
Not re-using key pairs isn't a hard protocol rule. It's merely a guideline recommended to those who want more privacy.

And security.


Title: Re: bitcoind and who sent ?
Post by: Terk on May 17, 2013, 04:23:16 PM
Not re-using key pairs isn't a hard protocol rule. It's merely a guideline recommended to those who want more privacy.

And security.

At some point in the future when/if quantum computing will be able to crack public key -> private key.


Title: Re: bitcoind and who sent ?
Post by: LvM on May 20, 2013, 10:18:00 PM
Bitcoin doesn't have the concept of a "sending address" in the protocol.

Thats certainly the reason why all blockexplorers can display the sending addresses.
Always From ==>> To
They got it from heaven.


Title: Re: bitcoind and who sent ?
Post by: LvM on May 20, 2013, 10:20:15 PM

Bitcoin isn't a religion and the original whitepaper isn't some holy book.


Sorry,
Bitcoin IS a religion and Satoshi Nakamotos whitepaper IS a holy book,
parroted, promulgated and slavishly followed with its crazy "cash" idea like a bible everywhere.

https://en.bitcoin.it/wiki/Change