I have now fully open sourced the code which creates this on-chain BIP-444 futures contract!
The contract starts with an atomic deposit into the contract address of 1 BTC each (to make sure both parties put in the same amount into the contract address).
Context: BIP-444 makes the use of OP_IF & OP_NOTIF consensus INVALID upon activation.
The contract is built as follows:
The taproot address uses the NUMS point as described in BIP341, to provably show the key path is not active.
We have two parties, a "YES" (444 activates) and "NO" (444 does NOT activate). YES and NO for short.
The first leaf is a 2 of 2 multisig of both parties. This exists to be able to self send the UTXO AFTER BIP 444 activates. This is because BIP-444 just added a clause that UTXOs created before activation will NOT have the BIP-444 consensus rules applied to them. This self send removes that exception.
The second leaf: has 2 ways you can spend with it, a 2 of 2 (YES and NO) multisig, just like the first leaf OR the NO party, with a time lock which is LESS THAN the third tap leaf. This is important because it uses OP_NOTIF
The Third Leaf: The YES party can spend, after a time lock AFTER the second leaf.
The order of the timelocks is important. If BIP-444 activates, the spending condition that can spend before you will be consensus invalid, so it doesn't matter if you believe 444 activates.
So to summarize:
- If BIP-444 DOES activate, the party who believes it will be able to use the second tap leaf to get 2 BTC out.
- If BIP-444 DOES NOT activate, the party who believes that will use the third tap leaf to get 2 BTC out.
Since each side is highly confident in their position, the fair market price is a 1:1 ratio, implying 50% likelihood.
With 85 days until activation, this contract as written gives you an implied ~430% APY on your bitcoin! The risk is being incorrect on your opinion of BIP-444 activating.
You could modify the collateral each side puts up to get different implied odds of the futures contract as well.
Code and example address below 👇
For anyone who thinks BIP 444 will activate, I will happily offer you an ability to make more bitcoin.
We each deposit 1 BTC into a taproot address with two spending conditions:
1. Time locked so that you can withdraw June 1st next year at a depth of 1 in the tap tree.
2. Time locked so I can withdraw May 1st next year at a depth of 128 in the tap tree.
If BIP444 activates, you get 2 BTC out of the address (because my spend path would be consensus invalid).
If BIP444 does not activate, I get 2BTC out of the address.
DMs are open, we can use a dedicated escrow agent as third key if necessary, would obviously provide auditable code to show there are no tricks.
We can also atomically fund the transaction using a multi input transaction into this taproot address to guarantee all parties fund the address.
Only condition is the bet is public. Willing to consider odds if you're of lower conviction.