<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:2014-03-27&#xA;📝 Original message:&gt;&#xA;&gt; One issue that I have is bandwidth: Electrum (and mycelium) cannot&#xA;&gt; watch as many addresses as they want, because this will create too&#xA;&gt; much traffic on the servers. (especially when servers send utxo merkle&#xA;&gt; proofs for each address, which is not the case yet, but is planned)&#xA;&gt;&#xA;&#xA;This is surprising and the first time I&#39;ve heard about this. Surely your&#xA;constraint is CPU or disk seeks? Addresses are small, I find it hard to&#xA;believe that clients uploading them is a big drain, and mostly addresses&#xA;that are in the lookahead region won&#39;t have any hits and so won&#39;t result in&#xA;any downloads?&#xA;&#xA;This constraint is not so important for bloom-filter clients.&#xA;&#xA;&#xA;Bloom filters are a neat way to encode addresses and keys but they don&#39;t&#xA;magically let clients save bandwidth. A smaller filter results in less&#xA;upload bandwidth but more download (from the wallets perspective). So I&#39;m&#xA;worried if you think this will be an issue for your clients: I haven&#39;t&#xA;investigated bandwidth usage deeply yet, perhaps I should.&#xA;&#xA;FWIW the current bitcoinj HDW alpha preview pre-gens 100 addresses on both&#xA;receive and change branches. But I&#39;m not sure what the right setting is.&#xA;&#xA;We also have to consider latency. The simplest implementation from a&#xA;wallets POV is to step through each transaction in the block chain one at a&#xA;time, and each time you see an address that is yours, calculate the next&#xA;ones in the chain. But that would be fantastically slow, so we must instead&#xA;pre-generate a larger lookahead region and request more data in one batch.&#xA;Then you have to recover if that batch ends up using all the pre-genned&#xA;addresses. It&#39;s just painful.&#xA;&#xA;&#xA;&gt; My opinion, as far as Electrum is concerned, is that merchant accounts&#xA;&gt; should behave differently from regular user accounts: While merchants&#xA;&gt; need to generate an unlimited number of receiving addresses, it is also&#xA;&gt; acceptable for them to have a slightly more complex wallet recovery&#xA;&gt; procedure&#xA;&gt;&#xA;&#xA;Maybe. I dislike any distinction between users and merchants though. I&#xA;don&#39;t think it&#39;s really safe to assume merchants are more sophisticated&#xA;than end users.&#xA;&#xA;&#xA;&gt; but also because we want fully automated synchronization between different&#xA;&gt; instances of a wallet, using only no other source of information than&#xA;&gt; the blockchain.&#xA;&gt;&#xA;&#xA;I think such synchronization won&#39;t be possible as we keep adding features,&#xA;because the block chain cannot sync all the relevant data. For instance&#xA;Electrum already has a label sync feature. Other wallets need to compete&#xA;with that, somehow, so we need to build a way to do cross-device wallet&#xA;sync with non-chain data.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20140327/41aaeab9/attachment.html&gt;</html></oembed>