1:. a 32 bit value
2: a 250-bit secret key
3: an owner public key (grumkin curve)
A note encryption, is a single grumkin group element that is:
value . [1] + secret_key . [2] + compress(owner_pub_key)
Where 'compress' is our pedersen hash function, using
generators that are not [1] or [2]. The
output of the hash is the entire group element,
not just the x-coordinate.
Each component of the note uses a
different randomly generated base point.
Because of the hiding/binding properties
of the Pedersen commitment scheme,
the result is a computationally binding and perfectly hiding
commitment to both the note value and
the note owner.
A 'note' is now a tuple of:
1:. a 32 bit value 2: a 250-bit secret key 3: an owner public key (grumkin curve)
A note encryption, is a single grumkin group element that is:
value . [1] + secret_key . [2] + compress(owner_pub_key)
Where 'compress' is our pedersen hash function, using generators that are not [1] or [2]. The output of the hash is the entire group element, not just the x-coordinate.
Each component of the note uses a different randomly generated base point. Because of the hiding/binding properties of the Pedersen commitment scheme, the result is a computationally binding and perfectly hiding commitment to both the note value and the note owner.