tawasuyu

tawasuyu/agora

> Public square. Federated identity and a trust graph that no one runs.

Rust 76Markdown 49TOML 211529 Sutichaykuna

⎇ d0638350bf39c350b2d1d1858a8c8eb962240fa5 03_ukupacha/agora/agora-gossip/LEEME.md Markdown · 13 siq'ikuna · 1.1 KB Ñawpa willay ch'uya

feat: agora standalone — front-door de identidad federada y grafo de confianza d0638350b · Sergio ·

1# agora-gossip
2
3*Read this in English: [README.md](README.md).*
4
5> Anti-entropy transport-agnóstico para el `TrustGraph` de [agora](../LEEME.md).
6
7Dos pares convergen intercambiando hashes de las atestaciones que tienen. Tres variantes de mensaje bastan: `Announce(Digest)` — *"tengo estas"* — broadcastea un `BTreeSet<AttestationHash>`; `Request(Vec<Hash>)` — *"mandame estas"* — pide la diferencia; `Bundle(Vec<Attestation>)` — *"aquí van"* — cierra la ronda. La identidad es `Attestation::stable_hash` (BLAKE3 sobre claim+key+firma), determinista entre máquinas.
8
9Sin IO, sin firmar nada, sin descubrir peers, sin storage. El caller elige el transporte (libp2p en [`agora-net-brahman`](../agora-net-brahman/LEEME.md), Akasha-Over-Ether en Wawa, JSON por SCP en sneakernet) y el wire es sólo `serde`. Cada `Bundle` vuelve a entrar por `TrustGraph::add_attestation`, así las firmas se re-verifican — un par malicioso no puede inyectar evidencia falsa por gossip.
10
11## Deps
12
13- [`agora-core`](../agora-core/LEEME.md), [`agora-graph`](../agora-graph/LEEME.md), `serde`

LEEME.md

agora-gossip

Read this in English: README.md.

Anti-entropy transport-agnóstico para el TrustGraph de agora.

Dos pares convergen intercambiando hashes de las atestaciones que tienen. Tres variantes de mensaje bastan: Announce(Digest) — "tengo estas" — broadcastea un BTreeSet<AttestationHash>; Request(Vec<Hash>) — "mandame estas" — pide la diferencia; Bundle(Vec<Attestation>) — "aquí van" — cierra la ronda. La identidad es Attestation::stable_hash (BLAKE3 sobre claim+key+firma), determinista entre máquinas.

Sin IO, sin firmar nada, sin descubrir peers, sin storage. El caller elige el transporte (libp2p en agora-net-brahman, Akasha-Over-Ether en Wawa, JSON por SCP en sneakernet) y el wire es sólo serde. Cada Bundle vuelve a entrar por TrustGraph::add_attestation, así las firmas se re-verifican — un par malicioso no puede inyectar evidencia falsa por gossip.

Deps