Perceptual Hashes
Cryptographic hashes are unique "fingerprints" of digital files. As useful as this is, they are too unique for some applications: Change one pixel in an image, for example, and the crypto hash becomes very different. There are algorithms in the literature for creating a perceptual hash of an image. If you make small changes in the image, this produces little or no change to this perceptual type of hash. It is a way to detect "similar" images without needing to have both images in hand. Search engines such as www.tineye.com use this technique. The idea here is: If someone steals a copyrighted image, makes a small change to it, then claims it as their own, the perceptual hash of the copy would still be similar to the original. The MVRA stores a perceptual hash for every picture and texture map. You can later compare the perceptual hash of an unauthorized derivative texture and get a score indicating how close it is to the original.

MVRA is first in calculating perceptual hashes of 3D models. A perceptual hash is stored for every 3D model in your creation. Currently this is done from DAE files or mesh assets in-world in OpenSim. We plan to also work from FBX and other popular 3D file formats. However, asset and DAE are all you need to be useful in the OpenSim Metaverse for now.

We also plan to create perceptual hashes for other parts of your Metaverse creations: sound files, scripts, animations, etc.

Up to 3 hash fingerprints are stored for each item in the database: A SHA256 hash of the input file, a perceptual hash, and an OpenSim hash (the shaw256 hash of an item after conversion to the internal format).