> For the complete documentation index, see [llms.txt](https://canopy-network.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://canopy-network.gitbook.io/docs/canopy-network/understand-the-protocol/protocol-architecture.md).

# Protocol Architecture

Canopy’s architecture separates the application-specific work of a Nested Chain from the validator collateral and coordination provided by its Security Root.

This gives a chain a way to begin with an established validator ecosystem while continuing to run its own software and define its own rules.

### The Security Root

A Security Root is the chain where validators are registered and their collateral is bonded.

Canopy Network can act as the Security Root for Nested Chains in its ecosystem. Validators on Canopy Network can opt in to support a Nested Chain by restaking their collateral and joining the committee responsible for that chain.

### The committee

A committee is an onchain coordination of validators running a specific Nested Chain implementation.

Each committee member runs a full instance of the Nested Chain software. The committee uses Byzantine Fault Tolerant consensus to validate and finalize the Nested Chain’s blocks. Its voting power is derived from the collateral designated through the Security Root.

The committee is the connection between a Nested Chain’s validator set and the economic security supplied by its Security Root.

### The Nested Chain

A Nested Chain is a full application-specific blockchain. It runs its own software, has its own execution environment, and can define its own state machine, block timing, and application rules.

The Nested Chain’s validator set is sourced from its Security Root. Validators receive updates from the Security Root and use dedicated peer-to-peer channels to execute the chain’s consensus process.

After the committee reaches quorum, the resulting certificate reports the agreed outcome to the Security Root. That result can include information used for validator rewards, penalties, orders, checkpoints, or committee retirement.

### The Canopy Template

Canopy Templates give builders a starting point for creating a Nested Chain. They are available as language-specific plugin implementations, including Go, TypeScript, Python, Kotlin, and C#.

A builder can customize a Template to create an application-specific chain while using the committee and Security Root model described above.

### Independence and recursion

A Nested Chain can use Canopy Network as its Security Root while it develops its validator community and economic security.

The chain can later select a different Security Root through governance. It can select itself as its own Security Root when it is ready to operate independently.

A Nested Chain built with the Canopy Template can also support Nested Chains of its own. This creates a recursive network model in which mature chains can help support new ones.

### Continue learning

Read [Consensus](https://canopy-network.gitbook.io/docs/canopy-network/how-does-canopy-work/consensus) to understand the Byzantine Fault Tolerant consensus process.

Read [Peer-to-Peer](https://canopy-network.gitbook.io/docs/canopy-network/how-does-canopy-work/p2p) to understand how validator nodes communicate.

Read [State Machine](https://canopy-network.gitbook.io/docs/canopy-network/how-does-canopy-work/state-machine) and [Storage](https://canopy-network.gitbook.io/docs/canopy-network/how-does-canopy-work/storage) for the implementation of transactions, state, and persistence.
