LearnBitcoin

Bitcoin Dev Archive 2020

Discreet Log Contract Protocol Specification

3 messages, 13 Jan to 27 Feb 2020. Started by Chris Stewart.

Chris Stewart, Lloyd Fournier, Nadav Kohen

Permalink Original thread on gnusha.org

Chris Stewart permalink original

Hi all,

Suredbits and Crypto Garage have begun to work on a specification for using discreet log contracts <https://adiabat.github.io/dlc.pdf> in a safe, private and interoperable way. We are writing to the mailing list to inform and solicit feedback for the protocol specification so that we can -- as a community -- agree on a common standard to use Bitcoin oracles.

Our goal is to end up with a set of documents like the BIPs (Bitcoin Improvement Proposals) and BOLTs (Basis of Lightning Technology) so that others that wish to use the technology can easily write software to integrate into the protocol.

A secondary goal of ours is to remain compatible with standards used by other bitcoin related protocols (like Lightning) so that every future bitcoin related protocol can reach for a “toolbox” of agreed standards for things like funding transactions and closing transactions. We want to avoid reinventing the wheel where possible and allow for library developers to re-use software to hook into many bitcoin related protocols.

You can find the specification repository here:

https://github.com/discreetlogcontracts/dlcspecs/

For more information on DLCs:

[1] - https://adiabat.github.io/dlc.pdf
[2] - https://cryptogarage.co.jp/p2pd/

[3] - https://suredbits.com/discreet-log-contracts-part-1-what-is-a-discreet-log-contract/

[4] - https://blockstream.com/2019/04/19/en-transacting-bitcoin-based-p2p-derivatives/

[5] - https://dci.mit.edu/smart-contracts

-Chris

Lloyd Fournier in reply to Chris Stewart permalink original

Hi Chris,

This is a really exciting effort. I hope I will be able to contribute to it. I was wondering if you had seen the idea that DLCs can be done in only two transaction using Schnorr[1]. I also think this can be done in Bitcoin as it is today using ECDSA adaptor signatures [2]. In my mind, the adaptor signature protocol is both easier to specify and implement on top of being cheaper and more private.

LL

[1] https://lists.launchpad.net/mimblewimble/msg00485.html [2] https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-November/002316.html

On Tue, Jan 14, 2020 at 2:12 AM Chris Stewart via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (44 lines)
> Hi all,
>
> Suredbits and Crypto Garage have begun to work on a specification for
> using discreet log contracts <https://adiabat.github.io/dlc.pdf> in a
> safe, private and interoperable way. We are writing to the mailing list to
> inform and solicit feedback for the protocol specification so that we can
> -- as a community -- agree on a common standard to use Bitcoin oracles.
>
> Our goal is to end up with a set of documents like the BIPs (Bitcoin
> Improvement Proposals) and BOLTs (Basis of Lightning Technology) so that
> others that wish to use the technology can easily write software to
> integrate into the protocol.
>
> A secondary goal of ours is to remain compatible with standards used by
> other bitcoin related protocols (like Lightning) so that every future
> bitcoin related protocol can reach for a “toolbox” of agreed standards for
> things like funding transactions and closing transactions. We want to avoid
> reinventing the wheel where possible and allow for library developers to
> re-use software to hook into many bitcoin related protocols.
>
> You can find the specification repository here:
>
> https://github.com/discreetlogcontracts/dlcspecs/
>
> For more information on DLCs:
>
> [1] - https://adiabat.github.io/dlc.pdf
>
> [2] - https://cryptogarage.co.jp/p2pd/
>
> [3] -
> https://suredbits.com/discreet-log-contracts-part-1-what-is-a-discreet-log-contract/
>
> [4] -
> https://blockstream.com/2019/04/19/en-transacting-bitcoin-based-p2p-derivatives/
>
> [5] - https://dci.mit.edu/smart-contracts
>
> -Chris
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
Nadav Kohen in reply to Lloyd Fournier permalink original

Hi List,

We now have have some working code for executing 2-outcome Discreet Log Contracts as well as documentation <https://bitcoin-s.org/docs/next/applications/dlc> on how to use it, and would love if anyone wanted to try it out!

Here's a short blog post <https://suredbits.com/discreet-log-contract-demonstration/> with a video demo of an execution.

And as always, we would also be thrilled if anyone interested in reviewing or contributing took a look at our work-in-progress specification <https://github.com/discreetlogcontracts/dlcspecs/>.

Best, Nadav

On Tue, Jan 28, 2020 at 3:38 AM Lloyd Fournier via bitcoin-dev < bitcoin-dev@lists•linuxfoundation•org> wrote:

Quoted text (67 lines)
> Hi Chris,
>
> This is a really exciting effort. I hope I will be able to contribute to
> it. I was wondering if you had seen the idea that DLCs can be done in only
> two transaction using Schnorr[1]. I also think this can be done in Bitcoin
> as it is today using ECDSA adaptor signatures [2]. In my mind, the adaptor
> signature protocol is both easier to specify and implement on top of being
> cheaper and more private.
>
> LL
>
> [1] https://lists.launchpad.net/mimblewimble/msg00485.html
> [2]
> https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-November/002316.html
>
> On Tue, Jan 14, 2020 at 2:12 AM Chris Stewart via bitcoin-dev <
> bitcoin-dev@lists•linuxfoundation•org> wrote:
>
>> Hi all,
>>
>> Suredbits and Crypto Garage have begun to work on a specification for
>> using discreet log contracts <https://adiabat.github.io/dlc.pdf> in a
>> safe, private and interoperable way. We are writing to the mailing list to
>> inform and solicit feedback for the protocol specification so that we can
>> -- as a community -- agree on a common standard to use Bitcoin oracles.
>>
>> Our goal is to end up with a set of documents like the BIPs (Bitcoin
>> Improvement Proposals) and BOLTs (Basis of Lightning Technology) so that
>> others that wish to use the technology can easily write software to
>> integrate into the protocol.
>>
>> A secondary goal of ours is to remain compatible with standards used by
>> other bitcoin related protocols (like Lightning) so that every future
>> bitcoin related protocol can reach for a “toolbox” of agreed standards for
>> things like funding transactions and closing transactions. We want to avoid
>> reinventing the wheel where possible and allow for library developers to
>> re-use software to hook into many bitcoin related protocols.
>>
>> You can find the specification repository here:
>>
>> https://github.com/discreetlogcontracts/dlcspecs/
>>
>> For more information on DLCs:
>>
>> [1] - https://adiabat.github.io/dlc.pdf
>>
>> [2] - https://cryptogarage.co.jp/p2pd/
>>
>> [3] -
>> https://suredbits.com/discreet-log-contracts-part-1-what-is-a-discreet-log-contract/
>>
>> [4] -
>> https://blockstream.com/2019/04/19/en-transacting-bitcoin-based-p2p-derivatives/
>>
>> [5] - https://dci.mit.edu/smart-contracts
>>
>> -Chris
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists•linuxfoundation•org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists•linuxfoundation•org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>