Blockchain, Sidechain e Off-chain
Com o sucesso das redes blockchain públicas como Ethereum e Bitcoin, o volume exponencial de transações acabou se tornando talvez o maior problema delas. Novos blocos são alocados nas redes a intervalos fixos de tempo, com tamanhos também fixos. Desse modo, se um usuário envia uma transação com conteúdo muito grande, o impacto é sentido na rede, fazendo com que os outros usuários tenham de aguardar mais tempo para um novo bloco receber suas transações. Alternativamente o usuário poderá pagar uma taxa mais alta para sua transação ser efetivada mais rapidamente. Ambos efeitos são ruins, fazendo com que o problema de escalabilidade venha sendo discutido exaustivamente dentro da comunidade.
Visando resolver estes problemas, certas tarefas são feitas fora do blockchain (“off-chain”) em questão, mas em um blockchain secundário (“sidechain”). Os sidechains rodam em paralelo com o blockchain principal, podendo estender suas funcionalidades, segurança, performance, escalabilidade e diminuir custos.
Os principais casos de uso destes conceitos são:
Armazenamento de arquivos de dados
Aplicações que garantem a autenticidade e propriedade intelectual de documentos eletrônicos costumam fazer uso da tecnologia de sidechain. Arquivos como contratos, escrituras, letras de música, imagens e fotos podem ocupar bastante espaço em disco. Portanto, o armazenamento destes de maneira off-chain auxilia em muito o blockchain. A aplicação gera um hash do documento eletrônico, que é armazenado no blockchain principal. Esse hash funciona como uma assinatura digital exclusiva do seu documento, de modo que, se necessário você consegue comprovar de maneira inquestionável que você já detinha este documento em determinada data. O blockchain secundário será indexado ao principal (Ethereum, por exemplo), de modo que se consiga se resgatar o arquivo em questão.
É possível também armazenar o arquivo autenticado com o hash na sua própria máquina local, caso você não precise exibí-lo online. Assim você estaria usando um recurso off-chain, mas não uma sidechain.
O Swarm é um serviço de armazenamento e distribuição de conteúdo da rede Ethereum. Ele ainda está na fase de testes e é usado automaticamente por todos os nós da rede.
Esquema básico exemplificando o armazenamento de um arquivo grande em um sidechain.
Micro-pagamentos
A idéia básica aqui é que transações financeiras aconteçam na sidechain, através da abertura de canais entre o blockchain e o sidechain. Desta forma, apenas a transação inicial e a final constarão no blockchain primário, de forma que este último mantenha atualizado o saldo inicial e final das contas envolvidas.
Esta tecnologia abre canais de pagamento privados entre um par de nós e todos os outros pares com os quais ele negocia. Na rede Lightning, por exemplo, as verificações seriam instantâneas, através de canais de pagamento privados protegidos por bloqueios multi-assinatura e bloqueios de horários. Os pares transacionariam entre si em seus canais privados, mas apenas o resultado final da transação seria transmitido ao Blockchain. Desse modo, muito menos transações precisam ser mineradas, desafogando a rede.
A rede Ethereum conta com o projeto Raiden, em teste na rede Litecoin. Enquanto isso o Bitcoin testa o Lightining.
Transações entre diferentes ativos
O intercâmbio entre ativos (tokens ou criptomoedas) é facilitado através da criação de um blockchain específico do novo ativo, que pode ser convertido do Bitcoin, por exemplo, para a moeda em questão, e vice-versa. Existe um controle de bloqueio que suspende o uso do ativo original enquanto ele estiver convertido no outro ativo.
Assim os usuários podem efetivamente “movimentar” seus bitcoins para a rede do novo ativo, que opera sob regras totalmente diferentes, mas ainda manter paridade com o Bitcoin. Podem se beneficiar disso instrumentos de financiamento tradicionais como ações, obrigações, vouchers e notas promissórias.
Marcelo Creimer – Blockchain Project Manager – eZly Tecnologia