Inspiration

In anticipation of two primary trends, namely the increasing prevalence of remote work and ability of AI to replace humans across all intellectual domains, we predict that test taking - standardized test taking in particular - will increasingly be done online. In light of this, it will be vital to develop mechanisms that prevent any form of rule-breaking between any and all participants.

What it does

Thus far, the application is able to prevent identify fraud through the use of encoded facial biometric data. The application also allows for the submission and selection of questions and answers into a pool. This is done in such a way so as to minimize the probability of having questions and answers appearing on a test-taker's exam.

How I built it

We used smart contracts to store encrypted user metadata, which included the following: the user's ID, name, facial biometric, and a value that corresponds to the user's reputation on the network. Upon initial use of the application, the user is required to scan a piece of government-issued photo ID in order to link his/her name to his/her facial biometric. Upon subsequent application startups, the user is prompted to perform another facial scan. Through a function on the smart contract, the original facial biometric is compared with the most recent one, and if a minimum match threshold is met (this value is hard coded into the smart contract), the user is able to continue with log in.

Once logged in, students are able to submit questions and answers to a certain number of the network's test evaluators (the incentives to submit questions and answers come from a) a larger role on the network and b) financial rewards that can go towards the purchase of school supplies and materials). Each evaluator independently votes to have the question and answer go into the approved pool or not, and rates the question's difficulty level. Evaluators can also flag a question as inappropriate, in which case the trust score of the user who submitted the question is decreased - below a minimum threshold, users are no longer able to submit questions and answer to the network. If the question and answer meet a minimum threshold for approval, the question and answer are stored in a secret pool. Importantly, the network is completely anonymous. Test-takers do not know who they are submitting their questions and answers to, evaluators do not know who the questions and answers come from, and neither test-takers nor evaluators know how each evaluator judged each question and answer (by extension, no one knows whether a question and answer was approved to go into the pool). When it comes time to compile the test, those test-takers who had their questions and answers approved cannot have those questions appear on their version of the test.

Challenges I ran into

The encryption/decryption of data was quite cumbersome. In addition, we had difficulties connecting the application front-end and back-end.

Accomplishments that I'm proud of

We were able to outline a sophisticated concept design, and were largely successful in implementing basic functionalities.

What I learned

What had originally inspired us to work on this project was to obtain experience in building DAOs. We learned that apart from the digital enforcement of rules (which is really just a smart contract), a DAO is characterized by its ability to change those rules via decentralized consensus from all those involved. Though our application ultimately did not do that, we could adapt it to have this feature.

What's next for Educhain

Of course, this project is very ambitious. You can adapt this application to mitigate any sort of bad behavior with regards to standardized test taking. What we do plan on adding going forward, however, is the use Enigma secret contracts. This would save us from the effort of having to manually encrypt our inputs and outputs.

Share this project:

Updates