Changes for page Federation & Decentralization
Last modified by Robert Schaub on 2025/12/24 20:33
From version 7.3
edited by Robert Schaub
on 2025/12/16 20:27
on 2025/12/16 20:27
Change comment:
Update document after refactoring.
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Parent
-
... ... @@ -1,1 +1,1 @@ 1 -FactHarbor. Archive.FactHarbor V0\.9\.18.Specification.WebHome1 +FactHarbor.Specification.WebHome - Content
-
... ... @@ -1,431 +1,58 @@ 1 1 = Federation & Decentralization = 2 2 3 -FactHarbor is designed to operate as a **federated network of nodes** rather than a single central server. 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. 4 4 5 -Decentralization provides: 6 -* **Resilience** against censorship or political pressure 7 -* **Autonomy** for local governance and moderation 8 -* **Scalability** across many independent communities 9 -* **Trust** without centralized control 10 -* **Domain specialization** (health-focused nodes, energy-focused nodes, etc.) 6 +== Purpose of Federation == 11 11 12 -FactHarbor draws inspiration from the Fediverse but uses stronger structure, versioning, and integrity guarantees. 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). 13 13 14 - ----14 +== Federated Node Model == 15 15 16 -== Federated FactHarbor Nodes == 16 +Each FactHarbor node maintains: 17 +* Local PostgreSQL database, Vector DB, and Object Storage. 18 +* Local AKEL instance. 19 +* Local Reviewers and Governance policies. 17 17 18 -Each FactHarbor instance ("node") maintains: 19 -* Its own database 20 -* Its own AKEL instance 21 -* Its own reviewers, experts, and contributors 22 -* Its own governance rules 21 +Nodes exchange structured objects (Claims, Scenarios, Evidence metadata, Verdicts) via signed bundles. 23 23 24 -Nodes exchange structured information: 25 -* Claims 26 -* Scenarios 27 -* Evidence metadata (not necessarily full files) 28 -* Verdicts (optional) 29 -* Hashes and signatures for integrity 30 - 31 -Nodes choose which external nodes they trust. 32 - 33 ----- 34 - 35 35 == Global Identifiers == 36 36 37 - Every entityreceivesaglobally unique,linkableidentifier.25 +Format: ``factharbor://<node>/<type>/<local_id>`` 38 38 39 -**Format**: 40 -`factharbor://node_url/type/local_id` 27 +Example: ``factharbor://factharbor.energy/claim/CLM-55812`` 41 41 42 -**Example**: 43 -`factharbor://factharbor.energy/claim/CLM-55812` 29 +Identifiers are globally consistent, human-readable, and hash-derived. 44 44 45 -**Supported types**: 46 -* `claim` 47 -* `scenario` 48 -* `evidence` 49 -* `verdict` 50 -* `user` (optional) 51 -* `cluster` 31 +== Data Sharing Model == 52 52 53 -**Properties**: 54 -* Globally consistent 55 -* Human-readable 56 -* Hash-derived 57 -* Independent of database internals 58 -* URL-resolvable (future enhancement) 33 +* **Shared**: Claims, Scenario structures, Evidence metadata, Verdicts, Integrity hashes. 34 +* **Not Shared**: Local users, Review discussions, Internal notes, Private evidence. 59 59 60 -This allows cross-node references and prevents identifier collisions in federated environments. 61 - 62 ----- 63 - 64 64 == Trust Model == 65 65 66 - Each node maintainsa **trust table** definingrelationshipswithother nodes:38 +Nodes maintain a **trust table** (Trusted, Neutral, Untrusted). This influences auto-import rules, re-review requirements, and visibility. 67 67 68 -== =Trust Levels ===40 +== Decentralized Processing == 69 69 70 -**Trusted Nodes**: 71 -* Claims auto-imported 72 -* Scenarios accepted without re-review 73 -* Evidence considered valid 74 -* Verdicts displayed to users 75 -* High synchronization priority 42 +Each node performs its own AKEL processing, drafting, and verdict calculation. Nodes may specialize in specific domains (e.g., Medical Node). 76 76 77 -**Neutral Nodes**: 78 -* Claims imported but flagged for review 79 -* Scenarios require local validation 80 -* Evidence requires re-assessment 81 -* Verdicts shown with "external node" disclaimer 82 -* Normal synchronization priority 83 - 84 -**Untrusted Nodes**: 85 -* Claims quarantined, manual import only 86 -* Scenarios rejected by default 87 -* Evidence not accepted 88 -* Verdicts not displayed 89 -* No automatic synchronization 90 - 91 -=== Trust Affects === 92 - 93 -* **Auto-import**: Whether claims/scenarios are automatically added 94 -* **Re-review requirements**: Whether local reviewers must validate 95 -* **Verdict display**: Whether external verdicts are shown to users 96 -* **Synchronization frequency**: How often data is exchanged 97 -* **Reputation signals**: How external reputation is interpreted 98 - 99 -=== Local Trust Authority === 100 - 101 -Each node's governance team decides: 102 -* Which nodes to trust 103 -* Trust level criteria 104 -* Trust escalation/degradation rules 105 -* Dispute resolution with partner nodes 106 - 107 -Trust is **local and autonomous** - no global trust registry exists. 108 - 109 ----- 110 - 111 -== Data Sharing Model == 112 - 113 -=== What Nodes Share === 114 - 115 -**Always shared** (if federation enabled): 116 -* Claims and claim clusters 117 -* Scenario structures 118 -* Evidence metadata and content hashes 119 -* Integrity signatures 120 - 121 -**Optionally shared**: 122 -* Full evidence files (large documents) 123 -* Verdicts (nodes may choose to keep verdicts local) 124 -* Vector embeddings 125 -* Scenario templates 126 -* AKEL distilled knowledge 127 - 128 -**Never shared**: 129 -* Internal user lists 130 -* Reviewer comments and internal discussions 131 -* Governance decisions and meeting notes 132 -* Access control data 133 -* Private or sensitive content marked as local-only 134 - 135 -=== Large Evidence Files === 136 - 137 -Evidence files are: 138 -* Stored locally by default 139 -* Referenced via global content hash 140 -* Optionally served through IPFS 141 -* Accessible via direct peer-to-peer transfer 142 -* Can be stored in S3-compatible object storage 143 - 144 ----- 145 - 146 146 == Synchronization Protocol == 147 147 148 -Nodes exchange data using multiple synchronization methods: 46 +Nodes exchange **Version Bundles** containing: 47 +* Claims, Scenarios, Metadata. 48 +* Merkle-tree lineage. 49 +* Cryptographic signatures. 149 149 150 - ===Push-BasedSynchronization===51 +Methods: Push (Webhook), Pull (Cron), Subscription. 151 151 152 - **Mechanism**:Webhooks53 +== Scaling == 153 153 154 -When local content changes: 155 -1. Node builds signed bundle 156 -2. Sends webhook notification to subscribed nodes 157 -3. Remote nodes fetch bundle 158 -4. Remote nodes validate and import 55 +* **Vertical**: API servers, Workers, Caching. 56 +* **Horizontal**: Adding more nodes to the federation. 159 159 160 -**Use case**: Real-time updates for trusted partners 161 - 162 -=== Pull-Based Synchronization === 163 - 164 -**Mechanism**: Scheduled polling 165 - 166 -Nodes periodically: 167 -1. Query partner nodes for updates 168 -2. Fetch changed entities since last sync 169 -3. Validate and import 170 -4. Store sync checkpoint 171 - 172 -**Use case**: Regular batch updates, lower trust nodes 173 - 174 -=== Subscription-Based Synchronization === 175 - 176 -**Mechanism**: WebSub-like protocol 177 - 178 -Nodes subscribe to: 179 -* Specific claim clusters 180 -* Specific domains (medical, energy, etc.) 181 -* Specific scenario types 182 -* Verdict updates 183 - 184 -Publisher pushes updates only to subscribers. 185 - 186 -**Use case**: Selective federation, domain specialization 187 - 188 -=== Large Asset Transfer === 189 - 190 -For files >10MB: 191 -* S3-compatible object storage 192 -* IPFS (content-addressed) 193 -* Direct peer-to-peer transfer 194 -* Chunked HTTP transfer with resume support 195 - 196 ----- 197 - 198 -== Federation Sync Workflow == 199 - 200 -Complete synchronization sequence for creating and sharing new content: 201 - 202 -=== Step 1: Local Node Creates New Versions === 203 - 204 -User or AKEL creates: 205 -* New claim version 206 -* New scenario version 207 -* New evidence version 208 -* New verdict version 209 - 210 -All changes tracked with: 211 -* VersionID 212 -* ParentVersionID 213 -* AuthorType 214 -* Timestamp 215 -* JustificationText 216 - 217 -=== Step 2: Federation Layer Builds Signed Bundle === 218 - 219 -Federation layer packages: 220 -* Entity data (claim, scenario, evidence metadata, verdict) 221 -* Version lineage (ParentVersionID chain) 222 -* Cryptographic signatures 223 -* Node provenance information 224 -* Trust metadata 225 - 226 -Bundle format: 227 -* JSON-LD for structured data 228 -* Content-addressed hashes 229 -* Digital signatures for integrity 230 - 231 -=== Step 3: Bundle Includes Required Data === 232 - 233 -Each bundle contains: 234 -* **Claims**: Full claim text, classification, domain 235 -* **Scenarios**: Definitions, assumptions, boundaries 236 -* **Evidence metadata**: Source URLs, hashes, reliability scores (not always full files) 237 -* **Verdicts**: Likelihood ranges, uncertainty, reasoning chains 238 -* **Lineage**: Version history, parent relationships 239 -* **Signatures**: Cryptographic proof of origin 240 - 241 -=== Step 4: Bundle Pushed to Trusted Neighbor Nodes === 242 - 243 -Based on trust table: 244 -* Push to **trusted nodes** immediately 245 -* Queue for **neutral nodes** (batched) 246 -* Skip **untrusted nodes** 247 - 248 -Push methods: 249 -* Webhook notification 250 -* Direct API call 251 -* Pub/Sub message queue 252 - 253 -=== Step 5: Remote Nodes Validate Lineage and Signatures === 254 - 255 -Receiving node: 256 -1. Verifies cryptographic signatures 257 -2. Validates version lineage (ParentVersionID chain) 258 -3. Checks for conflicts with local data 259 -4. Validates data structure and required fields 260 -5. Applies local trust policies 261 - 262 -Validation failures → reject or quarantine bundle 263 - 264 -=== Step 6: Accept or Branch Versions === 265 - 266 -**Accept** (if validation passes): 267 -* Import new versions 268 -* Maintain provenance metadata 269 -* Link to local related entities 270 -* Update local indices 271 - 272 -**Branch** (if conflict detected): 273 -* Create parallel version tree 274 -* Mark as "external branch" 275 -* Allow local reviewers to merge or reject 276 -* Preserve both version histories 277 - 278 -**Reject** (if validation fails): 279 -* Log rejection reason 280 -* Notify source node (optional) 281 -* Quarantine for manual review (optional) 282 - 283 -=== Step 7: Local Re-evaluation Runs if Required === 284 - 285 -After import, local node checks: 286 -* Does new evidence affect existing verdicts? 287 -* Do new scenarios require re-assessment? 288 -* Are there contradictions with local content? 289 - 290 -If yes: 291 -* Trigger AKEL re-evaluation 292 -* Queue for reviewer attention 293 -* Update affected verdicts 294 -* Notify users following related content 295 - 296 ----- 297 - 298 -== Cross-Node AI Knowledge Exchange == 299 - 300 -Each node runs its own AKEL instance and may exchange AI-derived knowledge: 301 - 302 -=== What Can Be Shared === 303 - 304 -**Vector embeddings**: 305 -* For cross-node claim clustering 306 -* For semantic search alignment 307 -* Never includes training data 308 - 309 -**Canonical claim forms**: 310 -* Normalized claim text 311 -* Standard phrasing templates 312 -* Domain-specific formulations 313 - 314 -**Scenario templates**: 315 -* Reusable scenario structures 316 -* Common assumption patterns 317 -* Evaluation method templates 318 - 319 -**Contradiction alerts**: 320 -* Detected conflicts between claims 321 -* Evidence conflicts across nodes 322 -* Scenario incompatibilities 323 - 324 -**Metadata and insights**: 325 -* Aggregate quality metrics 326 -* Reliability signal extraction 327 -* Bubble detection patterns 328 - 329 -=== What Can NEVER Be Shared === 330 - 331 -**Model weights**: No sharing of trained model parameters 332 - 333 -**Training data**: No sharing of full training datasets 334 - 335 -**Local governance overrides**: AKEL suggestions can be overridden locally 336 - 337 -**User behavior data**: No cross-node tracking 338 - 339 -**Internal review discussions**: Private content stays private 340 - 341 -=== Benefits of AI Knowledge Exchange === 342 - 343 -* Reduced duplication across nodes 344 -* Improved claim clustering accuracy 345 -* Faster contradiction detection 346 -* Shared scenario libraries 347 -* Cross-node quality improvements 348 - 349 -=== Local Control Maintained === 350 - 351 -* Nodes accept or reject shared AI knowledge 352 -* Human reviewers can override any AKEL suggestion 353 -* Local governance always has final authority 354 -* No external AI control over local content 355 -* Privacy-preserving knowledge exchange 356 - 357 ----- 358 - 359 -== Decentralized Processing == 360 - 361 -Each node independently performs: 362 -* AKEL processing 363 -* Scenario drafting and validation 364 -* Evidence review 365 -* Verdict calculation 366 -* Truth landscape summarization 367 - 368 -Nodes can specialize: 369 -* Health-focused node with medical experts 370 -* Energy-focused node with domain knowledge 371 -* Small node delegating scenario libraries to partners 372 -* Regional node with language/culture specialization 373 - 374 -Optional data sharing includes: 375 -* Embeddings for clustering 376 -* Claim clusters for alignment 377 -* Scenario templates for efficiency 378 -* Verdict comparison metadata 379 - 380 ----- 381 - 382 -== Scaling to Thousands of Users == 383 - 384 -Nodes scale independently through: 385 -* Horizontally scalable API servers 386 -* Worker pools for AKEL tasks 387 -* Hybrid storage (local + S3/IPFS) 388 -* Redis caching for performance 389 -* Sharded or partitioned databases 390 - 391 -Federation allows effectively unlimited horizontal scaling by adding new nodes. 392 - 393 -Communities may form: 394 -* Domain-specific nodes (epidemiology, energy, climate) 395 -* Language or region-based nodes 396 -* NGO or institutional nodes 397 -* Private organizational nodes 398 -* Academic research nodes 399 - 400 -Nodes cooperate through: 401 -* Scenario library sharing 402 -* Shared or overlapping claim clusters 403 -* Expert delegation between nodes 404 -* Distributed AKEL task support 405 -* Cross-node quality audits 406 - 407 ----- 408 - 409 -== Federation and Release 1.0 == 410 - 411 -**POC**: Single node, optional federation experiments 412 - 413 -**Beta 0**: 2-3 nodes, basic federation protocol 414 - 415 -**Release 1.0**: Full federation support with: 416 -* Robust synchronization protocol 417 -* Trust model implementation 418 -* Cross-node AI knowledge exchange 419 -* Federated search and discovery 420 -* Distributed audit collaboration 421 -* Inter-node expert consultation 422 - 423 ----- 424 - 425 -== Related Pages == 426 - 427 -* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] 428 -* [[Data Model>>FactHarbor.Specification.Data Model.WebHome]] 429 -* [[Architecture>>FactHarbor.Specification.Architecture.WebHome]] 430 -* [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] 431 - 58 +{{include reference="FactHarbor.Specification.Diagrams.Federation Architecture.WebHome"/}}