Oracles on Bitcoin – Discreet Log Contracts explained

One of the latest developments in the Bitcoin universe is Discreet Log Contracts. With DLCs, contracts can be concluded and executed in the Bitcoin network. We have summarized how the whole thing basically works in this article.

What are DLCs?

Discreet Log Contracts are a form of smart contracts on Bitcoin. They offer the possibility to pay out money previously deposited by several parties when a predefined event occurs. Currently, DLCs are primarily used for betting, such as the outcome of the U.S. presidential election. But DLCs have many more uses.

Discrete log contracts
Procedure of a DLC via interdax

A DLC consists of at least three parties: Alice, Bob and a so-called Oracle. The Oracle is an independent third party that verifies and publishes the outcome of a particular situation

Alice and Bob create a contract that they exchange exclusively with each other. This contract consists of the terms and the transactions signed by Bob and Alice respectively for both outcomes of the bet. Then, Alica and Bob both send their wager of the bet into a 2-of-2 MultiiSig wallet

Only one of each of the two previously signed transactions, in combination with the Oracle signed outcome of the bet, can spend the bitcoin in the wallet according to the previously determined rules. The Oracle publishes either the key for output A or output B. Should Alice win the bet, she signs the “Alice wins” transaction with the published key. It is not possible to sign the “Bob wins” transaction with the published key.


Unlike other smart contract platforms, DLCs offer the advantage that the contract does not have to be published. It remains private, as it only needs to be shared with the participants of the contract. Not even the Oracle knows about the bet, but publishes the outcome of it without knowing about its participants

Because the data of the contract does not have to be placed in a block, Discreet Log Contracts are a parsimonious way to execute a smart contract. Only funding and execution transactions are executed on-chain. Due to their flexibility , DLCs are theoretically also possible on Lightning and would thus take up significantly less block space once again. With the activation of Taproot , DLCs become significantly more private, since the DLC transactions are no longer recognizable as such

Oracles at

A DLC solves the problem of trusting the other party to a bet, since neither Alice nor Bob has any influence on the outcome of that bet. In this case, some degree of trust in the Oracle is necessary


You must first trust an Oracle to publish the correct data. However, there are several reasons why it is not worthwhile for an Oracle to publish a wrong outcome

The first factor is reputation. Because operators of an Oracle can get paid for running one, they have a reason to maintain their reputation. After all, it is irrefutably verifiable what outcome was announced.

Oracles can deposit a certain amount of BTC as collateral that can be paid out if it can be proven that the published outcome is false

Similarly, multiple Oracles should be consulted to increase the cost of any bribe. If the bribe amount is less than the cost of damaging the reputation, there is no reason to accept the amount and publish a false outcome

Simultaneous disclosure of 2 different outputs of the event is also not possible, since the private key of the Oracle can be computed from both signed messages together.

Use cases

Theoretically, DLCs can be used for all kinds of contracts that involve a provable event. Whether sports betting, real contracts or even derivatives trading. Wherever an outcome can be clearly determined, a DLC can be used with Oracle. It will be exciting to see what else we see on this topic in the coming months and years.

You can find currently available Oracles at

To run an Oracle yourself, you can use Krystal Bull.

To create or participate in a DLC you can use P2PDerivates.

Leave a Reply