Challenge opérateur réseau
Challenge public lié au snapshot live du réseau. Un opérateur externe peut l'utiliser pour produire un paquet de preuve non local, puis le pré-vérifier avant dépôt officiel.
Le bundle inclut operator-fill-review-package.py et operator-profile.example.json pour produire un dossier de revue sans assemblage manuel. Cette page ne reçoit pas et n'admet pas de preuve souveraine. Elle donne seulement une matière à signer liée au snapshot réseau courant.
Snapshot à attester
Tâches opérateur compatibles
Pare-feu de claims
JSON challenge complet
{
"version": "guardlatice/public-network-operator-challenge/v1",
"generated_at": "2026-11-02T03:41:48Z",
"public_product_anchor": "https://ddbs.guardlatice.com/",
"network_page": "https://ddbs.guardlatice.com/network",
"network_api": "https://ddbs.guardlatice.com/api/public/network/live-quorum",
"operator_challenge_page": "https://ddbs.guardlatice.com/network/operator-challenge",
"operator_challenge_api": "https://ddbs.guardlatice.com/api/public/network/operator-challenge",
"operator_packet_builder_page": "https://ddbs.guardlatice.com/network/operator-packet-builder",
"operator_packet_builder_api": "https://ddbs.guardlatice.com/api/public/network/operator-packet/build",
"operator_packet_review_package_api": "https://ddbs.guardlatice.com/api/public/network/operator-packet/review-package",
"operator_challenge_bundle_download": "https://ddbs.guardlatice.com/downloads/guardlatice-public-network-operator-challenge.tar.gz",
"external_evidence_preverify_endpoint": "https://ddbs.guardlatice.com/api/public/external-evidence/verify",
"external_evidence_canonicalize_endpoint": "https://ddbs.guardlatice.com/api/public/external-evidence/canonicalize",
"handoff_preflight_endpoint": "https://ddbs.guardlatice.com/api/public/external-evidence/handoff-preflight",
"official_drop_zone": "core/rust-engine/ops/external-evidence",
"claim_boundary": "network_operator_challenge_only_no_import_no_claim_admission",
"operator_challenge_bundle_contents": [
"MANIFEST.json",
"README.txt",
"builder-request.json",
"canonicalize-request.json",
"challenge.json",
"challenge-payload.json",
"operator-fill-review-package.py",
"operator-profile.example.json",
"packet-template.json",
"preflight-request.json",
"review-package-request.json"
],
"challenge_payload": {
"schema": "guardlatice/external-operator-network-snapshot-challenge/v1",
"generatedAt": "2026-11-02T03:41:48Z",
"publicProductAnchor": "https://ddbs.guardlatice.com/",
"networkApi": "https://ddbs.guardlatice.com/api/public/network/live-quorum",
"networkSnapshotVersion": "guardlatice/public-network-observability-snapshot/v1",
"networkQuorumDigestSha256": "4337b7196eed4a63092c3a63e1938e67c65191cdbf466c5212f1dc0328ef6704",
"sourceStateRootSha256": "f0cf35088ba5037f73b6348a29ece9ac13ea14c4297fb73597cdda079f5aed89",
"seedLivenessRootSha256": "e97412514f322f71419b070ed8b7af88a1f8c7e9eeb0ba9fdc201a2845a8603a",
"liveSeedCount": 1,
"candidateCount": 5,
"liveSeedLabels": [
"workspace"
],
"nqfcValidatorCount": 4,
"nqfcThreshold": 3,
"controlledPublicCandidateReady": false,
"requiredExternalBoundary": "operator must be non-local, independent, not GuardLatice-controlled, not self-operated, truthful, non-fixture and non-synthetic",
"handoffTaskIds": [
"P2.EXTERNAL_OPERATOR_QUORUM.01",
"P2.EXTERNAL_OPERATOR_QUORUM.02",
"P2.EXTERNAL_OPERATOR_QUORUM.03"
],
"claimBoundary": "network_operator_challenge_only_no_import_no_claim_admission"
},
"challenge_payload_sha256": "68c6de8251bba375a5daf60185dda31fcfb72ec8c77256efdd226ec7cc718f0e",
"operator_handoff_tasks": [
{
"id": "P2.EXTERNAL_OPERATOR_QUORUM.01",
"role": "independent-operator-01",
"schema": "guardlatice/external-operator-evidence/v1",
"request_sha256": "",
"public_handoff_preflight_endpoint": "https://ddbs.guardlatice.com/api/public/external-evidence/handoff-preflight"
},
{
"id": "P2.EXTERNAL_OPERATOR_QUORUM.02",
"role": "independent-operator-02",
"schema": "guardlatice/external-operator-evidence/v1",
"request_sha256": "",
"public_handoff_preflight_endpoint": "https://ddbs.guardlatice.com/api/public/external-evidence/handoff-preflight"
},
{
"id": "P2.EXTERNAL_OPERATOR_QUORUM.03",
"role": "independent-operator-03",
"schema": "guardlatice/external-operator-evidence/v1",
"request_sha256": "",
"public_handoff_preflight_endpoint": "https://ddbs.guardlatice.com/api/public/external-evidence/handoff-preflight"
}
],
"packet_template_patch": {
"schema": "guardlatice/external-operator-evidence/v1",
"handoffTaskId": "P2.EXTERNAL_OPERATOR_QUORUM.01",
"subject": "GuardLatice public candidate network operator witness",
"scopeSha256": "68c6de8251bba375a5daf60185dda31fcfb72ec8c77256efdd226ec7cc718f0e",
"evidenceSha256": "4337b7196eed4a63092c3a63e1938e67c65191cdbf466c5212f1dc0328ef6704",
"issuedAt": "2026-11-02T03:41:48Z",
"expiresAt": "REPLACE_WITH_OPERATOR_ATTESTATION_EXPIRY",
"status": "ready",
"approved": true,
"template": false,
"fixture": false,
"synthetic": false,
"independentOperator": true,
"selfOperated": false,
"guardlaticeControlled": false,
"operatorControlsDisjointFromGuardLatice": true,
"organization": "REPLACE_WITH_EXTERNAL_OPERATOR_ORGANIZATION",
"operatorNodeId": "REPLACE_WITH_EXTERNAL_OPERATOR_NODE_ID",
"publicEndpoint": "REPLACE_WITH_EXTERNAL_OPERATOR_PUBLIC_ENDPOINT",
"signedBy": "REPLACE_WITH_NAMED_EXTERNAL_SIGNER",
"networkQuorumDigestSha256": "4337b7196eed4a63092c3a63e1938e67c65191cdbf466c5212f1dc0328ef6704",
"networkSourceStateRootSha256": "f0cf35088ba5037f73b6348a29ece9ac13ea14c4297fb73597cdda079f5aed89",
"networkSeedLivenessRootSha256": "e97412514f322f71419b070ed8b7af88a1f8c7e9eeb0ba9fdc201a2845a8603a",
"challengePayloadSha256": "68c6de8251bba375a5daf60185dda31fcfb72ec8c77256efdd226ec7cc718f0e",
"signatureSha256": "REPLACE_WITH_DETACHED_SIGNATURE_SHA256",
"signatureB64u": "REPLACE_WITH_ML_DSA_SIGNATURE",
"publicKeyB64u": "REPLACE_WITH_ML_DSA_PUBLIC_KEY",
"signatureAlgorithm": "ML-DSA-65"
},
"signing_instructions": [
"Fill packet_template_patch with truthful non-local operator identity and endpoint fields.",
"POST the completed packet to /api/public/external-evidence/canonicalize and sign signing_message_hex with ML-DSA.",
"POST the completed packet to /api/public/external-evidence/handoff-preflight with the matching handoff task id.",
"POST the completed packet to /api/public/network/operator-packet/review-package to export a portable official-review dossier.",
"Place only preflight-ready completed packets in core/rust-engine/ops/external-evidence for official gate review."
],
"network_snapshot": {
"observability_snapshot_ready": true,
"source_state_root_sha256": "f0cf35088ba5037f73b6348a29ece9ac13ea14c4297fb73597cdda079f5aed89",
"seed_liveness_root_sha256": "e97412514f322f71419b070ed8b7af88a1f8c7e9eeb0ba9fdc201a2845a8603a",
"quorum_digest_sha256": "4337b7196eed4a63092c3a63e1938e67c65191cdbf466c5212f1dc0328ef6704",
"up_seed_count": 1,
"required_up_seed_count": 4,
"up_seed_labels": [
"workspace"
]
},
"claim_firewall": {
"public_endpoint_imports_evidence": false,
"public_endpoint_admits_sovereign_claims": false,
"accepted_by_public_endpoint_count": 0,
"external_operator_evidence_count": 0,
"independent_operator_quorum_reached": false,
"not_external_evidence": true,
"not_third_party_audit": true,
"not_decentralization_proof": true,
"public_economic_finality": false,
"true_decentralization_proven": false,
"claim_promotion_allowed": false,
"counts_as_sovereign_closure_count": 0
}
}API publique : GET /api/public/network/operator-challenge