thenewboston-blockchain / Projects

Proposals for projects and apps for thenewboston.
https://thenewboston.com/
MIT License
70 stars 33 forks source link

Hierarchical deterministic (HD) Wallets for TNB #198

Closed tomijaga closed 3 years ago

tomijaga commented 3 years ago

Project Details

How would you describe your project?

An HD Wallet, or Hierarchical Deterministic wallet, is a new-age digital wallet that automatically generates a hierarchical tree-like structure of private/public addresses (or keys), thereby addressing the problem of the user having to generate each one on their own.

image

What problem does this project solve?

This project solves privacy problems and makes it easier to manage multiple accounts

Who is the target market?

Anyone creating multiple accounts/wallets.

How will this project benefit the network and/or the community?

How is this project centered around thenewboston?

It creates and manages HD wallets on thenewboston blockchain network

What is the estimated completion date for this project? (rough estimates are acceptable)

Early June

Please include a detailed roadmap for your project below. This must include a list of all milestones where payments will be awarded upon completion of each.

This project will be an implementation of the information found at https://learnmeabitcoin.com/technical/hd-wallets and will use tweetnacl for hashing.

The project will provide hd wallet modules/packages in all the major languages so it is accessible by all developers.

I have a code example here. You will notice that the public and private keys for the child accounts are the same no matter how many times you run the program.

What is your Discord username?

Tomi#8409 (https://discord.gg/thenewboston)

Additional files and documentation including architectural diagrams, wireframes, research documents, visuals, etc… (optional)

Milestone Details

Please include a detailed breakdown of the first milestone including a list of all quantifiable objectives and estimated coin value of each. Upon completion of the milestone, each objective will be reviewed by thenewboston team and once all objectives have been verified as completed, coins will then be rewarded.

Note that all future detailed milestone breakdowns will be written as a separate GitHub issue. Only the first one is included in the project proposal.


Milestone Description

Write a typescript npm package for HD wallets that is compatible with the thenewboston-js sdk, complete with documentation and tests.

Requested Payment Upon Completion

130000

# Objective Estimated Value (coins)
1 Implementation in typescript 90000
2 Testing 25000
3 Documentation 15000

Project Reviewer

Preferred: @itsnikhil

Project Wallet

fdcae93c70a143ed36a188389e6aa37b446d3ee244e96cae0ef758672860d8d2

itsnikhil commented 3 years ago

Awesome! This project is very relevant with TNB. Ideally you would not need to implement same thing in Python or C++ as you can do this on the fly on client side in typescript.

Just wanted to know if it is possible to generate child public keys with parent public key?

If you are following BIP44 specification then you can also generate keys for various other cryptos as well. This could be obe of the USP of your project.

tomijaga commented 3 years ago

Ideally you would not need to implement same thing in Python or C++ as you can do this on the fly on client side in typescript.

I was thinking of projects that don't have their code in typescript, since we have payment sdk's in multiple languages it would be helpful to also have this is implemented in those languages.

Just wanted to know if it is possible to generate child public keys with parent public key?

It doesn't work using the specified method on the website. I will have to do more research to find out how the nacl library generates it's public keys so i can generate child pubiic keys from the parents extended public key

If you are following BIP44 specification then you can also generate keys for various other cryptos as well. This could be obe of the USP of your project.

Yh i'm using the BIP 44 specification.

itsnikhil commented 3 years ago

@tomijaga please have a look at this https://github.com/nilcons/crypto-key-derivation. Give us a heads up after doing your research if you are willing to take this project to reality. I am more than happy to approve it from my side

tomijaga commented 3 years ago

@itsnikhil Thanks for the resource. I'll notify you once I have generated valid public keys and HD wallets for tnb and all the major cryptos using the bip44 standard

angle943 commented 3 years ago

Hey @tomijaga , we like the idea! However, we came to the conclusion that the proposed amount of 130,000 is too high, and the value we are willing to offer for this project is 80,000.

Please let me know what your thoughts are on that!

tomijaga commented 3 years ago

@angle943 Mind if I ask how the gov came to the conclusion that 80k was the fair value of the project?

This project will support ed25519 key derivations and thus will allow us to use one seed key to make private and public keys for all other crypto-currencies that support the ed25519 curve. A lot of work will be put in to allow compatibility and interoperability with existing wallets and ledgers by researching and following specific standards like the SLIP-10 and BIP44

Due to this I believe the project should be valued higher than 80,000. I'd like to make a counter offer for 100,000

tomijaga commented 3 years ago

@manishram https://github.com/tomijaga/Tnb-HD-Wallet

angle943 commented 3 years ago

@tomijaga approved for 100,000