<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">
<div>What would this involve?<br></div><div><br>Do you know of any previous work towards this?</div></div></div></div></blockquote><div><br></div><div>Chain pruning is a fairly complicated project, partly because it spans codebases. For instance if you try and implement it <i>just</i>┬áby changing Bitcoin Core, you will break all the SPV clients based on bitcoinj (i.e. all of them). Big changes to the P2P network like this require upgrading both codebases simultaneously.</div>
<div><br></div><div>I think things like this may be why Gavin is now just &quot;chief scientist&quot; instead of Core maintainer - in future, the changes people need will span projects and require fairly significant planning.</div>
<div><br></div><div>From a technical perspective, it means extending addr broadcasts so nodes broadcast how much of the chain they have, and teaching both Core and bitcoinj how to search for nodes that have enough of the chain for them to use. Currently bitcoinj still doesn&#39;t use addr broadcasts at all, there&#39;s an incomplete patch available but it was never finished or merged. So that has to be fixed first. And that probably implies improving Bitcoin Core so the results of getaddr are more usable, ideally as high quality as what the DNS seeds provide, because if lots of bad addresses are returned this will slow down initial connect time, which is an important performance metric.</div>
<div><br></div><div><br></div></div></div></div>