Add diagrams for DLC overview, rbf, and participant / outsider view (#151)

This commit is contained in:
Matthew Black
2021-03-30 16:09:16 -04:00
committed by GitHub
parent 1bfbf651d2
commit 555f87a9d2
7 changed files with 12 additions and 0 deletions

View File

@@ -9,6 +9,8 @@ by every party involved.
DLC [were originally proposed by Thaddeus Dryja](https://adiabat.github.io/dlc.pdf). DLC [were originally proposed by Thaddeus Dryja](https://adiabat.github.io/dlc.pdf).
The goal of DLC is to enable setting up contracts between two parties directly on the Bitcoin blockchain using an oracle to determine the contract outcome. The goal of DLC is to enable setting up contracts between two parties directly on the Bitcoin blockchain using an oracle to determine the contract outcome.
![DLC Overview](images/dlc_overview.png)
### Oracle ### Oracle
An oracle is an entity signing messages in reaction to real-world events. An oracle is an entity signing messages in reaction to real-world events.
@@ -19,6 +21,10 @@ Once the event has occurred an oracle releases a signed message over the event o
An important feature of DLC is that oracle signatures can be used without an explicit request from the contract participants. An important feature of DLC is that oracle signatures can be used without an explicit request from the contract participants.
This characteristic is the reason for the "discreet log" part of the name, as the protocol, depending on its implementation and instantiation, enables parties to hide traces of their contracts to the oracle. This characteristic is the reason for the "discreet log" part of the name, as the protocol, depending on its implementation and instantiation, enables parties to hide traces of their contracts to the oracle.
![DLC Overview](images/dlc_participant_view.png)
![DLC Overview](images/dlc_outsider_view.png)
### Trust-minimized execution ### Trust-minimized execution
A second characteristic of DLCs is that both parties involved in the contract do not need to trust each other. A second characteristic of DLCs is that both parties involved in the contract do not need to trust each other.

View File

@@ -32,6 +32,8 @@ There are three scenarios to consider:
3. The funding transaction confirms, and the oracle doesn't release an outcome signature 3. The funding transaction confirms, and the oracle doesn't release an outcome signature
before the `refund_locktime`, so a party must broadcast the refund transaction. before the `refund_locktime`, so a party must broadcast the refund transaction.
![DLC Overview RBF](images/dlc_overview_rbf.png)
# General Requirements # General Requirements
A DLC client should have censorship-resistant access to the blockchain, use a A DLC client should have censorship-resistant access to the blockchain, use a

View File

@@ -21,6 +21,10 @@ This details the exact format of all on-chain transactions, which both sides nee
* [References](#references) * [References](#references)
* [Authors](#authors) * [Authors](#authors)
# Transactions Diagram
![DLC Overview](images/dlc_overview.png)
# Funding Transaction # Funding Transaction
* version: 2 * version: 2

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
images/dlc_overview.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
images/dlc_overview_rbf.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB