Askel pimeC$stC$ verkosta reaaliaikaiseen mesh-verkkoon on massiivinen!
TC$ssC$ kerroksessa toteutamme "Gossip" eli juorupC$C$protokollan.
Koska laitteet voivat yhdistyC$ toisiinsa satunnaisesti (esim. ohikulkeva auto
muodostaa Ad-Hoc WiFin), meidC$n on pystyttC$vC$ selvittC$mC$C$n sekunneissa,
mitC$ dataa toiselta puuttuu. Merkle Mountain Range (MMR) on tC$hC$n
tC$ydellinen, koska se sallii puiden vertailun "vuorenhuippuja" (peaks)
vertailemalla ilman, ettC$ koko tietokantaa tarvitsee siirtC$C$.
TC$ssC$ on toteutus MMR-tietorakenteelle ja TCP-verkkokerrokselle, joka
hyC6dyntC$C$ sitC$.
1. Merkle Mountain Range (src/router/mmr.ts)
TC$mC$ luokka pitC$C$ kirjaa topologian (tai kirjekuorien) tilasta. Se on
"append-only", eli siihen voidaan vain lisC$tC$ tapahtumia. Juuri (root)
muuttuu deterministisesti jokaisen lisC$yksen myC6tC$.
2. TCP Gossip -protokolla (src/transport/tcp.ts)
TC$mC$ moduuli luo Node.js net -palvelimen ja -asiakkaan. Yksinkertaisuuden ja
luotettavuuden vuoksi kC$ytC$mme MVP-mallissa NDJSON (Newline Delimited JSON)
-kehystystC$ TCP-virran pC$C$llC$ ohjausviesteihin ja enkoodaamme binC$C$riset
CBOR-envelopet base64-muotoon viestien sisC$C$n.
Arkkitehtuurin nerokkuus tC$ssC$:
TCP-kerros (TCPGossiper) ei tiedC$ mitC$C$n kryptografiasta, hiekkalaatikosta
tai valtuuksista. Se on puhdas putki. Kun se vastaanottaa ENVELOPES-viestin,
se heittC$C$ raa'an CBOR-tavutaulukon suoraan UniversalRouter.receive()
-metodille. Reititin suorittaa tiukan Zod-validoinnin, tarkistaa
Ed25519-allekirjoitukset, estC$C$ replay-hyC6kkC$ykset ja lopuksi suorittaa
koodin WASM:ssa. Verkkoa saa siis pommittaa viallisella tai vihamielisellC$
datalla, ja reititin suojaa jC$rjestelmC$n lokaalisti.