# Architecture

<figure><img src="/files/CII2CzMmQOIFouyUSMkr" alt=""><figcaption><p>General system design of Bool Network.</p></figcaption></figure>

### Underlying Technologies

Bool Network is the first permissionless cross-chain protocol based on Multi-Party Computation (MPC), Trusted Execution Environment (TEE), and Zero Knowledge Proof (ZKP) to facilitate omnichain interoperability across heterogeneous ecosystems.&#x20;

We furthermore proposed [Ring VRF](/interoperability-protocol/dynamic-hidden-committee-dhc/lifecycle.md#ring-vrf-protocol), a ZKP-based protocol to guarantee the underlying security of the system. Technical details about Ring VRF can be found in this [paper](https://ieeexplore.ieee.org/document/9903072).

### Key Components

In general, the kernel of Bool Network consists of three main modules: Dynamic Hidden Committees, BoolChain and an External Relayers System. Each of these is described below, along with their functionality in Bool Network.

#### [Dynamic Hidden Committees (DHC)](#dynamic-hidden-committees-dhc)

* Security guards in Bool Network to ensure the safety of cross-chain messages from the application layer.
* Each committee manages a unique private key which has been distributed to a specific group of MPC nodes.
* Each collection of private key fragments is separately stored in the TEE hardware of a committee's members, i.e. MPC nodes.&#x20;
* Ring Verifiable Random Function (Ring VRF) protocol is the underlying algorithm to protect and prove the committee's membership of an MPC node.

#### Bool Chain

* A public chain which performs as an ordinarily distributed ledger.
* At the early stage, the chain is specialized to support and record the lifecycles and actions of [Dynamic Hidden Committees](/interoperability-protocol/dynamic-hidden-committee-dhc.md) in the network.&#x20;
* It is an EVM-compatible blockchain where applications can be built on top of the Bool Chain in the future.

#### External Relayers

* Refer to participants who are responsible for submitting destination transactions in Bool Network.
* Designed as a competitive, efficient, and highly accessible system which is open to the market.
* Participants can profit from each transaction that they submitted to the destination chain.
* Do not guarantee the security of cross-chain messages.

### Infrastructure Layer

We deployed several primary contracts on each blockchain to help developers build their omnichain applications on Bool Network:

* `AnchorFactory`: deploy `Anchor` contracts which serve as application-specific endpoints to connect users' contracts with the core module of Bool.
* `Messenger`: an official cross-chain message delivery port which connects to all the anchor contracts on the same chain. It has two main functionalities: transmit source chain messages to Bool Network and forward messages to registered anchor contracts on the destination chain.&#x20;

{% hint style="info" %}
The above description of the infrastructure layer only fits ecosystems that have smart contracts or similar structures. The alternative design for exotic networks will be published in the future.
{% endhint %}

### Application Layer

This layer contains all the ecosystems/protocols/applications built on top of BOOLNetwork, including but not limited to tokens, NFTs, DeFis, cross-chain protocols, Oracles and public chains.


---

# 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.bool.network/interoperability-protocol/architecture.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.
