ZODE

ZODES

ZERO is powered by a distributed network of computers called 'ZODES' that are responsible for helping secure, store and replicate network data. The ZERO Network represents all data that is routed, processed and stored by ZODES. ZODES run Services, independent programs that handle requests and process information on behalf of network participants.

Principles

ZODES are designed with five core principles:

  1. Permissionless: Permission or authentication keys are not required to participate at the infrastructure layer of the ZERO Network. Anyone with a computer, internet connection and ZNA can run a ZODE.

  2. Encrypted: Unless declared public, data assumes E2E encryption and is only accessible with client-held encryption keys. All encryption keys are stored at the client level and do not exist on any individual server.

  3. Distributed: The ZERO Network exists at no specific location; the network is defined from the relational pathways that emerge between ZODE data in an overlay network.

  4. Generalized: ZODES are designed to be general purpose, enabling the distributed access and hosting of any type of online service or protocol.

  5. Incentivized: ZODES receive a share of revenue in exchange for providing access to the ZERO Network and can charge for additional services.

Clients

A Client is a ZERO application and interface that reads and writes data from a ZODE and interacts with the ZERO Protocol. ZERO Clients are available for:

  • Web

  • Windows

  • Mac

  • Linux

  • iOS

  • Android

Accounts

ZODES host the state of specific Accounts.

All data (such as messages, channels and posts) are linked to an Account. Each Account is cryptographically verified by a ZNA (such as '0://wilder.n3o'). ZNA association ensures that the authentication and identity verification of Accounts is decentralized by inheriting the security properties of the Ethereum blockchain.

An Account can be thought of as metadata abstraction on top of a ZNA that stores relevant data on one or more ZODES. At a minimum, Accounts have three data types:

  • Name: A 100 character limit user defined string.

  • Avatar: A valid URL string that points to an image file.

  • Description: A 255 character limit user-defined string.

Additional data structures, such as messages, channels, and groups, are always linked to respective Accounts.

Identity Service

An Identity Service within the ZERO Network is a specialized service whose primary role is to provide rapid resolution of ZNAs. This service is essential for the functioning of ZODES. ZODES rely on the Identity Service to locate and identify Accounts within the network, which is a critical step for determining the default ZODE associated with any given account. The swift discovery and association process facilitated by the Identity Service are vital for maintaining the speed and efficiency of interactions on the network.

In addition to aiding ZODES in discovering Accounts, Identity Services are also instrumental for clients. They provide the necessary infrastructure that allows clients to effectively index ZODES within the ZERO Network. This indexing is crucial as it enables clients to quickly and accurately navigate the network, ensuring they can access and communicate with the appropriate ZODES as needed. The capability of Identity Services to streamline this process underscores their significance in the overall architecture of the ZERO Network, enhancing the user experience by optimizing the speed and reliability of network transactions and interactions.

Network Topology

When a person creates a new message or joins a channel, a request is sent directly from the Client to the Account's default ZODE. A persons default ZODE constructs their unique view of the ZERO Network, storing relevant fragments of the network. Data is then replicated between ZODES based on shared state-objects (such as a shared channels or group DM). This process ensures application state is properly and efficiently synchronized across all relevant parties in the ZERO Network.

ZODE Operation

ZODES run software that host the data of Accounts. Anyone with an Internet connection and World Domain (e.g., '0://mydomain') can run their own ZODE and earn network fees.

ZODES manage API requests from ZERO Clients for individual Accounts. Every ZERO Account is connected to a default ZODE. This ZODE becomes the default location where a users individual data is accessed, stored and retrieved.

Configurations

A ZODE can run on anything from a private server in your basement to a high-availability public cloud. ZODES support a wide range of configuration; catering to everyone from hard-core security experts to normal internet users. Common configurations include:

  1. Home: Run your own ZODE under-the-hood of your Client or on a personal server. This ensures that you have full control of your data based on your desired configuration parameters.

  2. Community: Run a community ZODE that is either public or access-gated based on a particular ZNA namespace. A group of friends or an affinity group, such as an organization, DAO, or company, can configure a ZODE specifically for their members.

  3. Public: Run a public ZODE that anyone can join, or is access-gated by ZNAs.

  4. Commercial: Run a commercial ZODE that provides and charges for additional services, such as increased availability, latency, analytics and file storage.

Even though data is stored and replicated across ZODES, data remains encrypted so that it is not possible for any one ZODE to read the contents of private encrypted data. Only the proper holders of private keys can access encrypted data, irrespective of where it is stored within the ZERO Network.

At any point in time a user can change their default ZODE, and migrate data from their original to a new ZODE. Users can also select multiple primary ZODES, enhancing redundancy across the ZERO Network.

After joining ZERO, ZODE selection can be automatic or manual. A normie may want to have their ZODE automatically chosen for them and abstracted from their user-experience, whereas a more advanced person may want to consciously select their ZODE based on certain factors, or configure their own.

Services

ZODES run Services. Services are isolated programs that handle network requests and manage network state. Services are general purpose, meaning that they can run and make available any type of computing program, process, or microservice, to the ZERO Network.

Services can be either public or private (such as running an IPFS, Matrix, or Farcaster node), or permissioned (such as running your own private application or webserver). ZODES can charge network fees in exchange for the use of specific Services based on compute, bandwidth, latency and storage. This provides an incentive for infrastructure operators to power the ZERO Network.