Period: Jan-April 2022
Given our daily use of facial recognition to unlock smartphones, is there a way to extend this technology to the web to access any services on the internet while maintaining user anonymity? Previous research has demonstrated the possibility of constructing realistic faces from deep embeddings. Therefore, simply storing the embedding in open database would readily reveal a user's identity. We must encrypt the embeddings, but this alone is insufficient. For face identification, we later need to perform distance calculations between embeddings. Performing such calculations on encrypted data poses a significant challenge. Homomorphic cryptosystems are a special class of crytosystems that allow basic arithmetic operations over encrypted data. Bitcoin's OP_RETURN opcode allows storing up to 80 bytes of data on the blockchain. This enables us to easily store the encrypted embedding. Since making such transactions costs bitcoins, it incentivizes the creation of authentic users. The transaction ID becomes the user ID, allowing the verifier to retrieve the data from the blockchain and perform verification. However, the verifier cannot independently verify user authenticity, which is crucial for the system's functionality. This limitation necessitates advancements in homomorphic cryptosystems.
As this project transitions into a research endeavor, I will defer the remaining work for future exploration. I'm not releasing the full source code at this moment. Checkout the initial website.