MICROGRID (Linear Channel)
1. INJECTION
Watermark modulates power_draw, storage_dispatch, local_generation
params[i] += amplitude * sin(2π * trial / period)
SIGNAL: STRONG — clean sinusoidal modulation
▼
2. SENDER'S NET LOAD
Net load changes with watermarked parameters
net = power_draw - generation - storage
SIGNAL: PRESERVED — linear combination
▼
3. COUPLING CHANNEL
Neighbor's load → direct additive term on objectives
direct_coupling = (neighbor_load / base) × factor × 10.0
SIGNAL: PRESERVED — additive, proportional to factor
▼
4. RECEIVER OBJECTIVES
throughput = base + direct_coupling
obj_val += direct_coupling (for obj0, obj1, obj2)
SIGNAL: DETECTABLE — additive on 3 of 4 objectives
▼
5. DETECTION
FFT finds clean spectral peak at watermark frequency
p = 0.0002 (coupling=0.9), p = 0.005 (coupling=0.5)
RESULT: DETECTED at all coupling levels
GREENHOUSE (Nonlinear Channel)
1. INJECTION
Watermark modulates heating, vents, CO2, light, irrigation
params[i] += amplitude * sin(2π * trial / period)
SIGNAL: STRONG — clean sinusoidal modulation
▼
2. COUPLING DELTAS
4 hidden deltas computed from neighbor state
δT = (neighbor_avg_temp - 20) × factor × 0.1
δCO₂ = neighbor_energy × factor × 2.0
δlight = neighbor_energy × factor × 0.01
δhumidity = (neighbor_avg_hum - 0.5) × factor × 0.05
SIGNAL: WEAKENED — depends on neighbor state deviation from baseline
▼
3. OUTSIDE CONDITIONS MODIFIED
Deltas fold into outside_temp, outside_co2, outside_humidity, effective_light
outside_temp += δT (~0.5°C at factor=0.9)
KILL #1: Thermal inertia — zone temp changes by 0.01°C per tick
Signal enters a low-pass filter (insulation × dt)
▼
4. ZONE PHYSICS (6 nonlinear transforms)
Signal passes through cascaded nonlinear dynamics
heat_loss = (zone_temp - outside_temp) × 0.1
vent_cooling = vent × (zone_temp - outside_temp) × 0.3
wall_transfer = (neighbor_avg - zone.temp) × 0.05
KILL #2: Multiple interacting heat terms compete with coupling signal
KILL #3: Zone-to-zone wall conduction creates feedback loops
▼
5. MULTIPLICATIVE GROWTH MODEL
Growth = temp × light × CO₂ × water × humidity × damage
temp_factor: 0 if temp<5 or >40, ramps, plateau in optimal range
co2_factor: optimal range shifts with crop phase (seedling→flowering→fruiting)
KILL #4: FLAT REGIONS — if temp is in optimal range, ±0.1°C = ZERO change
KILL #5: PHASE DEPENDENCE — CO2 sensitivity jumps 1×→3× at tick 400
KILL #6: MULTIPLICATIVE — any factor at 0 kills entire signal
▼
6. IRREVERSIBLE DAMAGE
Extreme temps cause permanent damage_factor reduction (floor 0.3)
damage_factor -= 0.002 per extreme tick (temp > 42 or < 3)
KILL #7: Permanent attenuation — once damaged, all future signal reduced
▼
7. SENSOR NOISE
Metrics add gaussian noise to all readings
temp ± 0.3°C, humidity ± 0.02, CO₂ ± 15ppm, growth ± 0.02
KILL #8: Noise exceeds the already-tiny coupling signal
▼
8. RECEIVER'S OWN EXPLORATION
Evolutionary optimizer changes parameters every trial
Each trial: new heating, vent, CO2, light, irrigation values
KILL #9: Receiver's own parameter changes produce variance 100× larger than coupling
▼
9. DETECTION ATTEMPT
FFT / MI / Transfer Entropy / Granger / Cross-correlation
All methods: p > 0.05 (not significant)
RESULT: NOT DETECTED — signal died at stages 4-7, noise buried remainder at 8-9