Em algumas situações, as especificações técnicas de uma determinada blockchain não contemplam as necessidades de um determinado projeto. Por exemplo, a espera de confirmação de um bloco pode ser muito longa ou até mesmo muito caro para processar todos os dados da cadeia.
Para resolver problemas pontuais nessas blockchains, é possível utilizar o que chamamos de sidechain. Sendo assim, neste artigo, será explicado o conceito de sidechain, como funciona e alguns exemplos onde pode haver sua aplicação.
O que é sidechain?
Sidechain é um blockchain separado, que atua como uma extensão do blockchain principal, também referido como mainchain. Desse modo, para criar uma sidechain, é necessário introduzir um processo fora da blockchain (off-chain) que fará com que os dados se comuniquem entre dois blockchains.
Isso permite a transferência de ativos ou a sincronização de qualquer tipo de dados entre blockchains. O procedimento de sincronização exige que as informações sejam propagadas entre blockchains na forma de eventos. Para iniciar o procedimento, o usuário necessita bloquear seus fundos, que pode ser realizado através de uma transação via smart contract.
Em seguida, o smart contract irá emitir um evento, que será captado pelo processo fora da cadeia. Este processo fora da cadeia fica observando o blockchain, com o objetivo de achar estes eventos. Com isso, ele irá lidar com o evento, criando uma transação que irá transferir a informação ao smart contract na blockchain oposta, de uma forma que permita a verificação da validade do evento.
Com isso, após verificar a validade do evento, o smart contract no blockchain pode liberar e transferir os fundos para o usuário. As operações podem ser realizadas em ambas as direções, permitindo aos usuários utilizam tanto a mainchain quanto a sidechain de forma intercambiável.
Veja também: O que são contratos inteligentes em Blockchain?
Processo off-chain
O processo off-chain pode tomar diversas formas, contudo, neste artigo, serão tomados como referências apenas os dois mais comuns:
- O primeiro é um Gateway oráculo, que utiliza sua chave privada para assinar as informações sobre o depósito, encaminhando as para o smart contract em um blockchain de destino;
- Já o segundo, uma versão mais descentralizada do processo off-chain, qualquer terceiro interessado pode passar as informações sobre sua transação junto com os cabeçalhos de bloco, permitindo o smart contract checar sua validade.
Cada um destes processos vem com seus próprios riscos, que serão discutidos mais à frente. É importante mencionar ser possível imitar a funcionalidade da sidechain através do uso de carteiras com várias assinaturas.
Com isso, ao invés de se comunicar com um smart contract, um grupo de validadores confiáveis podem simplesmente assinar as transações de retirada. Contudo, chamar essa solução de sidechain é uma discussão onde muitos especialistas em blockchain não chegam a um consenso.
Sidechain: Benefícios
Sidechains podem expandir bastante o uso de diversas aplicações, permitindo a integração de diversos tipos de blockchains e criptomoedas. Se mainchain não se encaixar com as necessidades de determinada aplicação, é possível permitir a transferência de tokens para uma sidechain customizada e executar toda a lógica de negócio.
Além disso, se a equipe de desenvolvimento deseja realizar uma aplicação que suporte diversas criptomoedas, mover esta lógica para sidechain pode poupar muito do trabalho que seria necessário para replicar a mesma funcionalidade em projetos criptográficos, que por sua vez, não utilizam os mesmos smart contracts.
Um outro ponto é que sidechains proporcionam a redução das taxas de transação na mainchain, visto que só é necessário guardar a lógica responsável pela comunicação com a sidechain. Elas podem utilizar diferentes mecanismos de consenso, possuir diferentes tempos de bloco e recursos sem a necessidade de introduzir qualquer mudança no protocolo da blockchain principal.
Veja também: Polkadot, o protocolo que levará a blockchain ao próximo nível
Sidechain: Desvantagens
As sidechains são responsáveis por sua própria segurança, sendo assim, a segurança não é derivada da mainchain. Isso pode ser algo positivo e negativo ao mesmo tempo. Isso significa que a falta de segurança não afeta a blockchain principal. Contudo, isso também significa que as blockchains maiores, como Bitcoin, não podem compartilhar nenhuma lógica de segurança para as menores.
Além disso, sidechains precisam de seus próprios mineradores, sendo assim, um grande pool, com diversos mineradores é essencial para que a maioria dos blockchains possam proteger sua rede. Desse modo, cadeias mais novas precisam fazer o seu melhor para aumentar seu sistema de mineração. Contudo, isso pode ser difícil, visto que a maioria das blockchains mais novas podem ser menos lucrativas para os mineradores.
Esse processo de conseguir mineradores nas sidechains pode ser ainda pior, visto que, geralmente, elas não possuem seus próprios tokens. Como resultado, acaba por não conseguir incentivar os mineradores, visto que sua principal fonte de receita é a emissão de tokens nativos da blockchain.
Exemplos de plataformas sidechain
Loom Network
A Loom Network é uma plataforma de criação de aplicações que funcionam com diversas criptomoedas. Ela consiste por meio de um blockchain chamado Basechain. Protegida por um grupo de 21 validadores, a Loom Network oferece suporte para smart contracts baseados em Ethereum Virtual Machine, bem como, em seu próprio motor de smart contracts, baseados na linguagem Go.
Cada uma das aplicações descentralizadas criadas através da Loom Network é uma sidechain separada da Basechain. Desse modo, ela não somente oferece integração com a Ethereum e Tron pelos oráculos de Gateway, mas também com a Binance Chain e Bitcoin, graças às carteiras com múltiplas assinaturas.
POA Network
POA Network é uma solução sidechain para a Ethereum, que oferece uma maior taxa de transferência nas transações, menores taxas de transações e tempos de blocos mais confiáveis. Ela utiliza um mecanismo de consenso chamado proof of authority, onde a rede é governada por uma organização autônoma descentralizada (DAO).
Conclusão
A construção de sidechains é uma solução de escalonamento para blockchains tradicionais. Ao acoplar uma sidechain, o blockchain passa a possuir recursos construídos especificamente para um propósito, trazendo diversos recursos que antes limitavam o uso de um determinado blockchain.
Como resultado, há uma diminuição da necessidade de que os blockchains mais tradicionais passem por longos e complexos processos de atualização. Em suma, dificilmente um blockchain terá todos os recursos necessários para solucionar todos os problemas, fazendo com que, cada vez mais, a construção de sidechains sejam necessárias, no intuito de abordar determinados problemas.