Bitcoin Forum
November 09, 2024, 07:19:14 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why do the exchanges use temporary deposit addresses?  (Read 1414 times)
thomkaufmann (OP)
Newbie
*
Offline Offline

Activity: 51
Merit: 0


View Profile
June 11, 2011, 06:47:31 PM
 #1

If the bitcoin server is able to generate addresses for each user's account, why do the exchange sites use temporary addresses?
Thanks in advance.
sublimnl
Member
**
Offline Offline

Activity: 96
Merit: 10


View Profile
June 11, 2011, 06:49:20 PM
 #2

It makes tracking the deposit, or in my case a purchase, to ensure the full amount was received and confirmed. Also makes it easier to keep a ledger of all transactions by their unique id's so you can handle bookkeeping more efficiently - it's like each address is a receipt basically.
ahtremblay
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


Live Stars - Adult Streaming Platform


View Profile
June 11, 2011, 07:19:46 PM
 #3

It makes tracking the deposit, or in my case a purchase, to ensure the full amount was received and confirmed. Also makes it easier to keep a ledger of all transactions by their unique id's so you can handle bookkeeping more efficiently - it's like each address is a receipt basically.

You can still do al lof that with the address you send the funds to, even if you dont control the address.

Ian Maxwell
Full Member
***
Offline Offline

Activity: 140
Merit: 101



View Profile WWW
June 11, 2011, 08:15:49 PM
 #4

If the bitcoin server is able to generate addresses for each user's account

What bitcoin server?

Quote
why do the exchange sites use temporary addresses?

Because it's best practice for any business. It allows the receiver to say, "These 10 bitcoins were sent in payment of this invoice," because that invoice listed that address for payment.

Ian Maxwell
PGP key | WoT rating
thomkaufmann (OP)
Newbie
*
Offline Offline

Activity: 51
Merit: 0


View Profile
June 11, 2011, 08:32:06 PM
 #5

If the bitcoin server is able to generate addresses for each user's account

What bitcoin server?

Quote
why do the exchange sites use temporary addresses?

Because it's best practice for any business. It allows the receiver to say, "These 10 bitcoins were sent in payment of this invoice," because that invoice listed that address for payment.

Thanks all for the responses.

bitcoind listtransactions <account>

That command will show you all of the transactions for user with account = <account>. So you can see exactly what deposits came in for that user.
It just seems odd that these exchanges would need additional management for depositing into the account. Why not just use bitcoin's existing functionality? In addition, expiring temporary addresses for end users seem clunky. Would an end user not prefer to have a permanent address to which they can send BTC to their exchange account?

koin
Legendary
*
Offline Offline

Activity: 873
Merit: 1000


View Profile
June 12, 2011, 12:05:41 AM
 #6

Would an end user not prefer to have a permanent address to which they can send BTC to their exchange account?

some will treat it that way, and maybe their loss is the ewallet owner's gain?  like a tip for the sweeper that finds loose change on the carpet after all the customers have left?

or perhaps those addresses are re-used in the future so that it makes it harder to simply assume that all funds sent to a single address went to a single account?

Stephen Gornick
Legendary
*
Offline Offline

Activity: 2506
Merit: 1010


View Profile
June 12, 2011, 07:57:41 AM
 #7

Would an end user not prefer to have a permanent address to which they can send BTC to their exchange account?

  Ah ha!
  Simply appears to be a design issue.  By expiring addresses after a certain amount of time those expired addresses no longer clog up the list that is used to determine which account the funds received should go to.  This is an easily solved problem so perhaps the exchange will at some point allow addresses to be static and available for re-use.
 - http://forum.bitcoin.org/index.php?topic=15157.msg205605#msg205605

Unichange.me

            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █
            █


just_someguy
Full Member
***
Offline Offline

Activity: 125
Merit: 100


View Profile
June 12, 2011, 12:43:54 PM
 #8

I can't speak to why someone else would do it but there are two reasons I would:

1. It makes maintenance easier.

Instead of locking yourself into maintaining a single ever expanding wallet.dat file forever you can refresh it occasionally. You can point new orders to a new install, wait 24 hours, transfer the funds from the old wallet to the new and have a trimmed down wallet.dat.

2. Security.

I think people are crazy for having a direct link between their web server and Bitcoin JSON-RPC.
If you are just accepting payments through bitcoin there is no reason to do this.
Instead you pre-generate 10,000 keys and take the wallet offline.
Load the addresses for these keys into a database and lock the private portion in a safe.
Now you can rotate the receiving addresses for whatever you receiving target window happens to be without risking someone breaking in to your wallet.
You could reuse these addresses forever without ever exposing your private key until you want to send.

If you trust it you can even verify payments totally offline by checking against blockexplorer.

(IMO, an open source block explorer would be one of the greatest security enhancements that could be made to bitcoin commerce.)
thomkaufmann (OP)
Newbie
*
Offline Offline

Activity: 51
Merit: 0


View Profile
June 12, 2011, 06:30:03 PM
 #9

I can't speak to why someone else would do it but there are two reasons I would:

1. It makes maintenance easier.

Instead of locking yourself into maintaining a single ever expanding wallet.dat file forever you can refresh it occasionally. You can point new orders to a new install, wait 24 hours, transfer the funds from the old wallet to the new and have a trimmed down wallet.dat.

2. Security.

I think people are crazy for having a direct link between their web server and Bitcoin JSON-RPC.
If you are just accepting payments through bitcoin there is no reason to do this.
Instead you pre-generate 10,000 keys and take the wallet offline.
Load the addresses for these keys into a database and lock the private portion in a safe.
Now you can rotate the receiving addresses for whatever you receiving target window happens to be without risking someone breaking in to your wallet.
You could reuse these addresses forever without ever exposing your private key until you want to send.

If you trust it you can even verify payments totally offline by checking against blockexplorer.

(IMO, an open source block explorer would be one of the greatest security enhancements that could be made to bitcoin commerce.)

thanks, guy. I appreciate the explanation. So the final part, how do you send BTC to a user if your Bitcoin JSON-RPC is isolated from the webserver?
just_someguy
Full Member
***
Offline Offline

Activity: 125
Merit: 100


View Profile
June 12, 2011, 06:46:30 PM
 #10

Quote
thanks, guy. I appreciate the explanation. So the final part, how do you send BTC to a user if your Bitcoin JSON-RPC is isolated from the webserver?

I would have a script/program on the sending machine download the latest withdrawal requests and process them from there.
You could get close to real time depending on how often you run the script, or you could just run it once an hour after checking to make sure nothing seems out of the ordinary.

If you suspect someone has broken in you can just not run the script and they have no way of directly reaching your funds.
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!