CryptoTimes

O mito de imutabilidade do blockchain (parte 2): diferentes blockchains têm o mesmo propósito?

01 ago 2020, 13:00 - atualizado em 30 jul 2020, 15:15
Entenda, neste artigo dividido em duas partes, o que é a imutabilidade do blockchain e por que ela é tão fundamental na segurança de uma rede (Imagem: Freepik/starline)

Parte 1

CONTINUA DEPOIS DA PUBLICIDADE

Reescrever blockchains privados

Agora, vamos falar sobre blockchains privados, criados para suprir as necessidades de governos e grandes empresas.

Podemos começar ao destacar que, pela perspectiva dessas organizações, imutabilidade com base em proof-of-work não interessa na forma comercial, legal e regulatória, pois permite que qualquer agente (suficientemente rico) ataque anonimamente a rede.

Para empresas, a imutabilidade só pode ser fundamentada sobre o bom comportamento de outras instituições parecidas, com as quais podem assinar um contrato ou processá-las caso necessário.

Como um bônus, blockchains privados são bem mais custo-benefício, já que blocos só precisam de uma simples assinatura digital dos nós que os aprovam.

Contanto que a maioria dos nós validadores seguir as regras, o resultado final será uma imutabilidade mais robusta e barata do que qualquer criptomoeda pública pode oferecer.

É claro que ainda é fácil determinar a imutabilidade se todos os participantes de um blockchain decidirem fazê-lo juntos. Imaginemos um blockchain privado usado por seis hospitais que agregam dados sobre infecções.

Um programa em um hospital transmite um grande conjunto de dados errôneos no blockchain, que é uma fonte de inconveniência para outros participantes.

Contanto que a maioria dos nós validadores seguir as regras, o resultado final será uma imutabilidade mais robusta e barata do que qualquer criptomoeda pública pode oferecer (Imagem: Crypto Times)

Algumas ligações de telefone depois, os departamentos de tecnologia da informação (TI) de todos os hospitais concordam em “rebobinar” seus nós em uma hora, deletarem os dados problemáticos para, em seguida, permitirem que o blockchain continue funcionando como se nada tivesse acontecido.

Se todos os hospitais concordarem em fazer isso, quem saberá o que aconteceu? Exceto pela equipe envolvida, quem saberá que isso jamais aconteceu?

(Deve-se destacar que alguns algoritmos de consenso como PBFT não fornecem um mecanismo oficial para reversões, mas isso não ajuda na governança, pois nós estão livres para descumprir as regras.)

Agora, vamos imaginar um caso em que grande parte dos participantes de um blockchain concorda em retroceder e remover uma transação, mas alguns não concordam.

Já que o nó de cada organização está sob controle definitivo, ninguém pode forçar a minoria a participar do consenso. Porém, ao manter seus princípios, esses usuários vão se encontrar em uma bifurcação sendo ignorada por todos.

Assim como os defensores virtuosos da Ethereum Classic, seu lugar no Céu pode estar garantido. Porém, aqui na Terra, eles serão excluídos de qualquer processo de consenso para o qual o blockchain foi implementado e podem desistir completamente.

A única aplicação prática de transações fora do consenso é servir de evidência em um tribunal.

Com isso em mente, vamos falar sobre o segundo caso em que a doutrina da imutabilidade do blockchain foi usada para zombar de algumas ideias.

Sob as condições corretas, a ideia de permitir que blockchains sejam modificados retroativamente por meio de hashes camaleões pode fazer completo sentido (Imagem: ConsenSys/Blog)

Aqui, estamos nos referindo à ideia da Accenture em usar um hash camaleão para permitir que um bloco escondido em um blockchain seja facilmente substituído.

Sob esse esquema, se uma substituição de bloco acontecer, uma “cicatriz” é deixada para que todos os participantes a vejam. (É importante destacar que quaisquer outras transações seguintes que dependerem da transação deletada também precisarão ser removidas.)

É difícil exagerar a quantidade de pessoas que zombaram dessa ideia quando ela foi anunciada. Usuários do Twitter e do LinkedIn ficaram espantados e agitados.

E não estamos falando apenas dos participantes do mercado cripto, que têm o prazer de zoar qualquer coisa relacionada a blockchains empresariais. A ideia também foi bem detonada por defensores de blockchains privados.

Ainda assim, sob as condições corretas, a ideia de permitir que blockchains sejam modificados retroativamente por meio de hashes camaleões pode fazer completo sentido.

Para entender por quê, vamos começar com uma simples pergunta: nesse tipo de blockchain, quem teria o poder de substituir blocos antigos? Claramente não pode ser nenhum participante não identificado da rede, porque isso faria com que o blockchain não fosse governável.

A resposta é que um hash camaleão só pode ser usado por quem possui sua chave secreta. A chave deve permitir que uma nova versão de um bloco, com diferentes transações, receba o mesmo hash camaleão do que antes.

É claro, nós provavelmente não queremos controle centralizado em um blockchain, então podemos reforçar o esquema ao ter inúmeros hashes camaleões por bloco, em que cada chave fica em posse de uma parte diferente.

O blockchain pode ser configurado para que uma substituição retroativa de bloco só possa acontecer se grande parte dos detentores de chaves a aprovarem. Isso está começando a soar familiar? (Imagem: Freepik/Creative_hat)

Ou também podemos usar técnicas secretas de compartilhamento para dividir uma única chave de hash camaleão entre múltiplas partes.

De qualquer forma, o blockchain pode ser configurado para que uma substituição retroativa de bloco só possa acontecer se grande parte dos detentores de chaves a aprovarem. Isso está começando a soar familiar?

Vamos deixar o paralelo ainda mais explícito. Digamos que compartilhamos o controle sobre hashes camaleões entre aqueles mesmos nós validadores que são responsáveis pela criação de blocos.

Isso significa que um bloco antigo só pode ser substituído se grande parte dos nós validadores concordem em fazê-lo.

Ainda assim, como discutimos anteriormente, qualquer blockchain já pode ser retroativamente modificado pela maioria dos nós validadores por meio do mecanismo de rebobinamento e repetição.

Então, em termos de governança, hashes camaleões sujeitos à maioria dos validadores não têm diferença alguma.

Então por que importam? A resposta é: otimização de desempenho porque hashes de camaleão permite que blocos antigos sejam substituídos em um blockchain de forma bem mais eficiente do que antes.

Na próxima vez que um blockchain fosse escaneado ou compartilhado, tudo viraria um caos (Imagem: Freepik/rawpixel.com)

Imagine que precisamos remover uma transação do início de um blockchain que está funcionando há cinco anos. Talvez isso seja resultado da esquecida lei de Direito ao Esquecimento da União Europeia, que permite que pessoas tenham seus dados pessoais removidos de registros de empresas.

Leis de proteção de dados e registro distribuído:
de quem são os dados?

Nós não podem simplesmente apagar a transação ofensiva de seus discos porque isso mudaria o hash do bloco correspondente e quebrar uma ligação no blockchain. Na próxima vez que um blockchain fosse escaneado ou compartilhado, tudo viraria um caos.

Para solucionar esse problema sem usar hashes camaleões, nós teriam de reescrever o bloco antigo sem a transação problemática, calcular o novo hash do bloco e alterar o hash incorporado no próximo bloco para combiná-lo.

Porém, isso também iria afetar o próprio hash do próximo bloco, que deverá ser recalculado e atualizado no bloco seguinte e assim por diante em todo o blockchain. Embora esse mecanismo seja possível, levaria horas ou dias para ser completado em um blockchain com milhões de blocos e transações.

Pior ainda: enquanto faz  isso, um nó pode ser incapaz de processar novas atividades na rede. Então, hashes camaleões fornecem uma forma bem mais eficiente de atingir o mesmo objetivo.

Se você pensar em uma transação ruim como uma rocha enterrada a muitos quilômetros abaixo do solo, hashes camaleões podem teletransportar a rocha à superfície em vez de nos fazer cavar até lá embaixo, pegar a rocha e tapar o buraco.

O que esses usuários precisam é de imutabilidade fundamentada no bom comportamento de grande parte dos nós validadores apoiada por contratos e pela lei (Imagem: Freepik/starline)

A imutabilidade é sutil

Ao analisar os riscos de blockchains proof-of-work e o valor técnico de hashes camaleões, espero termos convencido você de que a imutabilidade do blockchain é bem mais sutil do que uma resposta de “sim” ou “não”.

Fazendo referência a Simon Taylor que cita Ian Grigg, a pergunta deve sempre ser: “quem é você e o que você quer alcançar?”.

Para defensores de criptoativos que querem evitar o dinheiro emitido por governos e o sistema bancário tradicional, faz total sentido acreditar em um blockchain público e proof-of-work, cuja imutabilidade depende de economia em vez de partes confiáveis.

Mesmo se tiverem de viver com a possibilidade de um grande governo (ou outro agente muito rico) derrubar a rede, eles podem se contentar com o fato de que essa seria uma operação dolorosa e cara.

Sem dúvidas, esperam que criptoativos se tornem cada vez mais seguros conforme seu valor e a capacidade de mineração continuam a crescer.

Por outro lado, para empresas e outras instituições que desejam compartilhar base de dados com segurança entre limites organizacionais, a imutabilidade proof-of-work não faz sentido.

Não é apenas supercaro, como também permite que qualquer participante suficientemente motivado anonimamente obtenha controle do blockchain e censure ou reverta transações.

O que esses usuários precisam é de imutabilidade fundamentada no bom comportamento de grande parte dos nós validadores apoiada por contratos e pela lei.

Por fim, grande parte dos casos de uso de blockchains permissionados, provavelmente não queremos que nós validadores consigam facilmente substituir blocos antigos no blockchain.

Conforme disse David Birch: “a forma de corrigir um débito errado é com um crédito correto” em vez de fingir que o débito nunca aconteceu. No entanto, para esses casos de uso em que precisamos de flexibilidade extra, hashes camaleões ajudam a tornar blockchains em uma escolha prática.