Backup
Blockchain
Microservices
Session
2 min readAug 17, 2025
I came to the conception of Session through rethinking the backup process.
From backup to session
Backup is a part of session. Restore + Store + Backup = Session, where Restore is Session.start() and Backup is Session.end().
Storage
The best place for storage is memory. It’s more safe to store vulnerable data in memory for many reasons:
- Memory storage is a temporary storage.
- The memory get’s erased every time system reboots.
- It’s harder to find something in memory.
Advantages of session
- Compact and encrypted key storage in one place.
- You can end the session in any time and all evidences of your communication will be erased.
- You can store Node name, Seed and Secret file name on paper or in your mind.
Session Sequence
- Start()
— DOWNLOAD secret file.
— DECRYPT secret file using SEED.
— STORE keys in SHARED MEMORY. - Store()
— Do the stuff inside session and save modifications in keys inside SHARED MEMORY. - End()
— ENCRYPT keys from SHARED MEMORY to SECRET FILE using SEED.
— UPLOAD secret file into NODE.
Registration
Let’s take a closer look to registration process. Registration and Authentication is made using token system more detailed described here. Registration sequence:
- Show token <node_url>/node/token
- Wait TOKEN TIME
- Show TOKEN ADDRESS <node_url>/node/token/token_id
- Pay TOKEN ADDRESS needed sum in NCH
- Generate Keys (Authentication keypair, FS structure, etc …)
- Generate SECRET FILE SEED
- Encrypt keys into SECRET FILE
- Upload SECRET FILE with keys
- Show <Node name, SECRET FILE name, SEED> and save them to password manager or write down them to a piece of paper (recomended).
Terminology
- Session — A sequence of actions (Restore + Store + Backup)
- Node — Ness service node with File Service
- Secret file — Encrypted file with pseudo-random name and keys stored on Ness Service Node
- Seed — Cryptographical SEED used to generate a key.
- Shared memory — A place in the memory where keys are decrypted from Secret file and modified by User.
- Keys — Keys with different data (cryptographical keys+data) needed to work with node.
