/sec/cc-hexa-ipv6

de constructie drie lagen, één stroom
2026-06-18
Drie lagen, één stroom. Geen tussenlagen. Geen ruis. Geen vertraging.
CC levert het signaal. Hexa routeert het. IPv6 bezorgt het.
● overzicht
┌──────────────────────────────────────────────────┐
│ LAAG 1: CC — Continuous Circuit │
│ (fysica: stroom zonder onderbreking) │
│ toetsenbord → evdev fd → readSync() │
│ interrupt · kernel slaap · ≈12μs · 0% CPU │
│ ↓ ↓ ↓ │
├──────────────────────────────────────────────────┤
│ LAAG 2: HEXA — 6+1 Routing │
│ (signaal: slot-mapping) │
│ keycode → slot (0-63) → fe80::[slot]/64 │
│ 64 kanalen + center (∅ = buiten terminal) │
│ ↓ ↓ ↓ │
├──────────────────────────────────────────────────┤
│ LAAG 3: IPv6 — Directe Routing │
│ (netwerk: geen NAT, geen spoofing) │
│ slot → UDP → [fe80::slot]:port │
│ direct gerouteerd · geen address translation │
└──────────────────────────────────────────────────┘

Laag 1: CC — Continuous Circuit

01 / fysica
Continuous Circuit
Hardware → Kernel, geen polling
Methode: readSync() (blokkerend)
Laatje: ≈12μs (one-way)
CPU: 0.0% (kernel slaap)
Device: /dev/input/event7
wat / waarom

Toetsenbord stuurt interrupt naar kernel. Kernel buffer het event.
Blokkerende read wacht in de kernel — geen CPU, geen polling.
Event komt aan → read ontwaakt → direct door naar JS.

vergelijking
● setTimeout(r,1): ~1000μs · 100% CPU · 642k calls/s
● readSync(): ~12μs · 0% CPU · 0 calls/s (slaap)

→ zero-delay analyse · → epoll-patch details

Laag 2: Hexa — 6+1 Routing

02 / signaal
Hexa Slot Router
Keycode → Slot → Subnet
Slots: 0–63 (64 kanalen)
Subnet: fe80::[slot]/64
Center: (buiten terminal)
Source: slot-router.js
wat / waarom

Elke toets = slot. Elke slot = subnet.
64 slots = 64 /64 subnets = 64 onafhankelijke kanalen.
Center (∅) = event buiten de terminal — geen routing.
6+1 patroon: 6 blokken + 1 center punt.

// keycode → slot
if (code >= 1 && code <= 63)
  return code - 1; // slot 0-62
return code % 64; // hash voor hogere

// slot → IPv6
const addr = `fe80::${slot.toString(16)}::1`;

→ ipv6-daemon monitor

Laag 3: IPv6 — Directe Routing

03 / netwerk
IPv6 Direct Routing
Geen NAT, geen spoofing, geen vertaling
Protocol: UDP6
Target: [fe80::slot]:port
NAT: nee
Spoofing: onmogelijk (128-bit)
wat / waarom

IPv6 = geen address translation. Bron = bestemming.
Geen NAT = geen spoofing. Geen adrescollision.
Gebiedsadres (fe80::/10) = link-lokal, geen routeerbaar buiten.
IPsec built-in (optioneel, maar beschikbaar).

adres structuur
fe80::[slot]::1
│ │ │
│ │ └─ interface ID
│ └─ slot 0-63 (hex)
└─ link-local prefix

Bewijs — Metingen

Round-trip
~24μs
One-way
~12μs
CPU (worker)
0.0%
Versnelling
41×
MetricPollingWorkerRatio
Laatje~1000μs~24μs41×
CPU100%0%
IsolatieJS sandboxdirect fdtrade-off
Transparantieindirect queuedirect hardwarehelderder

Stroom — End-to-End

● complete stroom
fysiek   toetsenbord
kernel   /dev/input/event7 readSync() (kernel slaap, 0% CPU)
js    evdev event
slot   keycode → slot (0-63)
ipv6   fe80::[slot]/64
net    UDP6 → [fe80::slot]:port
totaal ≈12μs · 0% CPU · direct
Elke laag versterkt de vorige. CC levert het signaal. Hexa routeert het. IPv6 bezorgt het.
Geen tussenlagen. Geen ruis. Geen vertraging.

Trade-off

AanpakVoordelenNadelen
polling setTimeout JS sandbox, geïsoleerd 100% CPU, ~1000μs, indirect
direct CC+Hexa+IPv6 0% CPU, ~12μs, transparant, gerouteerd Directe hardware-toegang, geen sandbox

Geen goed/fout. Trade-off. Direct + gerouteerd = transparanter dan sandboxed + wasteland.
IPv6 routing + encrypted transport = keylogger-datapad zelf geïsoleerd en geautoriseerd.

Referentie

Zero-delay analyse/sec/zero-delay
🔧epoll-patch details/sec/epoll-patch
🌐IPv6 Daemon monitor/sec/ipv6-daemon
✉️Brief aan libuv (NL)/brief-aan-libuv-nl
✉️Brief an libuv (DE)/brief-an-libuv-de
⌨️Daemon broncodeipv6-keyboard-daemon/