not approved
Open source: Distributed Key Signing SDK for Cardano Wallet
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳110,250
Percentage
Received
0.00%
Solution

This project allows Cardano’s private key owner to do multi-party signing without any change to their application and improves the security of Cardano ecosystem.

Problem

Private key for signing is tough to secure, multisig in Cardano has drawbacks:

  • More signatures raise costs and space limit (16kb)
  • Lack of fault tolerance - any offline signer cause transaction failures

Cardano Distributed Key Signing SDK

Feasibility
Value for money
Impact / Alignment

Team

1 member

Open source: Distributed Key Signing SDK for Cardano Wallet

Please describe your proposed solution.

<u>The defined problem: </u>

  • Each Cardano transaction requires a private key to sign and securing this private key is a daunting task.
  • While Cardano transaction supports multisig through multi witnesses, it has a few problems:
  • It requires multiple signatures per transaction and hence increases transaction cost and take more spaces from 16kb limit
  • It’s not fault tolerant. If one of the signers is offline, the transaction fails to sign.

This proposal proposes a better way to approach multi party signers by leveraging Threshold Signature Scheme. Its main benefits are:

  • Break a private key into N party, each is held by a participating party. No single party can know the secret of the private key of the group (No Single point failure)
  • It always produces one signature, no matter how many parties participate. (Single signature, no transaction overhead).
  • It requires only (t + 1) out of N to sign a transaction (t is usually about ⅔ of N). This means if some nodes are offline but there are still at least t+1 online nodes, the group is still capable of signing a transaction (disaster tolerant).

We aim to make this as an open source SDK so that any Cardano team can deploy it as an independent service on their server. Their main app will communicate with this key signing service through JSON RPC without knowing how it works underneath.

We will leverage the recent research in multi party signing to allow distributed key signing on Cardano. Cardano uses the EDDSA signature scheme for its transactions. This scheme has a number of advantages compared ECDSA when it comes to distributed signing.

----------

<u>The proposed solution:</u>

The high level idea of Threshold Signature Scheme sTSS is to break a single private key (unknown to everyone) into multiple parts, each is kept by a single validator. When a transaction needs to be signed, all validators participate into the signing process and produce a unique signature for a transaction.

Each signing requires any (t + 1) out of N nodes to sign with this number t configurable by the group (usually it’s set to ⅔ of N). This allows some nodes to go offline while not blocking the group from signing.

There are 2 phases in the signing process:

  1. Setup (once): Each node in a group generates a secret and exchanges some cryptographic proof with each other.
  2. Signing (multiple times): the signing of a message goes through several steps:
  3. A leader of the group is selected based on the hash of the message.
  4. The leader picks up (t+1) out of N nodes through a deterministic algorithm
  5. The nodes exchange cryptographic messages with each other, and each will create a “fraction” of the final signature.
  6. At the end, all signature “fractions” are created and combined to create a final signature

——––

<u>Project end-users aim:</u>

The final signature looks exactly the same as if it is produced from a single private key. This allows nodes or wallet’s owner to make a seamless transition from single private key signing to multi-party signing without major change in their system.

This signing node will be built into a micro-service and any application can request a signature through JSON RPC interface.

How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

We will address the challenge OSDE: Open Source Dev Ecosystem in the following ways:

  • Leverage Threshold Signature Scheme to allow distributed key signings while producing only a single signature per transaction.
  • The final signature looks like it is produced from a single private key. This allows dev teams to make a smooth transition from single private key to multi sign.
  • This could run as an independent service and allows any app to hook to use without any major change in their system.
  • The SDK is easy to use, open source with MIT license. Anyone can use it and adapt for their needs.

How do you intend to measure the success of your project?

<u>Quantitative metrics:</u>

  • Github: The number of stars and forks on github.
  • Developer Adoption: the number of Cardano teams that use our repos or binary.
  • Open source contribution: the number of Cardano developers (outside our team) who contribute or file issues on the repos.

<u>Qualitative metrics:</u>

  • Evaluation through peer reviews

Please describe your plans to share the outputs and results of your project?

The project will be 100% open source on Github and anyone can see and track the progress of the team.

The results and progresses will be shared through following channels:

  • Cardano forums: we will announce any major milestones of the project to Cardano forum
  • Cardano meetings and conference: we will be present at local Cardano meetings and share with community members any updates from our work. This promotes the use of open source to anyone who are interested in knowing about tools and Cardano as a general.

What is your capability to deliver your project with high levels of trust and accountability?

The tech lead of the project, Billy Pham, has more than 10 years of experience in Silicon Valley and has worked for multiple companies, from Google, Addepar to startups in San Francisco. He has a deep understanding of blockchain technology down to the cryptography level.

He demonstrated his capability by building a decentralized bridge on Ethereum, Solana, Avalanche using similar technologies. Billy is well-versed for building distributed key signings for Cardano transactions.

The other 2 people in the team are great talents who wrote papers in their college and competed at ACM ICPC at multiple levels.

To ensure proper fund management and transparency:

  • Detailed budgeting: we will provide itemized budgeting of how fund is allocated
  • Reporting: Regular update of how the fund is used will be posted to the Cardano community.
  • Open progress tracking: anyone can track our progress on Github to and try our final output to track our progress.

What are the main goals for the project and how will you validate if your approach is feasible?

<u>Our main goals of the project is as follows:</u>

  • Promote the use of multi-party signature: Multi party signing is more secure than using a single private key. We hope that with our easy to use SDK, more and more Cardano team will adopt to use multi party signature for their product
  • Enhance Cardano’s overall security: our library could be used not just for managing wallets but also for many other components (like bridges, on-chain applications).
  • Promote open source and transparency: our code will be 100% open source from day 1 to encourage all Cardano members to participate and build together.

<u>Our approach is validated through:</u>

  • Academic research on Threshold Signature (<https://nvlpubs.nist.gov/nistpubs/ir/2022/NIST.IR.8214B.ipd.pdf>). The approach we use is mathematically proof to be secured.
  • We have experience building a decentralized bridge in other blockchain (Ethereum, Cardano) using similar technology. It has been tested by tens of thousands of users in our community on our testnet.

Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Image file

<u>Milestone 1: Form team & start engineering implementation (month 0 - 2.5)</u>

Tasks:

  • Finalize the team member (1 week)
  • Implement the core part of Threshold Signature
  • Build API server, write SDK documentation to expose the signing service through JSON RPC interface

<u>Milestone 2: Internal testing & beta release (month 2.5 - 4)</u>

  • Setup and deploy our own distributed server internally
  • Stress test the system to make sure it works with 30 participating validators or more
  • Release beta version of the product
  • Receive and fixed submitted bugs from developers
  • Announce beta release in Cardano developer community.

<u>Milestone 3: Production release </u>

  • Release v1.0 of the SDK
  • Update documentation for the library
  • Announce beta release in Cardano developer community.

Please describe the deliverables, outputs and intended outcomes of each milestone.

Thank to the support of Cardano Ambassador Mr. Yuta, we provide the SOM in advance:

  • to ensure transparency and clarity of the plan as per Catalyst Fund 10 new guideline,
  • to make it clear for Community Reviewer (CR)
  • to comment that we % of complete always greater than % of cost needed for each milestone.

Link SOM guideline

Image file

<u>Milestone 1: Form team & start engineering implementation (month 0 - 2.5)</u>

Deliverables: Github commits, engineering work

Outcome: We have an alpha version of the product. It should work in our internal testing and could be easily deployed to cloud services

<u>Milestone 2: Internal testing (month 2.5 - 4)</u>

Deliverables: binary that could be deployed to cloud servers. SDK documentation site. Result of stress test with large number validator nodes.

Outcome: a binary that is ready to be used. A robust system that could sustain a large amount of validator nodes. beta version is thoroughly tested by our QA. SDK documentation site is ready for beta testing.

<u>Milestone 3: Production release</u>

Deliverables: production binary file. SDK documentation site. Announce the

Outcome: successful completion of the product. Collaboration with other Cardano developer teams.

Please provide a detailed budget breakdown of the proposed work and resources.

  • Developer Salary: 80,000 ADA for expected 800 hours of work.
  • Infrastructure cost: 15,000 ADA. This includes website hosting, cloud services for stress tests
  • QA cost: 10,000 ADA
  • Contingency planning 5% = 5250 ADA(risk for the ADA price fluctuation during the project implementation.)
  • Total budget requested: 110250 ADA
  • The total working hours: 1050.
  • Ave cost/hour: 105 ADA/hour (equivalent 31.5$/hour)

(*) detailed budget breakdown can be found in the attached file.

Image file

Who is in the project team and what are their roles?

Billy Pham: Technical lead

  • 15 engineering experience in Silicon Valley (had experience at Google, Addepar and startups in San Francisco area)
  • Deep knowledge of blockchain
  • Responsible for the overall engineering architecture of the project. Write and review code to ensure high quality code committed to github.
  • Linkedin: https://www.linkedin.com/in/billy-pham-70bb7735

Dat Le & Huy Nguyen: Engineers

  • Experienced engineers with a competitive programming background (TopCoder, ACM ICPC). They also had experience as senior engineers at various startups.
  • Implement requested features with best engineering practices to avoid potential bugs.
  • Write a stress test to test the system with large number of validator nodes or when some nodes goes offline.
  • Linkedin of Dat Le: https://www.linkedin.com/in/dat-le-a69550151
  • Github of Huy Nguyen: https://github.com/anonnice1999

Steven Nguyen - Community Leader and Marketing Lead

  • Steven Nguyen is an experienced community builder and marketing professional. He has served as a moderator for various crypto projects with a total following of 300k subscribers.
  • Additionally, Steven has a background in the crypto field since 2016. In the Sisu Network project, Steven will take on the role of community leader and marketing lead, driving community engagement, managing marketing efforts, and fostering strategic partnerships.
  • LinkedIn: https://www.linkedin.com/in/steven-nguyen-574aa4236/

The core team will be 4 members, however we can leverage the extra resource from Sisu Network team to on board and fulfil the planned working hours to deliver project milestones.

How does the cost of the project represent value for money for the Cardano ecosystem?

<u>For the Cardano Community</u><u>,</u> Our proposal will provide high value for money for the Cardano community. This project will become a library for Cardano developers to utilize and build on top to support multi-party signing.

1.Enhanced Cross-Chain Interoperability:

  • The bridge explorer enables seamless asset transfers between EVM chains and Cardano L2, facilitating interoperability within the ecosystem.
  • This allows developers, projects, and users to leverage the capabilities of different blockchain networks, expanding the range of applications and services available.
  • The cost invested in developing the bridge explorer directly contributes to the ecosystem's ability to connect with other chains, opening up new possibilities for collaboration and growth.

2.Increased Trust and Accountability:

  • The bridge explorer ensures full traceability of asset transfers, addressing concerns about transparency and security.
  • Users can verify the origin, ownership, and movement of tokens, reducing the risk of fraudulent activities and enhancing trust within the ecosystem.
  • This increased trust contributes to the overall stability and reliability of the Cardano ecosystem, attracting more users and investors.

3.Improved User Experience:

  • The bridge explorer provides a user-friendly interface for tracking and verifying asset transfers, making it easy for users to navigate and understand the process.
  • Users can access detailed transaction information, ensuring the authenticity of transfers and enhancing their confidence in the ecosystem.
  • The cost invested in developing a seamless and intuitive user interface contributes to a positive user experience, increasing user engagement and satisfaction.

4.Catalyst for Innovation and Development:

  • The bridge explorer serves as a catalyst for innovation within the Cardano ecosystem.
  • It provides developers, projects, and exchanges with a reliable solution for cross-chain asset transfers, encouraging the creation of new dApps, services, and financial instruments.
  • This fosters a vibrant ecosystem where new ideas and projects can thrive, attracting talent and investment to further propel the ecosystem's growth.

5.Long-Term Value and ROI:

  • While the initial cost of developing the bridge explorer may be significant, it provides long-term value and return on investment.
  • The enhanced interoperability, trust, and user experience generated by the bridge explorer can attract more users, developers, and investors to the Cardano ecosystem.
  • This increased adoption and engagement can lead to economic growth, ecosystem expansion, and potential revenue opportunities that outweigh the initial investment, providing long-term value and ROI.

<u>The cost of the project</u> is also considered low compared to the cost of the seniority of the engineers in the team. Our dev team is based on Silicon valley. The average salaries of product designers ($72 per hour), developers ($68 per hour), and product managers ($65 per hour) are quite high (the detail table as below.) However, we budgeted salaries of $31.5 per hour, which is 50% value for money for the Cardano Ecosystem, we will leverage resource from other proposals to use for this project.

  • Senior Product Manager$65<https://www.ziprecruiter.com/Salaries/Senior-Product-Manager-Salary>
  • Senior Software Engineer$68<https://www.ziprecruiter.com/Salaries/Senior-Software-Engineer-Salary-per-Hour>
  • Senior Product Designer$72<https://www.ziprecruiter.com/Salaries/Senior-Product-Designer-Salary-per-Hour>
close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

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

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

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