Blockchain

Ao contrário do que se possa pensar do entusiasmo que a tecnologia tem suscitado, não é provável que as cadeias de blocos venham a mudar radicalmente a economia, a sociedade e a forma como interagimos uns com os outros.

Duas tecnologias têm merecido grande atenção nos últimos anos: inteligência artificial e blockchain. Por vezes, estas duas tecnologias são vistas como estando relacionadas, mas, de facto, não estão. A inteligência artificial, que tem vindo a ser desenvolvida há mais de 60 anos, tem como objectivo criar técnicas que substituam ou complementem as capacidades humanas na realização de tarefas que exijam inteligência. Já a tecnologia blockchain foi proposta somente em 2008 por um autor anónimo, que assinou como Satoshi Nakamoto um artigo que propôs as bases matemáticas subjacentes à conhecida moeda digital Bitcoin, que se baseia nesta tecnologia. O termo blockchain pode ser traduzido fielmente em Português por cadeia de blocos e, embora esta designação não seja muito comum, irá ser usada neste artigo.

A tecnologia da cadeia de blocos tem como objectivo permitir manter um registo público e facilmente auditável, gerido de forma distribuída e sem a intervenção de uma autoridade central fiável. O facto de o registo ser distribuído e ser gerido por um número, que pode ser muito grande, de agentes independentes e autónomos, faz com que a tecnologia possa ser útil quando não existe uma autoridade fiável, que o possa manter.

Por exemplo, considere-se o problema do registo de propriedade. Quando existem notários fiáveis e um serviço central que os supervisiona e regula, o registo de transmissões de propriedade pode ser feito por notários, garantindo-se assim que estas operações ficam devidamente registadas (em livros ou em bases de dados) e não podem ser facilmente alteradas por terceiros. Num país onde não exista actividade notarial fiável, manter registos de propriedade invioláveis torna-se difícil ou mesmo impossível. Para um outro exemplo, considerem-se os depósitos bancários. Quando existe confiança nos bancos (ou apertado controlo dos mesmos) e um sistema de compensação bancária fiável, os registos do valor destes depósitos podem ser feitos numa base de dados ou num pequeno conjunto de bases de dados, que registam quanto dinheiro está depositado em cada conta. As moedas digitais apareceram, justamente, como alternativa a este mecanismo centralizado.

A tecnologia da cadeia de blocos permite contornar a dificuldade de manter um registo inviolável mesmo quando não existe uma autoridade central fiável. Para manter registos invioláveis na ausência de uma autoridade central é necessário garantir que registos antigos não podem ser alterados e que é impossível adicionar falsos registos.

Para garantir que os registos antigos não podem ser modificados a solução consiste em encadear os blocos de uma forma específica. Numa cadeia de blocos, cada bloco é um registo que está ligado, numa cadeia, ao bloco anterior. Cada bloco contém a informação útil que se pretende registar e, também, um sumário do bloco anterior. Este sumário tem uma característica muito especial, garantida matematicamente: é praticamente impossível alterar o conteúdo de um bloco mantendo o mesmo valor do sumário que é guardado no bloco seguinte. Se algum bloco desta cadeia for alterado, é trivial verificar que existiu uma alteração porque o sumário do bloco seguinte não bate certo com o conteúdo desse bloco. A cadeia de blocos representa assim uma sequência de registos, permanentes e invioláveis.

Para garantir que novos blocos com informação falsa não são adicionados por um agente desonesto, é necessário garantir que, quando a cadeia é prolongada com um novo bloco, a esmagadora maioria dos agentes concordam com o conteúdo desse novo bloco. Uma vez que podem existir várias propostas de adição de blocos simultâneas (autênticas ou falsificadas), é necessário que exista um mecanismo de consenso que garanta que, no fim, existe apenas uma cadeia de blocos, aceite por todos. Usando como exemplo o caso do registo de propriedade, suponha-se que Alice pretende transferir a propriedade de um carro para Bob. Devidamente autenticados, Alice e Bob informam todos os agentes da rede que a propriedade do veículo que era de Alice passou a ser de Bob. Um bloco que contém esta transacção e o sumário que permite validar o conteúdo do bloco anterior é então adicionado à cadeia de blocos, ficando assim a transacção registada de forma indelével.

Para garantir que existe consenso da maioria dos agentes sobre o conteúdo de um novo bloco existem várias técnicas. Não basta contar os agentes que concordam, porque um atacante poderia criar um grande número de falsos agentes e usá-los num ataque ao sistema. No caso da moeda digital Bitcoin, apenas agentes que apresentem uma prova de esforço feito podem adicionar um novo bloco. A prova de esforço consiste na resolução de um complexo problema matemático, que exige grandes recursos computacionais, muito tempo e bastante energia eléctrica. Dessa forma, um agente desonesto (ou um pequeno número desses agentes) não consegue colocar blocos falsos na cadeia, porque teria de competir com a maioria dos agentes que agem de forma honesta e que verificam se as transacções do novo bloco são reais. Outras soluções para o problema de garantir consenso existem e são usadas por alguns sistemas.

Sendo a cadeia de blocos, portanto, simplesmente uma tecnologia que permite substituir registos centralizados por registos distribuídos, quais as razões que têm suscitado o grande entusiasmo a que temos assistido?

Uma das razões é que é possível pensar em aplicações reais onde efectivamente não existe uma autoridade central que possa confirmar a autenticidade de certo tipo de registos. Por exemplo, é difícil validar a autenticidade de um curruculum vitae entregue por um candidato a um emprego. O candidato pode listar elementos, tais como graus, competências e posições anteriores, que são falsos, sendo porém esses elementos falsos difíceis de detectar. Se existisse uma cadeia de blocos onde fossem registados comprovativos de todos os elementos do currículo dos cidadãos, seria trivial verificar esses elementos, com a autorização dos interessados, usando o software apropriado.
Porém, o entusiasmo a que temos assistido deve-se principalmente ao facto de existirem potencialmente muitas outras áreas em que a tecnologia da cadeia de blocos poderá criar novos modelos de negócio ou resolver problemas existentes. Porém, é importante separar o trigo do joio e distinguir os casos em que o problema pode ser facilmente resolvido usando (ou criando) uma autoridade centralizada dos casos em que essa solução não é viável. Registos médicos, registo da origem em cadeias de abastecimento, registos de propriedade e registos de posse de armas são áreas potenciais de aplicação, mas a maioria destes problemas pode ser resolvida eficazmente usando um registo centralizado ou uma federação de sistemas de registo mantidos por um pequeno número de entidades.

Portanto, ao contrário do que se possa pensar do entusiasmo que a tecnologia tem suscitado, não é provável que as cadeias de blocos venham a mudar radicalmente a economia, a sociedade e a forma como interagimos uns com os outros. Muito provavelmente, as aplicações em que poderá vir a fazer a diferença serão poucas e limitadas a processos de registo de informação nos quais existem muitos intervenientes e em que é necessário que o registo seja público, inviolável e impossível de ser gerido por uma autoridade central.

Sugerir correcção
Comentar