-
Notifications
You must be signed in to change notification settings - Fork 2
/
sequence_public_arbitration.plantuml
77 lines (63 loc) · 2.3 KB
/
sequence_public_arbitration.plantuml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
@startuml
state "Data Check & Cognitive Work" as cognition {
state "..." as prev2
[*] --> prev2
prev2 --> [*]
}
state "Validation" as validation {
state "..." as prev
state "Delivering results, payouts & mining" as delivering
delivering: – Can have "partial validation" status
delivering: – In this case QA stake is partially repaid to the Client
delivering: – Payouts and cognitive mining
prev --> delivering: ...
delivering --> [*]
}
prev2 --> validation
prev --> closed: initial appeal\nwas submitted
state "Closed Arbitration" as closed {
state "..." as prev3
}
state "Public Arbitration" as public {
state "Gathering public arbiters" as gathering
state "Validating" as validating
state "Disclosing Veto" as disclosing
state "Counting votes" as counting
state "Killing Faulty nodes" as killing
state "Penalty to all participants" as killall
gathering: – All validator and
gathering: arbiter nodes
gathering: participate
gathering: – Requires quorum
gathering: – Has waiting timeout
gathering: – If many nodes were
gathering: registered before the end
gathering: period is extended
validating: – Limited by time
validating: – Timeout leads to penalty,
validating: partipants are not replaced
disclosing: – Limited by time
disclosing: – Timeout leads to penalty,
disclosing: partipants are not replaced
disclosing: – Fineing timeout participants
disclosing: from "validating" round
counting: – Requires > N votes for Veto
counting: – Fineing timeout participants
counting: from "disclosing" round
killing: – Removing stakes/reputation from
killing: the Nodes reported Faulty
killall: – Removing parts of stakes/reputation
killall: from all nodes participating in
killall: validation, closed and public arbitration
closed --> gathering: public appeal\nwas submitted
gathering --> gathering: period\nextension
gathering --> validating: quorum reached
gathering --> delivering: quorum\nnot reached:\naccepting\nprevious\nVerdict
validating --> disclosing: quorum nodes\nsumitted results
disclosing --> counting: quorum nodes\nsubmitted keys
counting --> killall: Vertict is\nnot reached
counting --> killing: Verdict is\nreached
killall --> delivering
killing --> delivering
}
@enduml