Blockchain, blockchain, blockchain...
De um tempo para cá, parece que não se fala de outra coisa. Mas, principalmente, fala-se muita bobagem. Pouca gente, de fato, sabe do que está falando com a profundidade necessária. Segundo Jimmy Song, editor do Bitcoin Tech Talk, se formos acreditar em tudo o que diz, a “cadeia de blocos” vai
- Resolver a desigualdade de renda
- Tornar todos os dados seguros para sempre
- Tornar tudo muito mais eficiente e confiável
- Salvar os bebês doentes
Será que o blockchain é capaz de fazer todas essas coisas? Claro que não, isso é papel das pedras filosofais – e, mesmo assim, apenas nos livros do Harry Potter.
Para entender melhor algo se a tecnologia é mesmo capaz de realizar coisas incríveis para indústrias tão diversas como saúde, finanças, gestão da cadeia de suprimentos e direitos de música, sugiro continuarmos com o Jimmy. A vantagem de o termos como guia é o fato de ele ser um profundo especialista em bitcoin e ao mesmo tempo um cético sobre o Blochain.
Em artigo recente, Jimmy buscou responder as principais questões em torno do tema. Vamos seguir com ele.
O que é blockchain?
Tecnicamente falando, blockchain é uma lista encadeada de blocos e um bloco é um grupo de transações ordenadas.
Dito de outra forma, um blockchain pode ser visualizado como um subconjunto de um banco de dados, com algumas propriedades adicionais. A principal diferença em relação a um banco de dados normal é que existem regras específicas sobre como inserir novos dado.
Basicamente, eles não podem entrar em conflito com dados que já estejam no banco de dados (consistência) e não podem ser alterados ou excluídos, apenas anexados (imutabilidade). Além disso, os dados em si são bloqueados para um dono (propriedade). E são replicáveis e disponíveis. Finalmente, todos concordam sobre qual é o estado das coisas no banco de dados (canônico) sem uma entidade central (descentralização).
É este último ponto que realmente é o santo graal do blockchain. A descentralização é muito atraente porque implica que não há um “ponto isolado de falha”. Ou seja, nenhuma autoridade única será capaz de tirar seu patrimônio ou mudar a "história" para atender às suas necessidades. Essa trilha de auditoria imutável na qual você não precisa confiar em ninguém é o benefício com que todos que estão usando essa tecnologia estão contando. Mas ele tem um grande custo.
Custo dos blockchains
A trilha de auditoria imutável não controlada por uma única parte é certamente útil, mas há muitos custos para criar tal sistema. Vamos examinar alguns dos problemas.
Desenvolvimento é mais rigoroso e mais lento
Criar um sistema comprovadamente consistente não é uma tarefa fácil. Um pequeno bug pode corromper todo o banco de dados ou fazer com que alguns bancos de dados fiquem diferentes dos outros. Ora, um banco de dados corrompido ou dividido não tem mais garantias de consistência. Além disso, esses sistemas precisam ser projetados desde o início para serem consistentes. Não há a tal história de "fazer rápido e corrigir rápido" em um blockchain. Se você tiver que corrigir, perde-se a consistência e o blockchain se torna corrompido e sem valor.
Você pode estar pensando: por que você não se pode simplesmente consertar o banco de dados ou começar de novo e seguir em frente? Isso seria bastante fácil de fazer em um sistema centralizado, mas é muito difícil em um sistema descentralizado. Você precisa de consenso, ou seja, ter o acordo de todos os jogadores no sistema, a fim de alterar o banco de dados.
Estruturas de recompensa são difíceis de projetar
Adicionar as estruturas de recompensa corretas e garantir que todos os atores do sistema não abusem ou corrompam o banco de dados também é uma consideração importante. Um blockchain pode ser consistente, mas isso não é muito útil se ele tiver muitos dados inúteis e frívolos, porque os custos de colocar dados nele são muito baixos. Também não é útil um blockchain consistente se quase não houver dados, porque os custos de colocar dados nele são muito altos.
O que dá finalidade aos dados? Como você pode garantir que as recompensas estejam alinhadas com as metas da rede? Por que os nós mantêm ou atualizam os dados e o que os faz escolher uma parte dos dados em relação à outra quando estão em conflito? Estas são todas perguntas que precisam de boas respostas e precisam estar alinhadas não apenas no começo, mas em todos os pontos no futuro, à medida que a tecnologia e as empresas mudam – caso contrário, o blockchain não é útil.
Novamente, você pode estar se perguntando por que não consegue "consertar" alguma recompensa “quebrada”. Mais uma vez, isso é fácil em um sistema centralizado, mas de forma descentralizada, você simplesmente não pode mudar nada sem consenso. Não há como "consertar" nada, a menos que haja um acordo de todos.
A manutenção é muito cara
Um banco de dados centralizado tradicional só precisa ser gravado uma vez. Um blockchain precisa ser escrito milhares de vezes. Um banco de dados centralizado tradicional precisa apenas verificar os dados uma vez. Um blockchain precisa verificar os dados milhares de vezes. Um banco de dados centralizado tradicional precisa transmitir os dados para armazenamento apenas uma vez. Um blockchain precisa transmitir os dados milhares de vezes.
Os custos de manutenção de um blockchain são muito maiores e o custo precisa ser justificado pela utilidade. A maioria das aplicações que procuram algumas das propriedades declaradas anteriormente, como consistência e confiabilidade, podem obter essas coisas por um preço muito mais barato, utilizando verificações de integridade, recibos e backups.
Usuários são soberanos
Isso pode ser muito bom, já que as empresas não gostam da responsabilidade de ter dados do usuário em primeiro lugar. Isso pode ser ruim, no entanto, se o usuário estiver "se comportando mal". Não há como expulsar o usuário que está enviando spam a seu blockchain com dados frívolos ou descobriu uma maneira de lucrar de alguma forma que cause muitos inconvenientes aos outros usuários. Isso está relacionado à observação acima de que as estruturas de recompensa precisam ser projetadas muito, muito bem, na medida em que um usuário que descobre uma exploração não vai querer abrir mão delas, especialmente se houver lucro para ele.
Você pode estar pensando que pode simplesmente recusar o serviço a usuários mal-intencionados, o que seria muito fácil de fazer em um serviço centralizado. No entanto, ao contrário de um serviço centralizado, recusar o serviço é difícil porque nenhuma entidade tem autoridade para expulsar ninguém. O blockchain tem que ser imparcial e aplicar as regras definidas pelo software. Se as regras são insuficientes para impedir um mau comportamento, azar seu, que terá que lidar com atores mal-intencionados ou mal-comportados, possivelmente por muito tempo.
Todas as atualizações são voluntárias
Uma atualização forçada não é uma opção. Os outros jogadores da rede não têm obrigação de mudar para o seu software. Se o fizessem, tal sistema seria muito mais fácil, rápido e barato de construir como um sistema centralizado. Mas violaria o conceito de uma blockchain não estar sob o controle de uma única entidade.
Em vez disso, todas as atualizações devem ser compatíveis com versões anteriores. Isso é obviamente muito difícil, especialmente se você quiser adicionar novos recursos e ainda mais difícil de pensar em uma perspectiva de testes. Cada versão do software vai adicionar muita coisa à matriz de testes e aumentar o tempo para o lançamento.
Novamente, se fosse um sistema centralizado, isso seria muito fácil de ser corrigido, apenas deixando de atender aos sistemas mais antigos. Você não pode fazer isso, no entanto, em um sistema descentralizado, pois você não pode forçar ninguém a fazer nada.
A escalabilidade é realmente difícil
Finalmente, a escalabilidade é pelo menos várias ordens de magnitude mais difícil do que em um sistema centralizado tradicional. O motivo é óbvio. Os mesmos dados têm que viver em centenas ou milhares de lugares em vez de em um único lugar. A sobrecarga de transmissão, verificação e armazenamento é enorme, pois cada cópia do banco de dados deve pagá-los, em vez de os custos serem pagos apenas uma vez como em um banco de dados tradicional e centralizado.
Você pode, claro, reduzir a carga reduzindo o número de nós. Mas então, nesse ponto, por que você precisa de um sistema descentralizado? Por que não apenas criar um banco de dados centralizado se os custos de escalabilidade forem a principal preocupação?
A centralização é muito mais fácil
Resumindo, sistemas descentralizados são muito difíceis de operar, caros para manter, difíceis de atualizar e difíceis de dimensionar. Um banco de dados centralizado é muito mais rápido, mais barato, mais fácil de manter e mais fácil de atualizar do que um blockchain. Então, por que as pessoas continuam usando a palavra blockchain como se fosse uma panacéia para todos os seus problemas?
Primeiro, muitos desses setores que estão sendo vendidos em blockchain estão realmente atrasados em relação a atualizações de infraestrutura de TI. A área de saúde têm softwares notoriamente terríveis. A liquidação financeira ainda está sendo executada em softwares dos anos 70. O software de gerenciamento da cadeia de suprimentos é difícil de usar e difícil de instalar. A maioria das empresas dessas indústrias resistem à atualização devido ao risco envolvido. Há muitos upgrades de infraestrutura que custam centenas de milhões e acabam sendo revertidos de qualquer maneira. O blockchain é uma forma de vender essas atualizações de infraestrutura de TI e torná-las um pouco mais apetitosas.
Segundo, blockchain é uma maneira de parecer que você está na ponta da tecnologia. Goste ou não, a palavra “blockchain” adquiriu vida própria. Muito poucas pessoas realmente entendem o que é, mas querem parecer antenadas, então usa essa palavra como uma maneira de parecer mais inteligente. Assim como “nuvem” significa o computador de outra pessoa e “AI” significa um algoritmo aperfeiçoado, “blockchain” nesse contexto significa um banco de dados lento e caro.
Em terceiro lugar, as pessoas realmente não gostam do controle governamental de certas indústrias e querem um mecanismo de adjudicação diferente do arcabouço legal, que geralmente é lento e caro. Para eles, “blockchain” é realmente apenas uma maneira de se livrar do aparato pesado da regulamentação governamental. Mas isso é exagerar o que o blockchain pode fazer. Blockchain não elimina magicamente o conflito humano.
O resultado é que muitas pessoas estão empolgadas com as promessas sem realmente entender as habilidades ou os custos. E, o que é pior, detalhes e custos técnicos reais são ocultados de muitos investidores e executivos de forma a obscurecer o que um blockchain pode e não pode fazer. Todo mundo parece com medo de dizer que o imperador não tem roupas – e chegamos à situação que temos agora.
Então, blockchain é bom para que?
Seguindo o raciocínio do Jimmy, chegamos a que um blockchain é muito caro em relação aos bancos de dados centralizados. Então, a única razão pela qual você deveria estar usando um blockchain é descentralizar. Isto é, remova o único ponto de falha ou controle.
Isso significa, naturalmente, que o software ou o banco de dados não deve mudar as coisas com frequência, se é que o fazem. Deve haver pouca vantagem em atualizar e muita desvantagem em estragar ou alterar as regras.
A maioria das indústrias não é assim. A maioria das indústrias exige novos recursos ou atualizações e a liberdade de mudar e expandir conforme necessário. Como os blockchains são difíceis de atualizar, difíceis de alterar e difíceis de dimensionar, a maioria dos setores não tem muita utilidade para um blockchain.
A única exceção que encontramos é dinheiro. Ao contrário da maioria dos casos de uso industrial, com o dinheiro é melhor se não mudar. Imutabilidade e dificuldade em mudar as regras é um ponto positivo para o dinheiro e não um negativo. É por isso, trombeteia Jimmy, que blockchain é a ferramenta certa para o trabalho quando se trata de Bitcoin.
O que está claro é que muitas empresas que querem usar o blockchain não estão realmente querendo um blockchain, mas sim atualizações de TI para seu setor específico. Tudo isso é bom, mas usar a palavra blockchain para chegar lá é desonesto e exagerado.
Na conclusão do artigo, Jimmy lembra uma história-piada do início dos anos 2000. Naquela época (dito assim, parece tão distante, não?), havia uma onda, praticamente obrigando o uso de Java e XML. Apesar de serem ferramentas e não produtos reais, muitos executivos insistiam que as soluções de tecnologia as usassem, não importando se tinha ou não utilidade para o que os engenheiros estavam tentando conseguir. Blockchain é muito parecido com isso. Jimmy aconselha-nos a nos concentrarmos nos problemas que estamos resolvendo e as ferramentas certas se mostrarão prontamente. Mas se nos concentrarmos nas ferramentas quedesejamos usar, acabaremos criando “máquinas de Rube Goldberg” que não fazem nada particularmente bem.
Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://megalle.wordpress.com/2018/05/14/por-que-o-blockchain-e-dificil/