I had thought it would be possible to navigate the river of Bitcoin history via the RPC API.
For block headers, it seems, this is true:
$ getblock 000000001c920d495e1eeef2452b6d1c6c229a919b28196c103ecffebabee141
{
"hash" : "000000001c920d495e1eeef2452b6d1c6c229a919b28196c103ecffebabee141",
"confirmations" : 78106,
"size" : 647,
"height" : 50001,
"version" : 1,
"merkleroot" : "ee3a2d2b895cafacff526d06a55b55e049cf84a9735e4a63f7fd08f96d0f4649",
"tx" : [
"e1882d41800d96d0fddc196cd8d3f0b45d65b030c652d97eaba79a1174e64d58",
"7940cdde4d713e171849efc6bd89939185be270266c94e92369e3877ad89455a",
"f84761459a00c6df3176ae5d94c99e69f25100d09548e5686bd0c354bb8cc60a"
],
"time" : 1270917100,
"nonce" : 56717043,
"bits" : "1c2a1115",
"difficulty" : 6.08547691,
"previousblockhash" : "000000001aeae195809d120b5d66a39c83eb48792e068f8ea1fea19d84a4278a",
"nextblockhash" : "000000002066d7f9b134c30b5005b7bf5fbfa52f279883f1fde793dcdc964266"
}
However, should I dig deeper...
$ getrawtransaction e1882d41800d96d0fddc196cd8d3f0b45d65b030c652d97eaba79a1174e64d58
01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff080415112a1c02cc00ffffffff0100f2052a01000000434104c1b5671c8975087cc796d6ea73d2407591528b5c669106f9b6ab6ef6e373a57553e14866aaeffc44a9f58e5ee0c7faa7add7474f0a2c55a22cb40b949fdc933cac00000000
$ getrawtransaction 7940cdde4d713e171849efc6bd89939185be270266c94e92369e3877ad89455a
error: {"code":-5,"message":"No information available about transaction"}
The pattern, of course, is that the first transaction's outputs remain unspent, whereas the second transaction's coins have long since moved elsewhere.
If historical, spent transaction data can be queried via another interface in the reference client, or if there is another client that can provide it, I should very much like to know.