Blockstream, a blockchain technology startup, has recently released a test code for the proposed Schnorr-based multi-signature scheme MuSig. The MuSig scheme is a Bitcoin upgrade implementation that is aimed at introducing both scalability and Confidential Transactions to the flagship blockchain.
Announcing it on Monday, February 18th, the Blockstream mathematician Andrew Poelstra stated that this latest development has seen the Schnorr multi-signatures concept mature from a theoretical construct to real code.
Earlier last year, Poelstra in collaboration with several other software engineers introduced the idea of the multisignature scheme called MuSig through an academic paper. Since then they have been working to implement the idea.
“We’ve been turning MuSig from an academic paper into a usable code, and this week we merged that code into secp256k1-zkp, a fork of secp256k1, the high-assurance cryptographic library used by Bitcoin Core,” wrote Poelstra in the Monday announcement.
As described by Poelstra and his team, MuSig is “a protocol that allows a group of signers to produce a short, joint signature on a common message.”
What it is, is “a misuse-resistant API without sharp corners, and which doesn’t encourage dangerous usage patterns even in constrained environments.” The problem in Bitcoin’s current implementation that MuSig aims to correct is that Bitcoin employs a digital signature algorithm called ECDSA. This particular algorithm was widely used back in the early 2000s and is unpatented. The ECDSA allows for an individual to independently verify ownership, sign transactions and transfer coins within the Bitcoin system.
However, the ECDSA signature algorithm has some significant shortcomings. According to Poelstra, “multisignatures and threshold signatures – signatures made by a quorum of independent parties rather than a single person – are very difficult to produce with ECDSA.
ECDSA signatures have a complex algebraic structure that makes them inflexible and difficult to work with, forcing developers to use Bitcoin Script for applications such as cross-chain atomic swaps or Lightning, which could be implemented more compactly and privately using a more flexible signature scheme.” In addition, the times have changed since 2008 when Bitcoin core code was developed.
Bitcoin is finding new application use cases and the need for a more robust signature scheme is evident. This is the reason behind the development of the MuSig Signature algorithm.
“To address these concerns, we started an initiative to design a new signature scheme, and a significant practical engineering effort to implement it in a robust and ant fragile way,” Poelstra wrote.
Poelstra hopes that Bitcoin developers will accept their suggestion and after the test period, the code will be improved to the level that it will be incorporated into the Bitcoin firmware.
“As the bitcoin community is exploring the use of Schnorr signatures in bitcoin we hope that our code will eventually be merged into the upstream library secp256k1 used by bitcoin core and many other projects.”