Greg wrote: > What about also making input prevouts filter based on the scriptpubkey being > _spent_? Layering wise in the processing it's a bit ugly, but if you > validated the block you have the data needed. AFAICT, this would mean that in order for a new node to catch up the filter index (index all historical blocks), they'd either need to: build up a utxo-set in memory during indexing, or would require a txindex in order to look up the prev out's script. The first option increases the memory load during indexing, and the second requires nodes to have a transaction index (and would also add considerable I/O load). When proceeding from tip, this doesn't add any additional load assuming that your synchronously index the block as you validate it, otherwise the utxo set will already have been updated (the spent scripts removed). I have a script running to compare the filter sizes assuming the regular filter switches to include the prev out's script rather than the prev outpoint itself. The script hasn't yet finished (due to the increased I/O load to look up the scripts when indexing), but I'll report back once it's finished. -- Laolu On Thu, May 17, 2018 at 9:37 AM Gregory Maxwell via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > On Thu, May 17, 2018 at 3:25 PM, Matt Corallo via bitcoin-dev > wrote: > > I believe (1) could be skipped entirely - there is almost no reason why > > you'd not be able to filter for, eg, the set of output scripts in a > > transaction you know about > > I think this is convincing for the txids themselves. > > What about also making input prevouts filter based on the scriptpubkey > being _spent_? Layering wise in the processing it's a bit ugly, but > if you validated the block you have the data needed. > > This would eliminate the multiple data type mixing entirely. > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >