Skip to content

Commit 169abf5

Browse files
authored
Merge pull request #79 from mmaker/patch-3
Avoid inappropriate use of signature aggregation.
2 parents 7cecf2c + c92167f commit 169abf5

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

docs/wiki/transactions/contracts.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ All outputs include a Pedersen commitment of the form `r*G + v*H` with `r`
2424
the blinding factor, `v` the value, and G and H two distinct generator points
2525
on the same curve group.
2626

27-
### Aggregate Signatures (a.k.a. Schnorr, MuSig)
27+
### Schnorr Signatures
2828

2929
We suppose we have the SHA256 hash function and the same G curve as above. In
30-
its simplest form, an aggregate signature is built from:
30+
its simplest form, a Schnorr signature is built from:
3131

3232
* the message `M` to sign, in our case the transaction fee
3333
* a private key `x`, with its matching public key `x*G`
@@ -45,12 +45,13 @@ s*G = k*G + e * x*G
4545
```
4646

4747
In this simple case of someone sending a transaction to a receiver they trust
48-
(see later for the trustless case), an aggregate signature can be directly
48+
(see later for the trustless case), a signature can be directly
4949
built for a Grin transaction by taking the above private key `x` to be the sum
5050
of output blinding factors minus the sum of input blinding factors. The resulting
5151
kernel is assembled from the aggregate signature generated using `r` and the
5252
public key `r*G`, and allows to verify non-inflation for all Grin transactions
53-
(and signs the fees).
53+
(and signs the fees). In the case of a multi-signature, a more complex protocol called MuSig
54+
is used for generating a Schnorr signature.
5455

5556
Because these signatures are built simply from a scalar and a public key, they
5657
can be used to construct a variety of contracts using "simple" arithmetic.

0 commit comments

Comments
 (0)