* Began work on Numeric Multi-Nonce Outcome spec, wrote compression algorithm * More progress, specifically on curve serialization and polynomial interpolation * Separated precision from function points and added note about polynomial evaluation optimizations when precision is not 1 * Wrote section for putting everything together into a CET set computation * Wrote CET signature validation section * Filled in all remaining holes! * Added table of contents * Added clarification about why base 2 is best, removed some first person * Added concrete example * Added subsections to general example * Added note on non-generality of concrete example * Clarified optimizations * Fixed optimizations * Fixed algorithm typos * Responded to review, renamed precision_range -> rounding_interval * Replaced paragraph about accepter's payout_function with new recommendation * Split NumericOutcome.md into three files and added some design discussion/intentions * Added extra precision to interpolation points in general payout functions * Responded to Ben's review
Discreet Log Contract In Progress Specification
The specifications are currently a work-in-progress and currently being drafted.
Pull requests and comments welcome.
Please see our introduction for what a DLC is and a glossary of terms used in DLCs.
For learning more about DLC have a look at the resources page.
Specification Roadmap
Works in Progress
- DLC transaction specification (Transactions.md)
- DLC negoation protocol (Protocol.md)
- Oracle Specification Proposals
TODO
- ECDSA Adaptor Signature Variant Specification
- On-Chain Handling
- For more information on TODO see our v0.1 project dashboard
Future Work
- Construction and negotiation of DLCs in Lightning (#3)
Implementations
bitcoin-s
The team at Suredbits is working on a implementation of discreet log contracts in bitcoin-s.
cfd-dlc
The team at CryptoGarage is working on a C++ implementation library. A JavaScript wrapper is also available. This wrapper is currently used as inside the p2pderivatives application.
rust-dlc
@Tibo-lg and others are working on a new Rust DLC implementation
NDLC
@NicolasDorier has created a wip DLC implementation in C# which can be used with BTCPayServer
This work is licensed under a Creative Commons Attribution 4.0 International License.