Model 2 — Scenario Matrix¶
Selected profile: recommended_safe. V=48, hard 2/3 finality floor = 32, preferred operational target = 35 (72%). The recommended topology survived 52 / 52 protected scenarios. Correlated scenarios listed as protected = False are evaluated for honesty but not claimed as guaranteed.
| Scenario | Family | Protected | Threshold | Active | Margin vs threshold | Margin vs 2/3 | Survived |
|---|---|---|---|---|---|---|---|
| baseline_no_failure | baseline | yes | 35 | 48 | 13 | 16 | yes |
| aws_a_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| aws_b_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| aws_c_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| gcp_a_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| gcp_b_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| home_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| home_internet_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| home_power_down | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| beacon_aws_a_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| beacon_aws_b_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| beacon_aws_c_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| beacon_gcp_a_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| beacon_gcp_b_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| beacon_home_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| vc_aws_a_unavailable | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| vc_aws_b_unavailable | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| vc_aws_c_unavailable | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| vc_gcp_a_unavailable | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| vc_gcp_b_unavailable | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| vc_home_unavailable | single_failure | yes | 35 | 40 | 5 | 8 | yes |
| full_aws_a_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| full_aws_b_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| full_aws_c_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| full_gcp_a_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| full_gcp_b_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| full_home_unavailable | beacon_dependency | yes | 35 | 48 | 13 | 16 | yes |
| aws_a_down_plus_home_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_b_down_plus_home_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_c_down_plus_home_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_a_down_plus_gcp_a_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_a_down_plus_gcp_b_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_b_down_plus_gcp_a_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_b_down_plus_gcp_b_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_c_down_plus_gcp_a_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_c_down_plus_gcp_b_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_a_down_plus_beacon_aws_b_unavailable | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| aws_b_down_plus_beacon_aws_c_unavailable | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| aws_c_down_plus_beacon_aws_a_unavailable | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| home_unavailable_plus_beacon_aws_a_unavailable | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| two_aws_regions_down_ab | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| two_aws_regions_down_ac | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| two_aws_regions_down_bc | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_a_down_plus_remote_vc_partition_from_aws_beacons | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| aws_b_down_plus_remote_vc_partition_from_aws_beacons | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| aws_c_down_plus_remote_vc_partition_from_aws_beacons | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| aws_a_down_plus_gcp_a_beacon_unavailable | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| aws_b_down_plus_gcp_b_beacon_unavailable | critical_double | yes | 32 | 40 | 8 | 8 | yes |
| gcp_a_and_gcp_b_unavailable | critical_double | yes | 32 | 32 | 0 | 0 | yes |
| aws_network_degradation_remote_to_aws_beacons | correlated | yes | 35 | 48 | 13 | 16 | yes |
| gcp_provider_wide_failure | correlated | yes | 32 | 32 | 0 | 0 | yes |
| all_aws_beacon_endpoints_unavailable | correlated | yes | 35 | 48 | 13 | 16 | yes |
Residual / correlated risks (evaluated, not claimed protected)¶
These cannot be solved by validator placement — they require client diversity and deploy discipline, not more nodes.
| Scenario | Family | Threshold | Active | Margin | Result |
|---|---|---|---|---|---|
| aws_provider_wide_failure | correlated | 32 | 24 | −8 | finality lost |
| bad_config_deployed_to_all_aws_core_nodes | correlated | 32 | 24 | −8 | finality lost |
| shared_cl_client_bug | correlated | 32 | 0 | −32 | liveness lost |
| shared_el_client_bug | correlated | 32 | 0 | −32 | liveness lost |
| bad_config_deployed_to_all_nodes | correlated | 32 | 0 | −32 | liveness lost |