Update Dandelion simulation doc (#1034)

This commit is contained in:
Quentin Le Sceller 2018-05-08 16:57:22 -04:00 committed by Ignotus Peverell
parent 4e531435e0
commit dd861c8d8c
21 changed files with 34 additions and 39 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

After

Width:  |  Height:  |  Size: 63 KiB

BIN
doc/dandelion/images/t5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

View file

@ -6,16 +6,17 @@ In this scenario, we simulate a successfull aggregation but a failed transaction
This document also helps visualizing all the timers in a simple way. This document also helps visualizing all the timers in a simple way.
## Initial Situation ## T = 0 - Initial Situation
![Initial situation](images/ti.png)
## T = 0
A sends grins to B. B adds the transaction to its stempool and starts its patience timer.
![t = 0](images/t0.png) ![t = 0](images/t0.png)
## T = 5
A sends grins to B.
B flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction.
![t = 5](images/t5.png)
## T = 10 ## T = 10
B waits until he runs out of patience. B waits until he runs out of patience.
@ -24,70 +25,64 @@ B waits until he runs out of patience.
## T = 30 ## T = 30
B runs out of patience, flips a coin, broadcasts the transaction to its stem relay and starts the embargo timer for this transaction. B runs out of patience and broadcasts the aggregated stem transaction to its Dandelion relay H.
H receives the stem transaction, flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction.
![t = 30](images/t30.png) ![t = 30](images/t30.png)
## T = 35
B and H wait.
![t = 35](images/t35.png)
## T = 40 ## T = 40
G sends grins to E. G sends grins to E.
E adds the transaction to its stempool and starts its patience timer. E flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction.
B and H wait.
![t = 40](images/t40.png) ![t = 40](images/t40.png)
## T = 50
B, H and E wait.
![t = 50](images/t50.png)
## T = 55 ## T = 55
B spends B1 to D. B spends B1 to D.
D adds the transaction to its stempool and starts its patience timer. D flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction.
H runs out of patience broadcasts the aggregated stem transaction to its Dandelion relay E.
E receives the stem transaction, flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction.
![t = 55](images/t55.png) ![t = 55](images/t55.png)
## T = 60
H runs out of patience, flips a coin, broadcasts the transaction to its stem relay and starts the embargo timer for this transaction.
![t = 60](images/t60.png)
## T = 65 ## T = 65
Waiting. Nodes are waiting.
![t = 65](images/t65.png) ![t = 65](images/t65.png)
## T = 70 ## T = 70
E runs out of patience, flips a coin, broadcasts the aggregated transaction to its stem relay and starts the embargo timer for this transaction. E runs out of patience broadcasts the aggregated stem transaction to its Dandelion relay F.
F receives the stem transaction, flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction.
![t = 70](images/t70.png) ![t = 70](images/t70.png)
## T = 75 ## T = 80
Waiting. D runs out of patience, broadcasts the aggregated stem transaction to its Dandelion relay.
E receives the stem transaction, flips a coin and decides to add it to its stempool and starts the embargo timer for this transaction. aggregates them (thus removing duplicate input/output pair B1) and starts its patience timer.
![t = 75](images/t75.png) ![t = 80](images/t80.png)
## T = 85 ## T = 85
D runs out of patience, flips a coin, broadcasts the aggregated transaction to its stem relay and starts the embargo timer for this transaction. Nodes are waiting.
E receives the stem transaction, aggregates them (thus removing duplicate input/output pair B1) and starts its patience timer.
![t = 85](images/t85.png) ![t = 85](images/t85.png)
## T = 100 ## T = 95 - Step 1
F runs out of patience, flips a coin, broadcasts the aggregated transaction to all its peers (fluff in the mempool). F runs out of patience, broadcasts the aggregated stem transaction to its Dandelion relay H.
H receives the transaction, flips a coin and decide to broadcast the transaction to all its peers (fluff in the mempool).
![t = 95_1](images/t95_1.png)
## T = 95 - Step 2
All the nodes add this transaction to their mempool and remove the related transactions from their stempool.
E receives the transaction in its mempool and reverts the state of its stempool to avoid conflicting transactions. E receives the transaction in its mempool and reverts the state of its stempool to avoid conflicting transactions.
![t = 100](images/t100.png) ![t = 95_2](images/t95_2.png)