Last updated 2 weeks ago
Threshold signatures provide better security and performance vs. single key signatures or multi-signature scripts; however, the required tooling is not readily available to the Cardano ecosystem.
This is the total amount allocated to Threshold Signatures for Cardano Wallets. 2 out of 3 milestones are completed.
1/3
Basic Ed25519 Key Splitting
Cost: ₳ 22,500
Delivery: Month 3 - Jun 2024
2/3
Implement Shamir Secret Sharing
Cost: ₳ 22,500
Delivery: Month 6 - Sep 2024
3/3
Threshold Signature CLI Tool
Cost: ₳ 30,000
Delivery: Month 7 - Oct 2024
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
Our solution is to provide an open-source implementation of threshold signature tooling that is compatible with Cardano wallets and a CLI tool for creating split keys and threshold signatures.
No dependencies.
Project will be fully open source under the MIT license.
Threshold signatures are a cryptographic technique where a group of participants collaboratively create a signature without relying on a single individual's private key. It enhances security and resilience. Participants each hold a share of the private key and combine them to generate a valid signature. Threshold signatures offer distinct advantages over both single-key signatures and multi-signature scripts in the context of a blockchain application. A great introduction may be found in the Coinbase blog article on threshold signatures.
Compared to single-key signatures, threshold signatures enhance security and resilience. With a single key, if it is compromised or lost, the entire system's security is jeopardized. In contrast, threshold signatures distribute the signing authority among multiple participants, each holding a share of the private key. This means that even if some participants' key shares are compromised or unavailable, as long as the required threshold number of participants is active, a valid signature can still be generated. This significantly reduces the risk of a single point of failure and improves the overall security of the blockchain system.
Additionally, compared to multi-signature scripts, threshold signatures offer advantages in terms of efficiency and scalability. In a multi-signature scheme, each transaction input requires multiple signatures, resulting in larger and more complex transactions. In contrast, threshold signatures allow for a single aggregated signature to represent the combined authorization of multiple participants. This results in smaller blockchain transactions, reduces transaction fees, and improves the overall efficiency of the blockchain network.
By combining enhanced security and resilience with improved efficiency and scalability, threshold signatures provide a compelling solution for blockchain applications, addressing the limitations of both single-key signatures and multi-signature scripts. They offer increased security against key compromise and enable more streamlined and cost-effective transaction processing on the blockchain.
Threshold signatures can be implemented using the same underlying cryptographic algorithm as Cardano's default Ed25519 signatures. Ed25519 is a widely used and well-regarded elliptic curve algorithm known for its efficiency and security. Threshold signatures can be constructed using Ed25519 keys, making them compatible with the existing infrastructure of the Cardano blockchain. Moreover, the verification algorithm for threshold signatures remains the same as the standard Ed25519 signature verification algorithm. This compatibility simplifies the integration of threshold signatures into the Cardano ecosystem, allowing for enhanced security and resilience without requiring changes to the underlying verification mechanisms.
Our proposed solution involves implementing the necessary threshold signature tooling to generate signatures that are compatible with Cardano wallets. We will leverage the existing Ed25519 signature capabilities of our C++ library Viper25519. The Viper25519 toolset will be expanded to include the required functionalities for key splitting and generating valid signatures from a subset of keys (M of N sub-keys, where M is less than or equal to N). These threshold signatures will be verifiable using the standard Ed25519 signature verification, ensuring compatibility with the Cardano blockchain. To validate the functionality, we will create a CLI tool that can generate a split key, corresponding public key, payment address, and perform transaction building and signing. It's important to note that this tool will not include a secure messaging protocol for multiple users to combine signatures. The entire codebase will be open source.
This project will provide product developers coming to the Cardano ecosystem with verified tooling and reference implementations upon which to build secure dApps and other integrations using threshold signature technology. Threshold signatures represent an advancement over multi-signature scripts when multi-factor authentication is desired for enhanced security. The availability of such tooling will make Cardano an attractive candidate to builders.
The Viper Science team has been an active contributor to the Cardano community for over four years. In addition to operating stake pools since the Incentivized Testnet, we have developed several open source tools for Cardano developers and SPOs. Five of these projects have been successfully funded through Catalyst in the past:
A complete list of our contributions can be found at https://viperscience.com/. Additionally, our team has the domain expertise required to be successful with the proposed work, as we have already laid out much of the groundwork in our Viper25519 project. Details about the team members’ technical backgrounds are included below.
Description
Implement functionality to split an extended Ed25519 key into multiple sub keys, generate a signature with all sub keys, and finally verify the signature against the public key corresponding to the original private key.
Outputs
Acceptance criteria
At this stage, the code for direct key splitting and threshold signatures will be complete and a high degree of confidence in the eventual success of the project will be achieved. Open source code pushed to the public repository including passing test cases.
Description
Implement Shamir Secret Sharing functionality to split a private key into N sub-keys and set a threshold of M sub-keys required to create a valid signature (M <= N). Generate signatures and test validity.
Outputs
Acceptance criteria
At this stage, the code for direct key splitting and threshold signatures will be complete and a high degree of confidence in the eventual success of the project will be achieved. Open source code pushed to the public repository including passing test cases.
Description
With the initial infrastructure built and tested, create a simple CLI tool that will enable a user to test the functionality by generating split keys and creating signatures from those keys. Use the tool to automate test transactions on the Cardano testnet. Use the CLI tool to demonstrate the functionality in a project close out video. Final project report.
Outputs
Acceptance criteria
The Viper Science team members are:
Dylan Crocker, PhD: Engineer & developer (https://www.linkedin.com/in/dylan-andrew-crocker/)
Dylan is an Electrical Engineer with experience in antenna and radar system design as well as software development. He earned a PhD in Electrical Engineering, with a minor in Computer Science, from Georgia Tech. His PhD research focused on ultra-wideband antenna design. Dylan got started building in the Cardano ecosystem when running a stake pool during the Incentivized Testnet in 2019. His most recent work includes an open source implementation of Cardano primitives written in modern C++.
Willie Marchetto: Engineer & developer (https://www.linkedin.com/in/willie-marchetto-2268aa266/)
Willie is a computer & astronautical engineer experienced in designing, developing, integrating, & deploying electronics and software for satellites, embedded devices, and traditional compute systems. His technical contributions span the areas of high-performance computing, web application development, DevOps system administration, satellite electronics design, embedded systems software/firmware, and machine learning algorithm development. Willie has been an active Cardano developer and stake pool operator since 2019 and is currently the chief engineer for research & development at an aerospace engineering contracting company.
The project team consists of engineers with advanced degrees, each with over ten years of professional experience developing and building complex systems in research & development environments. As a baseline labor rate, we are using a relatively conservative rate of $63.91, which is the mean hourly wage for software developers in the US according to the US Bureau of Labor Statistics.
Budget breakdown:
Assumed $/ada exchange rate: $0.38
Total project cost: 75,000 ADA
Investing in this R&D effort will provide Cardano developers access to a reference implementation of advanced cryptographic primitives that provide increased application security and decentralization. Therefore it is our belief that the project cost represents excellent value for money for the Cardano ecosystem for the following key reasons: