SHA256
Добавить импорт архивов с доверенных серверов
This commit is contained in:
@@ -1617,3 +1617,31 @@ BigBlock #100
|
||||
- PDA обновляется обычным `update_user_pda`;
|
||||
- Arweave используется как долговременное хранилище;
|
||||
- публикация считается завершённой только после Arweave confirmation + Solana finalized + cursor commit.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Trusted archive reader / importer
|
||||
|
||||
Бинарный формат v1.0 не меняется. Обычный сервер MAY использовать archive head из User PDA для восстановления недостающих SHiNE-блоков, но SHOULD принимать архивы только от явно разрешённых server logins.
|
||||
|
||||
Рекомендуемая политика v1:
|
||||
|
||||
```text
|
||||
publisher login ∈ local whitelist
|
||||
AND UserPDA.is_server = true
|
||||
AND SHA256(file) == UserPDA.archive_head_hash / reference hash
|
||||
AND creator_login == closer_login == publisher login
|
||||
AND Ed25519 archive signature valid for publisher root key
|
||||
AND every raw SHiNE block passes normal AddBlock validation
|
||||
```
|
||||
|
||||
FULL reference table head-блока позволяет поздно подключившемуся серверу импортировать всю неизвестную историю publisher-а от старых big blocks к новым.
|
||||
|
||||
Для быстрого пользовательского доступа сервер SHOULD поддерживать локальный индекс:
|
||||
|
||||
```text
|
||||
blockchain_name -> arweave_tx_id + chunk_offset + chunk_size
|
||||
```
|
||||
|
||||
Он указывает на последний известный `UserBlockchainChunk`. Backlink внутри chunk делает эту одну ссылку достаточной для обхода всей архивной истории конкретной blockchain.
|
||||
|
||||
Reference in New Issue
Block a user