over budget

Stake Pool Keys in libcardano

$12,800.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
Solution

We propose to add the following capabilities to libcardano (the open-source Cardano C++ library):

  • Stake pool VRF keys (including signature and verification)
  • Stake pool KES keys
  • Stake pool cold keys
Problem:

The Cardano ecosystem has a new C++ library that exposes Cardano to one of the largest developer communities; however, the library does not yet provide stake pool cryptographic functionalities.

Yes Votes:
₳ 26,616,363
No Votes:
₳ 18,593,885
Votes Cast:
182

  • download
  • download

[IMPACT] Please describe your proposed solution.

We propose to add the following capabilities to libcardano (the open-source Cardano C++ library):

  • Stake pool VRF key generation and serialization (CBOR)

  • VRF signature, hash, and verification (ability to implement CIP-22)

  • Stake pool KES key generation and serialization (CBOR)

  • Stake pool cold key generation and serialization (CBOR)

    [IMPACT] Please describe how your proposed solution will address the Challenge that you have submitted it in.

This project achieves several the goals for this challenge:

  • This project can increase the number of contributors to the Cardano ecosystem by bringing in developers from the C++ developer community.

  • The library serves as samples and/or templates for developers new to the ecosystem that are familiar with C/C++.

  • The project furthers the knowledge base of the Cardano developer community as a whole.

    [IMPACT] What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

Some of the tasks represent a learning opportunity for the team. The available project documentation and example code in the IOHK repositories has proven in the past to provide the information needed to learn about the protocol.

[FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

Q4 2022: Implementation of the VRF capability. This includes one month dedicated to Ed25519 key generation, one month for the VRF key capabilities, and one month for the signature and verification capabilities.

Q1 2023: Implementation of the KES and cold key sets for stake pools as well as key serialization to CBOR.

[FEASIBILITY] Please provide a detailed budget breakdown.

The hourly rate may vary widely across regions and professions; in this case, we believe that we have established an extremely conservative estimate of $40/hr.

  • Ed25519 key capabilities (not implemented from scratch): 40 hrs x 2 devs
  • VRF key capabilities: 80 hrs x 2 devs
  • KES key generation and serialization: 20 hrs x 2 devs
  • Pool cold key generation and serialization: 20 hrs x 2 devs

Total: 160 hours x $40/hr x 2 devs = $12,800

[FEASIBILITY] Please provide details of the people who will work on the 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 the Missouri University of Science and Technology and a Master of Science degree in Astronautical Engineering (with a focus on spacecraft electronics and software) from the University of Southern California. I have 10 years of experience in the 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.

[FEASIBILITY] If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

Yes, if the community believes our work is having a positive impact we intend to submit proposals for future work.

[AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?

The project progress will be measured by a goal of 5 substantial git commits per month. This isn't always the best method of measuring progress, so we additionally measure implemented unit tests with the goal of one new unit test implemented and passing each month.

[AUDITABILITY] What does success for this project look like?

The project work defined under this proposal will be considered "done" when the following criteria are met:

  1. Unit tests are defined and successfully passed that generate a VRF key pair which can then be used for verification similar to that proposed in CIP-22.
  2. Sets of KES Keys can be generated and serialized to CBOR.
  3. Sets of pool cold keys can be generated and serialized to CBOR.
  4. Stake pool ID may be generated from the keys.

[AUDITABILITY] Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This project is a continuation of the project proposed here https://cardano.ideascale.com/c/idea/399578

Sustainable Development Goals (SDG) Rating

C and C++ are some of the most energy-efficient programming languages available. By providing the Cardano community with a C/C++ library, we can further reduce the energy footprint of the Cardano ecosystem.

https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf

Avis des conseillers communautaires (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3 min 24 s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4 min 3 s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3 min 48 s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2 min 16 s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3 min 14 s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3 min 19 s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4 min 59 s
    Darlington Kofa
0:00
/
~0:00