25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
|
|
Notes on the chilldkg module API
|
||
|
|
================================
|
||
|
|
|
||
|
|
This module implements ChillDKG, a distributed key generation (DKG) protocol
|
||
|
|
for FROST, as specified by the bip-frost-dkg BIP draft
|
||
|
|
(https://github.com/BlockstreamResearch/bip-frost-dkg, version 0.3.0-dev). In
|
||
|
|
a ChillDKG session, n participants jointly generate a threshold key with the
|
||
|
|
help of an untrusted coordinator, such that no party (including the
|
||
|
|
coordinator) learns more than its own secret share, and every participant
|
||
|
|
obtains the threshold public key and the public shares of all participants.
|
||
|
|
The output is designed to feed directly into the frost module
|
||
|
|
(`include/secp256k1_frost.h`), which implements FROST signing (BIP 445) and
|
||
|
|
explicitly leaves DKG out of scope.
|
||
|
|
|
||
|
|
**This module is experimental.** Do not use it in production. The API should
|
||
|
|
not be considered stable. The underlying BIP is still a draft (v0.3.0-dev):
|
||
|
|
tagged hashes, wire formats, and protocol details may change in future BIP
|
||
|
|
versions.
|
||
|
|
|
||
|
|
The module depends on the schnorrsig module (for the CertEq certificate and
|
||
|
|
proofs of possession) and the ecdh module (for encrypted share distribution).
|
||
|
|
|
||
|
|
The API is under construction; see the implementation plan in
|
||
|
|
`.idea/docs/chilldkg-implementation-plan.md` for the phased roadmap.
|