A fully working read-only FUSE, backed by my own MerkleDAG structure, namely the https://github.com/hurui200320/Ariteg
By caching everything in RAM and using 2.8GB RAM at the start-up, then growing to 5.5GB when playing 12 videos at the same time (bottlenecked by the GPU's video decoder), the filesystem itself is working pretty well. The random reading is fairly good, too: sliding through the progress bar in MPV results in an almost instant response (data stored on an NVME SSD).
I would call it a day.
Also, 295GB of video files only occupied 290GB after block-level deduplication. I would argue that compressing the same data would require an infinite amount of time (my program can handle more than 50MB/s when reading and writing happen on the same disk, while 7z can only get 20MB/s) and wouldn't get a better compression ratio than this.
In case you want to know why this filesystem requires a such amount of RAM:
Because it's JAVA.