<oembed><type>rich</type><version>1.0</version><author_name>npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_name><author_url>https://nostr.ae/npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-02-20&#xA;📝 Original message:Hey Adam,&#xA;&#xA;&#xA;&gt; Mike had posted a detailed response on the topic on why its complex&#xA;&gt; and becomes bandwidth inefficient to improve it usefully.&#xA;&gt;&#xA;&#xA;To clarify, we *could* improve privacy and still preserve usefully high&#xA;performance, it&#39;s just a lot of complicated programming work. You need to&#xA;find out from the OS how much bandwidth you have to play with, for example,&#xA;and do all the very complex tracking to surf the wave and keep yourself in&#xA;roughly the right place.&#xA;&#xA;The basic summary of which I think is that its not even intended to&#xA;&gt; provide any practical privacy protection, its just about compacting&#xA;&gt; the query for a set of addresses.&#xA;&gt;&#xA;&#xA;The original intent of Bloom filtering was to allow both. We want our cake&#xA;and we want to eat it.&#xA;&#xA;The protocol can still do that, with sufficiently smart clients. The&#xA;problem is that being sufficiently smart in this regard has never come to&#xA;the top of the TODO list - users are always complaining about other things,&#xA;so those things are what gets priority.&#xA;&#xA;It&#39;s not IMO a protocol issue per se. It&#39;s a code complexity and manpower&#xA;issue.&#xA;&#xA;&#xA;&gt; Its seems surprising no one thought of it&#xA;&gt; that way before (as it seems obvious when you hear it) but that seems&#xA;&gt; to address the privacy issues as the user can fetch the block bloom&#xA;&gt; filters and then scan it in complete privacy.&#xA;&#xA;&#xA;And then what? So you know the block matches. But with reasonable FP rates&#xA;every block will match at least a few transactions (this is already the&#xA;case - the FP rate is low but high enough that we get back FPs on nearly&#xA;every block). So you end up downloading every block? That won&#39;t work.&#xA;&#xA;Eventually, wallets need to stop doing linear scans of the entire block&#xA;chain to find tx data. That worked fine when blocks were 10kb, it&#39;s still&#xA;working OK even though we scaled through two orders of magnitude, but we&#xA;can imagine that if we reach 10mb blocks then this whole approach will just&#xA;be too slow.&#xA;&#xA;The main reason wallets are scanning the chain today (beyond lack of&#xA;protocol support for querying the UTXO set by script), is that they want to&#xA;show users time-ordered lists of transactions. Financial apps should show&#xA;you payment histories, everyone knows this, and without knowing roughly&#xA;when a tx happened and which inputs/outputs were mine, providing a useful&#xA;rendering is hard. Even with this data the UI is pretty useless, but at&#xA;least it&#39;s not actually missing.&#xA;&#xA;By combining Subspace and BIP70 we can finally replace the payments list UI&#xA;with actual proper metadata that isn&#39;t extracted from the block chain, and&#xA;at that point non-scanning architectures become a lot more deployable.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150220/3e911e29/attachment.html&gt;</html></oembed>