GithubHelp home page GithubHelp logo

themaskedman981 / zk-uniwallet-mit-bitcoin-hackathon-2020 Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 1.0 35.91 MB

Infrastructure-track prize winner at MIT Bitcoin Hackathon 2020. A universal wallet management with inbuilt zk proof generations

Home Page: https://devpost.com/software/zk-uniwallet

JavaScript 7.69% Shell 0.04% TypeScript 5.70% CSS 48.52% HTML 37.88% Python 0.17%
zero-knowledge-proofs zokrates wallet-api panacea-sdk desktop-wallet

zk-uniwallet-mit-bitcoin-hackathon-2020's Introduction

MIT-Bitcoin-Hackathon-2020

ZK - Uniwallet

Inspiration

Most of the Crypto users use wallets as their primary gateway to enter Web3 for transactions. But, the major limitation of the chrome-based plugins hinders the interactions with other Mobile and Desktop based Dapps. In addition, every existing Crypto wallet out there interacts with a single Blockchain network that hinders the usability and interoperability. The developers are currently limited to writing their codebase for a single Blockchain and not able to support other Blockchains for which they have to rewrite the entire code again!

Also, in the current day world, there is a huge overhead involved in creating a zero-knowledge proofs based application. Significant background knowledge of the working or zk technologies is required, which inspired us to build a redefined platform that improves the overall usability and makes the process simpler. There's a lack of Zero-knowledge based applications in the market that solves the Identity-related problems. Using our zk-box, the developer can get basic zk proofs based functionality out of the box, without worrying about underlying technology.

Our solution

Universal wallet

An example Dapp using zk-functionalities

We have 3 major modules in our project,

a. Panacea wallet

b. Panacea SDK

c. ZK-Box

· Panacea wallet supports operations like the signing of the transaction and other cryptographic operations across multiple platforms and blockchains that improve the overall usability and interoperability.

· Panacea SDK helps Dapp developers to write globally compatible code across any EVM compatible blockchains.

· With the Panacea SDK, developers can build new wallet solutions that can be used without downloading a separate wallet and if the code is according to the specification the Dapp Developers do not have to change any code to support new Blockchain.

· ZK_Box helps us to authenticate into various applications instantly by generating Zero-knowledge proofs without revealing any of the private data, ie, the password never actually leaves the laptop. It also helps us validate various parameters of the user identity like age using zero-knowledge age proofs. More complicated custom zero-knowledge proof generation like voter anonymization can also be done easily using the ZK-box.

How we built it

  1. Brainstormed the entire idea using wireframes and user flows.

  2. We used Electron.JS for building a desktop wallet app.

  3. We used Zokrates for building the ZK-Box.

  4. We used Angular and Express.JS for Front-end and Back-end.

Devpost Submission

The project was submitted on devpost during the hackathon. Here is the submission.

Contributors

zk-uniwallet-mit-bitcoin-hackathon-2020's People

Contributors

riyasingh0799 avatar sarangparikh22 avatar themaskedman981 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

panthereum

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.