Links

Introduction

Sidechains are similar in design to the Lightning Network and act as a parallel layer for settlement of transactions. They however, differ in architectural construction since they don't have channels or liquidity. Sidechains' design is the same as Bitcoin-L1 except that block headers are committed at regular intervals to Bitcoin-L1 or their blocks are merge-mined along with Bitcoin-L1 with smaller commitments being made in parallel on the sidechain. A sidechain when viewed from the outside looks no different than a standard blockchain, and a platform that adopts Bitcoin-L1 can readily migrate to a sidechain by making minimal changes.
A sidechain can provide an improved set of features (eg: the block interval can be smaller, there may be no transaction fees associated with the sidechain, etc). All bitcoin protocol rules valid in Bitcoin-L1 are valid in a sidechain based on Bitcoin, although a sidechain can be based on a different currency like Ethereum and commit state updates to Bitcoin-L1. A sidechain can also be a federated system, with certain entities having permissions to write to the sidechain and subsequently, Bitcoin-L1.
An openx platform can be its own sidechain and a centralized coordinator can group the hashes and commit them at regular intervals to Bitcoin-L1. The parent openx platform could itself be a sidechain and different platforms based off openx can be children sidechains which commit to the parent openx sidechain. Functions inside the platform can be similar to those on Bitcoin except they can be faster, cheaper and can have more features added on to the base layer. Each individual platform need not worry about whether it is running on a sidechain or not since there is no distinction.
An alternate architecture would be one where each platform submits transactions and other changes to the bigger openx platform, and openx decides which sidechain to post the transaction to. Additional features (that are not present on the Bitcoin base layer) if used can be marked with flags. Openx can maintain an internal store of the transactions broadcast by a platform. Openx can also broadcast transactions without flags to Bitcoin-L1 depending on the amount transacted and the current fee market. Openx should return a proof to the caller platform (ideally a tx id) that the transaction was broadcast, along with a sidechain or Bitcoin-L1 identifier. This identifier can be used on a sidechain or Bitcoin-L1 explorer to identify the transaction.
A sidechain explorer should contain the details of the tx (like a normal blockchain explorer) along with the L-1 block the chain's headers were committed to. This way, entities in possession of the proofs can easily cross reference where their transactions were committed. In the alternate architecture, an explorer must display if the transaction was committed to Bitcoin-L1 or a sidechain, and provide an identifier for the same.
A sidechain can also be used in combination with Bitcoin-L1 or another blockchain. The sidechain could be used as a layer for updating state and Bitcoin-L1 could be the layer where investments and payments happen.
The trust model for this depends on the sidechain's construction - who can create blocks, who can post transactions, etc. Since opensolar's idea revolves around trusting the platform, the platform can be the entity that performs these functions. Existing sidechains like Liquid or merge mined coins like RSK can also be used in place of a custom sidechain. The trust model for the latter is that one should trust the entities controlling these sidechains along with the platform.