Cinco problemas com o Blockchain que ainda precisam ser resolvidos

Apesar da promessa de reinventar os processos de negócios, ainda estamos diante de uma tecnologia incipiente, que continua a mostrar vulnerabilidades, diz estudo da Forrester.

O Blockchain parece pronto para aprimorar os processos de negócios e os modelos de confiança em uma miríade de indústrias. Mas, de fato, ainda está em sua infância e vários casos de uso começam a tropeçar na jornada rumo às capacidades milagrosas apregoadas pelos entusiastas.
Embora a tecnologia tenha um grande potencial, CIOs e os seus pares das áreas de negócio que já estão explorando o Blockchain devem esperar retrocessos na implantação, incluindo a possibilidade real de graves erros de software e riscos associados, de acordo com um novo relatório da Forrester Research .

Especialistas e analistas também advertem que a tecnologia não é adequada para muitos processos de negócio transacionais.

Por exemplo, Bharath Rao, fundador do serviço Leverj, baseado no Ethereum, é cético em aplicações de Blockchain fora do mercado de criptomoedas. Ele argumenta que Blockchain é mais lento e mais dispendioso que as tecnologias transacionais tradicionais, como bancos de dados relacional centralizados.
“Paga pela autonomia ao sacrificar a eficiência”, disse Rao, explicando que, devido a registros ou blocos exigirem verificação criptográfica antes que novos possam ser inseridos, pode ser ineficiente para aplicativos de negócios que exijam rápida liquidação.
“Em segundo lugar, devido à sua natureza da cadeia, as inserções [de bloco] devem ser serializadas. Isso significa que a taxa de atualizações é mais lenta do que os bancos de dados tradicionais, que podem atualizar dados em paralelo”, disse ele.
Rao não está sozinho em seu ceticismo. A Forrester Research se debruçou sobre o debate entre a realidade e o hype entorno do Blockchain. “Nunca tantas pessoas procuraram tanto por uma tecnologia compreendida por tão poucos”, afirma a Forrester em seu relatório.

Em 2018, “o hype continuará intenso”, afirma a Forrester. No mundo real, no entanto, a progressão no uso do Blockchain provavelmente será lenta e estável, com implantações de nicho prevalecendo nas grandes empresas, de acordo com Martha Bennett, analista da Forrester autora do relatório.

O software é falho
Embora a tecnologia tenha sido conceituada em 2008 por “Satoshi Nakamoto” (que pode ser uma pessoa ou um pseudónimo para um grupo de desenvolvedores), as aplicações do Blockchain no mundo real têm apenas alguns anos e são centradas em torno dos ledgers distribuídos para criptografia ou transações de dinheiro virtual.

As duas plataformas mais prevalentes, Hyperledger e Ethereum, não possuem maturidade, o que pode apresentar problemas imprevistos na implantação. A Forrester recomenda que CIOs e suas equipes considerem a descoberta potencial de erros sérios no software ou mesmo a necessidade de abandonar projetos e começar de novo.

“Não apenas a comunidade Blockchain, mas algumas das empresas pioneiras no uso têm dito que o software tem erros … e algumas coisas que nem sequer são necessariamente bugs”, disse Bennett, que pesquisou

Blockchain nos últimos três anos.
Por exemplo, o script do Ethereum para executar contratos inteligentes – Solidity – não suporta o uso de pontos decimais, o que exige que os desenvolvedores criem uma solução alternativa ou comecem de novo.
“Eu vi isso acontecer em várias ocasiões”, disse Bennett. “Quando conversei com pessoas trabalhando em projetos – e elas estão trabalhando em projetos grandes e sérios – elas me disseram que quanto mais trabalham com a tecnologia, mais percebem o quanto é imatura”.

Esta semana, centenas de milhões de dólares em criptografia Ethereum, chamado Ether, foram congeladas através de uma vulnerabilidade de codificação que permitiu a um usuário bloquear até US $ 300 milhões de outras pessoas.

A cadeia administrada pela Parity Technologies deveria ter exigido um consenso entre os usuários para alterar as condições do livro de registro, mas uma falha de codificação permitiu que um usuário “acidentalmente” se tornasse o único proprietário de todas as carteiras da cadeia.
Blockchain nem sempre é adequado para armazenar dados

O maior trunfo da Blockchain é o fato de que pode ser facilmente implantado em diferentes nós na web e, no entanto, cada registro contém seu próprio hash, tornando-o imutável.

Um livro-razão distribuído através de uma rede baseada em Blockchain pode fornecer um histórico de transações mais abrangente do que a visão seletiva que os usuários podem obter se eles apenas obtiveram sistemas internos e talvez algumas listas negras para revisão, de acordo com Bennett.
No entanto, isso não significa que os dados relacionados às transações devem ser parte dessa cadeia.

Por exemplo, se os usuários incluírem imagens como parte de suas transações, a capacidade de dados cresceria rapidamente, assim como a sobrecarga da rede. Devido à natureza distribuída do Blockchain, todos os dados devem ser replicados para todos os nós na cadeia, de acordo com Bennett.

É melhor usar um banco de dados relacional com armazenamento em rede separado para algumas tarefas transacionais do que usar Blockchain.
“Regra geral: nunca, nunca vá para uma arquitetura baseada em blocos quando um banco de dados relacional fará o trabalho melhor”, disse Bennett.

Blockchain não é necessariamente seguro

Existem dois tipos de Blockchain, os públicos e os privados. Os Blockchain públicos permitem que alguém se junte à cadeia; Bitcoin é um bom exemplo. É aberto e transparente, o que significa que todos na cadeia podem ver todas as transações.

Os Blockchains privados são administrados de forma centralizada e requerem permissão para se juntar; eles são adequados para uso dentro de uma única organização ou entre organizações parceiras. Somente usuários autorizados podem participar da cadeia.

Blockchain públicos e privados são nativamente seguros porque são imutáveis (ou seja, cada registro ou bloco é imutável e vinculado a todos os outros) e adicionar novos blocos requer consenso entre os usuários. Quão extenso esse consenso deve ser dependente do Blockchain em uso. Para alguns, é de 50%; para outros, é mais. Mas a exigência de imutabilidade e consenso torna esses Blockchain nativamente mais seguras do que praticamente qualquer outra tecnologia de rede.

No entanto, o Blockchain também é dependente de software e criptografia, e já existem centenas de startups desenvolvendo Blockchain que não necessitam necessariamente de algoritmos testados.

Por exemplo, o Bitcoin usa o algoritmo SHA-256 testado para hashing. Mas estudos mostraram que a computação quântica acabará por levar esse algoritmo a ser quebrado. Outros sabores de Blockchain estão implementando novos algoritmos criptográficos onde tudo o que você tem é a garantia do desenvolvedor de que funciona.

“Pergunte a qualquer criptógrafo. Leva anos antes de um novo algoritmo de criptografia seja aceito”, disse Bennett. “Quando uma startup apresenta uma maneira completamente nova de fazer as coisas, sem que ninguém tenha tido a chance de olhar cuidadosamente para a implementação do algoritmo – você realmente apostaria nisso?”

Até o momento, nenhum Blockchain foi pirateado, e não é provável que aconteça no futuro, de acordo com Bruce Schneier, criptógrafo e especialista em segurança. “O Blockchain pode quebrar devido a alguma brecha no software”, aposta.

Escala e confidencialidade são os dois maiores desafios

A tecnologia Blockchain substitui essencialmente a confiança intrínseca entre pessoas ou entidades corporativas por algoritmos. Quanto mais você confia em algoritmos, mais caro ele é, na opinião de Bennett. Rao, da Leverj, concorda.”Mais caro e mais lento”, diz.

Devido à sua natureza de cadeia, cada novo registro inserido em um bloco deve ser serializado, o que significa que a taxa de atualizações é mais lenta do que os bancos de dados tradicionais, que podem atualizar dados em paralelo.

“Este processo caro e lento é justificável para uma rede global onde todos os participantes são potencialmente mal-intencionados”, disse Rao. “Em um ambiente corporativo, onde toda participação é controlada, não faz sentido gastar muita energia e tempo para ter pouco benefício adicional”.
Além disso, porque os Blckchain públicos – a forma mais prevalente – são abertos e transparentes, qualquer pessoa na cadeia pode ver todas as transações. Esse é o caso do Bitcoin.

No entanto, quando você está trabalhando em um ambiente comercial, a transparência total geralmente não é uma coisa boa. Por exemplo, se um fabricante estiver usando o blockchain como um livro aberto para seus fornecedores, isso permitiria que um empreiteiro visse todos os outros subcontratados na cadeia.

“Talvez eu não queira que meu cliente veja quem são meus subcontratados, mesmo que você possa querer um fluxo de transação específico na cadeia”, disse Bennett. “Alguns dados da transação são confidenciais”.
A boa notícia é que existem métodos para criar exclusividade em Blockchains, de modo que apenas alguns usuários possamm ver dados confidenciais ou sensíveis.

O Hyperledger, por exemplo, projeto de código aberto da Fundação Linux, usa “canais” ou sub-cadeias para garantir que apenas alguns usuários autorizados possam ver informações confidenciais.

Os contratos inteligentes habilitados pelo blockchain são superestimados

Os contratos inteligentes ou auto-executáveis são uma das características mais atrativas do Blockchain, na medida em que são capazes de remover as despesas gerais administrativas; essencialmente, uma vez que determinadas condições de um contrato são atendidas, o dinheiro, a propriedade ou os bens são liberados automaticamente.
Por exemplo, uma companhia de seguros poderia usar contratos inteligentes para liberar dinheiro com base em eventos mundiais, como furacões ou secas.

Bennett, no entanto, argumenta que os chamados contratos inteligentes não são inteligentes nem são contratos no sentido jurídico.
“No conceito, é uma ótima ideia. O que eles são é uma forma de automação de processos de negócios. Para fazer a automação de processos de negócios você precisa concordar sobre o que esses processos são – quais regras se aplicam a esses processos – e então traduzir isso em código “, disse Bennett. “Não é tão fácil quanto as pessoas pensem”.

Combinado com a falta de maturidade da linguagem de script, existe intrinsecamente uma curva de aprendizado mais íngreme para os programadores; que pode levar a erros ou vulnerabilidades.
Os participantes do Blockchain também precisam concordar sobre como cumprirão a forma como o contrato funciona e o que acontece no caso de contratos em disputa.

“Se você esquecer de codificar algo, precisará haver uma maneira fora da cadeia de codificá-lo ou uma forma de interromper os processo se ele começar a agir de forma errada”, diz Bennett.
Por exemplo, em 2010, um sistema automatizado de execução comercial experimentou um “crash instantâneo” que realizou negociações em todo o mundo.

Na época, um grande comerciante escolheu executar um programa de venda através de um algoritmo automatizado que foi programado para alimentar ordens na plataforma comercial. A execução do programa de venda resultou na maior mudança líquida nos negócios diários já vistos, levando a uma quantidade de volatilidade invulgarmente alta, causando a queda do sistema.

Como resultado do acidente, os reguladores criaram regras para interromper a negociação de ações individuais se o preço subir ou diminuir em 10% ou mais em um período de cinco minutos, implementando efetivamente um “kill switch”.

“A imutabilidade em um contrato inteligente significaria que você teria que viver com seu pior erro de segurança para sempre”.
Algumas empresas já pediram uma revisão completa da matemática presente em suas soluções, segundo a Forrester. Algo que o mercado deve esperar ver mais em 2018.

Fonte: Computerworld 

09 de janeiro de 2017