# Technology

The mlayer blockchain is purpose built application developed to serve as the backbone of our novel decentralized programable communication infrastructure. mLayers communication layer is a distributed logic clock whose state, s, at any given time, *t* is validated by maintaining and tracking causal relationship, *r,* between events, *E,* that trigger state changes, ∆s within a given Subnet, *Sn.*

<figure><img src="https://2859295386-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfisOF93PIn3WXemMVW0a%2Fuploads%2FWCRrAIJISGvjZU7ISffc%2Fmlayer.architecture.png?alt=media&#x26;token=bf4ec1a2-498b-425c-a841-758a071b33b7" alt=""><figcaption><p>mLayer Network Architecture</p></figcaption></figure>

### Components of the communication layer

**Subnets:** They represent isolated environments within which individual state machines exist. Each subnet created represents an application or product within the network. Example, a developer creating a decentralized Uber application will do this within a dedicated subnet.

**Accounts:** These are cryptographic key that identify a user of the network

**Agents:** Agents are key peers authorized to act on behalf of an account. They can be uploaded to applications and devices to perform action on behalf of the parent account.

**Topics:** Topics represent communication channels within a subnet. Topics receive messages as events.

**Smartlet:** WASM script that intercept, analyze and process message/events. The are capable of routing messages to AI agents. Smartlets can be utilized as validators, extractors, transformers and data loaders into the secondary state store

**Secondary State Stores:** They are data stores dedicated to each subnet. They can be used to store arbitrary data or account specific state data.

**State Proof:** State proofs are generated by random participating nodes based on a fibronacci sequence and verified on blockchain using aggregate schnorr proofs

### Components of the blockchain layer

Refer to the cosmos sdk network for details on its fundamental components: <https://docs.cosmos.network/main/learn/intro/sdk-design>


---

# 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://mlayer.gitbook.io/white-paper/technology.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.
