In the movie Bollywood movie, "3 Idiots", there was a scene where the examination results of the students were displayed publicly on a notice board and everyone rushes to see their results. And then we had our very famous line, "It sucks to have come last, but it sucks even further that our friend stood first". Then, we see the protagonist suggest the director of the institute that this methodology is wrong, and we need alternatives for this. But the director simply denies saying that, "What I should do? Whisper the results of each student in their ears?"
This problem is what we're solving with Secure Store. A completely confidential system for publishing student grades. Secure Store is "An asymmetric key encryption based results publishing and a blockchain based verification system". Student results are encrypted with their public keys so that only the students, who have their private keys, can decrypt and check their results. But this confidentiality comes with a downside. Since only the student can view the result, the student has the power to modify his grades while submitting it to any company for placements or any higher education authority, i.e., the student may tamper his grades.
Blockchain helps solve this issue. The hash of the grades of the students is stored on blockchain, and blockchain being immutable, we can ensure that the result hasn't been tampered with. We have deployed our smart contract on the Matic Network for faster throughputs.
We never interacted with the Matic Network from our backend before. It was quite a challenge to figure out the usage of the web3 library along with the Matic rpc from the backend instead of frontend as it is done these days. Apart from that, final deployment was also a challenge. Web3.js and Matic's seamless documentation helped us a lot to get over this issue and for the final deployment, we have our DApp deployed on Microsoft Azure.
Technologies used
Discussion