Skip to content

Instantly share code, notes, and snippets.

What would you like to do?

London Bitcoin Devs links for Socratic on "Discreet Log Contracts" w/ Suredbits

August 10th 2021

YouTube Live link:

Zoom link (passcode is 170934 if needed ):

Public meetup link:

Private meetup link:

The basic concept of a Discreet Log Contract

What is a Discreet Log Contract:

Z-man on smart contracts:

Examples of DLCs in the wild

Nicolas Dorier and Chris Stewart on US presidential election:

Chris Stewart and Nadav Kohen on Bitcoin price volatility:

Blockstream and Crypto Garage on Bitcoin price:

Lloyd Fournier CLI P2P betting:

How to Make a Prediction Market on Twitter with Bitcoin:

Evolution of the DLC and variations

Tadge Dryja's original DLC white paper:

Tadge Dryja presentation on DLCs at MIT:

How do they work (old non-adaptor version):

Adaptor signatures

Use oracle's signature as a private key (non interactive), shows adaptor sig and once you see unencrypted one you can construct an adaptor sig for any tweak

Thibaut Le Guilly and Ichiro Kuwahara on DLC and Adaptor signatures:

ECDSA adaptor signatures:

Why DLCs are great:

Security and Trust Model for DLCs:

DLCs versus multisig:

Nadav Kohen presentation at LA BitDevs:

DLC video demo:

Different oracle models

DLC oracle demo using Krystal Bull:

Suredbits oracle docs:

Oracle explorer:

Oracle failure cases:

Using multiple oracles:

Oracle announcements:

DLC specs on Oracles:

DLC specs on multiple oracles:

Attacks on DLCs (Bitcoin Problems):

DLCs within a payment channel


Routed DLCs on Lightning

The outputs need to be fully collateralized (full amount locked in a bitcoin utxo on a commitment tx) which is why we keep commenting about capital inefficiency so if you have dlc1,dlc2,dlc3... in the the channel, you need dlc_output_1, dlc_output_2, dlc_output_3 that hang off of the commitment tx

those DLCs are removed from the commitment tx in the case

Oracle signature published Something like a mutual_close is sent between the two parties

Lightning Dice (AJ Towns):

Lightning Dice at Sydney Socratic:

Integrating DLC channels in Lightning:

Barrier escrows:

Different DLC implementations

DLC specs:

v0 Milestone:

Spec meeting notes:

Last meeting (August 3rd 2021):

Thibaut DLC PR in rust-lightning:

Tadge's Lit Lightning implementation:

Schnorr and Taproot'd DLCs


The impact of possible future soft forks on DLCs

Jeremy Rubin blog post on Taproot activation - You Betcha (uses Sapio but not OP_CTV):

"When a scriptSig is changed, the txid changes. If the txid of a funding transaction of a DLC changes, it invalidates all contract execution transactions (“CET”) that were created to spend that funding transaction. This effectively invalidates your DLC. In the future if the bitcoin protocol decides to upgrade SIGHASH_ANYPREVOUT, this will be less of a problem as the protocol can just bind to a specific script in an output, rather than the full outpoint itself."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment