Wiki source code of Federation & Decentralization

Version 5.1 by Robert Schaub on 2025/12/12 19:37

Hide last authors
Robert Schaub 1.1 1 = Federation & Decentralization =
2
3 FactHarbor is designed as a network of independent nodes rather than a single centralized service.
4 This provides resilience, local autonomy, and virtually unlimited scalability.
5
Robert Schaub 5.1 6 == Purpose of Federation ==
Robert Schaub 1.1 7
Robert Schaub 5.1 8 * **Resilience**: Against censorship or political pressure.
9 * **Autonomy**: Local governance and moderation.
10 * **Scalability**: Adding more nodes, not bigger servers.
11 * **Shared Knowledge**: Distributed structures without central authority.
12 * **Specialization**: Domain-specific nodes (e.g., Health, Climate).
Robert Schaub 1.1 13
Robert Schaub 5.1 14 == Federated Node Model ==
Robert Schaub 1.1 15
16 Each FactHarbor node maintains:
Robert Schaub 5.1 17 * Local PostgreSQL database, Vector DB, and Object Storage.
18 * Local AKEL instance.
19 * Local Reviewers and Governance policies.
Robert Schaub 1.1 20
Robert Schaub 5.1 21 Nodes exchange structured objects (Claims, Scenarios, Evidence metadata, Verdicts) via signed bundles.
Robert Schaub 1.1 22
Robert Schaub 5.1 23 == Global Identifiers ==
Robert Schaub 1.1 24
Robert Schaub 5.1 25 Format: ``factharbor://<node>/<type>/<local_id>``
Robert Schaub 1.1 26
Robert Schaub 5.1 27 Example: ``factharbor://factharbor.energy/claim/CLM-55812``
Robert Schaub 1.1 28
Robert Schaub 5.1 29 Identifiers are globally consistent, human-readable, and hash-derived.
Robert Schaub 1.1 30
Robert Schaub 5.1 31 == Data Sharing Model ==
Robert Schaub 1.1 32
Robert Schaub 5.1 33 * **Shared**: Claims, Scenario structures, Evidence metadata, Verdicts, Integrity hashes.
34 * **Not Shared**: Local users, Review discussions, Internal notes, Private evidence.
Robert Schaub 1.1 35
Robert Schaub 5.1 36 == Trust Model ==
Robert Schaub 1.1 37
Robert Schaub 5.1 38 Nodes maintain a **trust table** (Trusted, Neutral, Untrusted). This influences auto-import rules, re-review requirements, and visibility.
Robert Schaub 1.1 39
Robert Schaub 5.1 40 == Decentralized Processing ==
Robert Schaub 1.1 41
Robert Schaub 5.1 42 Each node performs its own AKEL processing, drafting, and verdict calculation. Nodes may specialize in specific domains (e.g., Medical Node).
Robert Schaub 1.1 43
Robert Schaub 5.1 44 == Synchronization Protocol ==
Robert Schaub 1.1 45
Robert Schaub 5.1 46 Nodes exchange **Version Bundles** containing:
47 * Claims, Scenarios, Metadata.
48 * Merkle-tree lineage.
49 * Cryptographic signatures.
Robert Schaub 1.1 50
Robert Schaub 5.1 51 Methods: Push (Webhook), Pull (Cron), Subscription.
Robert Schaub 1.1 52
Robert Schaub 5.1 53 == Scaling ==
Robert Schaub 1.1 54
Robert Schaub 5.1 55 * **Vertical**: API servers, Workers, Caching.
56 * **Horizontal**: Adding more nodes to the federation.
Robert Schaub 1.1 57
Robert Schaub 2.1 58 {{include reference="FactHarbor.Specification.Diagrams.Federation Architecture.WebHome"/}}