over budget
Cardano wallet recovery CLI
Current Project Status
unfunded
Total
amount
Received
$0
Total
amount
Requested
$50,000
Total
Percentage
Received
0.00%
Solution

Provide a CLI tool that community members with little to no programming experience can use to recover and move the inaccessible funds.

Problem

Community members may find themselves with an encrypted private key and password but without a mnemonic and unable to restore their wallet.

Addresses Challenge
Feasibility
Auditability

Team

1 member

[IMPACT]

We propose to build an open-source CLI tool that allows users to input an encrypted private key and password which will then be able to recover funds under that private key and move them to a new wallet. An example of the envisioned capability is shown below:

recover –key “key_hex” –pw password –address “addr1…”

While a CLI tool is more complicated than a GUI or WebUI, we believe this is a great first step to providing a much needed open source community tool. With extensive documentation provided, a non-expert in the programming and block chain field should be able to run the application and recover funds with a relatively small amount of effort.

We have assisted community members in the past recover funds and the process is very labor intensive. We developed some scripts and a binary to recover ITN rewards; however, it requires either the end user to be an expert or for the customer to trust us with wallet information. If we can provide the end-to-end service in a single program for the end-user, the security and availability increases.

Furthermore, by providing this as an open source project, the entire Cardano developer community will benefit by the reference implementation. The provided tools may be expanded by others or integrated into existing wallets.

Stretch goals include: recovering a funds with a password list, and recovering a missing word from a seed phrase. These are both real world scenarios we have encountered in the Cardano community.

This project impacts the key KPIs for the challenge:

- This project will increase the number and the quality of Cardano Open Source projects, since it is itself a new Cardano open source project as well as making it easier for additional open source projects to come to the Cardano ecosystem.

- This project will increase the amount of open source tools and frameworks from the community for the community since it is built by a team of long time community members for other developers in the community.

The project will be openly shared through social media channels and developer groups.

There are aspects to the project that require interfacing with a full node in order to query information about the contents of the wallet and submit a move transaction. It is highly likely that many potential users will not have access to a synced full node nor the ability (technical or hardware) to run a node. However, we believe that public APIs, e.g., blockfrost.io, will become more ubiquitous in the coming months and provide that capability as an option.

User error is another concern with this project. We plan to produce an extensive set of user guidance which should be able to assist a non-expert user.

[FEASIBILITY]

Q3 2022: Define and implement the application interface and help menus. Prototype the CLI without the cryptography. Implement the ability to submit a transaction through a local node or API such as Blockfrost.io.

Q4 2022: Implement the initial cryptographic requirements such as decrypting the private keys, deriving child keys, and searching for funds contained under the addresses.

Q1 2023: Perform extensive testing and trials recovering funds from encrypted files left behind by various wallets in the ecosystem. Implement custom code for opening wallet files, e.g., Daedalus SQLite files.

Q2 2023: Finalize the CLI and produce comprehensive documentation and tutorial videos in order to enable the target audience to use the product.

This project depends entirely on manual hours invested to implement the code, perform extensive testing, and produce documentation.

We estimate the required effort to fall roughly at 10-16 hours per week for two engineers. Estimating $30-$45/hr for hourly wages (low for experienced professionals) results in approximately $50,000.00 for a year long project.

Team member 1: Dylan Crocker Ph.D.

Ph.D. in Electrical Engineering with a minor in Computer Science from Georgia Tech. Engineering professional with over 10 years of experience. Cardano stake pool operator since December 2019.

Team member 2: Willie Marchetto

Received a Bachelor of Science degree in Computer Engineering from Missouri University of Science and Technology and a Master of Science degree in Astronautical Engineering (with a focus in spacecraft electronics and software) from University of Southern California. I have 10 years experience in research and development of high-consequence, high-reliability space systems and have spent a great deal of time administrating Linux servers, much like the ones we use to operate our stake pools. Cardano stake pool operator since December 2019.

Both team members have previously had a project funded through Catalyst with successful completion. Additionally, both team members have worked to successfully recover funds for Cardano community members who had lost access to their funds in the scenarios described in this proposal.

[AUDITABILITY]

The project progress will be measured by a goal of 5 substantial git commits per month.

An open-source CLI tool that allows users to input an encrypted private key and password which will then be able to recover funds under that private key and move them to a new wallet. An example of the envisioned capability is shown below:

recover –key “key_hex” –pw password –address “addr1…”

For success this capability will be fully realized.

Stretch goals include: recovering a funds with a password list, and recovering a missing word from a seed phrase. These are both real world scenarios we have encountered in the Cardano community.

This is a new proposal but will use technology developed under the current proposal here https://cardano.ideascale.com/c/idea/399578

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00