Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Dva runtimy jednoho repozitáře se propojí jen podepsaným handshake chráněným proti replay, který ověřuje protokol, identitu repozitáře a důvěru, a každé odmítnutí je typované a viditelné

Být slyšet v síti neznamená být propojen. Runtime, který chce spolupracovat,

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Oddělené serverové procesy se propojují přes TCP a jejich odmítnutí poškozených, padělaných, budoucího protokolu, jiného repozitáře a nedůvěryhodných hello se čtou zpět přes HTTP; unit testy mesh::cooperation pokrývají replay hello a synchronizačního čítače i propojení se sebou samým. Žádné TLS - autenticita je věcí protokolu, důvěrnost sítě (ADR 0067).

Co to znamená

Být slyšen v síti neznamená být propojen. Runtime, který chce spolupracovat, předloží podepsaný hello — svůj klíč, runtime, instanci, identitu repozitáře, verzi, funkce, čerstvý nonce a rozsah verzí linkového protokolu, který mluví — a odpovídající runtime ho propojí, jen když se podpis ověří, časové razítko je čerstvé, nonce nebyl použit, rozsahy protokolu se potkají, peer není sám sebou, identita repozitáře je jeho vlastní a klíč je důvěryhodný podle deklarované politiky. Volající uplatní stejné kontroly na podepsaný welcome, který dostane zpět. Cokoli jiného je odmítnutí s kódem (malformed, oversized, signature, stale, replay, protocol_unsupported, self_link, repository_mismatch, untrusted, capacity, a pro kolo synchronizace not_active nebo unknown_link), spočítané a vypsané na mesh.cooperation s detailem — nikdy tiše zahozený socket.

Princip

Handshake i každé další kolo synchronizace jsou zprávy Signed: kanonický JSON pod doménou podpisu pro každou zprávu, takže podpis nad hello nelze nikdy přehrát jako sync. apps/majordomus-cli/src/mesh/link.rs definuje zprávy a kódy odmítnutí; apps/majordomus-cli/src/mesh/cooperation.rs (accept_hello, dial, accept_sync, sync_with) je jediná cesta přijetí, poskytovaná jako POST /api/v1/mesh/link/hello a /api/v1/mesh/link/sync modulem schopnosti mesh. Po handshake nese každé kolo synchronizace id spojení a rostoucí čítač, takže přehrané kolo je rovněž odmítnuto a restartovanému peeru se řekne, aby pozdravil znovu.

Jak to vidět

majordomus mesh peers                     # linked runtimes and each link's state
curl http://127.0.0.1:8741/api/v1/mesh/cooperation | jq '.peers, .refused'
cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_cooperation

two_runtimes_link_and_share_sessions_claims_reviews_and_a_handover propojí dva samostatné serverové procesy přes TCP; malformed_forged_and_future_link_messages_are_typed_refusals_over_http pošle nesmysl, zfalšovanou kartu a budoucí rozsah protokolu a přečte zpět každé odmítnutí.

Co nepokrývá

Nešifruje: spustitelný soubor nemá TLS, takže spoje patří do soukromé sítě nebo overlaye (tailnet, WireGuard), které zajišťují důvěrnost. Autentizuje klíče, ne lidi: kdo drží povolený klíč uzlu, je tento uzel.

Proč existuje

Discovery sdělí runtimu, že někde existuje klíč. Spolupráce dovolí tvrzením toho klíče vyloučit vaši práci a jeho předávkám přistát ve vašem checkoutu, takže přijetí musí prokázat víc: že klíč právě odpovídá, obsluhuje váš repozitář, mluví vaším protokolem a je takový, kterému důvěřujete.

Detail vykreslený z docs/claims/mesh-cooperation-links.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Dva runtimy jednoho repozitáře se propojí jen podepsaným handshake chráněným proti replay, který ověřuje protokol, identitu repozitáře a důvěru, a každé odmítnutí je typované a viditelné

    Vytvořeno na Mesh.

  2. 2 · kanonické tvrzení

    mesh-cooperation-linksdeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v .ai/repo/rules/project/mesh-cooperation-is-authenticated.v1.md

  3. 3 · implementace

    apps/majordomus-cli/src/mesh/cooperation.rs

  4. 4 · test a scénáře

    Test: apps/majordomus-cli/tests/mesh_cooperation.rs

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh apps/majordomus-cli/tests/mesh_cooperation.rs

Související tvrzení stejná implementace

Prohledává názvy a popisy všech stránek, které tento web publikuje.