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