Why does it matter where the bytes are stored at rest? Isn't everything you need for SHA-256 just the results of the SHA-256 algorithm on every 4096-byte block? I think you could just calculate that as the data is streamed in.
Why would you PUT an object, then download it again to a central server in the first place? If a service is accepting an upload of the bytes, it is already doing a pass over all the bytes anyway. It doesn't seem like a ton of overhead to calculate SHA256 in the 4092-byte chunks as the upload progresses. I suspect that sort of calculation would happen anyways.
That's interesting. Would you want it to be something like a bucket setting, like "any time an object is uploaded, don't let an object write complete unless S3 verifies that a pre-defined hash function (like SHA256) is called to verify that the object's name matches the object's contents?"
> Someone probably told me that every cell in my body has the same DNA. But no one shook me by the shoulders, saying how crazy that was.
This is only mostly right. Every cell in your body has an astonishingly similar amount of DNA, but every cell division (and even steady state DNA repair) offers the opportunity for mutations. So your cells are all astonishingly similar, but there can be detectable differences.
One implication of this is that cells that are closer to each other in developmental history will have more similar DNA. One of my colleagues in graduate school used this to do phylogenetic lineaging, where he looked at markers in DNA from whole organisms to reason about which cells are closely related, and which cells have a more distant developmental ancestor.
Biology is super cool! I hope that everyone finds a little bit of it that they can enjoy. :)
If you didn't know, that 80% number is probably the result of Little's Law. That's the result where if your demand is generated by a Poisson process, and your service has a queue, 80% utilization of the service is where the probability of an infinite queue starts to get really high. People