Changes for page Federation & Decentralization
Last modified by Robert Schaub on 2025/12/24 20:33
To 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.Specification.WebHome 1 +FactHarbor.Archive.FactHarbor V0\.9\.18.Specification.WebHome - Content
-
... ... @@ -1,58 +1,431 @@ 1 1 = Federation & Decentralization = 2 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. 3 +FactHarbor is designed to operate as a **federated network of nodes** rather than a single central server. 5 5 6 -== Purpose of Federation == 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.) 7 7 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 +FactHarbor draws inspiration from the Fediverse but uses stronger structure, versioning, and integrity guarantees. 13 13 14 - == Federated Node Model ==14 +---- 15 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 +== Federated FactHarbor Nodes == 20 20 21 -Nodes exchange structured objects (Claims, Scenarios, Evidence metadata, Verdicts) via signed bundles. 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 22 22 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 + 23 23 == Global Identifiers == 24 24 25 - Format:``factharbor://<node>/<type>/<local_id>``37 +Every entity receives a globally unique, linkable identifier. 26 26 27 -Example: ``factharbor://factharbor.energy/claim/CLM-55812`` 39 +**Format**: 40 +`factharbor://node_url/type/local_id` 28 28 29 -Identifiers are globally consistent, human-readable, and hash-derived. 42 +**Example**: 43 +`factharbor://factharbor.energy/claim/CLM-55812` 30 30 31 -== Data Sharing Model == 45 +**Supported types**: 46 +* `claim` 47 +* `scenario` 48 +* `evidence` 49 +* `verdict` 50 +* `user` (optional) 51 +* `cluster` 32 32 33 -* **Shared**: Claims, Scenario structures, Evidence metadata, Verdicts, Integrity hashes. 34 -* **Not Shared**: Local users, Review discussions, Internal notes, Private evidence. 53 +**Properties**: 54 +* Globally consistent 55 +* Human-readable 56 +* Hash-derived 57 +* Independent of database internals 58 +* URL-resolvable (future enhancement) 35 35 60 +This allows cross-node references and prevents identifier collisions in federated environments. 61 + 62 +---- 63 + 36 36 == Trust Model == 37 37 38 - Nodesmaintain a **trust table**(Trusted, Neutral, Untrusted). This influencesauto-import rules,re-reviewrequirements,andvisibility.66 +Each node maintains a **trust table** defining relationships with other nodes: 39 39 40 -== DecentralizedProcessing==68 +=== Trust Levels === 41 41 42 -Each node performs its own AKEL processing, drafting, and verdict calculation. Nodes may specialize in specific domains (e.g., Medical Node). 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 43 43 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 + 44 44 == Synchronization Protocol == 45 45 46 -Nodes exchange **Version Bundles** containing: 47 -* Claims, Scenarios, Metadata. 48 -* Merkle-tree lineage. 49 -* Cryptographic signatures. 148 +Nodes exchange data using multiple synchronization methods: 50 50 51 - Methods:Push(Webhook),Pull (Cron),Subscription.150 +=== Push-Based Synchronization === 52 52 53 - == Scaling==152 +**Mechanism**: Webhooks 54 54 55 -* **Vertical**: API servers, Workers, Caching. 56 -* **Horizontal**: Adding more nodes to the federation. 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 57 57 58 -{{include reference="FactHarbor.Specification.Diagrams.Federation Architecture.WebHome"/}} 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 +