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`