Model 2 — Optimizer Summary¶
Recommended Phase-1 topology
Profile recommended_safe · 48 validators · risk-adjusted net 86.52 CTN/yr · 52 / 52 protected scenarios survived.
Model 2 is the winning Centurion Phase-1 topology: a provider-diverse, 48-validator layout that survives every protected single- and double-failure scenario while maximising risk-adjusted net value under the configured capital and safety constraints.
Solver¶
- Backend:
scipy-highs(Gurobi-first formulation; SciPy/HiGHS fallback used becausegurobipywas not installed in the run environment). - Method: fixed-role mixed-integer program, one solve per candidate role assignment.
- Status:
optimal. - Feasible role assignments solved; infeasible/skipped assignments: 57.
Recommended topology¶
| Site | Role | Validators | Beacon endpoints used by VC |
|---|---|---|---|
| AWS_A | combined_node | 8 | AWS_A, AWS_B, AWS_C, GCP_A, GCP_B |
| AWS_B | combined_node | 8 | AWS_A, AWS_B, AWS_C, GCP_A, GCP_B |
| AWS_C | combined_node | 8 | AWS_A, AWS_B, AWS_C, GCP_A, GCP_B |
| GCP_A | combined_node | 8 | AWS_A, AWS_B, AWS_C, GCP_A, GCP_B |
| GCP_B | combined_node | 8 | AWS_A, AWS_B, AWS_C, GCP_A, GCP_B |
| HOME | validator_client_only | 8 | AWS_A, AWS_B, AWS_C, GCP_A, GCP_B |
Every validator client subscribes to all five beacon endpoints, so any VC can fail over across providers. HOME runs validator-client-only and never serves as a beacon.
Profiles evaluated¶
| Profile | Status | Validators | Net CTN/yr | Protected failures |
|---|---|---|---|---|
minimal_viable | optimal | 12 | 12.57 | 1-host only |
cheaper_riskier | optimal | 45 | 98.36 | fails protected set |
recommended_safe | optimal | 48 | 86.52 | 0 |
maximum_reward_current_safety | optimal | 48 | 86.52 | 0 |
higher_resilience | optimal | 36 | 54.53 | survives AWS-wide |
maximum_reward_current_safety is identical to recommended_safe: the safety constraints cap the validator count at 48 before the 64-validator capital ceiling binds, so there is no higher-reward topology that is also safe.
Why 48 validators¶
Stake is spread evenly as 8 validators across each of 6 failure domains. Losing any protected two-domain pair removes 16 validators and leaves 32 active, exactly the hard 2/3 finality threshold for 48. A 49th validator would force some protected pair to drop 17 validators, leaving 32 active against a threshold of 33 — so 48 is the largest count that still survives every protected double failure.
See the Scenario Matrix, Tradeoff Table, and Economics pages for the full breakdown, and the Model 2 Final Report for the complete narrative.