Bitcoin Sidechain

Echo's implements a Bitcoin sidechain that allows BTC to be represented as a native currency within the Echo protocol. This allows contracts and apps running in the Echo virtual machine to interact with BTC account balances natively, enabling developers to build applications that transact in Bitcoin.

The sidechain design builds on prior work from RSK and Liquid by Blockstream, which have both implemented a federated bi-directional pegged sidechain. In these designs, a fixed federation (committee of nodes) is chosen to secure the sidechain peg. These federation members are typically corporations, exchanges, wallet providers and infrastructure companies. Each of these federation members holds a signing key (typically through specialized hardware or software) for the Bitcoin stored in a multi-signature address.

While this model is simple to implement, it requires some trust in the federation members - these companies collectively control all the bitcoin locked in the sidechain and can collude to prevent withdrawals, freeze funds or event steal all of the bitcoin secured. The companies serving as federation members may also be the subject of denial of service attacks, bribe attempts, or government intervention.

Echo's implementation iterates on this model by replacing the fixed committee of companies with a pseudonymous, dynamic, rotating committee that's selected through the Echo PoWR consensus mechanism. This allows the federation to be open, permissionless and censorship-resistant. Any node on the Echo network is eligible to participate in the federation by meeting two conditions:

  1. Running a special version of the Echo node software that includes a Bitcoin full node

  2. Locking up a threshold amount of Echo tokens in escrow, with a 4 week cooldown period

The Echo token lockup is designed to provide Sybil resistance for federation members and to provide an economic penalty for adversarial behavior. As an incentive for participation, committee members earn fees from sidechain transactions and also a dedicated, inflationary block reward. From this set of nodes, the Echo protocol selects a random subset of 21 as federation members. The selection is performed by a Verifiable Random Function (VRF), weighted by the amount of Echo tokens the node has locked up.

In addition to being randomly selected, each committee is time-bound to a fixed duration (initially 24 hours). Every 24 hours, a new committee is selected that replaces up to 1/3rd of committee members. The committee rotation is accomplished by using threshold signatures, using a Distributed Key Generation (DKG) process to generate new key shares and reshuffle them to participants without requiring an on-chain transaction to change federation members in most cases. Every on-chain transaction will be constructed in and signed via a Secure Multiparty Computation (SMPC) protocol, thus improving the privacy of the committee members, the key management and storage safety, improving Bitcoin fungibility, and reducing "spam" by minimizing both transaction size and frequency. Unlike many of the DKG protocols used today, our DKG runs on top of the Echo blockchain itself, thus making it fully auditable and more secure, by incentivizing the members on chain (e.g., by penalizing incorrect participating in the protocol by slashing, etc.).

By introducing a dynamic, pseudonymous, open federation, Echo improves on the trust-minimization of existing sidechain architectures. Pseudonymity and the dynamic, time-bound committee reduces the opportunity for collusion, bribe attempts, or targeted attacks of any given federation member. Open participation shifts the trust model of the system from trusting known companies (essentially custodians) with a trust in the economic incentives and VRF selection process of the Echo protocol. We think this is a significant step forward in the design of trust-minimized sidechains, but certainly not the end state. To that end, we will continue to research, test, and fund R&D both Bitcoin Core upgrades (e.g. Taproot and MAST) and layer 2 architectures (e.g. Statechains) that will improve the usability and security model of BTC sidechains.