File service
The next step is a file service.
This type of service can be used both for “private user storage” and CDN type services …
This service requires 3 additional features:
1. Open user slots (how many users the node can hold and how many open places (slots) we have).
2. User quota (how much each user can store).
3. Alternative Auth ID — similar to Authentication ID HERE
We need Alternative Auth ID for CDN services
For example, the user wants to share file for outside user(s) but don’t want others to get access to his personal data through Authentication ID
On user side
alternative_authentication_id = sign(user_private_key, “node.url-node.nonce-username-user.nonce-alternative-123”)
On node side
The node takes two parameters
- user_name
- alternative_authentication_id
Then
verify(user_public_key, “node.url-node.nonce-username-user.nonce-alternative-123”, alternative_authentication_id)
If verification is correct the client gets succesfully logged in.
And client can do actions according to nodes policy.
No access to blockchain is required in Authorisation/Verification process, blockchain is only required once, when user generates new keys or key.
If the node changes node.nonce — the alternative_authentication_id is changed
If the user changes user.nonce — the alternative_authentication_id is changed
URL
<URL>/<service-name>/username/alternative_authentication_id