Lazy tip
===
網路的拓樸 , 是會使一些交易變成 $lazy \space tip$
哪種 $tip$ 可以歸類為 $lazy \space tip$ ?
以下是定義
:::success
交易所選的兩筆交易 , 累積權重權重最低的那筆交易 , 累積權重超過node所定義的數值
該交易就是 $lazy \space tip$
:::
原則上 , node可以定義這個跟 $lazy \space tip$ 相關的數值
以一個模擬的例子說明如何產生lazy tip
假設有四個node , 網路拓樸如下
```graphviz
graph graphname{
1 -- 2;
2 -- 3;
3 -- 4;
}
```
我們假設以上四個node , 每一秒會發起一次交易 , 並假設只有網路傳輸需要時間
假設交易在相鄰node需要傳輸的時間為1秒
每個node使用的算法為:
:::success
選交易的算法 , 要選tip且要盡可能不選lazy tip
:::
一開始四個node的DAG相同且如下圖
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
}
```
第一秒 , 四個node都發起了交易 , 所選的交易如下
* 1
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
11->e;
11->e;
}
```
* 2
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
21->e;
21->d;
}
```
* 3
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
31->d;
31->d;
}
```
* 4
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
}
```
先看第二秒 , 各個node收到交易的情況
* 1
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
11->e;
11->e;
21->e;
21->d;
}
```
* 2
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
21->e;
21->d;
11->e;
11->e;
31->d;
31->d;
}
```
* 3
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
31->d;
31->d;
21->e;
21->d;
41->e;
41->d;
}
```
* 4
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
31->d;
31->d;
}
```
來看第二秒 , 各node是如何選取的
* 1
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
11->e;
11->e;
21->e;
21->d;
12->11;
12->21;
}
```
* 2
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
21->e;
21->d;
11->e;
11->e;
31->d;
31->d;
22->21;
22->31;
}
```
* 3
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
31->d;
31->d;
21->e;
21->d;
41->e;
41->d;
32->31;
32->21;
}
```
* 4
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
31->d;
31->d;
42->41;
42->31;
}
```
接下來看第三秒 , 各node接收的情況
* 1
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
11->e;
11->e;
21->e;
21->d;
12->11;
12->21;
22->21;
22->31;
31->d;
31->d;
}
```
* 2
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
21->e;
21->d;
11->e;
11->e;
31->d;
31->d;
22->21;
22->31;
41->e;
41->d;
12->11;
12->21;
32->21;
32->31;
}
```
* 3
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
31->d;
31->d;
21->e;
21->d;
41->e;
41->d;
32->31;
32->21;
11->e;
11->e;
22->21;
22->31;
42->41;
42->31;
}
```
* 4
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
31->d;
31->d;
42->41;
42->31;
21->e;
21->d;
32->21;
32->31;
}
```
接下來看第三秒 , 四個node如何選
* 1
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
13[label="13" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
11->e;
11->e;
21->e;
21->d;
12->11;
12->21;
22->21;
22->31;
31->d;
31->d;
13->12;
13->22;
}
```
* 2
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
23[label="23" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
21->e;
21->d;
11->e;
11->e;
31->d;
31->d;
22->21;
22->31;
41->e;
41->d;
12->11;
12->21;
32->21;
32->31;
23->22;
23->32;
}
```
* 3
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
33[label="33" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
31->d;
31->d;
21->e;
21->d;
41->e;
41->d;
32->31;
32->21;
11->e;
11->e;
22->21;
22->31;
42->41;
42->31;
33->42;
33->22;
}
```
* 4
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
43[label="43" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
31->d;
31->d;
42->41;
42->31;
21->e;
21->d;
32->21;
32->31;
43->42;
43->32;
}
```
最後 , 第四秒收到交易的情況
* 1
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
13[label="13" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
23[label="23" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
11->e;
11->e;
21->e;
21->d;
12->11;
12->21;
22->21;
22->31;
31->d;
31->d;
13->12;
13->22;
41->e;
41->d;
32->21;
32->31;
23->22;
23->32;
}
```
* 2
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
23[label="23" color=blue, fontcolor=blue, fontsize=24, shape=box]
13[label="13" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
33[label="33" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
21->e;
21->d;
11->e;
11->e;
31->d;
31->d;
22->21;
22->31;
41->e;
41->d;
12->11;
12->21;
32->21;
32->31;
23->22;
23->32;
42->41;
42->31;
13->12;
13->22;
33->22;
33->42;
}
```
* 3
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
33[label="33" color=blue, fontcolor=blue, fontsize=24, shape=box]
12[label="12" color=blue, fontcolor=blue, fontsize=24, shape=box]
23[label="23" color=blue, fontcolor=blue, fontsize=24, shape=box]
43[label="43" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
31->d;
31->d;
21->e;
21->d;
41->e;
41->d;
32->31;
32->21;
11->e;
11->e;
22->21;
22->31;
42->41;
42->31;
33->42;
33->22;
12->11;
12->21;
23->22;
23->32;
43->32;
43->42;
}
```
* 4
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
43[label="43" color=blue, fontcolor=blue, fontsize=24, shape=box]
33[label="33" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
31->d;
31->d;
42->41;
42->31;
21->e;
21->d;
32->21;
32->31;
43->42;
43->32;
11->e;
11->e;
22->21;
22->31;
33->22;
33->42;
}
```
從網路拓樸 , 可以發現 $1$ , $4$ 會是邊緣節點(edge node)
$2$ , $3$ 不是
觀察 $4$ 最後的DAG
```graphviz
digraph init{
rankdir=RL;
a[ label="c" color=blue, fontcolor=blue, fontsize=24, shape=box];
b[label="b" color=blue, fontcolor=blue, fontsize=24, shape=box];
c[label="a" color=blue, fontcolor=blue, fontsize=24, shape=box]
e[label="e" color=blue, fontcolor=blue, fontsize=24, shape=box]
d[label="d" color=blue, fontcolor=blue, fontsize=24, shape=box]
41[label="41" color=blue, fontcolor=blue, fontsize=24, shape=box]
31[label="31" color=blue, fontcolor=blue, fontsize=24, shape=box]
42[label="42" color=blue, fontcolor=blue, fontsize=24, shape=box]
21[label="21" color=blue, fontcolor=blue, fontsize=24, shape=box]
32[label="32" color=blue, fontcolor=blue, fontsize=24, shape=box]
43[label="43" color=blue, fontcolor=blue, fontsize=24, shape=box]
33[label="33" color=blue, fontcolor=blue, fontsize=24, shape=box]
22[label="22" color=blue, fontcolor=blue, fontsize=24, shape=box]
11[label="11" color=blue, fontcolor=blue, fontsize=24, shape=box]
a -> c;
b -> c;
a -> c;
b -> c;
e -> a;
e -> b;
d -> a;
d -> b;
41->e;
41->d;
31->d;
31->d;
42->41;
42->31;
21->e;
21->d;
32->21;
32->31;
43->42;
43->32;
11->e;
11->e;
22->21;
22->31;
33->22;
33->42;
}
```
可以注意到 $11$ 這筆交易是 $lazy \space tip$
然後 $11$ 是 $1$ 發起的交易 , 而是第一秒發 , $4$ 第四秒才收到的
可以看到 , 如果交易需要比較長的時間才會收到 , 那是有可能變成 $lazy \space tip$
會不會變成 $lazy \space tip$ 取決於傳輸時間少的鄰居node發的交易數量
###### tags: `IOTA`