Topic: Traceability of bitcoins & transaction fees (Read 18981 times)

sr. member
Activity: 252
Merit: 268
April 05, 2010, 05:54:46 PM
There is an API available if you build Bitcoin from source. It will be included in the next stable release of Bitcoin.

The bitcoins you generate are not generated with your bitcoin address to which people can send you bitcoins. Each pack of 50 bicoins is generated with a random address. People can see the random public key with which new bitcoins were generated, but no one but the owner knows who generated that public key. Public transactions are similar. If someone sends bitcoins, the amount of bitcoins and the public key are visible to everyone, but no one knows who the receiver is unless he reveals himself. Bitcoins can be traced to what addresses they're being sent, but there's no way of knowing who they're being sent to. The only way I can imagine tracing bitcoins, is if I sent bitcoins to a person who revealed their identity to me and then get that person to use those same bitcoins with me, possibly under a different alias or as a sting asking for him to send them for an illegal purpose or if he had changed his alias, but I somehow suspected it was the original person, then when I received those bitcoins directly back, I would know they had been from the verified person to whom I originally sent the coins. But if he sent those coins to any intermediary address in the mean time, there's no way to know to whom they were sent. And there's no very practical way to control which bitcoins the original receiver sends other than having him send all bitcoins in return. So in short, although bitcoins can be traced back to each public key they were sent to, they can not other than in one extremely contrived scenario be traced back to the owner or even the IP address of the owners.

There are only a few references to transaction fees, my guess is one or two threads. And in the thread where satoshi discusses it, he outlines pretty specifically what has to occur to generate the very small transaction fee. Each time you generate or receive bitcoins, they are bundled together. To generate the small fee, a certain large amount (which large amount satoshi specifies in the thread) of those bundles have to be re-bundled and Bitcoin tries to use as few bundles as possible. There is currently no way to see the bundles in the GUI besides manually keeping track of transactions which would be somewhat of guesswork because the exact algorithm Bitcoin uses to pick which bundles get re-bundled is unknown without looking at the code. I think in the thread I mentioned, how much the fee is and how it is calculated is answered quite thoroughly, but I think it's perfectly reasonable to request that a feature be added to Bitcoin to display the fee before bitcoins are sent.

Disclaimer: I'm not a developer, but I am familiar with the project. A few of my answers might be slightly inaccurate, but generally speaking, I think they're correct. I didn't site my sources, because I don't feel like searching through posts, but most everything I know about Bitcoin comes from this forum, the Bitcoin FAQ and the Bitcoin design paper which can be downloaded from the Bitcoin project on SourceForge.
jr. member
Activity: 37
Merit: 2
Hi all,

New user here, just set up the bitcoin software yesterday. I've been very excited about decentralised cash for some time.

Aside from some architectural issues (the GUI needs to be seperate, needs an exposed API for starting transactions for automatic webshops, make the protocol run on arbitrary ports and look like SSL to prevent filtering, etc), the solution looks good. Needs a bit more technical documentation to satisfy people's concerns though.

I have a question though regarding the traceability of the coins. Can each coin be traced back through all intermediaries? I.e., if I generate a coin now, it then passes through 100 people, can the the coin then be traced through the past 99 transactions and back to me? It seems to me that that is the way it works, but I just want to be sure. It seems that if I create many bitcoin addresses, I always see the same balance for them - if I have money on one account and wish to send to someone from a different account, will the bitcoin software then automatically pay the money from my account #1 to my account #2 and then to the recipient? This creates an easy way to leak identities that should maybe be handled differently.

I also have seen some references to transaction fees in some cases, but haven't found a clear explanation for where they apply? What specific situations will warrant a transaction fee, which mechanism decides if one should be applied and how is it ensured? What formula can we use to calculate these fees?

For the future of online money transaction! Smiley
Jump to: