pub struct PrivacyHypergraph {
pub vertices: BTreeMap<String, HypergraphVertex>,
pub hyperedges: BTreeMap<String, Hyperedge>,
pub genesis: Option<String>,
pub kk_factor: f64,
}Expand description
The 5D-EZPH hypergraph.
Stores vertices (qubit tensor states) and hyperedges (Bell-state channels). All traversals are anonymized via DW3B mesh integration.
Fields§
§vertices: BTreeMap<String, HypergraphVertex>§hyperedges: BTreeMap<String, Hyperedge>§genesis: Option<String>Genesis vertex ID
kk_factor: f64Kaluza-Klein metric perturbation factor (chaos-seeded)
Implementations§
Source§impl PrivacyHypergraph
impl PrivacyHypergraph
Sourcepub fn new(chaos_seed: f64) -> Self
pub fn new(chaos_seed: f64) -> Self
Create a new hypergraph with a genesis vertex.
The genesis vertex is the zero-state tensor: all five dimensions at 0.
Sourcepub fn encode_vertex(
&mut self,
id: impl Into<String>,
spatial: f64,
temporal: f64,
dp_epsilon: f64,
phase_angle: f64,
chaos_traj: f64,
expiry_ms: u64,
) -> Result<String, PrivacyError>
pub fn encode_vertex( &mut self, id: impl Into<String>, spatial: f64, temporal: f64, dp_epsilon: f64, phase_angle: f64, chaos_traj: f64, expiry_ms: u64, ) -> Result<String, PrivacyError>
Encode an event as a hypergraph vertex.
Dimensions are populated from:
spatial: cluster position hashtemporal: current timestamp (ms)probabilistic: DP noise parameter εquantum: phase angle from chaos oraclechaotic: Chua attractor trajectory value
Sourcepub fn form_hyperedge(
&mut self,
id: impl Into<String>,
vertex_ids: Vec<String>,
chaos_perturbation: f64,
) -> Result<String, PrivacyError>
pub fn form_hyperedge( &mut self, id: impl Into<String>, vertex_ids: Vec<String>, chaos_perturbation: f64, ) -> Result<String, PrivacyError>
Form a hyperedge between ≥2 vertices with Kaluza-Klein modulation.
Simulates Bell-state entanglement: computes CHSH correlation via tensor product of vertex phase angles, perturbed by chaos.
Sourcepub fn traverse_non_local(
&self,
start: &str,
max_hops: usize,
) -> Result<Vec<String>, PrivacyError>
pub fn traverse_non_local( &self, start: &str, max_hops: usize, ) -> Result<Vec<String>, PrivacyError>
Traverse the hypergraph with non-local jumps (Bell violations).
Returns a path of vertex IDs with CHSH-validated edges. Edges with CHSH < threshold are skipped (classical locality).
Sourcepub fn prove_non_locality(&self) -> Result<PrivacyProof, PrivacyError>
pub fn prove_non_locality(&self) -> Result<PrivacyProof, PrivacyError>
Generate a ZK proof of hypergraph state (non-local soundness).
Proof commits to the CHSH value of the highest-correlation edge, demonstrating non-local privacy without revealing vertex states.
Sourcepub fn prune_expired(&mut self, now_ms: u64)
pub fn prune_expired(&mut self, now_ms: u64)
Prune expired vertices from the hypergraph.
Sourcepub fn vertex_count(&self) -> usize
pub fn vertex_count(&self) -> usize
Returns the number of vertices.
Sourcepub fn edge_count(&self) -> usize
pub fn edge_count(&self) -> usize
Returns the number of hyperedges.