yakmesh 1.3.1 β†’ 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/discord.md CHANGED
@@ -1,6 +1,8 @@
1
- # 🦬 YAKMESHβ„’ β€” Post-Quantum Mesh Networking
1
+ # 🦬 YAKMESHβ„’
2
2
 
3
- **The Yielding Atomic Kernel for quantum-resistant mesh orchestration**
3
+ **Post-quantum secure mesh networking for the 2026 threat landscape.**
4
+
5
+ YAKMESH is a P2P mesh library that treats cryptographic security as non-negotiable. Every signature uses **ML-DSA-65** (NIST FIPS 204), every node proves its codebase integrity before peering, and our novel **TMEβ„’** protocol uses *time itself* as a redundancy dimension for packet resilience.
4
6
 
5
7
  ```
6
8
  npm install yakmesh
@@ -8,67 +10,20 @@ npm install yakmesh
8
10
 
9
11
  ---
10
12
 
11
- ## ⚑ What is YAKMESH?
12
-
13
- A **post-quantum secure** mesh networking library featuring:
14
-
15
- πŸ” **ML-DSA-65 Signatures** β€” NIST FIPS 204 standard, quantum-resistant
16
- ⏱️ **Atomic Time Sync** β€” High-precision timing for mesh coordination
17
- πŸ›‘οΈ **TMEβ„’ (Temporal Matrix Encoding)** β€” Novel packet resilience without retransmission
18
-
19
- ---
20
-
21
- ## πŸ†š How is TME Different?
22
-
23
- | Walrus/Red Stuff | YAKMESH TME |
24
- |------------------|-------------|
25
- | Encodes across **space** (nodes) | Encodes across **time** (slices) |
26
- | For storage | For transmission |
27
- | Retransmit on loss | **Zero latency** recovery |
28
-
29
- > *"Time IS the redundancy dimension."*
30
-
31
- ---
32
-
33
- ## πŸ› οΈ Quick Start
34
-
35
- ```js
36
- import { TemporalMeshEncoder } from 'yakmesh';
37
-
38
- const encoder = new TemporalMeshEncoder();
39
- const { slices } = encoder.encode('Hello mesh!');
40
- // Slices sent across different paths
41
- // Lost slices reconstructed from timing proofs
42
- ```
43
-
44
- ---
45
-
46
- ## πŸ”’ Security Modules
47
-
48
- - **NAVR** β€” Sybil attack prevention (computational identity puzzle)
49
- - **Replay Defense** β€” Nonces + timestamps + sequence tracking
50
- - **Rate Limiter** β€” DoS protection (30 conn/min per IP)
51
- - **Message Validator** β€” Size limits, depth checks, prototype pollution protection
52
-
53
- ---
54
-
55
- ## πŸ“¦ Current Version: `1.2.0`
13
+ ### Core Features
56
14
 
57
- βœ… TME (Temporal Matrix Encoding)
58
- βœ… ML-DSA-65 Post-Quantum Signatures
59
- βœ… Full security hardening suite
60
- βœ… 42+ tests passing
15
+ πŸ” **Quantum-Resistant** β€” ML-DSA-65 signatures, ML-KEM-768 key exchange
16
+ ⏱️ **Atomic Precision** β€” Sub-millisecond mesh synchronization
17
+ πŸ›‘οΈ **Code Proof Protocol** β€” Nodes verify matching codebases before peering
18
+ πŸ“‘ **TMEβ„’** β€” Temporal Matrix Encoding for zero-retransmit recovery
61
19
 
62
20
  ---
63
21
 
64
- **Links:**
65
- 🌐 Website: https://yakmesh.dev
66
- πŸ“¦ npm: https://npmjs.com/package/yakmesh
67
- πŸ“– GitHub: https://github.com/yakmesh/yakmesh
68
- πŸ“„ Whitepaper: `docs/WHITEPAPER.md`
22
+ ### Links
69
23
 
70
- **USPTO Serial No. 99594620**
24
+ 🌐 [yakmesh.dev](https://yakmesh.dev) Β· πŸ“¦ [npm](https://npmjs.com/package/yakmesh) Β· πŸ“– [GitHub](https://github.com/yakmesh/yakmesh)
25
+ πŸ’¬ [Discord](https://discord.gg/E62tAE2wGh) Β· πŸ“± [Telegram](https://t.me/yakmesh) Β· 𝕏 [Twitter](https://x.com/yakmesh_dev)
71
26
 
72
27
  ---
73
28
 
74
- *Powered by TMEβ„’ β€” The world's first temporal-erasure protocol for atomically-synced mesh networks.*
29
+ *USPTO Serial No. 99594620 Β· v1.3.2*
@@ -369,13 +369,24 @@ export class GossipProtocol {
369
369
  const peers = this.mesh.getPeers()
370
370
  .filter(p => p.nodeId !== excludeNodeId && p.nodeId !== rumor.origin);
371
371
 
372
- if (peers.length === 0) return;
372
+ if (peers.length === 0) {
373
+ console.log(`⚠️ No peers to propagate rumor to`);
374
+ return;
375
+ }
373
376
 
374
377
  // Select random subset based on fanout
375
378
  const targets = this._selectRandom(peers, this.config.fanout);
379
+ console.log(`πŸ“€ Propagating rumor to ${targets.length} peers: ${targets.map(t => t.nodeId.slice(0, 12)).join(', ')}`);
376
380
 
377
381
  for (const target of targets) {
378
- this.mesh.sendTo(target.nodeId, { gossip: rumor });
382
+ // Use broadcast format so the mesh routes it correctly
383
+ this.mesh.sendTo(target.nodeId, {
384
+ type: 'gossip', // This ensures the mesh routes it to gossip handlers
385
+ payload: { gossip: rumor },
386
+ id: rumor.messageId,
387
+ origin: rumor.origin,
388
+ ttl: rumor.ttl,
389
+ });
379
390
  }
380
391
 
381
392
  // Track for rumor mongering