04 12 25 Версия авторификации где сервер выдовал сессион Ид

This commit is contained in:
AidarKC
2025-12-05 17:35:58 +03:00
parent fc748a744c
commit c9bfa2d01a
23 changed files with 197 additions and 38 deletions
@@ -1,20 +1,20 @@
* ============================================================================
* BchBlockEntry — универсальная запись блокчейна SHiNE (.bch)
* ============================================================================
*
*.
* 🧩 Формат файла .bch:
* Каждый блок хранится последовательно, без промежутков.
* Один блок = «заголовок» (RAW) + подпись (64) + хэш (32).
*
*.
* FULL = RAW + signature(64) + hash(32)
*
*.
* ---------------------------------------------------------------------------
* 🔹 Структура RAW-части блока (без подписи и хэша)
* ---------------------------------------------------------------------------
* Размеры и порядок строго фиксированы (BigEndian).
*
*.
* Порядок байтов (сверху вниз, смещения от начала RAW):
*
*.
* ┌────────────────────────────┬────────┬───────────────────────────────┐
* │ Поле │ Размер │ Описание │
* ├────────────────────────────┼────────┼───────────────────────────────┤
@@ -30,22 +30,22 @@
* │ recordTypeVersion │ 2 байта│ версия структуры данного типа │
* │ body │ M байт │ бинарное тело записи │
* └────────────────────────────┴────────┴───────────────────────────────┘
*
*.
* ⇒ RAW_HEADER_SIZE = 4 + 4 + 8 + 2 + 2 = 20 байт.
* ⇒ recordSize = RAW_HEADER_SIZE + body.length
*
*.
* ---------------------------------------------------------------------------
* 🔹 Структура FULL-блока
* ---------------------------------------------------------------------------
*
*.
* ┌────────────────────────────┬─────────┬──────────────────────────────┐
* │ RAW │ M+20 │ тело блока без подписи │
* │ signature64 │ 64 │ подпись Ed25519(preimage) │
* │ hash32 │ 32 │ SHA-256(preimage) │
* └────────────────────────────┴─────────┴──────────────────────────────┘
*
*.
* ⇒ Общая длина FULL = recordSize + 96 байт.
*
*.
* ---------------------------------------------------------------------------
* 🔹 Канонический preimage для подписи/хэша
* ---------------------------------------------------------------------------
@@ -58,9 +58,9 @@
* можно номер блока?
* prevHash32(32B) +
* rawBytes (M+20B)
*
*.
* hash32 = SHA-256(preimage)
* signature64= Ed25519.sign(preimage, privateKey)
*
*.
* Проверка осуществляется через {@link utils.crypto.BchCryptoVerifier}.