open-standards/joule-code/joule-code-rs/crates/joule-code-collab
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 0f074530f4 lockstep-quic: distributed BFT consensus over the real-QUIC transport
Graduates the consensus layer from the in-process LockstepCluster simulation to
a genuinely distributed node that decides from messages it receives over QUIC.

- joule-code-collab: add RoundNode — a single node's view of one lockstep BFT
  round (validate, vote, tally, commit), holding only its own state. Two honest
  nodes that received the same proposal set and per-node vote sets compute a
  byte-identical log, with no leader, because validation is deterministic and
  commits apply in op_id order. Unit test drives independent node states with a
  Byzantine node withholding votes: a non-member's op is refused, the valid ops
  commit at 2f+1, and all honest logs are byte-identical.
- joule-moq: add generate_self_signed_der + QuicEndpoint::server_from_der /
  client_from_der so a transport consumer can carry the shared cert as raw DER
  without depending on rustls types.
- lockstep-quic (new crate): a node binary that derives a deterministic signed
  membership from indices, forms a QUIC mesh over joule-moq, exchanges signed
  proposals and vote sets with round barriers, and commits via RoundNode — then
  prints the agreed-log hash.

Live-verified: loopback n=4 (f=1, threshold 3) — four independent processes
commit a byte-identical log (same blake3 hash); and cross-machine n=2 over real
QUIC between two Macs — both commit the same log. The full n=4 cross-machine
mesh is blocked by an environment-specific outbound-dial issue on two of the
hosts (firewall ruled out — disabled there; the same binary succeeds loopback-n4
and cross-machine-n2), left for follow-up; the consensus and transport code are
not implicated.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
(cherry picked from commit a083120a0f)
2026-06-27 07:12:43 -04:00
..
src lockstep-quic: distributed BFT consensus over the real-QUIC transport 2026-06-27 07:12:43 -04:00
tests joule-code: MLS group keying for the collaboration cluster (RFC 9420) 2026-06-05 03:27:02 -04:00
Cargo.toml joule-code: MLS group keying for the collaboration cluster (RFC 9420) 2026-06-05 03:27:02 -04:00