|
75 | 75 | "LateEBAttackConfig": { |
76 | 76 | "description": "Configuration for a \"late EB\" attack,\nwhere nodes deliberately withhold EBs until near the end of the voting phase.", |
77 | 77 | "properties": { |
78 | | - "attacker-nodes": { |
79 | | - "description": "The set of stake pools which are participating in the attack.", |
80 | | - "items": { |
81 | | - "type": "string" |
82 | | - }, |
83 | | - "type": "array" |
| 78 | + "attackers": { |
| 79 | + "$ref": "#/definitions/NodesNodeSelection", |
| 80 | + "description": "The set of stake pools which are participating in the attack." |
84 | 81 | }, |
85 | 82 | "propagation-delay-ms": { |
86 | 83 | "description": "How long the attackers will wait before diffusing their EBs", |
|
89 | 86 | }, |
90 | 87 | "type": "object" |
91 | 88 | }, |
| 89 | + "LateTXAttackConfig": { |
| 90 | + "description": "Configuration for a \"late TX\" attack,\nwhere EB producers create TXs which they do not disseminate until also disseminating the EB.", |
| 91 | + "properties": { |
| 92 | + "attack-probability": { |
| 93 | + "description": "How often does one of these nodes perform this attack when they get the chance?", |
| 94 | + "type": "number" |
| 95 | + }, |
| 96 | + "attackers": { |
| 97 | + "$ref": "#/definitions/NodesNodeSelection", |
| 98 | + "description": "The set of stake pools which are participating in the attack." |
| 99 | + }, |
| 100 | + "tx-generation-distribution": { |
| 101 | + "$ref": "#/definitions/Distribution", |
| 102 | + "description": "How many transactions are generated as part of the attack?" |
| 103 | + } |
| 104 | + }, |
| 105 | + "type": "object" |
| 106 | + }, |
92 | 107 | "LeiosVariant": { |
93 | 108 | "enum": [ |
94 | 109 | "short", |
|
119 | 134 | "enum": ["ordered-by-id", "random"], |
120 | 135 | "type": "string" |
121 | 136 | }, |
| 137 | + "NodesNodeSelection": { |
| 138 | + "properties": { |
| 139 | + "nodes": { |
| 140 | + "items": { |
| 141 | + "type": "string" |
| 142 | + }, |
| 143 | + "type": "array" |
| 144 | + } |
| 145 | + }, |
| 146 | + "type": "object" |
| 147 | + }, |
122 | 148 | "NormalDistribution": { |
123 | 149 | "properties": { |
124 | 150 | "distribution": { |
|
311 | 337 | "$ref": "#/definitions/LateEBAttackConfig", |
312 | 338 | "description": "Configuration for a \"late EB\" attack,\nwhere nodes deliberately withhold EBs until near the end of the voting phase." |
313 | 339 | }, |
| 340 | + "late-tx-attack": { |
| 341 | + "$ref": "#/definitions/LateTXAttackConfig", |
| 342 | + "description": "Configuration for a \"late TX\" attack,\nwhere EB producers create TXs which they do not disseminate until also disseminating the EB." |
| 343 | + }, |
314 | 344 | "leios-header-diffusion-time-ms": { |
315 | 345 | "description": "The expected time it takes a header to fully diffuse across the network.\nThis is Δhdr from the Leios paper.", |
316 | 346 | "type": "number" |
|
0 commit comments