Fully homomorphic encryption (FHE) is a form of encryption where you can do (a limited form of) computations on the decryptions of ciphertexts without decrypting those ciphertexts and looking at the decryption. The end result is an encryption of the result of those computations. You can use FHE to do searchable encryption in various ways. This typically results in a very flexible form of searchable encryption that does not leak much information, but also quite inefficient (since FHE is currently rather slow).
It is a method of performing calculations on encrypted data without decrypting them first. This offers a much-needed leeway to make use of the blockchain technology on an as-is basis. By using homomorphic encryption techniques to store data over the blockchain, a perfect balance can be created. There won’t be any significant changes in the blockchain properties. Meaning, it will still be a public blockchain. However, the data on the blockchain will be encrypted, taking care of the privacy concerns associated with public blockchains.
The use of homomorphic encryption technique will not only offer privacy protection, it will also allow ready access to encrypted data over public blockchain for auditing and other purposes. In order words, the use of homomorphic encryption to store data on public blockchain will offer the best of both public and private blockchains in one single package.
Private blockchains are still in the exploratory phase, where companies like R3 and Linux Foundation’s Hyperledger project are working on. R3 recently announced the launch of their private distributed ledger for the banking consortium called Corda. Corda is built specifically for the banking and financial sector. It is still undergoing trials.
Ethereum smart contracts using homomorphic encryption can offer similar features and greater control while keeping all the goodness of Ethereum intact.
One of the use cases of homomorphic encryption on the blockchain, as explained by Kobi Gurkan from Shield128 blockchain security platform, takes an Ethereum smart contract for managing employee expenses. In this use case, employees who do not want their peers to know about their expenses can encrypt the expense details and send it to a smart contract. The encrypted expense will then be added to the total expenses amount. In the end, when the accounts department of the company wants to analyze the expenditure can decrypt the final contract locally to get a detailed breakdown of the total expenses. It is as good as entering the details on a public ledger, but only the final authority will get to see the details. rest of the users who have access to the contract to add details will only see encrypted entries.
Ethereum and blockchain technology offers endless possibilities, with multiple ways to achieve a single goal. It is up to the developers to decide how they want to pursue it.