You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* sim-rs: remove L_vote restriction in EB production
* sim-rs: fix mempool behavior with EBs propagated before TXs
* sim-rs: add version number to changelog
* sim-rs: support selecting attackers with stake-fraction
* sim-rs: bump version to 1.0.0
- Allow RBs to include EB certificates produced at least `L_diff` slots ago, instead of `L_vote + L_diff` slots ago. When `L_diff` is 0, this removes any direct time factor from the decision to include an EB cert.
8
+
- Add TXs to the mempool, even if they belong to an EB we've already seen.
9
+
- Support choosing attackers by selecting a fraction of stake
10
+
11
+
### Other
12
+
13
+
- Add version number to the CLI tool's output.
14
+
15
+
## v0.1.0
16
+
17
+
This version was arbitrarily chosen as the point to start tracking major changes to the simulation.
Copy file name to clipboardExpand all lines: sim-rs/implementations/LINEAR_LEIOS.md
+23-4Lines changed: 23 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -71,7 +71,7 @@ When a node receives an RB body, it immediately removes all referenced/conflicti
71
71
72
72
A set of nodes can be configured to collude with each other, to distribute an EB close to the end of L_diff.
73
73
74
-
Example config:
74
+
Example config (with explicit list of attackers):
75
75
```yaml
76
76
late-eb-attack:
77
77
attackers:
@@ -85,15 +85,23 @@ late-eb-attack:
85
85
propagation-delay-ms: 4500.0
86
86
```
87
87
88
-
The `attackers` list controls which nodes are participating in the attack. (I will get around to letting you just choose a `stake` sometime soon). These nodes can communicate out of band, without taking latency or bandwidth into account.
88
+
Example config (with fraction of stake):
89
+
```yaml
90
+
late-eb-attack:
91
+
attackers:
92
+
stake-fraction: 0.51
93
+
propagation-delay-ms: 4500.0
94
+
```
95
+
96
+
The `attackers` list controls which nodes are participating in the attack. These nodes can communicate out of band, without taking latency or bandwidth into account.
89
97
90
98
When one of the attackers generates an EB, it will instantly and instantaneously send that EB to all other attackers. The attackers will all wait for `propagation-delay-ms` to elapse, and _then_ announce the EB to all peers.
91
99
92
100
### TX Withholding
93
101
94
102
A set of nodes can be configured to "withhold" some number of TXs until the moment they generate an EB.
95
103
96
-
Example config:
104
+
Example config (with explicit list of attackers):
97
105
```yaml
98
106
late-tx-attack:
99
107
attackers:
@@ -110,7 +118,18 @@ late-tx-attack:
110
118
value: 3
111
119
```
112
120
113
-
The `attackers` list controls which nodes are participating in the attack. (I will get around to letting you just choose a `stake` sometime soon).
121
+
Example config (with fraction of stake):
122
+
```yaml
123
+
late-tx-attack:
124
+
attackers:
125
+
stake-fraction: 0.51
126
+
attack-probability: 1.0
127
+
tx-generation-distribution:
128
+
distribution: constant
129
+
value: 3
130
+
```
131
+
132
+
The `attackers` list controls which nodes are participating in the attack.
114
133
115
134
When an attacker generates an EB, with probability `attack-probability` they will also generate `tx-generation-distribution` brand-new transactions. Both the EB and the transactions will be immediately announced to peers as normal.
0 commit comments