File size: 3,326 Bytes
5420f56
18d1f2c
445271b
 
18d1f2c
5420f56
18d1f2c
 
5420f56
18d1f2c
 
 
 
 
 
 
 
 
 
 
445271b
5420f56
 
18d1f2c
 
 
 
4882fa7
18d1f2c
4882fa7
18d1f2c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4882fa7
18d1f2c
4882fa7
 
 
18d1f2c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
---
title: CRDT-Merge Convergence Lab
emoji: 🔬
colorFrom: gray
colorTo: blue
sdk: gradio
sdk_version: 5.29.0
python_version: "3.12"
app_file: app.py
pinned: true
license: other
license_name: BUSL-1.1
license_link: https://github.com/mgillr/crdt-merge/blob/main/LICENSE
tags:
  - crdt
  - model-merging
  - distributed-systems
  - convergence
  - neural-network
  - federated-learning
short_description: "CRDT convergence proof: 100 nodes, 26 strategies"
---

# CRDT-Merge Multi-Node Convergence Laboratory

**Empirical proof that the two-layer CRDTMergeState architecture guarantees identical merged models across distributed nodes — regardless of merge ordering, network partitions, or strategy choice.**

> **Patent** — UK Application No. 2607132.4, GB2608127.3 | **E4 Trust-Delta Architecture**  
> **Paper**: *Conflict-Free Replicated Data Types for Neural Network Model Merging*  
> **Library**: [crdt-merge](https://pypi.org/project/crdt-merge/) v0.9.5

## Experiments

### 1. Multi-Node Convergence
Simulates N distributed nodes (up to 100), each contributing a unique model tensor. Nodes merge in multiple random orderings. Verifies that **all orderings produce bitwise-identical Merkle roots and resolved tensors**.

### 2. Network Partition & Healing
Splits nodes into isolated partitions. Each partition gossips internally and converges to its own state. Partitions are then healed (full gossip resumes). Verifies that **all nodes converge to the same state post-healing** — the core CRDT guarantee.

### 3. Cross-Strategy Sweep
Tests **every merge strategy** (weight averaging, SLERP, TIES, DARE, Fisher, evolutionary, and 7+ more) for convergence on the same node set. Verifies that the two-layer architecture provides **universal CRDT compliance regardless of strategy**.

### 4. Scalability Benchmark
Measures gossip and resolve overhead from 2 to 100 nodes. Confirms that the CRDT merge operation (set union on metadata) remains **sub-millisecond regardless of model size**, while resolve time scales linearly with contributions.

## Key Results

| Metric | Result |
|--------|--------|
| Max nodes tested | 100 |
| Strategies verified | 13/13 (no-base) |
| Convergence rate | 100% across all orderings |
| Partition healing | Always converges |
| CRDT merge overhead | < 0.5ms |
| Bitwise reproducibility | Guaranteed |
| E4 trust convergence | 0.000 max divergence, 3.84ms |
| E4 proof-carrying ops | 167K build/s, 101K verify/s |

## How It Works

The two-layer architecture separates concerns:

- **Layer 1 (CRDTMergeState)**: Manages a *set* of model contributions using OR-Set CRDT semantics. Merge = set union — trivially commutative, associative, idempotent.
- **Layer 2 (Strategy)**: Applies any merge strategy as a deterministic pure function over the canonically-ordered contribution set. Same inputs → same outputs.

Since Layer 1 guarantees all replicas converge to the same set of inputs, and Layer 2 is deterministic, **all replicas compute identical merged models**.

## Links

- **GitHub**: [mgillr/crdt-merge](https://github.com/mgillr/crdt-merge)
- **PyPI**: [crdt-merge](https://pypi.org/project/crdt-merge/)
- **Architecture**: [CRDT_ARCHITECTURE.md](https://github.com/mgillr/crdt-merge/blob/main/docs/CRDT_ARCHITECTURE.md)

---

Copyright 2026 Ryan Gillespie / Optitransfer