## Is there any way to track an individual bitcoin (or satoshi)?

49

8

For example, if I wanted to "collect" important bitcoins is there any way to track a coin rather than a series of transactions? If I wanted one of the bitcoins from the infamous "Bitcoin pizza" purchase, for example, is there any way to do so?

Perhaps the question I should be asking is more like "Do bitcoins themselves even exist or just the records of transactions?"

this is a very interesting web page and I have enjoyed read­ing many of the arti­cles and posts con­tained on the web­site, keep up the good work and hope to read some more inter­est­ing con­tent in the future. Thank you so much.

– None – 2013-02-18T01:45:59.403

with one rule (assumption), it is possible. first bitcoins in, first out; means, "bitcoin users always spend BTC from their account in the same order they received it". – vi.su. – 2013-02-18T07:27:41.110

adding my previous comment as new question, to know if that would allow bitcoin tracking possible. – vi.su. – 2013-02-18T08:27:39.460

Your alternate question better explains the dynamic. Bitcoins don't "exist". They are simply values linked to addresses and transferred from one address to another. When someone informally says I have 1 BTC what they mean it I have access to the private key(s) which collectively have a balance of 1.0 BTC. – DeathAndTaxes – 2011-10-30T21:28:26.960

It might worth linking to the bitcoin pizza to build up the Bitcoin Canon. – Gary Rowe – 2011-09-04T07:14:06.680

1Good idea, consider it done. – David Perry – 2011-09-04T07:35:55.577

42

Here is a possible schema describing transactions from two addresses A and B that contain initially 50 BTC each:

     (A) 50 btc --tx1-----------------------> 25 btc (C)
\
-> 25 btc (D) --.
\
tx3--> 50 btc (*)
/
.-> 25 btc (E) --'
/
(B) 50 btc --tx2-----------------------> 25 btc (F)


There are three transactions here, and they mention only values: those transactions are stored in the block chain like:

• tx1: (input on A: 50BTC; output on D: 25BTC, output on C: 25BTC)
• tx2: (input on B: 50BTC; output on E: 25BTC, output on F: 25BTC)
• tx3: (input on D: 25BTC,  input on E: 25BTC; output on *: 50BTC)

Only global amounts are involved, not individual satoshis. Could you tell where each of the satoshis in * came from? A or B? Just impossible.

Conclusion: There is no such thing as individual satoshis, they don't have identities in the Bitcoin framework.

(And it's the same, or even worse, for bitcoins. An individual bitcoin is not well defined. It might be a grouping of smaller amounts in the same place (wallet), or at the same address, or in the same transaction, but at a given point in time.)

It is however possible to track money flows between addresses, which may “dilute” into other flows, as illustrated in this answer.

12You could trace backwards and figure out what percentage of a "famous" transaction's value is in your wallet. E.g. the recipient of tx3 has 50% of (A). – gavinandresen – 2011-09-03T01:35:50.003

4That's true. In particular cases, when there has been no “merge” transactions involving outputs of a famous transaction, you could say that 100% of some coins are from this transaction. E.g. coins in (C) are 100% from (A). – Stéphane Gimenez – 2011-09-03T09:40:23.323

35

I've been playing with Gavin's "bitcointools" (again) to track what happened to the famous "pizza" Bitcoins.

It turns out that rather than being rare collector's items, the 10,000 BTC exchanged for two pizzas have spread out to over a million different Bitcoin addresses since buying the pizzas, not counting the dilute fragments that ended up in transaction fees.

As of block 166149, on Feb 10th 2012, 1,037,382 addresses have held the pizza coins since they were spent. 174,584 of those still hold pizza coins (the others may or may not be empty addresses, since it's possible to have two different transactions output to the same address without the coins becoming mixed together. In other words it's possible to have "pizza coins" and "non pizza coins" in the same address and still be able to tell which are which. Of the approximately 600k addresses which are currently holding funds, around 29% of them contain pizza coins.

The shortest chain of transactions from the pizza purchase to currently held pizza coins has length 9, and the longest has length 6,723.

There is no currently unredeemed output which contains 100% pure pizza coins. All the pizza coins have been diluted somewhat with other coins. The purest remaining are these 100 BTC which are 90.7276% pure pizza coin, and just 11 transactions separated from the pizza transaction. (The most recent 9 transactions each only have 1 input, so it's easy to follow it back that far. In the next transaction back the pizza coins came from both the last but one input, worth 4223 BTC, and 5th from last input, worth 5777. Together those 2 inputs make up the full 100% pure 10k BTC pizza coins. The other inputs in this big transaction, worth 1022 BTC in total are the only non pizza coins introduced. 10000 * 100 / 11022 = 90.7276%, the purity).

I also checked my wallet to see if I was holding any pizza coins. 8 of my addresses are holding pizza coins, but very diluted. My 'strongest' has a purity of 1.1760%, and is a tiny withdrawal I made from MtGox in October 2011.

Finally, here's some data showing the month-by-month spread of the pizza coins:

pizza payment of 10000.00000000 BTC to 17SkEw2md5avVNyYgj6RiXuQKNwkXaxFyQ
is in block 57043

-block  --date--  --total--   ---used--%total-   -active---%total---%used-
58815  May 2010          4         2 (50.00%)         4  100.00%  200.00%
63561  Jun 2010          4         2 (50.00%)         0    0.00%    0.00%
71436  Jul 2010         26         8 (30.77%)        24   92.31%  300.00%
77452  Aug 2010         34        10 (29.41%)        13   38.24%  130.00%
82997  Sep 2010        138        37 (26.81%)       106   76.81%  286.49%
88892  Oct 2010      2,016       265 (13.14%)     1,898   94.15%  716.23%
94801  Nov 2010      6,295       577 ( 9.17%)     4,428   70.34%  767.42%
100409  Dec 2010      7,510       835 (11.12%)     1,464   19.49%  175.33%

-block  --date--  --total--   ---used--%total-   -active---%total---%used-
105570  Jan 2011     13,271     1,540 (11.60%)     6,150   46.34%  399.35%
111136  Feb 2011     19,055     2,632 (13.81%)     6,423   33.71%  244.03%
116038  Mar 2011     42,027     5,605 (13.34%)    24,341   57.92%  434.27%
121126  Apr 2011     69,544     9,085 (13.06%)    29,727   42.75%  327.21%
127865  May 2011    123,997    26,032 (20.99%)    57,911   46.70%  222.46%
134121  Jun 2011    249,138    54,047 (21.69%)   132,348   53.12%  244.88%
139035  Jul 2011    382,845    93,928 (24.53%)   146,156   38.18%  155.60%
143408  Aug 2011    494,140   108,340 (21.92%)   126,134   25.53%  116.42%
147565  Sep 2011    589,942   119,491 (20.25%)   111,178   18.85%   93.04%
151314  Oct 2011    680,787   131,370 (19.30%)   105,320   15.47%   80.17%
155451  Nov 2011    780,292   142,302 (18.24%)   114,013   14.61%   80.12%
160036  Dec 2011    885,172   156,321 (17.66%)   120,631   13.63%   77.17%

-block  --date--  --total--   ---used--%total-   -active---%total---%used-
164780  Jan 2012    998,087   170,082 (17.04%)   136,985   13.72%   80.54%

166149  Feb 2012  1,037,382   174,584 (16.83%)    54,346    5.24%   31.13%
`

Edit: I just found these 100% pure allinvain coins - undiluted after 24 hops from when 25k BTC was stolen from his computer.

Edit 2: I don't mean to imply that the allinvain coins haven't been thoroughly looted. They have touched 755,796 different addresses since being stolen and are currently sitting in 109,235 different addresses, including 8 from my own personal wallet. The exact same 8 as have pizza coins in them, it turns out.

2Nice analysis!! – ripper234 – 2012-02-10T14:15:15.880

It's possible the AllInVein coins are waiting for better mixing services. – ripper234 – 2012-02-10T14:16:12.187

@Chris, https://blockexplorer.com/t/A7RS7vqSx1 is 404.

– Pacerier – 2016-02-21T15:52:48.800

10

This is actually similar to the "Can a bitcoin be counterfeited?" question.

The answer is no, because as you seemed to hint at, there is no such thing as a bitcoin. There is simply a transaction list, that has consensus around it, where no wallets are ever allowed to go negative.

7

The simplest way to understand why the answer is "no" is to understand a very basic concept about Bitcoin transactions:

Each transaction (except generating transactions) has one or more "inputs" that pull in Bitcoins. And each transaction has one or more "outputs" that offer those Bitcoins.

In the transaction itself, all the Bitcoins pulled in form a pile. There is no way to track a particular input to a particular output, nor is that meaningful.

Imagine a transaction pulls in 25 Bitcoins from one place and 25 Bitcoins from another place and then sends out 10 Bitcoins to each of five different places. What does it mean to ask which input the coins in a particular output came from?

Bitcoins are more like account balances than pennies. If you put 10 pennies in a pile and give 1 out, you can ask which penny they got. But if you deposit two $10 checks and then withdraw$5, which check did that \$5 come from? It's not even a meaningful question.

What is the use case for this transaction which takes 10 + 90 -> 60 + 40? I realize that Bitcoin supports multiple inputs/outputs, but does the standard client even support transactions without more than one spend plus one 'change' address? – Andrew Jones – 2011-09-16T02:59:06.393

1The use case would be paying 60 Bitcoins to one person and 40 to another with no change. The standard client has 'sendmany', but there's no GUI support for it. – David Schwartz – 2011-09-16T03:34:01.803

1@DavidSchwartz I realize that the actual transaction sends 60 bitcoins to one person, and 40 to another with no change. I was just trying to analogize this transaction to a real transaction in the economy, whereby two people are paid at once. I suppose there are some examples, but it is generally not the way we think about things in a world that considers almost all transactions as the atomic transfer of value from sender to recipient. – Andrew Jones – 2011-09-19T03:24:49.703

While you can cram some Bitcoin transactions into that model, it may or may not reflect the economic reality of the transactions. – David Schwartz – 2011-09-19T08:04:57.110

@AndrewJones, It's done not because there's a real use case behind it, but that from a maths POV, it's "easier" to do it that way. – Pacerier – 2016-02-21T16:04:39.407

3I like the check analogy. Though, what Gavin suggested in the comment below my answer is that, for example, in a (input:10, input:90; output:60, output:40) transaction, one could consider that 10% of both outputs came from the first input and 90% from the second input. Similarly, 60% of both inputs were sent to the first output and 40% to the second output. Of course, it's quite and arbitrary point of view, but it might be interesting to use it to come up with some coin-flow analysis. – Stéphane Gimenez – 2011-09-03T15:58:44.177

And that's the sense in which you can track Bitcoins. In that sense, you can track every Bitcoin all the way back to the block rewards it comes from. – David Schwartz – 2011-09-03T16:03:17.377

1

You might want to have a look at the concepts of "taint" and "colored coins". You can start here:

Colored Coins: https://bitcointalk.org/index.php?topic=106373.0

1

If you know the TX number, you can go to blockchain.info, search the TX number, click "View Tree Chart" and a tree chart will show up and you can click on the yellow/orange circles. That is how I found out a bitcoin I sent to an exchange ended up plying ping-pong with SatoshiDice.

-1

A "bitcoin" is an individual output of a transaction. It is a "coin", because it is not possible to spend only a part of it and somehow leave the rest resting in your wallet, hanging off the transaction it came from.

A transaction can be viewes as this: take these "bitcoins", melt them, mint new ones according to the specifications provided by me and distribute them as I am instructing. Each transaction destroys the bitcoins that are its inputs and produces bitcoins that are its outputs. The "transaction fees" are like "unused raw material" which returns back to the "ground" and can only be extracted back as a coin by mining.

This is similar to real physical coins - the cashier can't take a half of your 50 cent coin when your bill says you only owe 25 cents, he only can take the whole 50 cent coin and give you a 25 coin back to get rid of the excess payment of yours. Similarly if you have only 50 BTC coin on your account, and you want to pay 5 BTC, you (or, more specifically, your BTC client) must "melt" the 50 BTC coin to create a 5 BTC and a 45 BTC coin before it can give the 5 BTC to the destination address you specified. And this is also why you have to specify a destination for the 45 BTC coin as well (otherwise the 45 BTC will turn into "raw unmined bitcoin material" which is not directly usable and must be mined).

So the answer is "yes". A bitcoin starts its existence at an output of a transaction and continues its existence until it enters an input of a transaction. When the bitcoin entered another transaction, it no longer exists; the outputs of that another transaction are completely different bitcoins.

1Welcome to bitcoin.stackexchange! I don't think that's the standard definition of a "bitcoin" though; instead, I think a "bitcoin" is 1BTC. Can you describe that in a better way? – Highly Irregular – 2012-08-11T23:31:13.443