Utility
Last updated
Last updated
Canopyβs peer-to-peer vision is a network of utility-specific blockchains that serve as a decentralized launchpad for new chains. As these chains mature, they grow into fully independent peers, contributing back to the launchpad, strengthening the utility.
β¨ This page details the high level architecture and technical implementation of this decentralized launchpad and offers a comprehensive explanation of this recursive system.
Every Canopy chain comes pre-built with Security Root functionality: βͺ The ability to provide security for multiple external blockchains (Nested-Chains) simultaneously.
This is accomplished by allowing Root-Chain Validators to organize in subsets called . Within each Committee, Validators opt-in
to their on the Root-Chain to perform Consensus (BFT) on behalf of the Nested-Chain.
Validators registered in a Committee run a full instance of the Nested-Chain software, which includes its own consensus rules, block timing, and execution environment β entirely independent from the Root-Chain.
βͺ The Nested Chain software may be from the Canopy template, and is configured with their Validator_Private_Key
for consistent identity across chains.
This design positions the Nested Chain as a fully independent network from the start β without the of L1s.
Nested Chain instances connect over dedicated P2P channels, where BFT consensus is executed β using the Root-Chain Validator's economic collateral only for as long as itβs designated as the security source.
The result: Nested-Chains gain strong security guarantees without becoming dependent on the Root-Chain β meaning the Security Root is just a pluggable Validator provider to the Nested Chain.
Nested-Chains continue to operate under this security model throughout their incubation phase β steadily maturing at their own pace, becoming economically secure, growing their ecosystem, and improving decentralization.
β¨ Importantly, the Nested-Chain is able to switch Security Roots at anytime, executing a governance transaction which triggers a Root-Chain switch. This enables a Nested-Chain to achieve full independence by changing itself as its own Security Root.
If the Nested-Chain is built with the Canopy template, it too is able to have Nested-Chains β at which point the recursive lifecycle starts again.
At its core, a Committee is simply an on-chain coordination of trustless Validators running specific software. This flexibility allows for multiple flavors of Nested Chains, including:
β’ New utility blockchains tailored for specific applications. β’ Consensus-driven decentralized oracles that aggregate and validate external data (such as the state of another blockchain or some DePIN application). β’ On-the-fly horizontal scaling for a subset of functionality or state (sharding)
In order to qualify as a Nested Chain for the Canopy protocol β a chain must satisfy the following interface:
β¨ Developers may modify the template as needed β like changing State Machine logic to add new utility, or updating NestBFT to use Proof-of-Work instead of Proof-of-Age.
The template comes pre-packaged with L0 functionality, enabling a recursive architecture where Nested-Chains may have Nested-Chains.
By default, Canopy Nested-Chains connect to the Root-Chain via web-sockets.
β’ This connection enables the Nested-Chain to subscribe to critical information from the Root Chain like Validator updates.
β¨ Once connected to the Root-Chain, the Nested-Chain functions like a typical blockchain β syncing, validating, and executing transactions β with one key distinction: its validator set is sourced externally.
Nested-Chains may also be implemented as consensus-driven decentralized oracles β enabling many interesting use-cases.
Example 1: Permissionless Token Swaps to Bitcoin
β¨ The Canopy community wants token swaps to Bitcoin without requiring Bitcoin to make any changes to their software.
The Canopy community build a Nested-Chain that requires the Committee to come to consensus on the state of finalized Bitcoin data by using a local full-node or light client:
A Bitcoin participant self-send an BTC transaction - embedding an intent to buy this order in the sigscript
field.
The Committee witnesses the lock by reading the Bitcoin blockchain, coming to a +β
quorum agreement, and locks the SellOrder on the Root-Chain via the CertificateResultTx
Seeing the lock, the buyer sends BTC directly to the sellerβs BTCReceiveAddress
.
The Committee witnesses the BTC transfer, comes to another +β
quorum, and releases the sellerβs CNPY on the Canopy to the buyerβs RootChainAddress
.
Example 2: Validator Quality of Service for Cosmos
β¨ The community of a Cosmos chain decide that too many invalid transactions are being included in the block β but they don't want to make any changes to their software.
Canopy patrons build a Nested-Chain that requires the Committee to come to consensus on finalized Cosmos data by using a local full-node or light client:
A Validator on Cosmos creates the next block with no invalid transactions
The Committee witnesses this behavior by reading the external blockchain, coming to a +β
quorum agreement, and embeds the Validator as a reward recipient in the CertificateResultTx
.
The Validator is able to claim those funds using the same SECP256K1 public key the validator uses on Cosmos, binding their identity across chains.
Nested-Chains pay for Consensus services using their native cryptocurrency. Each time a new block is produced, the Validator who produced the block is rewarded.
Patrons of the Nested-Chain may further subsidize the Committee on either the Root-Chain or the Nested-Chain via a manual Subsidize Transaction
.
The default implementation of a Nested Chain is the go client
. Builders simply fork and clone the software to have a fully functional Nested-Chain out of the box.
The connection to the Root-Chain can be 'trustless' by utilizing proofs of inclusion from the . For simplicity the default implementation assumes the Nested-Chains has access to a Root-Chain full-node.
If Validator update are received from the Root-Chain in the middle of executing an instance of , the process resets consensus but maintains Locks
for BFT safety.
A Sell Orders (Ask) is created on Canopy - their CNPY is transferred to the of the Committee.
β¨ Most Nested-Chain's are predicted to be by the native crypto-currency of its Root-Chain. Thus, Validators performing Consensus services for the Nested-Chain are paid in the native currency of both the Nested-Chain and the Root-Chain.