Coder Social home page Coder Social logo

toxiddraft's Introduction

ToxIDDraft

Brainstorm for Tox username/password implementation. If you stumbled here expecting to find some revolutionary implementation, please leave.

  • Custom usernames
  • Custom and changable passwords
  • Password/username recovery options
  • Use username and password on multiple devices
  • Ability to login and register within client (much like Antox or GSOC-1).
  • Trustless distributed database that does not use a blockchain (does not currently exist)

##Screenshot ###Login Window:

Login Window

###Registration Page:

Registration Page

toxiddraft's People

Contributors

urras avatar

Watchers

 avatar

toxiddraft's Issues

Brainstorming for possible specifications

Distributed ID store requirements:

Must remain small and workable for low powered platforms e.g. smartphones
Must not at all exchange private keys
Must be easy to use
May not share public keys publicly?

With multiple accounts we assume:
Each device can have its own Tox ID or multiple IDs, an account can be comprised of multiple linked and unlinked IDs

How Linked ID's might be handled by clients:
When a user is linking two of their own devices or IDs to the same account, public keys are exchanged between devices, all user’s own public keys are kept in sync across devices.
If a user removes a device or ID from their linked list, all of their clients and their friends are automatically notified as they come online and ID lists are automatically synced and modified accordingly.
When adding a friend, all of their linked public IDs will be sent and represented as a single user by the client.

Possible solutions to distributed, trustless database:

  • A temporary trustless database hosted on Tahoe-LAFS or FreeSQL with tokens that expire after a short time period e.g. 24hrs. Entries are locked with a ‘secret key’ that is created by the user who initiates a ‘broadcast’ (putting a temporary ID on the public ledger), once the user completes the exchange, they are shown how long their token is valid for, and then given the option to expire it now with their secret key, or to let it span the maximum duration.
    Issues: DB on Tahoe might be too large and complex for a simple solution, FreeSQL relies on Freenet and is also unmaintained
  • A blockchain model (possibly verified with Proof of Burn where spent tokens or expired tokens are burned to verify the blockchain, or a very simple Proof of Work.)
    Issues: Not able to determine whether a blockchain with expired tokens and limiting recorded transaction history to a shorter range e.g. 24hrs is possible.

Key sharing:
User must exchange keys in an easy fashion.
Possible solution:
Represent temporary token as a memorable passphrase e.g. a dictionary word with a 4-5 digit number and letter combination, randomly distributed at the start and end of the word.

Unlicense is not valid in countries that don't recognise the Public Domain as an entity

Unlicense and other public domain dedications are not valid in countries such as Germany or Australia as PD works are based on the absence of copyright, and in those jurisdictions copyright cannot be waived.

CC0 takes this into account and will allow people in all jurisdictions to use either the PD work or one under a very close liberal license.

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.