On Fri, Dec 21, 2018 at 11:17:12PM -0500, Theodore Y. Ts'o wrote: > Userspace applications which are reading the file aren't going to be > expecting Merkle tree. For example, one of the use cases is Android > APK files, which are essentially ZIP files. ZIP files can be parsed > both from the front-end (streaming), or by looking for the complete > directory of all of the files in the ZIP file by starting at the end > of the file and moving backwards. If the Merkle tree was visible to > userspace programs that are opening and reading the file, it would > confuse them mightily. Pretty much every file format has the ability to put arbitrary blocks of information into a file somewhere the tools which don't know about it will skip it. For example, ZIP "includes an extra field facility within file headers, which can be used to store extra data not defined by existing ZIP specifications, and which allow compliant archivers that do not recognize the fields to safely skip them. Header IDs 0–31 are reserved for use by PKWARE. The remaining IDs can be used by third-party vendors for proprietary usage. " (Wikipedia) ELF, PNG, PDF and many other formats have the ability to put data _somewhere_. It might not be at the tail of the file, but there's somewhere to do it. (I appreciate this isn't what Linus is asking for, but I'm pointing out that this is by no means as intractable as you make it sound.)