# Node Network

The W3.io Prodigy Network is powered by a decentralized infrastructure of nodes that execute recipes, verify computations, and maintain the integrity of the system. Unlike traditional blockchain networks focused solely on consensus, our node network is optimized for computational tasks while ensuring verifiability and security.

This distributed network of compute resources forms the backbone of W3.io's ability to bridge on-chain and off-chain worlds, enabling complex business processes to execute with blockchain-level trust but without blockchain-level limitations.

The node network is designed to be inclusive, allowing various types of hardware to participate based on their capabilities, while maintaining the robust security and verifiability that web3 applications demand.

### Node Architecture

Each node operates using uniform core code, functioning as event-driven finite state machines optimized to minimize computational overhead not directly related to customer recipes.

**Core Components of a Node:**

* **LibP2P Networking Stack**: Facilitates robust decentralized connectivity
* **Core State Machine**: Manages node operations based on incoming events
* **Configuration System**: Flexible system tailored to hardware specifications
* **Metrics System**: Built-in performance monitoring and network participation tracking
* **Plugins**: Extensible functionality for hardware resources and new capabilities
* **Recipe Ingredients**: Storage and management of ingredients for recipe execution

### Node Types and Participation

**High Availability Nodes**: 99.999% uptime with advanced compute resources (TEEs, large capacity disks, high-performance CPUs)

**Normal Nodes**: Desktop-class computers with consistent online presence, occasional connectivity interruptions expected

**Community Nodes**: Intermittent connectivity devices (laptops, smartphones) contributing during non-use periods

All nodes participate as consensus peers, executing assigned tasks and contributing to network computational power and reliability.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.w3.io/node-network.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
