Giter Club home page Giter Club logo

passwd's Introduction

Passwd: A password manager on Blockchain

If you have a Metamask wallet that is connected to Avalanche Fuji testnet, you can directly try out the project.

This is a work in progress, do not store critical data! Also licensing will be figured out later.

Benefits

A password manager on blockchain definitely has some properties that the conventional ones don't.

  • I think most people do not rotate their passwords as often as they should, writing rarely and reading frequently is really in line with current blockchain access patterns.
  • This has the side effect of only paying transaction fees on writes, reads are free forever. No one can decide that you do not have access to your passwords anymore, no one can prevent you using this service.
  • Also there aren't any centralized servers. Which means there are no servers to fail, no company to go bankrupt. You have complete ownership over your data.

Method

We use the Metamask encryption/decryption functionality to make upstream public data only readable by you. This way is chosen because

  1. This was the fastest way we can come up to arrive to a working prototype
  2. Metamask prompts look pretty cool and add credibility :)

Contract side is only a simple 1-level key-value store. The complete state is encrypted in one go for every modification. All the logic lives on the client.

Future work

  • For a password manager to succeed, it must be usable across multiple platforms comfortably.
  • Offline cached passwords will be a breeze to implement since you can safely store encrypted data locally, in the same way you store it upstream.
  • Multiple wallet integrations are a must, as far as I can see Trust wallet has way wider adoption by mobile users.
  • Some features like generating passwords, autofill and shared passwords and such are in the works.
  • Since only blobs are to be read, it would be easy to integrate a CDN for read only access.
  • Using passwords is clunky. You can sign a message for a given app and it can reach the blockchain to check if you truly are who you are claiming to be. Just like Google Auth.
  • Storing and modifying the whole state altogether is inefficient at best. We can come up with different schemas allowing more granular access, however in cryptology one cannot be too careful. Giving away information that you thought was irrelevant and insignificant for comfort is a sure way to get hacked.
  • Last but not least, we need to spend some effort to verify that we make use of the correct libraries, in the way they are meant to be used. We need to study concepts like 'salting' and 'peppering' (I kid you not) to make sure our data is safe out in the open, in one of the most publicly accessible databases ever.

passwd's People

Contributors

egemengol avatar

Stargazers

 avatar

Watchers

 avatar

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.