Changes for page Federation & Decentralization
Last modified by Robert Schaub on 2025/12/24 20:33
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,431 +1,221 @@ 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 +Each node remains fully functional on its own while participating in a shared global knowledge graph. 11 11 12 - FactHarbor draws inspiration from the Fediverse but uses stronger structure, versioning, and integrity guarantees.8 +---- 13 13 10 += Purpose of Federation = 11 + 12 +A federated architecture enables: 13 + 14 +* Resilience against censorship or political pressure 15 +* Local governance and moderation autonomy 16 +* Scalability by adding more nodes, not bigger servers 17 +* Shared knowledge structures without central authority 18 +* Domain specialization (e.g., health-focused node, energy-focused node) 19 +* Cross-node collaboration while preserving independence 20 + 21 +FactHarbor takes inspiration from the Fediverse but uses stronger structure, integrity guarantees, and version lineage. 22 + 14 14 ---- 15 15 16 -= =FederatedFactHarborNodes==25 += Federated Node Model = 17 17 18 -Each FactHarbor instance ("node") maintains: 19 -* Its own database 27 +Each FactHarbor node maintains: 28 + 29 +* Its own PostgreSQL database 30 +* Its own vector database 31 +* Its own object storage 20 20 * Its own AKEL instance 21 -* Its own reviewers, experts, and contributors22 -* Its own governance rules33 +* Its own reviewers, experts, and moderators 34 +* Its own trust and governance policies 23 23 24 -Nodes exchange structured information: 36 +Nodes exchange structured objects: 37 + 25 25 * Claims 26 26 * Scenarios 27 -* Evidence metadata (not necessarilyfullfiles)40 +* Evidence metadata (not raw files unless elected) 28 28 * Verdicts (optional) 29 -* Hashes and signaturesfor integrity42 +* Integrity hashes and signatures 30 30 31 -Nodes c hoose which external nodes theytrust.44 +Nodes decide individually which external nodes to trust. 32 32 33 33 ---- 34 34 35 -= =Global Identifiers ==48 += Global Identifiers = 36 36 37 -E veryentity receives a globally unique,linkable identifier.50 +Each entity receives a globally unique ID. 38 38 39 - **Format**:40 -`factharbor://node _url/type/local_id`52 +Format: 53 +``factharbor://<node>/<type>/<local_id>`` 41 41 42 - **Example**:43 -`factharbor://factharbor.energy/claim/CLM-55812` 55 +Example: 56 +``factharbor://factharbor.energy/claim/CLM-55812`` 44 44 45 - **Supported types**:46 -* `claim`47 -* `scenario`48 -* `evidence`49 -* `verdict`50 -* `user`(optional)51 -* `cluster`58 +Types include: 59 +* claim 60 +* scenario 61 +* evidence 62 +* verdict 63 +* user (optional) 64 +* cluster 52 52 53 - **Properties**:66 +Identifiers are: 54 54 * Globally consistent 55 55 * Human-readable 56 56 * Hash-derived 57 -* Independent of database internals 58 -* URL-resolvable (future enhancement) 70 +* Independent from internal database IDs 59 59 60 -This allows cross-node references and prevents identifier collisions in federated environments. 61 - 62 62 ---- 63 63 64 -= =Trust Model ==74 += Data Sharing Model = 65 65 66 - Each nodemaintainsa **trust table** definingrelationships with other nodes:76 +Nodes share: 67 67 68 -=== Trust Levels === 78 +* Claims 79 +* Scenario structures 80 +* Evidence metadata + content hashes 81 +* Optional verdicts 82 +* Integrity metadata 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 84 +Nodes **do not** share: 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 86 +* Local users 87 +* Review discussions 88 +* Internal moderation notes 89 +* Private evidence 83 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 91 +Large assets may use: 90 90 91 -=== Trust Affects === 93 +* Local object storage 94 +* S3-compatible buckets 95 +* IPFS for cross-node replication (optional) 92 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 109 ---- 110 110 111 -= =DataSharingModel ==99 += Trust Model = 112 112 113 - === WhatNodesShare===101 +Each node maintains a **trust table**: 114 114 115 -**Always shared** (if federation enabled): 116 -* Claims and claim clusters 117 -* Scenario structures 118 -* Evidence metadata and content hashes 119 -* Integrity signatures 103 +* Trusted nodes 104 +* Neutral nodes 105 +* Untrusted nodes 120 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 107 +Trust influences: 127 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 109 +* Whether claims are auto-imported 110 +* Whether scenarios are accepted without re-review 111 +* Whether evidence requires new validation 112 +* Whether external verdicts are visible to users 134 134 135 - === LargeEvidenceFiles===114 +Reputation is local but can be mapped with trust-weighting. 136 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 144 ---- 145 145 146 -= =SynchronizationProtocol==118 += Decentralized Processing = 147 147 148 - Nodes exchangedata using multiplesynchronizationmethods:120 +Each node independently performs: 149 149 150 -=== Push-Based Synchronization === 122 +* AKEL processing 123 +* Scenario drafting 124 +* Evidence review 125 +* Verdict calculation 126 +* Summary generation 127 +* Re-evaluation 151 151 152 - **Mechanism**:Webhooks129 +Nodes may specialize: 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 131 +* medical node 132 +* psychology node 133 +* climate node 134 +* small node delegating expert review to trusted partners 159 159 160 - **Usecase**: Real-timeupdatesfor trusted partners136 +Optional cross-node data sharing includes: 161 161 162 -=== Pull-Based Synchronization === 138 +* Embeddings 139 +* Claim clusters 140 +* Scenario templates 141 +* Verdict comparison metadata 142 +* Contradiction alerts 163 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 196 ---- 197 197 198 -= =FederationSyncWorkflow ==146 += Cross-Node AI Knowledge Exchange = 199 199 200 - Completesynchronizationsequence for creating and sharingnew content:148 +Nodes may exchange: 201 201 202 -=== Step 1: Local Node Creates New Versions === 150 +* Embeddings for clustering 151 +* Canonical claim forms 152 +* Scenario templates 153 +* Reliability hints 154 +* Contradiction alerts 155 +* Lightweight model insights (NOT weights) 203 203 204 -User or AKEL creates: 205 -* New claim version 206 -* New scenario version 207 -* New evidence version 208 -* New verdict version 157 +AKEL **never**: 209 209 210 -All changes tracked with: 211 -* VersionID 212 -* ParentVersionID 213 -* AuthorType 214 -* Timestamp 215 -* JustificationText 159 +* Shares model weights 160 +* Automatically replaces local reviewer decisions 161 +* Accepts untrusted automated content 216 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 296 ---- 297 297 298 -= =Cross-Node AI KnowledgeExchange==165 += Synchronization Protocol = 299 299 300 - Each noderuns itsown AKELinstanceand may exchangeAI-derivedknowledge:167 +Nodes periodically exchange version bundles: 301 301 302 -=== What Can Be Shared === 169 +* Claims 170 +* Scenarios 171 +* Evidence metadata + hashes 172 +* Optional verdicts 173 +* Templates 174 +* Embeddings (optional) 175 +* AKEL distilled knowledge summaries (optional) 303 303 304 -**Vector embeddings**: 305 -* For cross-node claim clustering 306 -* For semantic search alignment 307 -* Never includes training data 177 +Sync methods: 308 308 309 -**Canonical claim forms**: 310 -* Normalized claim text 311 -* Standard phrasing templates 312 -* Domain-specific formulations 179 +* Push (webhook) 180 +* Pull (cron) 181 +* Subscription (WebSub-like) 313 313 314 -**Scenario templates**: 315 -* Reusable scenario structures 316 -* Common assumption patterns 317 -* Evaluation method templates 183 +Large assets may be transferred via: 318 318 319 -**Contradiction alerts**: 320 -* Detected conflicts between claims 321 -* Evidence conflicts across nodes 322 -* Scenario incompatibilities 185 +* S3-compatible file transfer 186 +* IPFS 187 +* Peer-to-peer 323 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 357 ---- 358 358 359 -= =DecentralizedProcessing==191 += Scaling to Thousands of Users = 360 360 361 -Each node independently performs: 362 -* AKEL processing 363 -* Scenario drafting and validation 364 -* Evidence review 365 -* Verdict calculation 366 -* Truth landscape summarization 193 +Nodes scale independently: 367 367 368 - Nodescan specialize:369 -* Health-focusednodewith medicalexperts370 -* Energy-focusednodewithdomainknowledge371 -* Small node delegatingscenario librariestopartners372 -* Regional nodewith language/culturespecialization195 +* horizontally scaled API servers 196 +* background worker pools 197 +* GPU queues for AKEL 198 +* caching (Redis) 199 +* sharded databases 373 373 374 -Optional data sharing includes: 375 -* Embeddings for clustering 376 -* Claim clusters for alignment 377 -* Scenario templates for efficiency 378 -* Verdict comparison metadata 201 +The network scales horizontally by adding more nodes. 379 379 380 - ----203 +Communities can form: 381 381 382 -== Scaling to Thousands of Users == 205 +* Domain-specific nodes 206 +* Region/language nodes 207 +* NGO/academic nodes 208 +* Private organization nodes 383 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 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 406 407 ----- 212 +* Shared scenario libraries 213 +* Overlapping claim clusters 214 +* Expert delegation 215 +* Distributed AKEL tasks 408 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 423 ---- 424 424 425 -= =Related Pages ==219 += Diagram References = 426 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 - 221 +{{include reference="FactHarbor.Specification.Diagrams.Federation Architecture.WebHome"/}}