Technical Architecture
The implementation of the Trust-Based Social Network and its higher-level protocols is complex, with many possible approaches and variations around the same foundational principles. It is also not necessary to implement the entire network at once — even implementing selected parts and integrating them into existing applications can serve specific use cases.
Three-Layer Architecture
Section titled “Three-Layer Architecture”The network is fundamentally made up of nodes that run the sphere node software. All nodes communicate using the Sphere Protocols and build up three network layers:
1. Blockchain Layer
Section titled “1. Blockchain Layer”“Block drivers” are sub-programs that access custom blockchains or smart contracts on external chains. These drivers enable other parts of the node software to interface with different “block ledgers.”
Block ledgers are lists of general data objects managed on a blockchain. Changes are recorded as cryptographically verifiable transactions. Nodes choose which block drivers and corresponding ledgers to use, allowing integration of accounts across different chains.
Required common lists:
- List of Users
- List of Admins
- List of Public Connections
A node with multiple block drivers will synchronize across ledgers, creating hybrid ledgers. The blockchain basis layer does not record all interactions publicly — interactions can be intentionally broadcast to add additional verification.
2. Network Layer
Section titled “2. Network Layer”The “main” hardware layer, consisting of different kinds of nodes that manage the abstract network objects (users, connections). Handles routing, P2P connections, and data synchronization between nodes.
3. Application Layer
Section titled “3. Application Layer”The abstract logical layer, consisting of a managed distributed user graph. Supported by the network layer, this graph includes users and admins as nodes with different kinds of connections. Additional software packages (plugins) create custom functionality on top of the network using the Base Node API.
Node Types
Section titled “Node Types”- Blockchain Node: Hosts one or more block drivers and exposes blockchain functionality to the sphere network
- Light/User Node: Basic network functionalities, mainly for establishing P2P connections and routing. Lightweight enough for end-user applications.
- Full/Admin Node: Full network functionality including block and relay features. When configured with an admin account, these are the fundamental maintainers of the network.
Users are recommended to run their own nodes for data control and to provide processing/storage capacity in exchange for network credits (a native currency).
Consensus — Sphere Protocols
Section titled “Consensus — Sphere Protocols”Multiple layers of consensus are required:
- Blockchain layer: Variable depending on the blockchain used. Provides stable “single source of truth” and monetary structure for financing the system.
- Network layer (“Proof of Chain”): Defers to one or more blockchains for stable information, but also shares more unstable “gossip” and messages verified by cryptographic signatures.
- Application layer (“Proof of Convergence”): Checks multiple sources from the network layer to create certainty even on information not stored on a blockchain.
Modularity
Section titled “Modularity”The system should be modularized into different software packages following the same standard. This enables:
- Multiple network components interacting with each other
- Many different variations of the network
- Inter-operability between different variations
- Standards modified by majority decision between networks
Natural Language Implementation
Section titled “Natural Language Implementation”The goal for the first iteration is a detailed natural language description of the system. With increasing capabilities of LLMs, the cost of translating these descriptions into runnable code will decrease significantly, eventually enabling autonomous implementation by coding AI.
Related Concepts
Section titled “Related Concepts”- Trust-Based Social Network for the abstract network model being implemented
- Governance Engine for the decision-making protocols running on this architecture
- Open-Source Development for the development model of the software itself