GitHub Action commited on
Commit ·
5a4b592
1
Parent(s): 219b92c
Sync from GitHub with Git LFS
Browse files- docs/HMP-0005.md +1 -46
docs/HMP-0005.md
CHANGED
|
@@ -1299,7 +1299,7 @@ To prevent flooding and spoofing, each announced address is accompanied by a **P
|
|
| 1299 |
"pow_hash": "0000abf39d...",
|
| 1300 |
"difficulty": 22
|
| 1301 |
}
|
| 1302 |
-
```
|
| 1303 |
|
| 1304 |
**Supported address types**
|
| 1305 |
|
|
@@ -1333,51 +1333,6 @@ The `mailman` chain provides:
|
|
| 1333 |
|
| 1334 |
---
|
| 1335 |
|
| 1336 |
-
### 4.2 Peer addressing and Proof-of-Work (PoW)
|
| 1337 |
-
|
| 1338 |
-
To prevent flooding and spoofing, each announced address is accompanied by a **Proof-of-Work** record proving the legitimacy and activity of the publishing node.
|
| 1339 |
-
|
| 1340 |
-
**Address format**
|
| 1341 |
-
|
| 1342 |
-
```json
|
| 1343 |
-
{
|
| 1344 |
-
"addr": "tcp://1.2.3.4:4000",
|
| 1345 |
-
"nonce": 123456,
|
| 1346 |
-
"pow_hash": "0000abf39d...",
|
| 1347 |
-
"difficulty": 22
|
| 1348 |
-
}
|
| 1349 |
-
```
|
| 1350 |
-
|
| 1351 |
-
**Supported address types**
|
| 1352 |
-
|
| 1353 |
-
| Type | Description |
|
| 1354 |
-
| -------------- | --------------------------------------------- |
|
| 1355 |
-
| `localhost` | Localhost-only interface. |
|
| 1356 |
-
| `lan:<subnet>` | Local subnet (e.g., `lan:192.168.10.0`). |
|
| 1357 |
-
| `internet` | Global TCP/UDP connectivity. |
|
| 1358 |
-
| `yggdrasil` | Overlay-based address for Yggdrasil networks. |
|
| 1359 |
-
| `i2p` | Encrypted I2P overlay routing. |
|
| 1360 |
-
|
| 1361 |
-
**Rules:**
|
| 1362 |
-
|
| 1363 |
-
* If `port = 0`, the interface is inactive.
|
| 1364 |
-
* Newer records (by `timestamp`) replace older ones after PoW verification.
|
| 1365 |
-
* Local interfaces should not be shared globally (except Yggdrasil/I2P).
|
| 1366 |
-
|
| 1367 |
-
#### Mailman relay chain
|
| 1368 |
-
|
| 1369 |
-
Agents MAY include a `mailman` list in the 'payload' block inside `peer_announce`, representing intermediate relay nodes that are willing to forward direct messages addressed to this agent.
|
| 1370 |
-
|
| 1371 |
-
The `mailman` chain provides:
|
| 1372 |
-
|
| 1373 |
-
* delivery support for NATed or intermittently connected nodes,
|
| 1374 |
-
* optional anonymization of sender–receiver paths,
|
| 1375 |
-
* redundancy for unreliable network segments.
|
| 1376 |
-
|
| 1377 |
-
`mailman` is an advisory routing hint and does not impose any specific transport requirements.
|
| 1378 |
-
|
| 1379 |
-
---
|
| 1380 |
-
|
| 1381 |
### 4.3 Proof-of-Work (PoW) formalization
|
| 1382 |
|
| 1383 |
PoW ensures that each node expends limited computational effort before publishing or updating an address record.
|
|
|
|
| 1299 |
"pow_hash": "0000abf39d...",
|
| 1300 |
"difficulty": 22
|
| 1301 |
}
|
| 1302 |
+
```
|
| 1303 |
|
| 1304 |
**Supported address types**
|
| 1305 |
|
|
|
|
| 1333 |
|
| 1334 |
---
|
| 1335 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1336 |
### 4.3 Proof-of-Work (PoW) formalization
|
| 1337 |
|
| 1338 |
PoW ensures that each node expends limited computational effort before publishing or updating an address record.
|