<div dir="ltr"><div><div><div><div><div><div><div>This has been discussed before.<br><br><a href="https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008101.html">https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008101.html</a><br><br></div>including a list of nice to have features by Maxwell<br><br><a href="https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008110.html">https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-May/008110.html</a><br><br></div></div></div></div>You meet most of these rules, though you do have to download blocks from multiple peers.<br><br></div>The suggestion in that thread were for a way to compactly indicate which blocks a node has.  Each node would then store a sub-set of all the blocks.  You just download the blocks you want from the node that has them.<br><br></div>Each node would be recommended to store the last few days worth anyway.<br></div>