{"id":"c0009","filename":"c0009_gossip_witnesses.dok.json","weise3_id":"WEISE3::gossip_witnesses::genesis::c0009::FENIX2026","tip":"arhitektura","naziv":"Gossip Witnesses — P2P svjedočanstvo blokova","kreator":"CC","datum":"2026-05-02T20:48:00Z","snippet":"Svaki Bršljan lite čvor koji verificira blok šalje deterministično svjedočanstvo Node1u. Stranica /v/{weise3_id} prikazuje 'Potvrdila N neovisnih čvorova' — prodajna priča za partnere.","status":"","prev_weise3":"","bunker_l":"#00d4ff","full":{"weise3_id":"WEISE3::gossip_witnesses::genesis::c0009::FENIX2026","tip":"arhitektura","kreator":"CC","nastao":"2026-05-02T20:48:00Z","naziv":"Gossip Witnesses — P2P svjedočanstvo blokova","opis":"Svaki Bršljan lite čvor koji verificira blok šalje deterministično svjedočanstvo Node1u. Stranica /v/{weise3_id} prikazuje 'Potvrdila N neovisnih čvorova' — prodajna priča za partnere.","implementirano":["services/svjedok.py — SvjedokRegistry, disk pohrana, SHA2/SHA3 dual verify, dedup po (svjedok_id, weise3_id)","api/mesh.py — POST /api/v1/mesh/svjedok, GET /api/v1/mesh/svjedoci/{weise3_id}, GET /api/v1/mesh/svjedoci","brsljani_lite.py — posalji_svjedoka(), _svjedok_potpis() SHA256, _vec_svjedocio dedup, v1.1","media/public/brsljani_lite.ps1 — Send-Svjedok, Get-SvjedokPotpis, /export endpoint fix, v1.1","api/javna_verifikacija.py — svjedoci: {ukupno, lista} u svakom JSON/HTML odgovoru, witness count card u HTML","sucelje/web/app/mreza/page.tsx — getZadnjiSvjedoci(), 'Nedavna svjedocanstva' sekcija, stat_svj counter"],"kljucni_dizajn":{"potpis":"SHA256(svjedok_id::weise3_id::block_hash::SVJEDOK::GENESIS2026) — stdlib, Win7 kompatibilno","dedup":"jedan svjedok_id po weise3_id — ne moze spamati","pohrana":"disk /media/svjedoci/{weise3_id[:16]}.json — prezivljava restart","javna_verifikacija":"/v/{weise3_id} prikazuje broj neovisnih svjedoka — bez prijave"},"test":"curl -X POST /api/v1/mesh/svjedok — prihvaceno:true | GET /api/v1/mesh/svjedoci/{id} — ukupno:1","zakon":"ZAKON 2 — svaki vazni commit prati .dok.json"}}