Facebook as of late asked several dominant banks in the US like Chase and JPMorgan to share detailed financial information about users in order to offer more services through Facebook messenger or facebook itself; that to increase engagement. Now these talks a real privacy concern and it should matter because if it happens Facebook would know more about your personal life than it already does plus the financial information is considered private personal information and should not be shared with third parties. Some of the banks Facebook was talking to withdrew from the talks mainly respecting the privacy of its users. Now this attitude of declining anything the touches the privacy of users; if enforced on all companies we would not have worried about the privacy of our data but that is not the case. Actually this is a major issue with centralized organizations. You cannot ensure what is said is being applied.

The blockchain allowed decentralization to happen but is decentralization the solution? Covalent says yes it is. They have proposed a model that guarantees privacy in a whole new and unique manner. They started asking, what if data was able to make its own decisions?

I will let that sink in for a minute.

Now let us see how they came to do that. Imagine data being able to decide who can access it? You generate data and that data is able to decide its type of access. Covalent went back to the basics to solve this problem. The internet as we know it, is mainly about end-end data communication and we are quite familiar with TCP and UDP and other dominant protocols where they govern how data should be transmitted, exchanged and packed. however what is missing in almost all dominant protocols is the description of how data should be utilized. There should be a mean that defines how data should be controlled and accessed and used. With Covalent every piece of data has a policy attached called "smart policy".  Let us take few examples on how that could work in real life:

With Covalent you can upload a photo and set a policy that states that that photo can only be viewed say at 1 PM on the 20th and can only be viewed 15 times. Or you can say save a username and only a certain group can access that username or even say, terms and condition should always be viewed before any content. This convenience is what Covalent is set to do.

You might wonder why didn't they just use Ethereum and set the policy in Smart Contracts? actually that would be the wrong thing to do mainly because of the size of computation. Smart contracts are not cheap to execute and usually depend on how many instructions they contain. In short the Ethereum virtual Machine as is now does not support large scale computations. Also the way Ethereum is set does not allow fast processing; so each node in the network would run the smart contract wasting a lot of time and resources. For example say you defined a policy in a smart contract and published it to mainnet in ethereum (spendind x dollars) that policy takes around 2 hours to process; every node in the network would then take 2 hours to process the policy which is ridiculous. That is one main reason why Covalent opted for their own implementation called Covalent Virtual Machine (CVM).

Now, in Covalent computations are carried off chain by one node and that node generates proof of computation; the other nodes would just verify that proof of computation; that latter is quite fast compared to actually carrying out the computation itself. Covalent instead of making the computation faster can focus on making the verification process even faster.

To ensure privacy of computing Covalent opted for the Trusted Execution Environment (TEE) which is the most practical among other existing methods like the multiple party computing. TEE is fast and does not consume much of the network resources. Something to note with TEE is that it does not support GPUs for possible high performance executions. To give you a bit of understanding of what TEE is all about; it is actually an isolated execution environment enabling confidentiality in the execution (think docker in programming). A TEE is an isolated execution environment provides security features such as isolated execution, integrity of applications executing with the TEE, along with confidentiality of their assets. This means you are protecting against attacks on the hardware level and software level.

Covalent's solution would take privacy to next level; as per their design they are ensuring privacy on both the hardware and software level. To have a policy attached to every piece of data would certainly be hard to beat. They are always in the lookout for great team members to join them and join the community; hop in if privacy is something you cherish.

Resources:

Whitepaper: https://docsend.com/view/dvvb75n
Website: http://www.covalent.ai/