As for your first point, you should really first learn more about how IPFS handles content addressing. If you look at section 3.5 the paper[1], you see that a IPFS object consists of a free-form data field, and an arbitrary amount of links to other IPFS objects. This is a very flexible format that allows for caching.<p>You talk about a page with comments. You could (this is an example) create three &#x27;models&#x27;: a Page, a PageBody and a Comment (which &#x27;inherit&#x27; from IPFSObject). A Page would contain links to one PageBody and multiple Comment objects. Every time a comment is posted, a link is added to the Page object (so its hash changes), but the PageBody (where the majority of the page size presumably is) doesn&#x27;t have to change. All peers can keep the same PageBody cached, while the latest Page contains all the desired comments. This caching mechanism will also work for unchanged comments.<p>Every time the Page changes, its hash would be published under some IPNS name, so peers will always retrieve the latest version.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;ipfs&#x2F;papers&#x2F;raw&#x2F;master&#x2F;ipfs-cap2pfs&#x2F;ipfs-p2p-file-system.pdf" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ipfs&#x2F;papers&#x2F;raw&#x2F;master&#x2F;ipfs-cap2pfs&#x2F;ipfs-...</a>