Sitemap
Press enter or click to view image in full size
Photo by Dimitri Karastelev on Unsplash

Member-only story

Adding Public Keys … Part 1: The Schnorr Way

4 min readNov 26, 2021

--

The Schnorr signature method supports the merging of public keys to produce a single signature for a transaction [Schnorr aggregate]. Unfortunately, it is not secure and suffers from the cancellation problem [here], but which can be overcome with the MuSig method or the BN Method [here]. In this article, I will illustrate how the Schnorr signature method works. The MuSig method is outlined by Greg Maxwell et al in this paper [1][here]:

Press enter or click to view image in full size

In Part 2, I will outline the MuSig method using Rust, but in this article I will focus on a simple demonstration of the Schnorr signature method using Rust. If you want a quick outline of MuSig, click here.

Schnorr with Multiple Signers

In areas such as Bitcoin, we can have multiple signers to a transaction. This would require multiple signatures to prove each of the signers. The advantage with the Schnorr signature method is that we can simply add each of the public keys, and signatures together to produce a valid single signature. So let’s take an example of a message that both Bob and Alice sign.

--

--

Prof Bill Buchanan OBE FRSE
Prof Bill Buchanan OBE FRSE

Written by Prof Bill Buchanan OBE FRSE

Professor of Cryptography. Serial innovator. Believer in fairness, justice & freedom. Based in Edinburgh. Old World Breaker. New World Creator. Building trust.