mirror of
https://github.com/aljazceru/dlcspecs.git
synced 2025-12-17 06:14:23 +01:00
* November Meeting Doc * Fixed bip typo * Updated meeting doc before meeting * last-minute updates * Separated out the meeting legend into readme
6.8 KiB
6.8 KiB
November 10th (7 PM CST)/11th (9 AM JST) Meeting 2020
Individual Updates (Sync)
As per discussion after our previous meeting, we shall open our meeting with brief descriptions of our recent and/or current and/or expected relevant progress.
#Status_Update_Interrupt
- #Query(Nadav)
- #Query(Tibo)
- #Query(Nicolas)
- #Query(Ben)
- #Query(Lloyd)
- #Query(Antoine)
- #Query(Chris)
- #Query(Matt)
- #Query(all)
Mailing List
#Discussion
- Many have asked for the creation of a mailing list
- Setting it up?
- Archives?
Secp256k1 Progress
#Status_Update
- schnorrsig has just been merged into secp256k1-zkp this week!
- It is now time to open a PR with ECDSA Adaptor Signatures cherry-picked onto secp256k1-zkp
- There are still TODOs left on this branch
- Jonas said he would be willing to do this work at some point if no one else does
- Nadav doesn't feel fully comfortable with doing this
- #Query(Lloyd)?
Oracle Specifications
#Status_Update_Interrupt
- The initial Oracle Proposal has been merged!
- Exact serialization and signing algorithm not fully specified by the current doc
- Ben has an initial proposal
- https://github.com/discreetlogcontracts/dlcspecs/pull/113
- Summarize #Query(Ben)
- #Discussion
- https://github.com/discreetlogcontracts/dlcspecs/issues/111
- Ben has an initial proposal
- We need a doc for client-side oracle validation
- https://github.com/discreetlogcontracts/dlcspecs/issues/97
- Antoine has volunteered to do this
- Exact serialization and signing algorithm not fully specified by the current doc
- Any other oracle things worth discussion/mention?
- #Query(all)
Digit Decomposition Contract Construction and Execution
#Status_Update
- I have opened a pull request with a document specifying in detail all/most of the parts required for clients to construct and execute digit decomposition DLCs
- Done
- I have successfully executed such a DLC on an 8-digit (base 10) oracle outcome space in bitcoin-s!
- Specifies mult-signature event adaptor points using signature addition, which is compatible with fraud proofs
- Specifies CET set compression algorithm and provides analysis yielding simple function for computing the number of CETs
- Specifies support for arbitrary payout curves
- Specifies precision ranges which allow rounding in order to further compress CET set and reduce computation
- Specifies CET signature construction and validation
- TODO
- Add support for signed (
+-) numeric outcomes- I am currently leaning towards running the unsigned algorithm on positive and negative numbers separately so as to keep things simple at very little cost, any objections?
- #Goal(Approve this approach or decide on alternative)
- Integration with other spec files
- Pretty diagrams
- Explicitly recommend base 2 signing for oracles
- Scala code -> Python
- Separate CET compression spec from payout curve spec (multiple files)
- Test Vectors (in future PR)
- Add support for signed (
- #Discussion
- Done
Non-Interactive Protocol
#Status_Update
- The initial specification for on-chain handling has been merged!
- Summary
- We rely on CPFP with BIP 125 (RBF) on the child transaction for dynamic fee handling
- Users may set their own attempt frequencies up to a
security_pointafter which they must aggressively attempt to successfully RBF - We currently discourage all double-spends of funding inputs and consider this malicious behavior
- If a counter party does this we suggest they be black-listed
- #Discussion
- Still need doc with recommendations for key management
- Any other oracle things worth discussion/mention?
- #Query(all)
Specification Writing
#Status_Update_Interrupt
- Initial test vectors passed by 3 independent implementations and merged!
- Dust specification
- We currently just hard-code
1000 satoshilimit - https://github.com/discreetlogcontracts/dlcspecs/issues/11
- We currently just hard-code
- Ordering of inputs and outputs
- We plan to use the
serial_idconstruction here - https://github.com/discreetlogcontracts/dlcspecs/issues/18
- We plan to use the
- Adaptor Signature Specification
- PR has just been opened!
- Adding TLV Streams for extensibility
- Does this even make sense given the way we are using TLVs?
- https://github.com/discreetlogcontracts/dlcspecs/issues/73
- Pretty Pictures Wanted!
- https://github.com/discreetlogcontracts/dlcspecs/issues/77
- #Query(all)
- Anybody interested or know someone who might be?
- Is there anything we can do to get this to happen? Maybe post to telegram or tweet?
- SIGHASH discussion seems to have gone stale
- https://github.com/discreetlogcontracts/dlcspecs/issues/91
- Antoine has voiced that he thinks this should be considered for a future version and not for initial release to reduce complexity
- I (Nadav) personally have been unable to follow this discussion, if there are any take-aways or proposals to be made, I will need them written and PR'd or put on that issue so that I can spend time understanding it
- "Key Material Compromised" Message
- https://github.com/discreetlogcontracts/dlcspecs/issues/94
- Antoine has volunteered to write a proposal for this
- #Discussion
- Client-side Oracle Validation
- https://github.com/discreetlogcontracts/dlcspecs/issues/97
- Antoine has volunteered to work on this
- Make
prev_txoptional during contract negotiation - Need storage fault-tolerance recommendations (backup discussion)
- #Discussion
- Anything about updates not discussed? Anything else?
P2P Network Considerations
#Query(Lloyd, all)
- Last meeting we discussed using TOR or BIP 324 for solving problems like port forwarding
- Lloyd was potentially interested in pursuing BIP 324
- Any updates or new thoughts on this subject?
Lightning DLCs
#Status_Update
- Roman has made progress support more general outputs on commitment transactions in Eclair
- Lloyd progress update on witness-asymmetric channels
- #Query(Lloyd)
- Antoine progress update on general outputs in rust-lightning
- #Query(Antoine)
- Anyone else have anything to report?
- #Query(all)