Inspiration
The practical applications of a version of this technology for any secure environment plus the much better utilization of blockchain versus cryptocurrency helped push us to want to build this hack.
What it does
DABABI allows for hardware level device verification from the application layer. Using specific attributes queried about the user's device, we can generate a secure hash combined with their password to authenticate the user into the architecture using custom smart contracts deployed per user.
How we built it
Leveraging a variety of Python libraries, including SQLite3 Flask, Web3, solcx, TKinter, and subprocess, we were able to combine a SQLite database, web front-end with POST requests, a TKinter application, and an Ethereum blockchain to create a secure authentication pipeline into our network.
Challenges we ran into
There were a lot of libraries that had outdated information on their use as well as search engine optimization that pointed us to outdated information. One of the most comical of these was Python's Crypto library where the disagreement between the pip managers and the dev team on the capitalization of the C in Crypto led to a brutal multi-hour bug hunt. With limited knowledge on Flask, the syntax required to ensure proper request returning for the POST requests chased us into a deep reading stage to understand truly how all the pieces came together.
Accomplishments that we're proud of
We're proud that we managed to put out a functional demonstration of our work that leverages all the components we had set out to leverage. It was very important to us that we do not compromise on the theme of the event, and made sure that all data transmitted did not include any plaintext information and were on channels that could easily be hardened given proper (non-hackathon) deadlines.
What we learned
There was learning across the board for team DABABI. We combined front-end and back-end development with cryptography libraries and blockchain in a way that no one on the team had ever seen before. This forced us to individually strengthen our knowledge of each of our components to ensure that modules that needed to communicate with each other did so effectively and without adverse effects.
What's next for DABABI
We have hope that DABABI will be a proof of concept for the potential of blockchain-based decision making in secure environments. We would be open to continuing development for any interested parties in furthering the potential of DABABI.
Log in or sign up for Devpost to join the conversation.