Ownership contracts have a wide number of real-life applications. But what is an ownership contract? Basically, these are smart contracts that can prove the ownership of a file without revealing the content of the file. As the contracts run on a blockchain, they can prove that a contract existed at a particular timestamp and check the document's integrity.
The integrity of a file is achieved by storing a hash of the file along with the file owner's name in the form of a key-value pair. The hash helps us to prevent fraud of ownership because any tampering with the file's content will give rise to a completely new hash value. Figure 7.11 shows a solidity implementation of the ownership contract:
Figure 7.11: Ownership smart contract
The corresponding web3.js
file shown in Figure 7.12 can be embedded inside a JavaScript file:
Figure 7.12: Web3.js equivalent of a solidity contract
As you can see, we have not gone into the details of implementing this Web3.js equivalent...