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,223 @@ 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. 13 - 14 14 ---- 15 15 16 -= =Federated FactHarborNodes==10 += Purpose of Federation = 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 12 +A federated architecture enables: 23 23 24 - Nodesexchange structured information:25 -* Claims26 -* Sc enarios27 -* Evidencemetadata(notnecessarilyfull files)28 -* Verdicts(optional)29 -* Hashesandsignaturesforintegrity14 +* 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 30 30 31 - Nodeschoosewhichexternalnodes they trust.21 +FactHarbor takes inspiration from the Fediverse but uses stronger structure, integrity guarantees, and version lineage. 32 32 33 33 ---- 34 34 35 -= =GlobalIdentifiers==25 += Federated Node Model = 36 36 37 -E very entity receivesagloballyunique,linkableidentifier.27 +Each FactHarbor node maintains: 38 38 39 -**Format**: 40 -`factharbor://node_url/type/local_id` 29 +* Its own PostgreSQL database 30 +* Its own vector database 31 +* Its own object storage 32 +* Its own AKEL instance 33 +* Its own reviewers, experts, and moderators 34 +* Its own trust and governance policies 41 41 42 -**Example**: 43 -`factharbor://factharbor.energy/claim/CLM-55812` 36 +Nodes exchange structured objects: 44 44 45 -**Supported types**: 46 -* `claim` 47 -* `scenario` 48 -* `evidence` 49 -* `verdict` 50 -* `user` (optional) 51 -* `cluster` 38 +* Claims 39 +* Scenarios 40 +* Evidence metadata (not raw files unless elected) 41 +* Verdicts (optional) 42 +* Integrity hashes and signatures 52 52 53 -**Properties**: 54 -* Globally consistent 55 -* Human-readable 56 -* Hash-derived 57 -* Independent of database internals 58 -* URL-resolvable (future enhancement) 44 +Nodes decide individually which external nodes to trust. 59 59 60 -This allows cross-node references and prevents identifier collisions in federated environments. 61 - 62 62 ---- 63 63 64 -= =Trust Model==48 += Global Identifiers = 65 65 66 -Each nodemaintains a **trusttable** defining relationshipswithothernodes:50 +Each entity receives a globally unique ID. 67 67 68 -=== Trust Levels === 52 +Format: 53 +``factharbor://<node>/<type>/<local_id>`` 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 55 +Example: 56 +``factharbor://factharbor.energy/claim/CLM-55812`` 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 58 +Types include: 83 83 84 -* *UntrustedNodes**:85 -* Claimsquarantined, manualimport only86 -* Scenarios rejected by default87 -* Evidence notaccepted88 -* Verdictsnotdisplayed89 -* No automaticsynchronization60 +* claim 61 +* scenario 62 +* evidence 63 +* verdict 64 +* user (optional) 65 +* cluster 90 90 91 - === TrustAffects===67 +Identifiers are: 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 69 +* Globally consistent 70 +* Human-readable 71 +* Hash-derived 72 +* Independent from internal database IDs 98 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 -= =Data Sharing Model ==76 += Data Sharing Model = 112 112 113 - === WhatNodesShare===78 +Nodes share: 114 114 115 -* *Alwaysshared**(if federation enabled):116 -* Claims andclaimclusters117 -* Scenariostructures118 -* Evidencemetadata andcontent hashes119 -* Integrity signatures80 +* Claims 81 +* Scenario structures 82 +* Evidence metadata + content hashes 83 +* Optional verdicts 84 +* Integrity metadata 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 86 +Nodes **do not** share: 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 88 +* Local users 89 +* Review discussions 90 +* Internal moderation notes 91 +* Private evidence 134 134 135 - ===LargeEvidence Files===93 +Large assets may use: 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 95 +* Local object storage 96 +* S3-compatible buckets 97 +* IPFS for cross-node replication (optional) 143 143 144 144 ---- 145 145 146 -= =SynchronizationProtocol ==101 += Trust Model = 147 147 148 - Nodes exchangedatausingmultiplesynchronizationmethods:103 +Each node maintains a **trust table**: 149 149 150 -=== Push-Based Synchronization === 105 +* Trusted nodes 106 +* Neutral nodes 107 +* Untrusted nodes 151 151 152 - **Mechanism**:Webhooks109 +Trust influences: 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 111 +* Whether claims are auto-imported 112 +* Whether scenarios are accepted without re-review 113 +* Whether evidence requires new validation 114 +* Whether external verdicts are visible to users 159 159 160 - **Usecase**:Real-timeupdatesfortrusted partners116 +Reputation is local but can be mapped with trust-weighting. 161 161 162 - === Pull-Based Synchronization ===118 +---- 163 163 164 - **Mechanism**: Scheduledpolling120 += Decentralized Processing = 165 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 122 +Each node independently performs: 171 171 172 -**Use case**: Regular batch updates, lower trust nodes 124 +* AKEL processing 125 +* Scenario drafting 126 +* Evidence review 127 +* Verdict calculation 128 +* Summary generation 129 +* Re-evaluation 173 173 174 - === Subscription-BasedSynchronization ===131 +Nodes may specialize: 175 175 176 -**Mechanism**: WebSub-like protocol 133 +* medical node 134 +* psychology node 135 +* climate node 136 +* small node delegating expert review to trusted partners 177 177 178 -Nodes subscribe to: 179 -* Specific claim clusters 180 -* Specific domains (medical, energy, etc.) 181 -* Specific scenario types 182 -* Verdict updates 138 +Optional cross-node data sharing includes: 183 183 184 -Publisher pushes updates only to subscribers. 140 +* Embeddings 141 +* Claim clusters 142 +* Scenario templates 143 +* Verdict comparison metadata 144 +* Contradiction alerts 185 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 ==148 += Cross-Node AI Knowledge Exchange = 199 199 200 - Completesynchronizationsequence for creating and sharingnew content:150 +Nodes may exchange: 201 201 202 -=== Step 1: Local Node Creates New Versions === 152 +* Embeddings for clustering 153 +* Canonical claim forms 154 +* Scenario templates 155 +* Reliability hints 156 +* Contradiction alerts 157 +* 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 159 +AKEL **never**: 209 209 210 -All changes tracked with: 211 -* VersionID 212 -* ParentVersionID 213 -* AuthorType 214 -* Timestamp 215 -* JustificationText 161 +* Shares model weights 162 +* Automatically replaces local reviewer decisions 163 +* 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==167 += Synchronization Protocol = 299 299 300 - Each noderuns itsown AKELinstanceand may exchangeAI-derivedknowledge:169 +Nodes periodically exchange version bundles: 301 301 302 -=== What Can Be Shared === 171 +* Claims 172 +* Scenarios 173 +* Evidence metadata + hashes 174 +* Optional verdicts 175 +* Templates 176 +* Embeddings (optional) 177 +* 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 179 +Sync methods: 308 308 309 -**Canonical claim forms**: 310 -* Normalized claim text 311 -* Standard phrasing templates 312 -* Domain-specific formulations 181 +* Push (webhook) 182 +* Pull (cron) 183 +* Subscription (WebSub-like) 313 313 314 -**Scenario templates**: 315 -* Reusable scenario structures 316 -* Common assumption patterns 317 -* Evaluation method templates 185 +Large assets may be transferred via: 318 318 319 -**Contradiction alerts**: 320 -* Detected conflicts between claims 321 -* Evidence conflicts across nodes 322 -* Scenario incompatibilities 187 +* S3-compatible file transfer 188 +* IPFS 189 +* 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==193 += 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 195 +Nodes scale independently: 367 367 368 - Nodescan specialize:369 -* Health-focusednodewith medicalexperts370 -* Energy-focusednodewithdomainknowledge371 -* Small node delegatingscenario librariestopartners372 -* Regional nodewith language/culturespecialization197 +* horizontally scaled API servers 198 +* background worker pools 199 +* GPU queues for AKEL 200 +* caching (Redis) 201 +* 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 203 +The network scales horizontally by adding more nodes. 379 379 380 - ----205 +Communities can form: 381 381 382 -== Scaling to Thousands of Users == 207 +* Domain-specific nodes 208 +* Region/language nodes 209 +* NGO/academic nodes 210 +* 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 ----- 214 +* Shared scenario libraries 215 +* Overlapping claim clusters 216 +* Expert delegation 217 +* 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 ==221 += 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 - 223 +{{include reference="FactHarbor.Archive.Diagrams v0\.8q.Federation Architecture.WebHome"/}}