Historical design record. This plan is retained for release traceability and does not describe the current v0.3.1 implementation. See Documentation.
Objective
- Deliver a verifiable, adversarially hardened core that is closer to a coordination primitive than a product feature set.
- Keep the implementation auditable and testable: no hidden magic, no opaque dependencies.
Non-goals (for this release)
- Replacing upstream L1 consensus or building a new chain.
- Introducing external paid dependencies.
Core deliverables
-
Stateless verification artifacts
- Define a canonical "verification bundle" format:
- anchor.json
- attestation_qc.json
- stake_registry.json (snapshot)
- evidence.jsonl
- blob meta + proof files referenced by anchor
- Add
julian verify <bundle>to validate:- anchor signatures
- DA commitments
- QC quorum thresholds
- stake-weighted attestations
- evidence integrity root
- Define a canonical "verification bundle" format:
-
Oracle-independent truth consensus (attestation layer)
- Formalize multi-attestor requirements:
attestation_quorumandattestation_policyare explicit in config and bundle metadata.- Require at least N independent attestations for each commitment.
- Implement
julian attestsubcommand:- sign commitments offline
- output attestation payloads for submission
- Formalize multi-attestor requirements:
-
Collusion-resistant incentives (economic honesty)
- Add slashing rules to stake registry:
- invalid attestations
- equivocation
- evidence mismatch
- Implement
julian dispute:- submit proof of misbehavior
- enforce slashing and audit log entries
- Add slashing rules to stake registry:
-
Liveness guarantees (termination)
- Add explicit timeouts to route/anchor flow:
deadline_aton route and settlement- deterministic fallback on timeout
- Provide a liveness proof report:
julian liveness --from <anchor> --to <anchor>- verifies no deadlocks and proper timeout handling
- Add explicit timeouts to route/anchor flow:
-
Identity-light participation
- Introduce reputation snapshots:
reputation.jsongenerated from historical accuracy- reputation is additive but not a centralized identity
- Allow policies to reference reputation thresholds
- Introduce reputation snapshots:
Verification and adversarial testing
- Fuzzing:
cargo fuzzon anchor parsing, attestation aggregation, and evidence ingestion. - Property tests:
proptestfor determinism invariants (same input => same output). - Concurrency checks:
loomfor mempool/anchor state transitions. - CI: run
cargo test+ smoke net + fuzz nightly.
Release plan Phase A — Spec
- Define bundle schema and update docs.
- Declare invariants and acceptance criteria.
Phase B — Implementation
- Add
julian verify,julian attest,julian dispute,julian liveness. - Update net config to enforce attestation policy.
Phase C — Harden
- Add fuzz/proptest suites and integrate into CI.
- Extend smoke_net to cover DA quorum and QC persistence.
Acceptance criteria
cargo test --all --lockedpasses.scripts/smoke_net.shpasses.julian verifyreturns success for real bundle.- Attestation quorum rejects malformed or insufficient attestations.
- Liveness report shows termination under normal and timeout conditions.