-
Notifications
You must be signed in to change notification settings - Fork 0
Identities of Peer
Peer is the one of the building blocks of Hermes.
A peer decides what to do with the network (within the boundary of protocols), thus comparing to protocols peers are active part of the network. Because Hermes is an object that exist only in digital network, peers are not necessarily human. They can be any program, any representative of an organization, a living animal (if it can operate the device connecting to Hermes). Reversely, a person or a program is not limited to act as one peer only.
In summary,
- a peer is an active operator of the network;
- peers and their corresponding entities offline are related in an many-to-many model.
Peers have their identities, which are believed to be the identities of their offline entities. However a person does not to have the identifier of his peer to be the orthonym of himself, which is given by his family and is kept as a record in local government. He may choose to use any identifier he likes (pseudonym).
An identity of peer is ALIVE when first used by that peer. A lock is then set up for this identity for stopping other peer using the same identity intentionally. When the peer is about to go offline, it can choose to "hibernate", in which the link between the identity and the peer is saved. But the hibernation is timed to be forgotten, when that happens the identity-peer relationship ends and the identity will be then freed from that peer.
Note that Hermes is not designed to provide anonymity basically, only pseudonymity, but also not to limit peers applying other method for anonymity. It's default that we know each other in pseudonym and we can link locations (nodes) and actions done by each other in a direct way. We opt to believe other peer's identity in pseudonym whether it's anonymous or not. See All About Politics for more.
For anonymity, the linkage of pseudonym to its location and action should be hidden thus making the pseudonym possible identifier for any peer. There will be nodes which proves identity mapping (between normal and anonymous) and hide-identity-promised relay application. Those nodes will serve like the routers in Tor network.
Hermes see the identity by using an PeerID. While human named identifier has a quite big chance to name two identities the same identifier, the PeerID is generated randomly and is optimistically believed to be unique.
The mapping of PeerID to Identifier is stored distributed and public accessible.
The mapping can be expressed in following format:
"PeerID":"Identifier".
where PeerID is 160 bit binary encoded with z85(implementation).