Узлы‑почтовики (Mailbox Node)¶
Узел‑почтовик хранит зашифрованные конверты «входящих» по ключу получателя и отдаёт их по запросу.
Назначение стаи ретрансляторов (swarm)¶
swarm = k
узлов на основе консистентного хешаhash(PubKey)
.- Отправитель кладёт конверт на все
k
узлов (илиm
изn
при кодировании стирания). - Получатель периодически выполняет
GET
к своей стае ретрансляторов и удаляет конверты черезACK
(подписанный).
HTTP API¶
POST /node/put
¶
Кладёт конверт.
{
"to": "bob",
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"header_b64": "...",
"nonce_b64": "...",
"cipher_b64": "...",
"ttl_seconds": 1209600
}
GET /node/get?to=<user>
¶
Возвращает список конвертов (до PENDING_BATCH
).
POST /node/ack
¶
Удаляет по message_id
. Рекомендуется подписывать:
{
"message_id": "550e8400-e29b-41d4-a716-446655440000",
"pubkey_b64": "<ed25519-pub>",
"sig_b64": "<ed25519-sign('ack:'+message_id)>"
}
Репликация и соседние узлы¶
- После
put
узел может реплицировать наNODE_PEERS
(best‑effort). - Удаление по ACK происходит на всех репликах.