-
Notifications
You must be signed in to change notification settings - Fork 1
old Authentication
Most blockchain systems are based around elliptic curve public key cryptography. The Revolution Network is no different.
A SECP256k1 curve like Ethereum will be used.
The network has a handful of different agents that perform different actions and each has its own key pair, the public key of which will be published on the network and stored in the configuration.
For each agent or user, we create a keypair and store it in the bright block store. The user is responsible for keeping the "recipe"- the block IDs needed to get their private key back and decrypt it. The private key will be stored AES encrypted with their password.
User A wants to login:
- User A presents the server with their recipe for their key
- The server returns their key blocks
- The user asks the server for a challenge against their public key, which is known to all actors in the network. A random phrase is encrypted with their public key- readable only with a reconstructed key.
- Not only does the user need to know the recipe for their key, but they must also know the password, decrypt their key and then decrypt the challenge and return it to the server to complete authentication.
Messages and data can now be sent to or saved for the user using their public key now that we know they can decrypt it. Their password is never stored anywhere. Inputting an incorrect password will either fail to decrypt the private key or the nonsense key will fail to decrypt the challenge.
Let's move on to Central Authority / The Quarum and Identity which will cover Anonymity and Moderation.
TOC | Intro | 1 - Arch | 2 - Auth | 3 - Quorum | 4 - Identity/Reputation | 5 - Contracts/Crypto
Documentation updated regularly. You can pull the revision history if you check out the wiki's git repo.
Please consider joining. Doesn't matter if you're new to coding or crypto. I/We can help! Devel & Collab