<oembed><type>rich</type><version>1.0</version><author_name>npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_name><author_url>https://nostr.ae/npub1f2nvlx49er5c7sqa43src6ssyp6snd4qwvtkwm5avc2l84cs84esecrwet</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2018-06-09&#xA;📝 Original message:&gt; So what&#39;s the cost in using&#xA;&gt; the current filter (as it lets the client verify the filter if they want to,&#xA;&#xA;An example of that cost is you arguing against specifying and&#xA;supporting the design that is closer to one that would be softforked,&#xA;which increases the time until we can make these filters secure&#xA;because it slows convergence on the design of what would get&#xA;committed.&#xA;&#xA;&gt;&gt; I don&#39;t agree at all, and I can&#39;t see why you say so.&#xA;&gt;&#xA;&gt; Sure it doesn&#39;t _have_ to, but from my PoV as &#34;adding more commitments&#34; is&#xA;&gt; on the top of every developers wish list for additions to Bitcoin, it would&#xA;&gt; make sense to coordinate on an &#34;ultimate&#34; extensible commitment once, rather&#xA;&gt; than special case a bunch of distinct commitments. I can see arguments for&#xA;&gt; either really.&#xA;&#xA;We have an extensible commitment style via BIP141 already. I don&#39;t see&#xA;why this in particular demands a new one.&#xA;&#xA;&gt;   1. The current filter format (even moving to prevouts) cannot be committed&#xA;&gt;      in this fashion as it indexes each of the coinbase output scripts. This&#xA;&gt;      creates a circular dependency: the commitment is modified by the&#xA;&gt;      filter,&#xA;&#xA;Great point, but it should probably exclude coinbase OP_RETURN output.&#xA;This would exclude the current BIP141 style commitment and likely any&#xA;other.&#xA;&#xA;Should I start a new thread on excluding all OP_RETURN outputs from&#xA;BIP-158 filters for all transactions? -- they can&#39;t be spent, so&#xA;including them just pollutes the filters.&#xA;&#xA;&gt;   2. Since the coinbase transaction is the first in a block, it has the&#xA;&gt;      longest merkle proof path. As a result, it may be several hundred bytes&#xA;&gt;      (and grows with future capacity increases) to present a proof to the&#xA;&#xA;If 384 bytes is a concern, isn&#39;t 3840 bytes (the filter size&#xA;difference is in this ballpark) _much_ more of a concern?  Path to the&#xA;coinbase transaction increases only logarithmically so further&#xA;capacity increases are unlikely to matter much, but the filter size&#xA;increases linearly and so it should be much more of a concern.&#xA;&#xA;&gt; In regards to the second item above, what do you think of the old Tier Nolan&#xA;&gt; proposal [1] to create a &#34;constant&#34; sized proof for future commitments by&#xA;&gt; constraining the size of the block and placing the commitments within the&#xA;&gt; last few transactions in the block?&#xA;&#xA;I think it&#39;s a fairly ugly hack. esp since it requires that mining&#xA;template code be able to stuff the block if they just don&#39;t know&#xA;enough actual transactions-- which means having a pool of spendable&#xA;outputs in order to mine, managing private keys, etc... it also&#xA;requires downstream software not tinker with the transaction count&#xA;(which I wish it didn&#39;t but as of today it does). A factor of two&#xA;difference in capacity-- if you constrain to get the smallest possible&#xA;proof-- is pretty stark, optimal txn selection with this cardinality&#xA;constraint would be pretty weird. etc.&#xA;&#xA;If the community considers tree depth for proofs like that to be such&#xA;a concern to take on technical debt for that structure, we should&#xA;probably be thinking about more drastic (incompatible) changes... but&#xA;I don&#39;t think it&#39;s actually that interesting.&#xA;&#xA;&gt; I don&#39;t think its fair to compare those that wish to implement this proposal&#xA;&gt; (and actually do the validation) to the legacy SPV software that to my&#xA;&gt; knowledge is all but abandoned. The project I work on that seeks to deploy&#xA;&#xA;Yes, maybe it isn&#39;t.  But then that just means we don&#39;t have good information.&#xA;&#xA;When a lot of people were choosing electrum over SPV wallets when&#xA;those SPV wallets weren&#39;t abandoned, sync time was frequently cited as&#xA;an actual reason. BIP158 makes that worse, not better.   So while I&#39;m&#xA;hopeful, I&#39;m also somewhat sceptical.  Certainly things that reduce&#xA;the size of the 158 filters make them seem more likely to be a success&#xA;to me.&#xA;&#xA;&gt; too difficult to implement &#34;full&#34; validation, as they&#39;re bitcoin developers&#xA;&gt; with quite a bit of experience.&#xA;&#xA;::shrugs:: Above you&#39;re also arguing against fetching down to the&#xA;coinbase transaction to save a couple hundred bytes a block, which&#xA;makes it impossible to validate a half dozen other things (including&#xA;as mentioned in the other threads depth fidelity of returned proofs).&#xA;There are a lot of reasons why things don&#39;t get implemented other than&#xA;experience! :)</html></oembed>