How to Start a Bitcoin DAO with a DLC
In this post I show how Discrete Log Contracts (DLCs) could be used to build Bitcoin DAOs. Thanks to the DLC.link team for collaborating on this post.
What is a DLC?
A Discreet Log Contract (DLC) is a form of Bitcoin transaction that uses an oracle to execute a smart contract.
DLCs can execute one very specific type of smart contact: a bet.
Through an elegant process of pre-defining and cryptographically signing a set of possible outcomes — two Bitcoin users can agree on some contract parameters, and the oracle (a third-party) can attest to a single outcome.
The DLC process is trustless (no human needed) and involves a great deal of anonymity for the parties involved, both to the oracle as well as what is actually seen on-chain. Hence the playful name “discreet” in Discreet Log Contract.
The DLC Bet Example
Imagine two Muppets — Kermit and Cookie Monster — want to place a bet.
Kermit bets, “Tomorrow’s weather will be sunny.”
Cookie bets that “Tomorrow it will be rainy.”
Game on!
To start the bet — 1 BTC each is placed into a DLC.
From there an oracle (for example, a Weather.com API, a friend, or a Clarity smart contract) is used to execute the final decision.
Once the decision is executed, the DLC programmatically distributes 2 BTC to the winner. In the case of the image above, Kermit wins the bet and 2BTC is sent to his wallet.
3 Use Cases for DLCs and Bitcoin DAOs
Here are three example use cases for DLCs as a building block for Bitcoin DAOs:
Kickstarter style—If all the funds are raised, the assets are sent to a multisig (like Electrum, Casa or MultiSafe.xyz). If the funds aren’t raised, the money is returned.
Indiegogo style—Even if all funds aren’t raised, you can still send the money forward.
Dutch auction—Whoever sends the most BTC wins an auction; all others get their money sent back to them.
Kickstarter Bitcoin DAO Example
Let me illustrate the Kickstarter Bitcoin DAO in more detail:
Organize a project — Multiple backers organize to collectively purchase something.
Set funding goal — The DLC creator sets a funding goal of 3BTC. Funding is set to “all or nothing.” Either the project is fully funded, or else all of the backers get their money refunded.
Funding goal is met? — If a project is funded (success!), then the funds will be automatically transferred to a predetermined Bitcoin multisig wallet like Electrum, Casa, or MultiSafe.xyz.
Manage the DAO — Once in MultiSafe (or Electrum or Casa), the receiving owners can manage the money and make the purchase on behalf of the group.
Clarity smart contracts as an oracles?
In the Kickstarter example above a Clarity smart contract could be used to reach the Bitcoin state of the DLC wallet.
Clarity can read Bitcoin state. And as such, the Clarity contract can be listening to Bitcoin state and then triggering the following oracle event: ”If we hit [2 BTC] by [July 1, 2022] we will buy [The Muppet Theatre].”
Two Technical Considerations
When using a DLC you must know the final output wallet address before you deploy the DLC.
You can’t leave unspent funds in the DLC wallet after the transaction is complete: assets must either be sent to the new address, or be returned to the original wallet address.
Final Thoughts
We investigated DLCs as a potential extension for MultiSafe to help in our mission to create Bitcoin DAOs. At this moment we don’t have plans to develop any code related to the above scenarios. We are looking for use cases of Bitcoin DAOs. Please get in touch with us on Twitter @multisafexyz.