{
  "chain_slug": "scroll",
  "name": "Scroll",
  "scorecard_profile": "rollup-L2",
  "evaluated_at": "2026-04-18",
  "evaluator": "layerqu-v2-scoring-agent-4",
  "v1_reference": "chainscreen-v1-archive",
  "dimensions": {
    "1_cryptographic_exposure": {
      "weight": 0.12,
      "score": 32,
      "sub_scores": {
        "1a_primitive_inventory": {
          "score": 12,
          "primitives_named": [
            "ECDSA secp256k1",
            "Keccak-256",
            "Halo2 (PLONK-ish, FRI/KZG)",
            "BN254 (L1 verifier)"
          ],
          "evidence": [
            "Scroll docs"
          ]
        },
        "1b_shor_grover_pq_tag": {
          "score": 14,
          "tags": {
            "ECDSA secp256k1": "Shor-break",
            "Halo2 (KZG variant)": "Shor-break",
            "Halo2 (FRI variant)": "plausibly PQ-safe via FRI",
            "BN254": "Shor-break",
            "Keccak-256": "Grover-weaken"
          },
          "note": "Halo2 with FRI backend is hash-based and plausibly PQ-safe — Scroll uses KZG backend."
        },
        "1c_algorithm_family_diversity": {
          "score": 0,
          "families_represented": 0,
          "families": []
        },
        "1d_nist_security_category": {
          "score": 0,
          "mappings": {}
        },
        "1e_implementation_quality": {
          "score": 6,
          "formal_verification": "partial (Halo2 audited)",
          "constant_time": "standard",
          "libraries": [
            "halo2 zkproofs"
          ],
          "evidence": [
            "https://github.com/scroll-tech/zkevm-circuits"
          ]
        }
      },
      "total_artifacts": 2
    },
    "2_hndl_exposure": {
      "weight": 0.08,
      "score": 22,
      "sub_scores": {
        "2a_active_key": {
          "score": 4,
          "note": "EVM EOA exposure."
        },
        "2b_cold_key": {
          "score": 4,
          "note": "Same."
        },
        "2c_sig_long_term": {
          "score": 7,
          "note": "Tx-once."
        },
        "2d_encryption_conf": {
          "score": 7,
          "note": "Standard."
        }
      },
      "total_artifacts": 1
    },
    "3_metadata_privacy_exposure": {
      "weight": 0.08,
      "score": 22,
      "sub_scores": {
        "3a_graph_visibility": {
          "score": 5,
          "note": "Transparent."
        },
        "3b_rpc_concentration": {
          "score": 6,
          "note": "Scroll-hosted RPC + Alchemy/Infura."
        },
        "3c_bridge_correlation": {
          "score": 6,
          "note": "Native bridge."
        },
        "3d_retroactive_deanon": {
          "score": 5,
          "note": "Halo2-KZG proofs retroactively challengeable by Shor."
        }
      },
      "total_artifacts": 1
    },
    "4_migration_architecture": {
      "weight": 0.15,
      "score": 28,
      "sub_scores": {
        "4a_crypto_agility": {
          "score": 8,
          "note": "Scroll stack can in theory swap Halo2-KZG for Halo2-FRI (hash-based). No announced plan."
        },
        "4b_aa_key_rotation": {
          "score": 10,
          "note": "ERC-4337 AA inherited."
        },
        "4c_hard_fork_track_record": {
          "score": 7,
          "note": "Emergency upgrade Feb 2026 executed within hours. Demonstrates responsiveness."
        },
        "4d_hybrid_deployment_readiness": {
          "score": 3,
          "note": "Not architected."
        }
      },
      "total_artifacts": 2
    },
    "5_deployment_execution": {
      "weight": 0.22,
      "score": 1,
      "sub_scores": {
        "5a_mainnet_pqc_pct": {
          "score": 0,
          "mainnet_pqc_pct": 0,
          "evidence": []
        },
        "5b_pqc_code_in_consensus": {
          "score": 0,
          "loc_or_bytes": 0
        },
        "5c_validator_pqc_keys": {
          "score": 0,
          "pct": 0
        },
        "5d_published_milestones": {
          "score": 0,
          "count": 0,
          "milestones": []
        },
        "5e_pqc_washing_delta": {
          "score": 1,
          "ratio": 1
        }
      },
      "total_artifacts": 0
    },
    "6_supply_chain_vendor_readiness": {
      "weight": 0.25,
      "score": 5,
      "sub_scores": {
        "6a_wallet": {
          "score": 2,
          "top3": [
            "MetaMask",
            "Rabby",
            "Coinbase Wallet"
          ],
          "pqc_roadmap_count": 0
        },
        "6b_bridge": {
          "score": 1,
          "top3": [
            "Scroll Bridge",
            "LayerZero",
            "Across"
          ],
          "pqc_roadmap_count": 0
        },
        "6c_custodian": {
          "score": 1,
          "top3": [
            "Coinbase Custody",
            "Fireblocks",
            "BitGo"
          ],
          "pqc_roadmap_count": 0
        },
        "6d_rpc_hsm": {
          "score": 1,
          "top3": [
            "Alchemy",
            "Infura",
            "QuickNode"
          ],
          "pqc_roadmap_count": 0
        }
      },
      "total_artifacts": 1
    },
    "7_governance_coordination": {
      "weight": 0.1,
      "score": 38,
      "sub_scores": {
        "7a_validator_stake_distribution": {
          "score": 5,
          "note": "Centralized sequencer."
        },
        "7b_upgrade_cadence_under_pressure": {
          "score": 15,
          "note": "Feb 2026 emergency upgrade within hours."
        },
        "7c_named_coordination_lead": {
          "score": 10,
          "note": "Scroll Foundation + DAO (nascent)."
        },
        "7d_adversarial_coordination_precedent": {
          "score": 8,
          "note": "Feb 2026 emergency upgrade counts."
        }
      },
      "total_artifacts": 2
    }
  },
  "gates": {
    "hybrid_deployment": "FAIL",
    "evidence_reconstruction": "PASS",
    "primitive_naming": "PASS"
  },
  "caps_applied": [
    "Mosca (5a<20%)",
    "Sutor (5d=0 → Stage max 2)",
    "Preskill (<3 artifacts several dims → ×0.5)",
    "Casado (4 tiles pqc=0 → migration_stage max 3)",
    "Hybrid gate FAIL → QRI cap 60"
  ],
  "qri": {
    "raw": 12,
    "after_caps": 10,
    "ci_plus_minus": 15,
    "band": 1,
    "band_name": "Unaware"
  },
  "migration_stage": 0,
  "mosca_inequality": {
    "X_signature_shelf_life_years": "5-10",
    "Y_migration_time_years_range": "8-12",
    "Z_10pct_year": 2036,
    "Z_50pct_year": 2041,
    "danger_zone_at_50pct": true
  },
  "four_scenario_grid": {
    "quantum_never": {
      "value_preserved_pct": 100,
      "privacy_preserved_pct": 100
    },
    "arrives_suddenly_pre_migration": {
      "value_preserved_pct": 5,
      "privacy_preserved_pct": 15
    },
    "arrives_slowly_post_migration": {
      "value_preserved_pct": 80,
      "privacy_preserved_pct": 75
    },
    "arrives_slowly_mid_migration": {
      "value_preserved_pct": 30,
      "privacy_preserved_pct": 35
    }
  },
  "burn_vs_rescue_policy": "undeclared",
  "pqc_washing_ratio": 1,
  "vendor_tile_summary": {
    "wallet": {
      "top3": [
        "MetaMask",
        "Rabby",
        "Coinbase Wallet"
      ],
      "pqc_roadmap_count": 0
    },
    "bridge": {
      "top3": [
        "Scroll Bridge",
        "LayerZero",
        "Across"
      ],
      "pqc_roadmap_count": 0
    },
    "custodian": {
      "top3": [
        "Coinbase Custody",
        "Fireblocks",
        "BitGo"
      ],
      "pqc_roadmap_count": 0
    },
    "rpc_hsm": {
      "top3": [
        "Alchemy",
        "Infura",
        "QuickNode"
      ],
      "pqc_roadmap_count": 0
    }
  },
  "narrative_summary": "Scroll is Band 1 (Unaware). Halo2-KZG zkEVM proofs rely on pairing-based SNARK assumptions that Shor breaks. Halo2 has a FRI variant (hash-based, plausibly PQ-safe) which Scroll could adopt — notable latent migration path. No PQC work announced. Feb 2026 emergency upgrade proved fast coordination.",
  "evaluator_notes": "Halo2-FRI option is a structural PQ-positive that differentiates Scroll from KZG-only L2s — but not exercised. No PQC roadmap.",
  "narrative_voiced": "Scroll is sitting on an unexercised option: Halo2 has a FRI backend that is hash-based and plausibly PQ-safe, but Scroll runs the KZG variant that Shor breaks. The migration path is already in the library. Nobody has announced pulling the lever. February 2026's emergency upgrade proved they could."
}