This document is the basic sequence.
- Alice and Bob are already matched.
- Alice and Bob have a means of communication.
+-------+ +-------+
| | | |
| |--(1)--- offer ----->| |
| | | |
| |<-(2)--- accept ------| |
| Alice | | Bob |
| |--(3)--- sign ----->| |
| | | |
| | | (4) send fund-tx
| | | |
+-------+ +-------+
Alice send data to Bob.
This parameter is information that allows Alict and Bob to decide how to become from the Fund by Oracle message.
Example.
- product
- product amount
- time
- etc...
This parameter is information that Oracle can identify.
This parameter is Alice's fund amount (including payment transaction fee).
This public key is used for fund-tx(2-of-2 multisig).
Alice's input used for fund-tx.
If Alice's change is necessary, it is the address.
This parameter is used for fund transactions and settlement transactions.
It does not make much sense in DLC, 144 fixed may be good.
This is refund transaction locktime.
If Bob is good at that condition, Bob send data to Alice.
This parameter is Bob's fund amount (including payment transaction fee).
This public key is used for fund-tx(2-of-2 multisig).
Bob's input used for fund-tx.
If Bob's change is necessary, it is the address.
This is all settlement transaction Bob's signatures.
This is refund transaction Bob's signature.
If Bob is not good at that condition, Bob send data to Alice.
Alice validates the (2) data.
If check is ok, Alice two data to Bob.
This is fund transaction Alice's signatures.
This is all settlement transaction Alice's signatures.
This is refund transaction Alice's signature.
Bob validates the (3) data.
If check is ok, Bob signs fund-tx.
Bob sends fund-tx to Bitcoin.
When fund-tx enters the block, the contract is completion.