# Design Overview

<figure><img src="/files/zd30Sli6ICLHVqqCk0Px" alt=""><figcaption><p>Fig. ICN overview</p></figcaption></figure>

## Core Components

1. **Smart Contracts**:\
   Enforces the ICN economic & resource allocation system, and implements the performance validation logic.
2. **ScalerNodes**:\
   Base resource unit node in the protocol. Physical servers of specific hardware class provisioned to the network by Hardware Providers.
3. **Daemon**:\
   Core diagnostic agent for provisioning, telemetry, and hardware response. Provisioning of ScalerNodes is achieved through the installation of the Daemon.
4. **HyperNodes**:\
   Independent validator nodes verifying Hardware resource quality and performance. HyperNodes reports are evaluated by the ICN Smart Contracts, ensuring that Builders receive the expected quality of service.
5. **Satellite Network**:\
   Guarantees the availability and integrity of off-chain challenge data. In the current implementation, the Satellite Network is bootstrapped as part of the system setup.
6. **Services & Apps**:\
   Builders book capacity in the network in ScalerNode units and deploy services and applications at scale.

## Protocol Lifecycle

<figure><img src="/files/0rzIUBE6oOZY9ExXz3TK" alt="" width="563"><figcaption><p>Fig. Protocol Lifecycle</p></figcaption></figure>

The ICN architecture operates via a streamlined workflow that ensures efficiency and accountability:

1. **Provisioning**:\
   ScalerNodes join the protocol under a specific hardware class and Daemons are deployed.
2. **Resourcing**:\
   Builders, via the Console, book capacity in ScalerNode units in a specific region and access to the hardware is provided for deployment of services.
3. **Monitoring**:\
   HyperNodes continuously audit performance metrics against the Daemons and submit reports off-chain to the Satellite Network. Daemons and HyperNodes execute challenges in sync via an Indexer from events captured from Smart Contracts.
4. **On-chain Settlement**:\
   Smart contracts settle penalties and rewards based on challenge results from the Satellite Network and commit verifications.


---

# 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://docs.icn.global/network-architecture/design-overview.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.
