Spaces:
Sleeping
Sleeping
File size: 12,743 Bytes
a700b21 c723a8f a700b21 c723a8f a700b21 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 | """
VALIS — Variable Arrived Location In Superposition
Built for the Build Small Hackathon 2026.
A peer-to-peer mesh network on $10 microcontrollers.
Messages don't exist in transit. It's a walkie-talkie with math.
"""
import gradio as gr
import os
import secrets
# === MEILONG SCATTER PROTOCOL ===
def xor_bytes(a, b):
return bytes(x ^ y for x, y in zip(a, b))
def scatter(message):
"""Split a message into 3 XOR shares. Any 1 or 2 = noise. All 3 = message."""
data = message.encode('utf-8')
share1 = secrets.token_bytes(len(data))
share2 = secrets.token_bytes(len(data))
share3 = xor_bytes(xor_bytes(data, share1), share2)
return share1, share2, share3
def reassemble(s1, s2, s3):
"""Reassemble 3 XOR shares back into the original message."""
return xor_bytes(xor_bytes(s1, s2), s3).decode('utf-8')
def demo_scatter(message):
"""Interactive Meilong scatter demo."""
if not message or not message.strip():
return "", "", "", "", "", ""
s1, s2, s3 = scatter(message)
# Show shares as hex (proving they're noise)
hex1 = s1.hex()
hex2 = s2.hex()
hex3 = s3.hex()
# Try to "read" individual shares (you can't)
try:
attempt1 = s1.decode('utf-8', errors='replace')
except:
attempt1 = "[binary noise]"
try:
attempt2 = s2.decode('utf-8', errors='replace')
except:
attempt2 = "[binary noise]"
# Reassemble
recovered = reassemble(s1, s2, s3)
# Stats
stats = f"Original: {len(message)} bytes\nEach share: {len(s1)} bytes\nShares are random: share1 and share2 are crypto-random, share3 = message XOR share1 XOR share2\nIntercept 1 share: random noise\nIntercept 2 shares: random noise\nAll 3 shares: message recovers perfectly"
return hex1[:80] + "...", hex2[:80] + "...", hex3[:80] + "...", recovered, f"Decoded share 1 alone: {attempt1[:60]}...\nDecoded share 2 alone: {attempt2[:60]}...\n\nMeaningless. The message doesn't exist until all three arrive.", stats
def demo_tamper(message, tampered_char):
"""Show what happens when you tamper with a share."""
if not message or not message.strip():
return "Enter a message first."
s1, s2, s3 = scatter(message)
# Tamper with share 2 — flip one byte
s2_tampered = bytearray(s2)
if len(s2_tampered) > 0:
pos = len(s2_tampered) // 2
s2_tampered[pos] = s2_tampered[pos] ^ 0xFF
s2_tampered = bytes(s2_tampered)
# Try to reassemble with tampered share
try:
corrupted = xor_bytes(xor_bytes(s1, s2_tampered), s3).decode('utf-8', errors='replace')
except:
corrupted = "[decode failed]"
original = reassemble(s1, s2, s3)
return f"Original message: {original}\n\nTampered reassembly: {corrupted}\n\nOne flipped byte in one share = garbage output.\nThe dragon knows when someone touched the shares."
# === CSS ===
CUSTOM_CSS = """
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap');
.gradio-container {
background: #0a0a12 !important;
max-width: 900px !important;
margin: 0 auto !important;
}
.gr-button-primary {
background: #00d4ff !important; color: #0a0a12 !important;
border: none !important; font-family: 'JetBrains Mono', monospace !important;
font-weight: bold !important;
}
.gr-button-primary:hover { background: #00b8e0 !important; }
footer { display: none !important; }
"""
SPEC_MD = """
## Protocol Stack
```
Layer 5: VALIS Application — Meilong scatter (3 XOR shares, 3 routes)
Layer 4: Identity — Presence-based (no accounts, no IP, no identity)
Layer 3: Mesh Routing — 802.15.4 mesh, multi-hop, self-healing
Layer 2: Transport — Zigbee / Thread / Wi-SUN (open standards)
Layer 1: Physical — 2.4GHz ISM band (license-free worldwide)
```
## Hardware Per Node
| Component | Spec | Cost |
|-----------|------|------|
| ESP32-C6 or ESP32-H2 | Zigbee/Thread/802.15.4 + WiFi + BLE | $8 |
| USB-C cable | Powered by any outlet or battery bank | $0 |
| Enclosure | 3D printed or bare board | $2 |
| **Total** | | **$10** |
100 nodes = $1,000 (a neighborhood). 1,000 nodes = $10,000 (a town). The electrical grid already wired the topology.
## Security Model
| Attack | Result |
|--------|--------|
| **Intercept a message** | Can't. Message doesn't exist in transit. Three shares of noise on three paths. |
| **Identify a user** | Can't. No user identities. Nodes are anonymous. |
| **Shut down the network** | Can't. No server to kill. No domain to seize. Every node is independent. Kill one, traffic reroutes. |
| **Block the frequency** | Illegal. 2.4GHz ISM is protected by international treaty. Jamming also kills WiFi and baby monitors. |
| **Regulate it** | Regulate what? Open hardware, open protocols, license-free spectrum. It's a walkie-talkie with math. |
## vs. The Internet
| Feature | Internet | VALIS |
|---------|----------|-------|
| Requires ISP | Yes | No |
| Central servers | Yes | No |
| Can be censored | Yes | No |
| Can be surveilled | Yes | No |
| Requires identity | Yes | No |
| Can be shut down | Yes | No |
| Cost per node | $50-100/mo | $10 one time |
| Who owns it | Corporations | Nobody |
"""
POWERLINE_MD = """
## Power Line Communication — The Part Nobody Will Believe
Smart meters already send data through the electrical grid. This is not theory. It's deployed in millions of homes right now. The protocol is called G3-PLC / PRIME / IEEE 1901.2.
**The insight:** Transformers don't destroy signals — they transform them at known, predictable ratios.
### Grid Harmonics as Communication Channels
The electrical grid runs at 60Hz (US) / 50Hz (EU). But the wire carries harmonics:
- **120Hz** — 2nd harmonic
- **180Hz** — 3rd harmonic
- **240Hz** — 4th harmonic
- **300Hz** — 5th harmonic
These harmonics are *unused bandwidth*. They're considered noise by the power company. But noise is just a signal nobody's listening to.
### The Resonance Angle
Every wire has a resonant frequency determined by its length, gauge, and impedance. A VALIS node could:
1. **Listen** to the power line's harmonic signature (passive, legal, like tuning a radio)
2. **Inject** a tiny modulated signal on an unused harmonic (like power-line Ethernet, already legal)
3. **Relay** data through the grid wiring itself — no radio needed, no spectrum needed
The grid becomes the mesh. Every outlet is a node. The wiring is already there.
### 7.83Hz — The Schumann Resonance
The Earth-ionosphere cavity resonates at 7.83Hz. Tesla knew this. It's the frequency of the planet itself.
At this frequency:
- Signal propagates through the ground
- Wavelength = ~38,000 km (circumference of Earth)
- Extremely low power can travel extremely far
- Already used by submarines for communication
A VALIS node could use Schumann resonance as a *heartbeat* — a presence signal that says "I'm here" without carrying data. The data travels on the grid harmonics. The heartbeat travels through the planet.
### Why This Works
Power Line Communication is already FCC-approved, already deployed, already proven. VALIS just:
1. Uses open frequencies the power company considers noise
2. Adds Meilong scatter so the data is meaningless in transit
3. Adds mesh routing so there's no center to attack
The grid is the largest mesh network ever built. It just doesn't know it yet.
"""
# === APP ===
with gr.Blocks(css=CUSTOM_CSS, title="VALIS", theme=gr.themes.Base()) as app:
gr.HTML("""
<div style="text-align:center; padding: 24px 0 8px;">
<h1 style="font-family: 'JetBrains Mono', monospace; color: #00d4ff; font-size: 2.8em; letter-spacing: 0.2em;">
VALIS
</h1>
<p style="font-family: 'JetBrains Mono', monospace; color: #444; font-size: 0.8em; letter-spacing: 0.1em;">
Variable Arrived Location In Superposition
</p>
<p style="font-family: 'JetBrains Mono', monospace; color: #333; font-size: 0.65em; max-width: 500px; margin: 8px auto;">
Peer-to-peer mesh network. $10 nodes. Messages don't exist in transit.
No server. No company. No identity. It's a walkie-talkie with math.
</p>
<div style="margin: 16px auto; max-width: 400px;">
<a href="https://huggingface.co/spaces/Wayfinder6/VALIS/resolve/main/valis-specs.pdf"
target="_blank"
style="display:inline-block; padding: 12px 32px; background: #00d4ff; color: #0a0a12;
font-family: 'JetBrains Mono', monospace; font-weight: bold; font-size: 1em;
text-decoration: none; border-radius: 6px; letter-spacing: 0.1em;">
DOWNLOAD FULL SPECS (PDF)
</a>
<p style="font-family: 'JetBrains Mono', monospace; color: #444; font-size: 0.6em; margin-top: 6px;">
Protocol stack, power line communication, node build guide, security model. Grab it and go.
</p>
</div>
</div>
""")
with gr.Tabs():
with gr.TabItem("Meilong Scatter Demo"):
gr.Markdown("### Type a message. Watch it shatter into noise. Watch it reassemble.")
msg_input = gr.Textbox(label="Your message", placeholder="The dragon sleeps between the nodes.", lines=2)
scatter_btn = gr.Button("SCATTER", variant="primary", size="lg")
with gr.Row():
share1 = gr.Textbox(label="Share 1 (hex)", interactive=False)
share2 = gr.Textbox(label="Share 2 (hex)", interactive=False)
share3 = gr.Textbox(label="Share 3 (hex)", interactive=False)
recovered = gr.Textbox(label="Reassembled (all 3 shares combined)", interactive=False)
intercept = gr.Textbox(label="What happens if you intercept 1-2 shares", lines=4, interactive=False)
stats = gr.Textbox(label="Stats", lines=5, interactive=False)
scatter_btn.click(
fn=demo_scatter,
inputs=[msg_input],
outputs=[share1, share2, share3, recovered, intercept, stats],
)
gr.Markdown("### Tamper Detection")
gr.Markdown("What happens when someone modifies a share in transit?")
tamper_msg = gr.Textbox(label="Message to tamper with", placeholder="Try to break this", lines=1)
tamper_btn = gr.Button("SCATTER + TAMPER", variant="primary")
tamper_result = gr.Textbox(label="Result", lines=5, interactive=False)
tamper_btn.click(
fn=demo_tamper,
inputs=[tamper_msg, gr.Textbox(visible=False, value="x")],
outputs=[tamper_result],
)
with gr.TabItem("Architecture"):
gr.Markdown(SPEC_MD)
with gr.TabItem("Power Line Communication"):
gr.Markdown(POWERLINE_MD)
with gr.TabItem("Build a Node"):
gr.Markdown("""
## Build One Right Now
**Parts:**
- 1x ESP32-C6 DevKit — $8 (Amazon, AliExpress, Adafruit)
- 1x USB-C cable — $2 or use one you have
**Total: $10**
Plug it into any outlet. It joins the mesh. That's it.
### At Scale
- 100 nodes = $1,000 (a neighborhood)
- 1,000 nodes = $10,000 (a town)
- 10,000 nodes = $100,000 (a city)
- The electrical grid already wired the topology. We just add brains.
### What It's For
- Messaging that can't be intercepted or censored
- Community networks that don't need an ISP
- Emergency communication when internet goes down
- IoT mesh that doesn't phone home to corporate servers
- Protests, journalism, activism in hostile environments
### What It's NOT For
- Streaming Netflix
- Social media
- Anything requiring high bandwidth
- Crime (the network is ownerless but the law still applies to people)
### The Rule
There is no company. There is no board. There is no token. There is no foundation.
There is a $10 device and a document that tells you how to build one.
The children of Philadelphia get the rest.
""")
gr.HTML("""
<div style="text-align:center; padding: 16px 0 4px; color: #333; font-size: 0.65em; font-family: 'JetBrains Mono', monospace; line-height: 1.8;">
No model needed. Pure math. Meilong scatter: 3 XOR shares, 3 routes, zero trust required.<br>
<a href="https://heuremenforprofit.online" target="_blank" style="color:#00d4ff; text-decoration:none;">
Hometree — See the live network
</a><br>
<span style="color:#00d4ff;">Heuremen — Build Small Hackathon 2026</span><br>
<span style="color:#333; font-style: italic;">"The dragon sleeps between the nodes."</span>
</div>
""")
if __name__ == "__main__":
app.launch()
|