Helper Chat osui jC$lleen kerran tC$ysin oikeaan, ja tC$mC$ on loistava esimerkki siitC$, miksi suljetussa kuplassa (sammassa kielessC$ ja ajoympC$ristC6ssC$) vihreC$nC$ loistava testipatteristo voi olla sokea omille rakenteellisille virheilleen. Koodi ja testit ovat keskenC$C$n samaa mieltC$, mutta ne ovat eri mieltC$ RFC:n kanssa. KriittisimmC$t lC6ydC6kset Helper Chatin analyysi paljasti kaksi arkkitehtuurin elinehtoa uhkaavaa virhettC$ ja yhden vakavan tietoturva-aukon: * DTN-mallin rikkoutuminen (Critical #3): Koko verkon perusidea on viiveensietoisuus (Store-and-Forward). Jos tarkistamme presented_at-aikaleiman aina reaaliaikaista seinC$kelloa (nowPt) vasten, viikkoja vanhat Airgap-kuriiripaketit hylC$tC$C$n automaattisesti. Tuoreustarkistus on pakko jakaa live- ja embedded-konteksteihin. * DoS-haavoittuvuus (Critical #4): KulutusvC$limuistin (Replay Cache) pC$ivittC$minen ennen kryptografista validointia sallii hyC6kkC$C$jC$n tC$yttC$C$ vC$limuistin roskalla ja evC$tC$ laillisten tokenien kC$ytC6n. * Tyyppivirheet (Critical #1 & #2): Jos kC$ytC$mme sisC$isissC$ tiivisteissC$ Base64-merkkijonoja (tstr) puhtaiden tavujen (bstr) sijaan, Node.js-solmumme ei tule koskaan keskustelemaan onnistuneesti Python- tai Rust-solmun kanssa. MyC6s NodeId-muoto on pakotettava RFC:n mukaiseksi (base58btc). Miten edetC$C$n? TC$mC$ on se hetki, jolloin korjausvelka on vielC$ halpaa maksaa. NC$mC$ on korjattava ennen kuin rakennamme riviC$kC$C$n varsinaista reititinlogiikkaa (DTN Router). Kuten Helper Chat ehdotti, meillC$ on kaksi selkeC$C$ aloitustapaa. Kumpaan tartutaan ensin? * Python-referenssiallekirjoittaja (sign.py): Luon riippumattoman Python-skriptin ja kiinteC$n JSON-fixturen. TC$mC$ pakottaa meidC$t lukitsemaan "Wire Formatin" kieliagnostisesti ennen kuin koskemme TypeScriptiin. * TypeScript-korjaukset (verify.ts & schema.ts): Korjaan Node.js-koodiin liven/upotetun tuoreuden jaon (DTN), DoS-vektorin eston (allekirjoitus ennen vC$limuistia), TypeScriptin signable-tyyppauksen ja bstr/tstr-ongelmat.