[][src]Module lnpbp::dbc::pubkey

LNPBP-1

Module for Secp256k1 elliptic curve based collision-resistant commitments, implementing LNPBP-1

The work proposes a standard for cryptographic commitments based on elliptic curve properties, that can be embedded into Bitcoin transaction without additional storage footprint. This commitments are private: the can be detected and revealed only to the parties sharing some secret (original value of the public key).

NB: The library works with secp256k1::PublicKey and secp256k1::SecretKey keys, not their wrapped bitcoin counterparts bitcoin::PublickKey and bitcoin::PrivateKey.

Structs

PubkeyCommitment

Public key committed to some message via LNPBP1-based tweaking procedure

PubkeyContainer

Container for LNPBP-1 commitments. In order to be constructed, commitment requires an original public key and a protocol-specific tag, which must be hashed during commitment process. Here we use pre-hashed version of the tag in order to maximize performance for multiple commitments.