Accounts & Avatars
Accounts enable Members to connect multiple Identities (devices or Nodes) through the use of a parent Identity. Accounts are created by having two or more Identities each sign an encrypted Message of type ‘connectIdentity’. The successful execution of this method generates a new Identity, associated zId and Message for each signing zChain, cryptographically linking the chains together. The newly created Message content and type is identical between chains, and specify the newly appointed parent zId.
Identities and Accounts
Applications can retrieve a Member's linked zChains by performing a query for the most recent ‘connectIdentity’ Message type from any of an Account’s linked chains. This enables developers to construct a Member’s combined application across zChains and devices.
An Avatar enables a Member to decouple their public facing identifiers (such as a Member handle or earned reputation score) from linked Identities and zChains. Like Identities, Avatars are unique, and serve as the primary external mechanism for a Node to reference a Member Identity or Account. Avatars enable the Member to maintain multiple external facing personas, without the requirement to publicly disclose associated Identities, zChains or Avatars that are linked to their Account.
This enables a Member to maintain different Identities (and respective zChains) for different use-cases (such as having a separate work Avatar or personal Avatar), while maintaining a single and private set of system access credentials. Members may generate as many Avatars as they like, however can not associate an Identity with more than a single Avatar at a time. An Avatar must be selected when posting a new Message to a zChain.
Avatars are generated with a Message of type Avatar, and require five fields:
- aId: a unique Avatar Id
- zIdHash: An encrypted hash of the Avatar's associated zId. This can only be verified by the holder of the private key itself, and is checked when creating a new Message for a specific Avatar. This can include a zId that belongs to either a parent, child or standalone zChain.
- photo: a profile image
- banner: A background image
- publicHandle: a unique handle issued by ZNS, the Zero Name Service.
Globally unique Member handles for Avatars can be purchased using ZNS, as outlined in Section 4.3.1. Zero Name Service (ZNS) Protocol.