Is Stellar As Secure As You Think?
1
Think? Minjeong Kim Yujin Kwon Yongdae Kim 1 Stellar 2 - - PowerPoint PPT Presentation
Is Stellar As Secure As You Think? Minjeong Kim Yujin Kwon Yongdae Kim 1 Stellar 2 Stellar $150 - Problem of central authority - Cross-border Payment is too slow and costly - Try to solve those problems with blockchain 3 Stellar
1
2
3
4
5
To allow banks to transfer money internationally To allow citizens from developing countries to transfer money internationally Private blockchain Blockchain with open membership XRP Lumens Proof of correctness Stellar Consensus Protocol (SCP) Fixed membership list Flexible membership list
6
not suitable for public blockchain
7
8
ex) { t : 2, 𝑤1, 𝑤2, 𝑤3 }
ex) { t : 2, 𝑤1, 𝑤2, { t : 1, 𝑤1, 𝑤2, 𝑤3 }}
QS( node ) = Quorum Slice of node QS ( v1 ) = { { v1, v2, v3 } } QS ( v2 ) = QS ( v3 ) = QS ( v4 ) = { { v2, v3, v4 } }
9
QS( node ) = Quorum Slice of node QS ( v1 ) = { { v1, v2, v3 } } QS ( v2 ) = QS ( v3 ) = QS ( v4 ) = { { v2, v3, v4 } }
even after deleting byzantine nodes in the quorums (safety)
10
(liveness) (Dispensable Set)
11
12
13
“vote-or-accept a” reaches threshold_A “accept a” reaches threshold_A “accept a” reaches threshold_B
the highest hash …
values in NOMINATE statements
14
: It chooses acceptable quorum slice and responds properly
: It suffers from byzantine failure Validator : Node that participates in the consensus protocol by broadcasting vote messages Safety : A set of nodes satisfy safety if no two of them ever reach an agreement on different values at the same time Liveness : A node satisfies liveness if it can reach an agreement on a new value even without the participation of faulty nodes
15
16
17
Group A : ill-behaved nodes Group B : well-behaved nodes that are affected by the ill-behaved nodes Group C : remaining well-behaved nodes
18
Group A : ill-behaved nodes Group B : well-behaved nodes that are affected by the ill-behaved nodes Group C : remaining well-behaved nodes It depends on the structure of quorum slices!
19
20
Group A : ill-behaved nodes Group B : well-behaved nodes that are affected by the ill-behaved nodes Group C : remaining well-behaved nodes It depends on the structure of quorum slices!
nodes
total active validators, all nodes eventually can agree on the same value that are not contradictory to history in process of
quorum slices
3
100 3
21
22
23
ex) satoshipay {sdf_validator1, sdf_validator2, sdf_validator3, eno}
24
25
26
1) How many times the node is included in slices 2) Whether an influential node chooses the node in its slice 3) Whether the threshold of slice containing the node is high
27
𝑜1 → {𝑢: 3, 𝑜1, 𝑜2, 𝑜3} 𝑜4 → {𝑢: 2, 𝑜4, 𝑜5, 𝑜6} Influence(𝑜2) > Influence(𝑜5)
1) How many times the node is included in slices 2) Whether an influential node chooses the node in its slice 3) Whether the threshold of slice containing the node is high
28
29
Why is it biased?
30
31
32
33
34
35
36
largely on the structure of quorum slices
37
38
39
fail sdf_validator1, sdf_validator2 live node : 42/62 live node : 14/62 live node : 2/62 live node : 0/62
40
“vote-or-accept a” reaches threshold_A “accept a” reaches threshold_A “accept a” reaches threshold_B
𝟔𝟏 𝟐𝟐 (≈ 𝟓. 𝟔))-FT System
100 3 (≈ 33.3)
41
42
43
44
100 3
50 11 (≈ 4.5))-FT System
45
46