<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:Ah, I see, I didn&#39;t catch that this scheme relies on UTXO commitments&#xA;(presumably with Mark&#39;s PATRICIA tree system?).&#xA;&#xA;If you&#39;re doing a binary search over block contents then does that imply&#xA;multiple protocol round trips per synced block? I&#39;m still having trouble&#xA;visualising how this works. Perhaps you could write down an example run for&#xA;me.&#xA;&#xA;How does it interact with the need to download chains rather than&#xA;individual transactions, and do so without round-tripping to the remote&#xA;node for each block? Bloom filtering currently pulls down blocks in batches&#xA;without much client/server interaction and that is useful for performance.&#xA;&#xA;Like I said, I&#39;d rather just junk the whole notion of chain scanning and&#xA;get to a point where clients are only syncing headers. If nodes were&#xA;calculating a script-&gt;(outpoint, merkle branch) map in LevelDB and allowing&#xA;range queries over it, then you could quickly pull down relevant UTXOs&#xA;along with the paths that indicated they did at one point exist. Nodes can&#xA;still withhold evidence that those outputs were spent, but the same is true&#xA;today and in practice this doesn&#39;t seem to be an issue.&#xA;&#xA;The primary advantage of that approach is it does not require a change to&#xA;the consensus rules. But there are lots of unanswered questions about how&#xA;it interacts with HD lookahead and so on.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150220/f8a10aca/attachment.html&gt;</html></oembed>