Introduction


I am proposing a grant for 12 months of full-time work on libsecp256k1, an elliptic curve cryptography library that Bitcoin uses. My primary focus will be on enhancing the Schnorr signature applications, particularly the FROST threshold signatures. Additionally, I plan to contribute to batch verification, adaptor signatures, and pull request reviews.

Project Overview


I have divided my planned work into the following parts.

Benefits to the Bitcoin Network

Holding our own keys is what gives Bitcoin its power, but it also comes with a lot of responsibility. It’s like being your own bank but without any insurance or backup. One way to manage keys is through MultiSig, which can be created using P2MS scripts (wrapped in P2SH) or MuSig2. FROST improves upon existing solutions by delivering MuSig2’s compactness with P2MS’s flexibility.

This project takes the first steps towards realizing a scenario where BIPs can be proven secure and bug-free through formal verification, following the half-aggregation BIP. The project supports adaptor signatures, which enable the use of Point Time Lock Contracts (PTLCs). PTLCs are superior to Hashed Time Lock Contracts (HTLCs) due to their increased privacy, reduced block space usage, and prevention of routing interception. Additionally, the project supports batch verification, which can speed up block validation and initial block download.

Milestones


BIP FROST (signing-only)

FROST Hacspec