Update Dandelion simulation doc (#1034)
Before ![]() (image error) Size: 45 KiB After ![]() (image error) Size: 59 KiB ![]() ![]() |
Before ![]() (image error) Size: 46 KiB After ![]() (image error) Size: 60 KiB ![]() ![]() |
Before ![]() (image error) Size: 55 KiB |
Before ![]() (image error) Size: 48 KiB After ![]() (image error) Size: 63 KiB ![]() ![]() |
Before ![]() (image error) Size: 47 KiB |
Before ![]() (image error) Size: 49 KiB After ![]() (image error) Size: 63 KiB ![]() ![]() |
BIN
doc/dandelion/images/t5.png
Normal file
After ![]() (image error) Size: 60 KiB |
Before ![]() (image error) Size: 50 KiB |
Before ![]() (image error) Size: 51 KiB After ![]() (image error) Size: 66 KiB ![]() ![]() |
Before ![]() (image error) Size: 53 KiB |
Before ![]() (image error) Size: 52 KiB After ![]() (image error) Size: 66 KiB ![]() ![]() |
Before ![]() (image error) Size: 54 KiB After ![]() (image error) Size: 68 KiB ![]() ![]() |
Before ![]() (image error) Size: 54 KiB |
BIN
doc/dandelion/images/t80.png
Normal file
After ![]() (image error) Size: 69 KiB |
Before ![]() (image error) Size: 60 KiB After ![]() (image error) Size: 69 KiB ![]() ![]() |
BIN
doc/dandelion/images/t95_1.png
Normal file
After ![]() (image error) Size: 71 KiB |
BIN
doc/dandelion/images/t95_2.png
Normal file
After ![]() (image error) Size: 70 KiB |
BIN
doc/dandelion/images/t_i.png
Normal file
After ![]() (image error) Size: 58 KiB |
Before ![]() (image error) Size: 43 KiB |
|
@ -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.
|
||||
|
||||
## Initial Situation
|
||||
|
||||

|
||||
|
||||
## T = 0
|
||||
|
||||
A sends grins to B. B adds the transaction to its stempool and starts its patience timer.
|
||||
## T = 0 - Initial Situation
|
||||
|
||||

|
||||
|
||||
## 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 = 10
|
||||
|
||||
B waits until he runs out of patience.
|
||||
|
@ -24,70 +25,64 @@ B waits until he runs out of patience.
|
|||
|
||||
## 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 = 35
|
||||
|
||||
B and H wait.
|
||||
|
||||

|
||||
|
||||
## T = 40
|
||||
|
||||
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 = 50
|
||||
|
||||
B, H and E wait.
|
||||
|
||||

|
||||
|
||||
## T = 55
|
||||
|
||||
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 = 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 = 65
|
||||
|
||||
Waiting.
|
||||
Nodes are waiting.
|
||||
|
||||

|
||||
|
||||
## 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 = 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 = 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.
|
||||
E receives the stem transaction, aggregates them (thus removing duplicate input/output pair B1) and starts its patience timer.
|
||||
Nodes are waiting.
|
||||
|
||||

|
||||
|
||||
## 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 - 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.
|
||||
|
||||

|
||||

|
||||
|
|