1 2016-05-08 00:55:47 0|guest3423423|why do we need undo information again?
2 2016-05-08 00:55:56 0|belcher|for reorgs
3 2016-05-08 00:56:02 0|belcher|i believe
4 2016-05-08 00:56:07 0|sipa|correct
5 2016-05-08 00:56:09 0|guest3423423|but there's already raw block data
6 2016-05-08 00:56:25 0|sipa|raw block data does not tell you which outputs were spent by the block
7 2016-05-08 00:56:32 0|sipa|only which ones were added
8 2016-05-08 00:56:43 0|sipa|a block is a 'forward patch' to the UTXO set
9 2016-05-08 00:56:48 0|sipa|the undo data is a reverse patch
10 2016-05-08 00:58:28 0|guest3423423|but block's transations tell you that, no?
11 2016-05-08 00:58:35 0|sipa|no
12 2016-05-08 00:58:51 0|guest3423423|prevout?
13 2016-05-08 00:58:51 0|sipa|you have a transaction A which creates a output A1
14 2016-05-08 00:59:01 0|sipa|that tells you the hash and index which is being spent
15 2016-05-08 00:59:06 0|sipa|not the contents of the UTXO
16 2016-05-08 00:59:13 0|sipa|(the scriptPubKey and amount)
17 2016-05-08 00:59:30 0|sipa|you need to be able to restore the scriptPubKey and amount to the UTXO database
18 2016-05-08 00:59:31 0|guest3423423|of, so to avaoid indexing all the txs, we keep undo data only?
19 2016-05-08 00:59:47 0|sipa|we don't index any txn at all
20 2016-05-08 00:59:59 0|sipa|there is just a separate database with only the unspent transaction outputs
21 2016-05-08 01:00:07 0|sipa|not full transactions, not an index
22 2016-05-08 01:00:11 0|guest3423423|txindex flag, could tell you where to look it up and figure out the amounts etc
23 2016-05-08 01:00:11 0|sipa|just copies of the outputs
24 2016-05-08 01:00:25 0|sipa|that was used until bitcoin 0.7, and it became horrendously slow
25 2016-05-08 01:00:35 0|guest3423423|so it is an optimization after all?
26 2016-05-08 01:00:37 0|sipa|as you'd need to go seek all over you disk to gather all the inputs
27 2016-05-08 01:00:42 0|guest3423423|yes
28 2016-05-08 01:00:51 0|sipa|yes
29 2016-05-08 01:01:00 0|sipa|it's how the database layout is designed
30 2016-05-08 01:01:02 0|guest3423423|great. makes sense. i thought i was going crazy over this
31 2016-05-08 01:01:07 0|sipa|alternatives are certainly possible
32 2016-05-08 01:01:20 0|sipa|but they're very different
33 2016-05-08 01:01:41 0|guest3423423|that answers my question. stackoverflow could use a patch :-)
34 2016-05-08 01:01:45 0|guest3423423|to make this clearer
35 2016-05-08 01:01:50 0|sipa|link?
36 2016-05-08 01:02:46 0|guest3423423|one moment
37 2016-05-08 01:05:07 0|guest3423423|http://bitcoin.stackexchange.com/questions/32716/what-exactly-are-the-rev00000-dat-files
38 2016-05-08 01:12:01 0|guest3423423|by the way folks, when should slack be used vs freenode?
39 2016-05-08 01:12:13 0|sipa|slack is for development
40 2016-05-08 01:12:18 0|sipa|eh, freenode is
41 2016-05-08 01:12:23 0|sipa|slack is for the rest
42 2016-05-08 01:12:48 0|guest3423423|the rest?
43 2016-05-08 01:14:27 0|moli|slack is for drama
44 2016-05-08 01:14:40 0|guest3423423|that explains it :-)
45 2016-05-08 01:15:37 0|guest3423423|sipa: who do I send my job application to?
46 2016-05-08 09:00:20 0|GitHub47|[13bitcoin] 15theuni opened pull request #8023: RFC: Interruptible threads (06master...06interruptible-thread) 02https://github.com/bitcoin/bitcoin/pull/8023