yakmesh 2.8.2 → 3.0.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/CHANGELOG.md +637 -0
- package/CONTRIBUTING.md +42 -0
- package/Caddyfile +77 -0
- package/README.md +119 -29
- package/adapters/adapter-mlv-bible/README.md +124 -0
- package/adapters/adapter-mlv-bible/index.js +400 -0
- package/adapters/chat-mod-adapter.js +532 -0
- package/adapters/content-adapter.js +273 -0
- package/content/api.js +50 -41
- package/content/index.js +2 -2
- package/content/store.js +355 -173
- package/dashboard/index.html +19 -3
- package/database/replication.js +117 -37
- package/docs/CRYPTO-AGILITY.md +204 -0
- package/docs/MTLS-RESEARCH.md +367 -0
- package/docs/NAMCHE-SPEC.md +681 -0
- package/docs/PEERQUANTA-YAKMESH-INTEGRATION.md +407 -0
- package/docs/PRECISION-DISCLOSURE.md +96 -0
- package/docs/README.md +76 -0
- package/docs/ROADMAP-2.4.0.md +447 -0
- package/docs/ROADMAP-2.5.0.md +244 -0
- package/docs/SECURITY-AUDIT-REPORT.md +306 -0
- package/docs/SST-INTEGRATION.md +712 -0
- package/docs/STEADYWATCH-IMPLEMENTATION.md +303 -0
- package/docs/TERNARY-AUDIT-REPORT.md +247 -0
- package/docs/TME-FAQ.md +221 -0
- package/docs/WHITEPAPER.md +623 -0
- package/docs/adapters.html +1001 -0
- package/docs/advanced-systems.html +1045 -0
- package/docs/annex.html +1046 -0
- package/docs/api.html +970 -0
- package/docs/business/response-templates.md +160 -0
- package/docs/c2c.html +1225 -0
- package/docs/cli.html +1332 -0
- package/docs/configuration.html +1248 -0
- package/docs/darshan.html +1085 -0
- package/docs/dharma.html +966 -0
- package/docs/docs-bundle.html +1075 -0
- package/docs/docs.css +3120 -0
- package/docs/docs.js +556 -0
- package/docs/doko.html +969 -0
- package/docs/geo-proof.html +858 -0
- package/docs/getting-started.html +840 -0
- package/docs/gumba-tutorial.html +1144 -0
- package/docs/gumba.html +1098 -0
- package/docs/index.html +914 -0
- package/docs/jhilke.html +1312 -0
- package/docs/karma.html +1100 -0
- package/docs/katha.html +1037 -0
- package/docs/lama.html +978 -0
- package/docs/mandala.html +1067 -0
- package/docs/mani.html +964 -0
- package/docs/mantra.html +967 -0
- package/docs/mesh.html +1409 -0
- package/docs/nakpak.html +869 -0
- package/docs/namche.html +928 -0
- package/docs/nav-order.json +53 -0
- package/docs/prahari.html +1043 -0
- package/docs/prism-bash.min.js +1 -0
- package/docs/prism-javascript.min.js +1 -0
- package/docs/prism-json.min.js +1 -0
- package/docs/prism-tomorrow.min.css +1 -0
- package/docs/prism.min.js +1 -0
- package/docs/privacy.html +699 -0
- package/docs/quick-reference.html +1181 -0
- package/docs/sakshi.html +1402 -0
- package/docs/sandboxing.md +386 -0
- package/docs/seva.html +911 -0
- package/docs/sherpa.html +871 -0
- package/docs/studio.html +860 -0
- package/docs/stupa.html +995 -0
- package/docs/tailwind.min.css +2 -0
- package/docs/tattva.html +1332 -0
- package/docs/terms.html +686 -0
- package/docs/time-server-deployment.md +166 -0
- package/docs/time-sources.html +1392 -0
- package/docs/tivra.html +1127 -0
- package/docs/trademark-policy.html +686 -0
- package/docs/tribhuj.html +1183 -0
- package/docs/trust-security.html +1029 -0
- package/docs/tutorials/backup-recovery.html +654 -0
- package/docs/tutorials/dashboard.html +604 -0
- package/docs/tutorials/domain-setup.html +605 -0
- package/docs/tutorials/host-website.html +456 -0
- package/docs/tutorials/mesh-network.html +505 -0
- package/docs/tutorials/mobile-access.html +445 -0
- package/docs/tutorials/privacy.html +467 -0
- package/docs/tutorials/raspberry-pi.html +600 -0
- package/docs/tutorials/security-basics.html +539 -0
- package/docs/tutorials/share-files.html +431 -0
- package/docs/tutorials/troubleshooting.html +637 -0
- package/docs/tutorials/trust-karma.html +419 -0
- package/docs/tutorials/yak-protocol.html +456 -0
- package/docs/tutorials.html +1034 -0
- package/docs/vani.html +1270 -0
- package/docs/webserver.html +809 -0
- package/docs/yak-protocol.html +940 -0
- package/docs/yak-timeserver-design.md +475 -0
- package/docs/yakapp.html +1015 -0
- package/docs/ypc27.html +1069 -0
- package/docs/yurt.html +1344 -0
- package/embedded-docs/bundle.js +334 -74
- package/gossip/protocol.js +247 -27
- package/identity/key-resolver.js +262 -0
- package/identity/machine-seed.js +632 -0
- package/identity/node-key.js +669 -368
- package/identity/tribhuj-ratchet.js +506 -0
- package/knowledge-base.js +37 -8
- package/launcher/yakmesh.bat +62 -0
- package/launcher/yakmesh.sh +70 -0
- package/mesh/annex.js +462 -108
- package/mesh/beacon-broadcast.js +113 -1
- package/mesh/darshan.js +1718 -0
- package/mesh/gumba.js +1567 -0
- package/mesh/jhilke.js +651 -0
- package/mesh/katha.js +1012 -0
- package/mesh/nakpak-routing.js +8 -5
- package/mesh/network.js +724 -34
- package/mesh/pulse-sync.js +4 -1
- package/mesh/rate-limiter.js +127 -15
- package/mesh/seva.js +526 -0
- package/mesh/sherpa-discovery.js +89 -8
- package/mesh/sybil-defense.js +19 -5
- package/mesh/temporal-encoder.js +4 -3
- package/mesh/vani.js +1364 -0
- package/mesh/yurt.js +1340 -0
- package/models/entropy-sentinel.onnx +0 -0
- package/models/karma-trust.onnx +0 -0
- package/models/manifest.json +43 -0
- package/models/sakshi-anomaly.onnx +0 -0
- package/oracle/code-proof-protocol.js +7 -6
- package/oracle/codebase-lock.js +257 -28
- package/oracle/index.js +74 -15
- package/oracle/ma902-snmp.js +678 -0
- package/oracle/module-sealer.js +5 -3
- package/oracle/network-identity.js +16 -0
- package/oracle/packet-checksum.js +201 -0
- package/oracle/sst.js +579 -0
- package/oracle/ternary-144t.js +714 -0
- package/oracle/ternary-ml.js +481 -0
- package/oracle/time-api.js +239 -0
- package/oracle/time-source.js +137 -47
- package/oracle/validation-oracle-hardened.js +1111 -1071
- package/oracle/validation-oracle.js +4 -2
- package/oracle/ypc27.js +211 -0
- package/package.json +20 -3
- package/protocol/yak-handler.js +35 -9
- package/protocol/yak-protocol.js +28 -13
- package/reference/cpp/yakmesh_mceliece_shard.cpp +168 -0
- package/reference/cpp/yakmesh_ypc27.cpp +179 -0
- package/sbom.json +87 -0
- package/scripts/security-audit.mjs +264 -0
- package/scripts/update-docs-nav.js +194 -0
- package/scripts/update-docs-sidebar.cjs +164 -0
- package/security/crypto-config.js +4 -3
- package/security/dharma-moderation.js +517 -0
- package/security/doko-identity.js +193 -143
- package/security/domain-consensus.js +86 -85
- package/security/fs-hardening.js +620 -0
- package/security/hardware-attestation.js +5 -3
- package/security/hybrid-trust.js +227 -87
- package/security/karma-rate-limiter.js +692 -0
- package/security/khata-protocol.js +22 -21
- package/security/khata-trust-integration.js +277 -150
- package/security/memory-safety.js +635 -0
- package/security/mesh-auth.js +11 -10
- package/security/mesh-revocation.js +373 -5
- package/security/namche-gateway.js +298 -69
- package/security/sakshi.js +460 -3
- package/security/sangha.js +770 -0
- package/security/secure-config.js +473 -0
- package/security/silicon-parity.js +13 -10
- package/security/steadywatch.js +1142 -0
- package/security/strike-system.js +32 -3
- package/security/temporal-signing.js +488 -0
- package/security/trit-commitment.js +464 -0
- package/server/crypto/annex.js +247 -0
- package/server/darshan-api.js +343 -0
- package/server/index.js +3259 -362
- package/server/komm-api.js +668 -0
- package/utils/accel.js +2273 -0
- package/utils/ternary-id.js +79 -0
- package/utils/verify-worker.js +57 -0
- package/webserver/index.js +95 -5
- package/assets/yakmesh-logo.png +0 -0
- package/assets/yakmesh-logo.svg +0 -80
- package/assets/yakmesh-logo2.png +0 -0
- package/assets/yakmesh-logo2sm.png +0 -0
- package/assets/ymsm.png +0 -0
- package/website/assets/silhouettes/adapters.svg +0 -107
- package/website/assets/silhouettes/api-endpoints.svg +0 -115
- package/website/assets/silhouettes/atomic-clock.svg +0 -83
- package/website/assets/silhouettes/base-camp.svg +0 -81
- package/website/assets/silhouettes/bridge.svg +0 -69
- package/website/assets/silhouettes/docs-bundle.svg +0 -113
- package/website/assets/silhouettes/doko-basket.svg +0 -70
- package/website/assets/silhouettes/fortress.svg +0 -93
- package/website/assets/silhouettes/gateway.svg +0 -54
- package/website/assets/silhouettes/gears.svg +0 -93
- package/website/assets/silhouettes/globe-satellite.svg +0 -67
- package/website/assets/silhouettes/karma-wheel.svg +0 -137
- package/website/assets/silhouettes/lama-council.svg +0 -141
- package/website/assets/silhouettes/mandala-network.svg +0 -169
- package/website/assets/silhouettes/mani-stones.svg +0 -149
- package/website/assets/silhouettes/mantra-wheel.svg +0 -116
- package/website/assets/silhouettes/mesh-nodes.svg +0 -113
- package/website/assets/silhouettes/nakpak.svg +0 -56
- package/website/assets/silhouettes/peak-lightning.svg +0 -73
- package/website/assets/silhouettes/sherpa.svg +0 -69
- package/website/assets/silhouettes/stupa-tower.svg +0 -119
- package/website/assets/silhouettes/tattva-eye.svg +0 -78
- package/website/assets/silhouettes/terminal.svg +0 -74
- package/website/assets/silhouettes/webserver.svg +0 -145
- package/website/assets/silhouettes/yak.svg +0 -78
- package/website/assets/yakmesh-logo.png +0 -0
- package/website/assets/yakmesh-logo.webp +0 -0
- package/website/assets/yakmesh-logo128x140.webp +0 -0
- package/website/assets/yakmesh-logo2.png +0 -0
- package/website/assets/yakmesh-logo2.svg +0 -51
- package/website/assets/yakmesh-logo40x44.webp +0 -0
- package/website/assets/yakmesh.gif +0 -0
- package/website/assets/yakmesh.ico +0 -0
- package/website/assets/yakmesh.jpg +0 -0
- package/website/assets/yakmesh.pdf +0 -0
- package/website/assets/yakmesh.png +0 -0
- package/website/assets/yakmesh.svg +0 -70
- package/website/assets/yakmesh128.webp +0 -0
- package/website/assets/yakmesh32.png +0 -0
- package/website/assets/yakmesh32.svg +0 -65
- package/website/assets/yakmesh32o.ico +0 -2
- package/website/assets/yakmesh32o.svg +0 -65
- package/website/assets/yakmesh32o.svgz +0 -0
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
# PeerQuanta + Yakmesh Integration Design Document
|
|
2
|
+
|
|
3
|
+
**Version**: 1.0.0
|
|
4
|
+
**Date**: January 18, 2026
|
|
5
|
+
**Status**: Draft
|
|
6
|
+
**Authors**: PeerQuanta Team
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
This document outlines the integration strategy between **PeerQuanta** (P2P cryptocurrency marketplace) and **Yakmesh** (post-quantum secure mesh network). The integration creates a privacy-first, decentralized ecosystem where users can trade, communicate, and verify transactions without central authority.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. YETI - Yakmesh Encrypted Trustless Index
|
|
17
|
+
|
|
18
|
+
### 1.1 Overview
|
|
19
|
+
|
|
20
|
+
**Y**akmesh **E**ncrypted **T**rustless **I**ndex - A private DNS-like system for the mesh.
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
Traditional: example.com → DNS → 93.184.216.34 → HTTP Server
|
|
24
|
+
YETI: merchant.yak → YETI → NodeID:abc123 → Mesh Node → Content
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### 1.2 How It Works
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
31
|
+
│ YETI Resolution │
|
|
32
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
33
|
+
│ │
|
|
34
|
+
│ User types: "alice-crypto.yak" │
|
|
35
|
+
│ │ │
|
|
36
|
+
│ ▼ │
|
|
37
|
+
│ ┌─────────────────────────────────────┐ │
|
|
38
|
+
│ │ Local YETI Cache │ │
|
|
39
|
+
│ │ (Recently resolved names) │ │
|
|
40
|
+
│ └─────────────────────────────────────┘ │
|
|
41
|
+
│ │ Miss │
|
|
42
|
+
│ ▼ │
|
|
43
|
+
│ ┌─────────────────────────────────────┐ │
|
|
44
|
+
│ │ SHERPA Discovery │ │
|
|
45
|
+
│ │ Query known peers for name │ │
|
|
46
|
+
│ └─────────────────────────────────────┘ │
|
|
47
|
+
│ │ │
|
|
48
|
+
│ ▼ │
|
|
49
|
+
│ ┌─────────────────────────────────────┐ │
|
|
50
|
+
│ │ Gossip Propagation │ │
|
|
51
|
+
│ │ Flood query to mesh network │ │
|
|
52
|
+
│ └─────────────────────────────────────┘ │
|
|
53
|
+
│ │ │
|
|
54
|
+
│ ▼ │
|
|
55
|
+
│ ┌─────────────────────────────────────┐ │
|
|
56
|
+
│ │ Response: NodeID + PublicKey │ │
|
|
57
|
+
│ │ Signed by name owner │ │
|
|
58
|
+
│ └─────────────────────────────────────┘ │
|
|
59
|
+
│ │ │
|
|
60
|
+
│ ▼ │
|
|
61
|
+
│ Connect via Annex (encrypted) or Nakpak (anonymous) │
|
|
62
|
+
│ │
|
|
63
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 1.3 Name Registration
|
|
67
|
+
|
|
68
|
+
Names are registered by signing a claim with your node's private key:
|
|
69
|
+
|
|
70
|
+
```javascript
|
|
71
|
+
// YETI Name Record
|
|
72
|
+
{
|
|
73
|
+
name: "alice-crypto",
|
|
74
|
+
tld: "yak",
|
|
75
|
+
nodeId: "abc123...",
|
|
76
|
+
publicKey: "ML-DSA-65 public key",
|
|
77
|
+
registered: 1737200000000,
|
|
78
|
+
expires: 1768736000000, // 1 year
|
|
79
|
+
signature: "signed by owner's key",
|
|
80
|
+
|
|
81
|
+
// Optional metadata
|
|
82
|
+
meta: {
|
|
83
|
+
description: "Alice's Crypto Shop",
|
|
84
|
+
avatar: "ipfs://...",
|
|
85
|
+
services: ["marketplace", "escrow"]
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### 1.4 Conflict Resolution
|
|
91
|
+
|
|
92
|
+
- First-come-first-served with timestamp proof
|
|
93
|
+
- Name claims propagate through Gossip
|
|
94
|
+
- Mesh consensus determines valid owner
|
|
95
|
+
- Disputes resolved by earliest signed claim
|
|
96
|
+
|
|
97
|
+
### 1.5 TLD Structure
|
|
98
|
+
|
|
99
|
+
| TLD | Purpose |
|
|
100
|
+
|-----|---------|
|
|
101
|
+
| `.yak` | General mesh names |
|
|
102
|
+
| `.pq` | PeerQuanta marketplace |
|
|
103
|
+
| `.anon` | Nakpak-only (anonymous) |
|
|
104
|
+
| `.test` | Development/testing |
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## 2. Mesh-Backed PeerQuanta Tools
|
|
109
|
+
|
|
110
|
+
### 2.1 Digital Notary → Mesh Attestation
|
|
111
|
+
|
|
112
|
+
**Current**: Client-side timestamp with SHA-3 hash
|
|
113
|
+
**Enhanced**: Distributed attestation across mesh nodes
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
117
|
+
│ Mesh-Backed Notarization │
|
|
118
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
119
|
+
│ │
|
|
120
|
+
│ Document → SHA3-256 Hash → Notary Request │
|
|
121
|
+
│ │ │
|
|
122
|
+
│ ▼ │
|
|
123
|
+
│ ┌─────────────────────────────────────┐ │
|
|
124
|
+
│ │ Gossip Broadcast │ │
|
|
125
|
+
│ │ "I attest hash X at time T" │ │
|
|
126
|
+
│ └─────────────────────────────────────┘ │
|
|
127
|
+
│ │ │ │ │
|
|
128
|
+
│ ▼ ▼ ▼ │
|
|
129
|
+
│ ┌───────┐ ┌───────┐ ┌───────┐ │
|
|
130
|
+
│ │Node A │ │Node B │ │Node C │ │
|
|
131
|
+
│ │ Signs │ │ Signs │ │ Signs │ │
|
|
132
|
+
│ └───────┘ └───────┘ └───────┘ │
|
|
133
|
+
│ │ │ │ │
|
|
134
|
+
│ └─────────┼─────────┘ │
|
|
135
|
+
│ ▼ │
|
|
136
|
+
│ ┌─────────────────────────────────────┐ │
|
|
137
|
+
│ │ Attestation Certificate │ │
|
|
138
|
+
│ │ Hash + Time + N node signatures │ │
|
|
139
|
+
│ │ "3 of 5 nodes attested" │ │
|
|
140
|
+
│ └─────────────────────────────────────┘ │
|
|
141
|
+
│ │
|
|
142
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Implementation File**: `mesh/notary-attestation.js`
|
|
146
|
+
|
|
147
|
+
### 2.2 Secure Notes → Mesh-Synced Vault
|
|
148
|
+
|
|
149
|
+
**Current**: Password-encrypted notes stored locally
|
|
150
|
+
**Enhanced**: Encrypted notes synced across user's nodes
|
|
151
|
+
|
|
152
|
+
```javascript
|
|
153
|
+
// Secure Note with Mesh Sync
|
|
154
|
+
{
|
|
155
|
+
id: "note-uuid",
|
|
156
|
+
encryptedContent: "XChaCha20-Poly1305 ciphertext",
|
|
157
|
+
owner: "nodeId",
|
|
158
|
+
syncNodes: ["node1", "node2"], // User's other devices
|
|
159
|
+
version: 3,
|
|
160
|
+
lastModified: 1737200000000,
|
|
161
|
+
|
|
162
|
+
// Sync via Annex (encrypted P2P)
|
|
163
|
+
// Only owner's nodes can decrypt
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### 2.3 Covert Art → Mesh Steganography
|
|
168
|
+
|
|
169
|
+
**Current**: Hide data in images client-side
|
|
170
|
+
**Enhanced**: Transmit covert images through Nakpak onion routes
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
174
|
+
│ Covert Art via Nakpak │
|
|
175
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
176
|
+
│ │
|
|
177
|
+
│ Image + Hidden Message │
|
|
178
|
+
│ │ │
|
|
179
|
+
│ ▼ │
|
|
180
|
+
│ ┌─────────────────────────────────────┐ │
|
|
181
|
+
│ │ Steganographic Encoding │ │
|
|
182
|
+
│ │ (LSB, DCT, or ML-based) │ │
|
|
183
|
+
│ └─────────────────────────────────────┘ │
|
|
184
|
+
│ │ │
|
|
185
|
+
│ ▼ │
|
|
186
|
+
│ ┌─────────────────────────────────────┐ │
|
|
187
|
+
│ │ Nakpak Onion Routing │ │
|
|
188
|
+
│ │ Source → Relay1 → Relay2 → Dest │ │
|
|
189
|
+
│ └─────────────────────────────────────┘ │
|
|
190
|
+
│ │ │
|
|
191
|
+
│ ▼ │
|
|
192
|
+
│ Recipient extracts hidden message │
|
|
193
|
+
│ (No observer knows source or content) │
|
|
194
|
+
│ │
|
|
195
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
### 2.4 QCoA → Mesh Identity Attestation
|
|
199
|
+
|
|
200
|
+
**Current**: Quantum Certificate of Authenticity for digital assets
|
|
201
|
+
**Enhanced**: Cross-mesh verified merchant/user identity badges
|
|
202
|
+
|
|
203
|
+
```javascript
|
|
204
|
+
// QCoA Mesh Badge
|
|
205
|
+
{
|
|
206
|
+
type: "merchant",
|
|
207
|
+
name: "alice-crypto.yak",
|
|
208
|
+
publicKey: "...",
|
|
209
|
+
reputation: {
|
|
210
|
+
trades: 150,
|
|
211
|
+
rating: 4.9,
|
|
212
|
+
disputes: 0,
|
|
213
|
+
},
|
|
214
|
+
attestations: [
|
|
215
|
+
{ nodeId: "node1", signature: "..." },
|
|
216
|
+
{ nodeId: "node2", signature: "..." },
|
|
217
|
+
],
|
|
218
|
+
|
|
219
|
+
// Badge verified by multiple mesh nodes
|
|
220
|
+
// Cannot be faked without controlling majority
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### 2.5 Encrypted Wagers → Mesh Escrow
|
|
225
|
+
|
|
226
|
+
**Current**: Commitment-reveal protocol for wagers
|
|
227
|
+
**Enhanced**: Mesh-enforced escrow with dispute resolution
|
|
228
|
+
|
|
229
|
+
```
|
|
230
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
231
|
+
│ Mesh Escrow Protocol │
|
|
232
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
233
|
+
│ │
|
|
234
|
+
│ Phase 1: COMMITMENT │
|
|
235
|
+
│ ┌─────────┐ ┌─────────┐ │
|
|
236
|
+
│ │ Alice │ Commit A │ Bob │ Commit B │
|
|
237
|
+
│ └─────────┘──────────────└─────────┘ │
|
|
238
|
+
│ │ │
|
|
239
|
+
│ ▼ │
|
|
240
|
+
│ ┌─────────────────────────────────────┐ │
|
|
241
|
+
│ │ Mesh Escrow Nodes │ │
|
|
242
|
+
│ │ Store commitments + stake │ │
|
|
243
|
+
│ └─────────────────────────────────────┘ │
|
|
244
|
+
│ │
|
|
245
|
+
│ Phase 2: REVEAL │
|
|
246
|
+
│ Alice reveals → Bob reveals → Outcome determined │
|
|
247
|
+
│ │
|
|
248
|
+
│ Phase 3: SETTLEMENT │
|
|
249
|
+
│ If dispute: Mesh consensus arbitrates │
|
|
250
|
+
│ If clean: Automatic payout │
|
|
251
|
+
│ │
|
|
252
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
## 3. SHERPA Integration with PeerQuanta
|
|
258
|
+
|
|
259
|
+
### 3.1 PeerQuanta as SHERPA Seed
|
|
260
|
+
|
|
261
|
+
The peerquanta.com website will expose a beacon endpoint:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
https://peerquanta.com/.well-known/yakmesh/beacon
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
This provides a stable, trusted entry point to the yakmesh network.
|
|
268
|
+
|
|
269
|
+
### 3.2 Beacon Response
|
|
270
|
+
|
|
271
|
+
```json
|
|
272
|
+
{
|
|
273
|
+
"version": "1.0",
|
|
274
|
+
"nodeId": "peerquanta-primary",
|
|
275
|
+
"networkName": "yakmesh-mainnet",
|
|
276
|
+
"timestamp": 1737200000000,
|
|
277
|
+
"ttl": 3600,
|
|
278
|
+
"capabilities": {
|
|
279
|
+
"wsPort": 9001,
|
|
280
|
+
"httpPort": 443,
|
|
281
|
+
"supportsAnnex": true,
|
|
282
|
+
"supportsNakpak": true,
|
|
283
|
+
"supportsGossip": true,
|
|
284
|
+
"supportsYETI": true
|
|
285
|
+
},
|
|
286
|
+
"peers": [
|
|
287
|
+
{ "nodeId": "node1", "endpoint": "https://node1.yakmesh.dev" },
|
|
288
|
+
{ "nodeId": "node2", "endpoint": "https://node2.yakmesh.dev" }
|
|
289
|
+
],
|
|
290
|
+
"publicKey": "...",
|
|
291
|
+
"signature": "..."
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### 3.3 Implementation Steps
|
|
296
|
+
|
|
297
|
+
1. **Static Beacon** (v1): JSON file served by Caddy/nginx
|
|
298
|
+
2. **Dynamic Beacon** (v2): Yakmesh node generates live peer list
|
|
299
|
+
3. **Signed Beacon** (v3): Cryptographic proof of authenticity
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
## 4. Protocol Stack (Updated)
|
|
304
|
+
|
|
305
|
+
```
|
|
306
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
307
|
+
│ Yakmesh Protocol Stack v1.9 │
|
|
308
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
309
|
+
│ │
|
|
310
|
+
│ Layer 0: YETI 🏔️ Encrypted Trustless Index (DNS) │
|
|
311
|
+
│ Layer 1: HTTP API 🌐 Public content delivery │
|
|
312
|
+
│ Layer 2: Annex 🔐 Encrypted P2P (ML-KEM768) │
|
|
313
|
+
│ Layer 3: Gossip 📢 Message propagation │
|
|
314
|
+
│ Layer 4: Beacon 🚨 Emergency broadcast │
|
|
315
|
+
│ Layer 5: Nakpak 🎒 Onion routing │
|
|
316
|
+
│ Layer 6: Sherpa 🏔️ Peer discovery │
|
|
317
|
+
│ Layer 7: Mesh 🕸️ Core P2P network │
|
|
318
|
+
│ │
|
|
319
|
+
│ Extensions: │
|
|
320
|
+
│ - Notary Attestation (mesh-backed timestamps) │
|
|
321
|
+
│ - Escrow Protocol (commitment-based trades) │
|
|
322
|
+
│ - Identity Badges (QCoA verification) │
|
|
323
|
+
│ │
|
|
324
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## 5. Implementation Roadmap
|
|
330
|
+
|
|
331
|
+
### Phase 1: Foundation (Current - v1.8.x)
|
|
332
|
+
- [x] SHERPA peer discovery
|
|
333
|
+
- [x] NAKPAK onion routing
|
|
334
|
+
- [ ] Beacon endpoint on peerquanta.com
|
|
335
|
+
- [ ] Website updates for v1.8.0
|
|
336
|
+
- [ ] SHERPA tests
|
|
337
|
+
|
|
338
|
+
### Phase 2: YETI DNS (v1.9.0)
|
|
339
|
+
- [ ] YETI name registration
|
|
340
|
+
- [ ] Gossip-based name resolution
|
|
341
|
+
- [ ] `.yak` TLD support
|
|
342
|
+
- [ ] Browser extension for `.yak` domains
|
|
343
|
+
|
|
344
|
+
### Phase 3: Tool Integration (v2.0.0)
|
|
345
|
+
- [ ] Mesh-backed Digital Notary
|
|
346
|
+
- [ ] Synced Secure Notes
|
|
347
|
+
- [ ] QCoA mesh badges
|
|
348
|
+
- [ ] Nakpak Covert Art transmission
|
|
349
|
+
|
|
350
|
+
### Phase 4: Marketplace (v2.1.0)
|
|
351
|
+
- [ ] Mesh escrow protocol
|
|
352
|
+
- [ ] Anonymous trading via Nakpak
|
|
353
|
+
- [ ] Reputation propagation
|
|
354
|
+
- [ ] Dispute resolution consensus
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## 6. Security Considerations
|
|
359
|
+
|
|
360
|
+
### 6.1 YETI Name Squatting
|
|
361
|
+
- Require proof-of-stake or proof-of-work for registration
|
|
362
|
+
- Implement name challenges for trademark disputes
|
|
363
|
+
- Rate limit new registrations per node
|
|
364
|
+
|
|
365
|
+
### 6.2 Sybil Attacks on Consensus
|
|
366
|
+
- Require code proof for participation
|
|
367
|
+
- Weight votes by node age and reputation
|
|
368
|
+
- Implement subnet diversity checks
|
|
369
|
+
|
|
370
|
+
### 6.3 Eclipse Attacks on SHERPA
|
|
371
|
+
- Maintain diverse peer set across subnets
|
|
372
|
+
- Verify beacon signatures
|
|
373
|
+
- Cross-check peer lists from multiple sources
|
|
374
|
+
|
|
375
|
+
### 6.4 Timing Attacks on Nakpak
|
|
376
|
+
- Add random delays in onion routing
|
|
377
|
+
- Use constant-time operations
|
|
378
|
+
- Pad messages to fixed sizes
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
## 7. Open Questions
|
|
383
|
+
|
|
384
|
+
1. **YETI Governance**: Who resolves `.yak` disputes?
|
|
385
|
+
2. **Fee Structure**: Should name registration cost tokens?
|
|
386
|
+
3. **Interoperability**: Can YETI work with ENS/Handshake?
|
|
387
|
+
4. **Mobile Support**: How do mobile apps resolve `.yak` names?
|
|
388
|
+
|
|
389
|
+
---
|
|
390
|
+
|
|
391
|
+
## 8. References
|
|
392
|
+
|
|
393
|
+
- [Yakmesh Whitepaper](https://yakmesh.dev/whitepaper)
|
|
394
|
+
- [SHERPA Implementation](../mesh/sherpa-discovery.js)
|
|
395
|
+
- [NAKPAK Implementation](../mesh/nakpak-routing.js)
|
|
396
|
+
- [PeerQuanta Tools](https://peerquanta.com/tools)
|
|
397
|
+
|
|
398
|
+
---
|
|
399
|
+
|
|
400
|
+
*Document Version History*
|
|
401
|
+
| Version | Date | Changes |
|
|
402
|
+
|---------|------|---------|
|
|
403
|
+
| 1.0.0 | 2026-01-18 | Initial draft |
|
|
404
|
+
|
|
405
|
+
---
|
|
406
|
+
|
|
407
|
+
**YAKMESH™** is a trademark of PeerQuanta (USPTO Serial No. 99594620)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# YAKMESH Timing Precision: Technical Disclosure
|
|
2
|
+
|
|
3
|
+
**Document Purpose:** This document provides accurate, legally-defensible statements about YAKMESH timing capabilities for patent and marketing purposes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Summary of Capabilities
|
|
8
|
+
|
|
9
|
+
### What YAKMESH Can Measure (Local Node)
|
|
10
|
+
|
|
11
|
+
| Method | Resolution | Notes |
|
|
12
|
+
|--------|-----------|-------|
|
|
13
|
+
| `process.hrtime.bigint()` | ~100 nanoseconds | Node.js high-resolution timer |
|
|
14
|
+
| `performance.now()` | ~200 nanoseconds | Browser-compatible |
|
|
15
|
+
| `Date.now()` | 1 millisecond | Standard JavaScript |
|
|
16
|
+
|
|
17
|
+
### What YAKMESH Can Synchronize (Network)
|
|
18
|
+
|
|
19
|
+
| Time Source | Typical Network Sync | YAKMESH Tolerance Setting |
|
|
20
|
+
|-------------|---------------------|---------------------------|
|
|
21
|
+
| PCIe Atomic Clock | Microseconds (same datacenter) | ±100 milliseconds |
|
|
22
|
+
| GPS with PPS | 1-10 milliseconds | ±500 milliseconds |
|
|
23
|
+
| IEEE 1588 PTP | 1-100 microseconds | ±500 milliseconds |
|
|
24
|
+
| Standard NTP | 10-100 milliseconds | ±5000 milliseconds |
|
|
25
|
+
|
|
26
|
+
**Key Distinction:** Local measurement resolution is NOT the same as network synchronization precision.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Accurate Marketing Language
|
|
31
|
+
|
|
32
|
+
### ✅ CORRECT Statements
|
|
33
|
+
|
|
34
|
+
- "YAKMESH supports high-precision time sources including PCIe atomic clocks"
|
|
35
|
+
- "YAKMESH adapts timing tolerances based on available hardware"
|
|
36
|
+
- "YAKMESH implements configurable precision from NTP to atomic clock levels"
|
|
37
|
+
- "YAKMESH uses time as a redundancy dimension for data resilience"
|
|
38
|
+
- "With atomic clock hardware, YAKMESH can achieve sub-millisecond synchronization"
|
|
39
|
+
|
|
40
|
+
### ❌ INCORRECT Statements (Do Not Use)
|
|
41
|
+
|
|
42
|
+
- ~~"Nanosecond precision"~~ (only achievable with specialized hardware, not yet validated)
|
|
43
|
+
- ~~"Sub-nanosecond alignment"~~ (physically impossible without atomic hardware AND specialized network)
|
|
44
|
+
- ~~"1ns timing"~~ (Node.js minimum is ~100ns local, network adds milliseconds)
|
|
45
|
+
|
|
46
|
+
---
|
|
47
|
+
|
|
48
|
+
## Hardware Requirements for Enhanced Precision
|
|
49
|
+
|
|
50
|
+
To claim sub-millisecond synchronization, the following are required:
|
|
51
|
+
|
|
52
|
+
1. **PCIe Atomic Clock** (e.g., Jackson Labs CSAC, Microsemi SA.45s)
|
|
53
|
+
2. **PTP-capable Network Interface** (e.g., Mellanox ConnectX, Intel X710)
|
|
54
|
+
3. **Low-latency network** (same datacenter, <1ms RTT)
|
|
55
|
+
4. **Kernel PTP support** (Linux with ptp4l, Windows with Meinberg)
|
|
56
|
+
|
|
57
|
+
---
|
|
58
|
+
|
|
59
|
+
## Test Results
|
|
60
|
+
|
|
61
|
+
### Local Timing Resolution Test (Node.js on Windows)
|
|
62
|
+
|
|
63
|
+
```
|
|
64
|
+
performance.now() minimum delta: 0.0002 ms (200 nanoseconds)
|
|
65
|
+
process.hrtime.bigint() minimum delta: 100 ns
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Network Synchronization (Pending Hardware Validation)
|
|
69
|
+
|
|
70
|
+
- NTP sync: Not yet measured on live network
|
|
71
|
+
- PTP sync: Requires PTP hardware
|
|
72
|
+
- Atomic sync: Requires PCIe atomic clock
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Patent Claims Supported by Implementation
|
|
77
|
+
|
|
78
|
+
1. **Temporal Matrix Encoding** - Proven with 50ms slice intervals
|
|
79
|
+
2. **Trust-level adaptive system** - Proven with detection and tolerance adaptation
|
|
80
|
+
3. **Hash-chain temporal binding** - Proven with cryptographic linking
|
|
81
|
+
4. **Configurable precision architecture** - Proven framework, hardware integration pending
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Recommendations for Patent Application
|
|
86
|
+
|
|
87
|
+
1. Claim the **architecture** that supports multiple precision levels
|
|
88
|
+
2. Claim the **method** of temporal encoding regardless of precision
|
|
89
|
+
3. Avoid specific nanosecond claims without hardware validation
|
|
90
|
+
4. Emphasize the **novelty of time-as-redundancy** concept
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
**Document Version:** 1.0
|
|
95
|
+
**Last Updated:** January 2026
|
|
96
|
+
**Status:** For internal use and patent attorney review
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# YAKMESH Documentation
|
|
2
|
+
|
|
3
|
+
> **📚 Full documentation available at [yakmesh.dev](https://yakmesh.dev)**
|
|
4
|
+
|
|
5
|
+
## Quick Links
|
|
6
|
+
|
|
7
|
+
| Topic | Web | Specification |
|
|
8
|
+
|-------|-----|---------------|
|
|
9
|
+
| Getting Started | [yakmesh.dev/docs/getting-started](https://yakmesh.dev/docs/getting-started) | — |
|
|
10
|
+
| Configuration | [yakmesh.dev/docs/configuration](https://yakmesh.dev/docs/configuration) | — |
|
|
11
|
+
| API Reference | [yakmesh.dev/docs/api](https://yakmesh.dev/docs/api) | — |
|
|
12
|
+
| CLI Reference | [yakmesh.dev/docs/cli](https://yakmesh.dev/docs/cli) | — |
|
|
13
|
+
| NAMCHE Gateway | [yakmesh.dev/docs/namche](https://yakmesh.dev/docs/namche) | [NAMCHE-SPEC.md](NAMCHE-SPEC.md) |
|
|
14
|
+
| TATTVA Oracle | [yakmesh.dev/docs/tattva](https://yakmesh.dev/docs/tattva) | — |
|
|
15
|
+
| SURAKSHA Security | [yakmesh.dev/docs/trust-security](https://yakmesh.dev/docs/trust-security) | — |
|
|
16
|
+
| Time Sources | [yakmesh.dev/docs/time-sources](https://yakmesh.dev/docs/time-sources) | — |
|
|
17
|
+
| Mesh Networking | [yakmesh.dev/docs/mesh](https://yakmesh.dev/docs/mesh) | — |
|
|
18
|
+
| SHERPA Discovery | [yakmesh.dev/docs/sherpa](https://yakmesh.dev/docs/sherpa) | — |
|
|
19
|
+
| NAKPAK Routing | [yakmesh.dev/docs/nakpak](https://yakmesh.dev/docs/nakpak) | — |
|
|
20
|
+
| ANNEX Channels | [yakmesh.dev/docs/annex](https://yakmesh.dev/docs/annex) | — |
|
|
21
|
+
| YAK:// Protocol | [yakmesh.dev/docs/yak-protocol](https://yakmesh.dev/docs/yak-protocol) | — |
|
|
22
|
+
| Geographic Proof | [yakmesh.dev/docs/geo-proof](https://yakmesh.dev/docs/geo-proof) | — |
|
|
23
|
+
|
|
24
|
+
## Protocols (v2.5.0)
|
|
25
|
+
|
|
26
|
+
| Protocol | Purpose | Docs |
|
|
27
|
+
|----------|---------|------|
|
|
28
|
+
| **STUPA** | State consensus | [yakmesh.dev/docs/stupa](https://yakmesh.dev/docs/stupa) |
|
|
29
|
+
| **LAMA** | Lightweight messaging | [yakmesh.dev/docs/lama](https://yakmesh.dev/docs/lama) |
|
|
30
|
+
| **MANI** | Metrics & analytics | [yakmesh.dev/docs/mani](https://yakmesh.dev/docs/mani) |
|
|
31
|
+
| **KARMA** | Trust reputation | [yakmesh.dev/docs/karma](https://yakmesh.dev/docs/karma) |
|
|
32
|
+
| **MANDALA** | Topology management | [yakmesh.dev/docs/mandala](https://yakmesh.dev/docs/mandala) |
|
|
33
|
+
|
|
34
|
+
## Specifications & Research
|
|
35
|
+
|
|
36
|
+
These documents provide deep technical details for implementers:
|
|
37
|
+
|
|
38
|
+
| Document | Description |
|
|
39
|
+
|----------|-------------|
|
|
40
|
+
| [WHITEPAPER.md](WHITEPAPER.md) | Full technical whitepaper |
|
|
41
|
+
| [NAMCHE-SPEC.md](NAMCHE-SPEC.md) | NAMCHE gateway specification |
|
|
42
|
+
| [CRYPTO-AGILITY.md](CRYPTO-AGILITY.md) | Cryptographic algorithm choices |
|
|
43
|
+
| [TME-FAQ.md](TME-FAQ.md) | Temporal Matrix Encoding FAQ |
|
|
44
|
+
| [MTLS-RESEARCH.md](MTLS-RESEARCH.md) | mTLS integration research |
|
|
45
|
+
| [PRECISION-DISCLOSURE.md](PRECISION-DISCLOSURE.md) | Precision timing disclosure |
|
|
46
|
+
|
|
47
|
+
## Roadmaps
|
|
48
|
+
|
|
49
|
+
| Version | Status |
|
|
50
|
+
|---------|--------|
|
|
51
|
+
| [ROADMAP-2.5.0.md](ROADMAP-2.5.0.md) | ✅ Released |
|
|
52
|
+
| [ROADMAP-2.4.0.md](ROADMAP-2.4.0.md) | ✅ Released |
|
|
53
|
+
|
|
54
|
+
## GRANTH: Embedded Documentation Bundle
|
|
55
|
+
|
|
56
|
+
YAKMESH includes an embedded documentation bundle (**GRANTH**) that ships with the npm package. This enables offline-first, hash-verified documentation access.
|
|
57
|
+
|
|
58
|
+
```javascript
|
|
59
|
+
// Access embedded docs programmatically
|
|
60
|
+
import { BUNDLE_HASH, BUNDLE_VERSION, FILES } from 'yakmesh/embedded-docs/bundle.js';
|
|
61
|
+
|
|
62
|
+
console.log(`Docs v${BUNDLE_VERSION} - Hash: ${BUNDLE_HASH.slice(0, 16)}...`);
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The bundle contains the same documentation as yakmesh.dev, verified by SHA3-256 hashes. This ensures:
|
|
66
|
+
- **Offline access**: Docs work without internet
|
|
67
|
+
- **Integrity**: Hash verification prevents tampering
|
|
68
|
+
- **Consistency**: Same docs across all nodes running same version
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
<div align="center">
|
|
73
|
+
<strong><a href="https://yakmesh.dev">yakmesh.dev</a></strong>
|
|
74
|
+
<br><br>
|
|
75
|
+
<sub>© 2026 YAKMESH™ Project. Sturdy & Secure.</sub>
|
|
76
|
+
</div>
|