49

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?"

6
  • It might worth linking to the bitcoin pizza to build up the Bitcoin Canon.
    – Gary
    Sep 4, 2011 at 7:14
  • 1
    Good idea, consider it done. Sep 4, 2011 at 7:35
  • 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. Oct 30, 2011 at 21:28
  • 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.
    – user2964
    Feb 18, 2013 at 1:45
  • 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.
    Feb 18, 2013 at 7:27

8 Answers 8

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.

2
  • 12
    You 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). Sep 3, 2011 at 1:35
  • 4
    That'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). Sep 3, 2011 at 9:40
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.

3
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.

0
8

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.

7
  • 3
    I 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. Sep 3, 2011 at 15:58
  • 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. Sep 3, 2011 at 16:03
  • 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? Sep 16, 2011 at 2:59
  • 1
    The 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. Sep 16, 2011 at 3:34
  • 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. Sep 19, 2011 at 3:24
1

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

Taint: https://bitcointalk.org/index.php?topic=92416.0

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.

1
  • 1
    Welcome 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? Aug 11, 2012 at 23:31
-3

Wow crazy to look back 12 years later after ordinals and see how wrong you all were. https://decrypt.co/resources/what-are-ordinals-a-beginners-guide-to-bitcoin-nfts how could you have known though right?

2
  • Hi Real Silk, welcome to Bitcoin Stack Exchange. Our site is a Q&A platform, not a forum. Answer posts need to independently answer the question that started the topic, not respond to other answers. If you want to discuss posts on this topic, you could for example link to this topic on a discussion forum, Reddit, or Stacker News. You can find an overview of how our site works here: tour. Alternatively, if you want to demonstrate how "wrong you all were", please edit your answer to explain how individual bitcoin or satoshi could be tracked to answer the question.
    – Murch
    Nov 30 at 13:42
  • 1
    Note, Ordinals does not actually track Satoshi. Yes it assigns a number to a Satoshi, but its rules for reassigning that number are arbitrary and do not correspond to real-world transactions made by normal Bitcoin wallets. Ordinals has a first-in first-out rule but normal Bitcoin wallets randomise the order of inputs and outputs which confounds this. Ordinals can only accurately track Satoshi through transactions made by Ordinals wallets. Dec 1 at 10:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.