Sidechain é uma blockchain que valida dados de outras blockchains. Essa tecnologia foi desenvolvida como uma alternativa para promover integração entre blockchains e adicionar funcionalidades, sem a necessidade de se modificar os scripts das blockchains. Desde a introdução do Bitcoin por Satoshi Nakamoto em 2008, diversas cadeias de blocos alternativas, denominadas altchains, foram criadas, cada uma dessas com sua própria tecnologia e sua própria criptomoeda, as Altcoins. A existência de diversas blockchains isoladas gerou uma fragmentação dos mercados e do desenvolvimento. Sidechains surgiram como uma alternativa para solucionar esses problemas, permitindo que ativos possam ser movidos entre as cadeias.
O conceito de sidechains foi sugerido primeiramente num episódio de um podcast sobre Bitcoin. Posteriormente, esse conceito foi formalizado num whitepaper na forma de Pegged Sidechains, por um grupo de desenvolvedores do Blockstream em outubro de 2014.
A ideia de Sidechain foi proposta com o objetivo de solucionar desafios relacionados a escalabilidade do Bitcoin. O Bitcoin possui um objetivo simples: é uma cadeia de blocos suportando a transferência de ativos nativos que podem ser convertidos em outros itens, porém sua popularização implicou em alguns problemas:
Altchains foram propostas para solucionar esses problemas, porém a criação de blockchains alternativas criam um problema de isolamento e fragmentação. As sidechains propostas pelo Blockstream promovem integração entre essas cadeias alternativas. Dessa maneira é possível enviar ativos de uma cadeia para um endereço específico de forma que esses ativos passam a ficar fora do controle de qualquer usuário e só podem ser desbloqueadas se for provado que não estão sendo utilizadas em outro lugar. Depois que esse processo é concluído, é possível "mover" os ativos para outra cadeia que concorde em atuar como sidechain da cadeia original através de uma mensagem que prova que eles estão imobilizados. Uma vez confirmada a mensagem, a segunda cadeia cria uma quantidade de tokens equivalentes aos ativos enviados. Dessa forma não há ativos criados ou destruídos na cadeia original, eles permanecem imobilizados. Em caso da ligação entre as cadeias ser simétrica, é possível "mover" os ativos de volta para a cadeia principal, efetivamente desbloqueando os ativos imobilizados.
As sidechains propostas pelo Blockstream são denominadas Pegged Sidechains, cujas propriedades desejadas são:
Segundo os desenvolvedores do Blockstream, um dos princípios de sidechains é a propriedade de não ser preciso confiar em terceiros para executar operações corretamente, pois assim é possível minimizar a necessidade de confiança no modelo do Bitcoin. Com isso espera-se evitar utilizar usuários fixos para validar os ativos imobilizados, o que geraria um ponto único de falha. Fato que implicaria que os usuários responsáveis por validar as transações das sidechains jamais pudessem ser comprometidos ou deixassem a rede.
O processo de validação descentralizada das movimentações dos ativos entre as cadeias constitui uma federação, que, no caso do Bitcoin, não possui um script expressivo o suficiente para codificar as regras necessárias. O processo de pegging para o Bitcoin visa encontrar uma forma de expandir as funcionalidades do script padrão sem a necessidade de modificações no protocolo, como um soft-fork.
Pegged Sidechain é uma sidechain cujos ativos podem ser importados de outras cadeias e retornados a elas. Esse processo de ida-e-volta de ativos a uma taxa de transferência fixa ou determinística é chamado two-way peg, uma conexão de duas vias. A conexão ou peg simétrico ocorre da seguinte forma: para transferir moedas de uma cadeia para a sidechain, as moedas são enviadas para uma saída na cadeia inicial que só pode ser desbloqueada através de uma prova de trabalho na sidechain. Para sincronizar as duas cadeias é necessário aguardar dois intervalos de espera:
Uma pegged sidechain pode conter ativos de diferentes cadeias, portanto esses diferentes ativos não são intercambiáveis (exceto em casos de troca explícita) de forma a evitar que usuários maliciosos possam trocar ativos de pouco valor por outros. O processo é dito simétrico, pois quando um usuário pretende enviar as moedas de volta para a blockchain original ele deve repetir o mesmo procedimento. Para realizar a transferência de ativos de uma sidechain de volta para a blockchain original, é necessário uma prova de que esses ativos estavam imobilizados. Essas provas contém um registro de que uma saída foi criada na sidechain e uma prova de trabalho sobre essa saída.
Diferentemente da conexão simétrica, pegging assimétrico utiliza protocolos diferentes para as transações em cada sentido. Na conexão assimetrica os usuários da sidechain são validadores da cadeia inicial e as transferências entre a cadeia inicial e a sidechain não necessitam de provas de trabalho, pois todos os validadores conhecem o estado da cadeia inicial. Por outro lado, a transferência de volta para a cadeia de origem utiliza o método de prova de trabalho similar ao método simétrico.
O pegging assimétrico provê maior segurança contra o ataque de 51% ao custo de que os validadores precisam conhecer o estado da cadeia inicial, o que aumenta sua complexidade.
De acordo com os desenvolvedores do Blockstream, sidechains geram soluções para vários problemas ligados a criptomoedas e criam oportunidades para inovação. Todavia, existem desvantagens relacionadas ao uso dessa ferramenta, descritas abaixo:
A primeira aplicação para sidechain é simplesmente criar uma altchain com moedas derivadas do Bitcoin. Ao utilizar uma sidechain que carrega bitcoins, e não uma moeda nova, é possível evitar problemas relacionados a distribuição inicial e vulnerabilidade do mercado, assim como barreiras para adoção de novos usuários.
Tecnicamente, sidechains são cadeias completamente independentes e, por esse motivo, são capazes de modificar características do Bitcoin como a estrutura do bloco ou a corrente de transações. Dessa forma, sidechains podem adicionar ou modificar recursos que o Bitcoin não oferece diretamente. Os desenvolvedores citam algumas alterações:
Sidechains podem ser modeladas sem moedas nativas. Nesse tipo de implementação todas as moedas estão inicialmente paralisadas, até que sejam ativadas por uma transação de outra sidechain. Alternativamente,sidechains podem também produzir seus próprios símbolos (ou ativos emitidos). Esses simbolos podem ser transferidos para outras sidechains e trocados por outros ativos e moedas, sem necessitar de uma autoridade central. Correntes de ativos emitidos possuem várias aplicações, incluindo instrumentos de financiamento tradicional como ações, obrigações, vouchers e notas promissórias. Isso permite a protocolos externos delegar propriedade e rastreamento de transferências a sidechain na qual as ações de proprietário foram emitidas. Essa tecnologia permite a criação de transações úteis, capazes de, entre outros benefícios, ajudar a reduzir a volatilidade do próprio Bitcoin.