Bernardo Monteiro

Blockchain e o futuro da Propriedade Intelectual

Publicado em 30/08/2020


Este artigo é baseado no conteúdo apresentado no workshop "Blockchain e o futuro da propriedade intelectual", organizado por Kíssila Santos, com a minha presença como convidado, transmitido ao vivo em 27/8/2020, no canal @1novadireito, no YouTube, e posteriormente disponibilizado neste link.


    A tecnologia blockchain, criada em 2009 para dar vida à criptomoeda bitcoin pode trazer importantes revoluções em diversas áreas, não só às finanças. As atividades registrais e a propriedade intelectual são campos em que essa revolução já é realidade, embora a tecnologia blockchain mal tenha atingido uma pequena fração de seu potencial.

    Neste artigo exploro as aplicações dessa tecnologia nos direitos autorais e também nos segredos industriais, que, juntamente com as provas de conhecimento-zero, permitem novas possibilidades de registros e consultas a bancos de dado.


Introdução à tecnologia Blockchain


    A tecnologia blockchain permite a criação de registros eletrônicos de valores e transações, como em um livro contábil, combinando propriedades antes consideradas pouco conciliáveis, tais como:

  • descentralização e imutabilidade;
  • transparência e privacidade;

    Eu vou voltar a esses pontos mais adiante. Mas antes vou explicar sucintamente o que faz a tecnologia blockchain. Ela permite registros à prova de fraude em pequenos blocos criados a cada poucos minutos, um depois do outro, e salvos em computadores espalhados pelo mundo e conectados pela internet. A criação de um bloco no blockchain tradicional depende do que chamamos de "prova de trabalho", ou seja, um computador da rede precisa provar que trabalhou na solução de um problema que exige muito processamento.

    A prova de trabalho é um código que depende do conteúdo do bloco que será criado. Para cada conteúdo novo é exigida uma prova de trabalho diferente, que precisa ser advinhada pelos computadores da rede, por tentativa e erro.

    Para gerar a prova de trabalho, cada um dos computadores da rede blockchain faz uma corrida para encontrar essa solução mais rápido que os outros. Quando é encontrada a solução por pelo menos um coputador, o bloco pode ser criado. E para a criação de um bloco novo, um novo problema é proposto na rede de computadores, com base no conteúdo desse bloco a ser registrado em seguida.

A prova de trabalho é um elemento importante do mecanismo que permite o consenso entre os computadores da rede blockchain sobre quais informações devem ser mantidas, ou quais devem ser apagadas pelo fato de divergirem da maioria dos outros registros da rede.

    Junto com a prova de trabalho, outra característica importante da rede blockchain é a descentralização, que no blockchain funciona de uma forma bastante inusitada. Descentralização normalmente pressupõe uma redução do controle da autoridade central sobre as partes, ou sobre os "nós" das redes. A autoridade central perde poder e cada parte ou cada nó da rede ganha autonomia, podendo gerar um mosaico de modelos diferentes de governança espalhados pela rede. Mas no blockchain isso não acontece. Primeiro, porque não há autoridade central que se descentraliza. Segundo, porque a autoridade que define a governança na rede descentralizada blockchain é um software, software blockchain, que roda em cada nó da rede, levando uma réplica exata do modelo de governança do nó original para todos os outros nós. E essas réplicas são tão mais imutáveis quanto maior e mais descentralizada a rede blockchain. Essa imutabilidade, nos blockchains tradicionais, é resultado do mecanismo de consenso por prova de trabalho, e da descentralização.

    Na rede descentralizada blockchain, uma informação nova registrada em um bloco em computador da rede blockchain é replicada para todos os outros computadores. Mas se uma transação envolve a alteração de uma informação guardada em um bloco antigo, criado há algumas horas, por exemplo, o esforço computacional exigido pelo blockchain para alterar esse bloco antigo e os blocos seguintes em um computador da rede é tão grande que é quase impossível realizar essa alteração.

    Dissemos que cada bloco tem que incluir uma "prova de trabalho" para poder ser registrado no blockchain. Essa prova de trabalho depende do conteúdo a ser registrado no bloco. Além disso, o blockchain faz com que o bloco a ser criado tenha que carregar uma informação gerada a partir do conjunto de informações do bloco anterior. Mais precisamente, o novo bloco precisa carregar o código hash do bloco anterior, assim como o bloco anterior carrega o código hash do bloco criado antes dele. Com essa dependência de um bloco em relação ao anterior, se um bloco antigo é alterado, o seu hash é necessariamente alterado, o que faz que ele não encaixe mais no bloco seguinte, ocasionando a rejeição dessa cadeia de blocos pela rede blockchain.

    Mesmo que se conseguisse alterar a informação de um bloco antigo e de todos os blocos subsequentes em um computador, todos os outros computadores da rede blockchain rejeitariam essa informação divergente. A única forma de fazer a rede blockchain aceitar a nova informação em um bloco antigo é alterá-la na maioria dos computadores da rede, mas isso é considerado impossível. Tanto que, desde 2009, a mais antiga rede blockchain, a do bitcoin, nunca foi hackeada. E não faltam motivações para hackeá-la, quando um único bitcoin vale 12 mil dólares, ou mais de 60 mil reais.

    Para um melhor entendimento de como funciona uma rede blockchain tradicional, com mecanismo de consenso por prova de trabalho, sugiro assistir ao vídeo But how does bitcoin actually work?, disponível no YouTube.

    Bom, a partir desse entendimento básico da tecnologia blockchain, acredito que já possamos abordar algumas aplicações dessa tecnologia para a Propriedade Intelectual.


Direito Autoral


    Na introdução à tecnologia blockchain, eu mencionei "hash" ao falar de formação de novos blocos no blockchain e forneci o link para você ler sobre a função hash. Se você ainda precisa saber o que é hash, segue novamente o link para a explicação na Wikipédia. A função hash é muito usada juntamente com o blockchain para a proteção de direitos autorais. Vamos ver como isso é feito.

    Quando uma pessoa escreve um livro, por exemplo, ela pode publicá-lo, pode não conseguir publicá-lo, ou pode preferir guardá-lo em segredo por algum tempo. Mas em qualquer caso, a autora pode ter interesse em poder provar que ela escreveu o livro em uma determinada data, para se proteger de tentativas de plágio.

    Há várias maneiras de conseguir essa proteção. A autora pode registrar o livro na Biblioteca Nacional ou, como esse registro não é indispensável para provar os direitos de autor, pode enviar o livro para si mesma pelo correio, em um envelope lacrado, selado, no qual o serviço dos correios deverá carimbar uma data de postagem. Se essa autora guardar o envelope intacto com o livro dentro, poderá usá-lo a qualquer momento para fazer prova de existência e anterioridade do livro, abrindo o envelope na frente da pessoa que exigir a prova. Convenhamos que esse meio de prova pode funcionar, mas não é dos melhores.

    A tecnologia permite fazer prova de existência e anterioridade de uma obra qualquer de um jeito mais simples, mais barato e mais seguro. Para esse tipo de prova usa-se a função hash e uma rede blockchain.

    Se a obra que se pretende proteger é digital ou digitalizável, toma-se o arquivo digital da obra, que pode ser um texto, uma foto, um filme, um arquivo de áudio, um site na internet ou qualquer arquivo que possa ser armazenado como uma sequência de letras ou números, e calcula-se o código hash desse arquivo. Calculado o hash, pode-se registrar esse código hash em um blockchain. O código hash ficará guardada em um bloco que possui data e hora de criação. Com isso o hash recebe o que chamamos de "time stamp".

A função hash transforma um arquivo de tamanho qualquer em uma sequência curta de caracteres, única para aquele documento, e de tamanho fixo. Por exemplo, usando a função hash SHA256 hexadecimal, o código hash da palavra "casa" tem os seguintes 64 caracteres: b3813027ed2150ec3449f0716cf53c5d4a632486136365bd23e19c372884553f. Já a palavra "caso", apesar de divergir da palavra casa por apenas uma letra, tem um código hash totalmente diferente: 940e232682e7af2761877378462f99e2aa10573ad5581f6ad7e09b9958727ad4. Você pode gerar o hash do seu nome ou de qualquer sequência de caracteres neste site, gratuitamente.

Como o código hash de um arquivo, calculado por uma determinada função hash, é sempre o mesmo, quando o hash de um documento está salvo de forma imutável no blockchain, ele pode ser usado como prova de existência desse arquivo e como prova de anterioridade. Para isso basta tomar o arquivo e gerar um novo hash, que será necessariamente idêntico ao gravado no blockchain, o que prova que o documento que gerou aquele hash já existia na data em que o hash foi gravado no bloco do blockchain, com um determinado time stamp.

    Esse tipo de prova de existência em blockchain já foi aceito judicialmente. Temos ao menos uma notícia de um processo judicial em que tal prova foi aceita em primeira e segunda instâncias. 


Segredo industrial e as provas de conhecimento-zero em blockchain


    Outra aplicação muito interessante do blockchain no campo da Propriedade Intelectual ocorre no compartilhamento de segredos industriais conciliando o sigilo de dados com a transparência exigida em auditorias. Isso é possível graças a algoritmos de prova de conhecimento-zero (zero knowledge proof, ou ZKP) e à imutabilidade dos dados no blockchain.

"Em criptografia uma prova de conhecimento-zero ou protocolo de conhecimento-nulo é um método interativo que possibilita uma parte provar para outra que uma declaração (geralmente matemática) é verdadeira, sem contudo revelar qualquer coisa além da veracidade da declaração" diz a Wikipédia.

Um caso lúdico de prova de conhecimento zero pode ser exemplificado com a brincadeira conhecida como "Onde está Wally?" Essa brincadeira é feita com imagens onde aparecem muitas pessoas em uma praia, uma estação de esqui, um parque de diversões, ou seja, em uma cena qualquer onde muitas pessoas podem se aglomerar. Em cada uma dessas cenas o Wally está presente, sempre vestido com uma camisa de listras vermelhas e brancas, e um gorro.

Imagine que 3 pessoas querem brincar em uma competição em que medirão o tempo que cada um levará para achar o Wally. Cada um tem o seu livro "Onde está Wally?" Os três escolhem uma cena de uma determinada página e começam a competição. João, o  primeiro que descobre onde está o Wally grita "achei!" Mas como os outros podem saber se ele realmente achou o Wally? João não pode apontar o Wally na figura, pois assim a brincadeira se encerraria. Então João faz uma prova de conhecimento-zero: ele prova que achou o Wally sem revelar nada além da veracidade dessa afirmação. O que ele faz? Ele recorta o Wally da página do livro e mostra o recorte para os amigos, que agora têm certeza de que ele achou Wally, mas continuam sem saber onde está o personagem.

Como você pode perceber, prova de conhecimento-zero não depende de uso de blockchain. No entanto, em algumas situações, a prova de conhecimento-zero pode se beneficiar da imutabilidade de dados e de contratos inteligentes no blockchain.

Agora vou dar exemplo fictício de uma prova digital que se beneficiaria da tecnologia blockchain. Quando uma pessoa entra em um bar, é esperado que o garçom se certifique de que aquela pessoa tem mais de dezoito anos, caso contrário ele não poderia servir bebidas alcoólicas para ela. Para se certificar da maioridade, o garçom pode pedir a apresentação da carteira de identidade dessa cliente do bar. Mas ao apresentar a identidade, além de provar a sua maioridade, a cliente expõe o seu nome completo, a sua idade, o seu CPF, o nome de seus pais e a sua assinatura, ao menos.

Será que podemos pensar um sistema em que a cliente possa provar que tem mais de dezoito anos de idade, ou que tem a idade exigida para assistir um filme no cinema, sem revelar nem o ano de seu nascimento? Imagine que o Detran registre todas as informações das carteiras de identidade de forma criptografada em um blockchain, em que há um contrato inteligente capaz de pesquisar autonomamente a idade das pessoas dentro dos arquivos criptografados. Nesse caso, o garçom que precisa saber se um cliente é maior de idade poderia fazer a pergunta ao contrato inteligente no blockchain, por meio de um aplicativo de celular que faça reconhecimento facial, por exemplo, e identifique a identidade daquela pessoa pela fotografia. Uma vez identificada a pessoa pelo contrato inteligente, o garçom perguntaria a esse contrato "essa pessoa é maior de idade?" E o contrato responderia "sim", ou "não". E não revelaria nenhuma informação além da veracidade ou falsidade da afirmação "ela é maior de idade".

Esse exemplo ilustra bem a prova de conhecimento zero, mas pode ser considerado inválido pelo fato de usar dados pessoais no blockchain. Segundo a LGPD (lei geral de proteção de dados ou Lei 13709) é um direito do titular dos dados pessoais solicitar a eliminação desses dados, conforme art. 18, VI, da LGPD, salvo se o uso desses dados se enquadrar em alguma exceção da lei.

O que eu considero importante notar nesse exemplo do bar quanto à utilização do blockchain é que, se as informações das identidades são imutáveis, e alguém inseriu fraudulentamente no blockchain identidades com informações inválidas para beneficiar parentes, por exemplo, aumentando a idade deles, essas informações inválidas, falsas, não podem ser apagadas ou editadas no blockchain. A única possibilidade para retificar os dados seria acrescentar as informações verdadeiras, indicando que elas devem ser usadas no lugar das informações falsas inseridas anteriormente. Mas essas alterações deixam rastros, e exporiam os autores da fraude ou do erro. Se ao invés de usar o blockchain o Detran estivesse usando um banco de dados comum para registrar as identidades, os falsários poderiam corrigir as informações ao sinal de uma auditoria, talvez sem deixar rastros.

Após a compreensão da prova de conhecimento-zero e da importância do blockchain para esse tipo de prova, eu gostaria de apresentar ainda um terceiro exemplo de aplicação da tecnologia, dessa vez para a proteção de segredo industrial. Ou melhor, para que as empresas possam revelar a seus clientes conclusões cujas premissas são o segredo industrial.

A fórmula da coca-cola é um segredo industrial. A empresa Coca-Cola não tem interesse em revelar essa fórmula publicamente. Mas a empresa pode ter interesse em provar a seus clientes que o seu produto coca-cola tem qualidades de interesse deles, devido à fórmula do refrigerante. A empresa pode ter interesse em que os clientes saibam algo sobre a fórmula, sem conhecê-la. Mas como os clientes podem ter certeza de que a empresa Coca-Cola diz a verdade sobre a fórmula se eles não podem conhecê-la?

A Coca-Cola poderia registrar a fórmula criptografada em um blockchain, com contratos inteligentes capazes de ler essa fórmula sem revelá-la a ninguém. Esses contratos inteligentes podem ser auditados para que se prove que funcionam e oferecem a certeza que o cliente espera. A própria fórmula da coca-cola pode ser auditada em uma ação judicial em segredo de justiça para que se tenha certeza de que os ingredientes e o modo de fazer registrados no blockchain são os mesmos usados no preparo do refrigerante. Tudo pode ser verificado sem que nenhum segredo seja revelado.

Com isso, os clientes poderiam fazer perguntas aos contratos inteligentes como, por exemplo, "a coca-cola tem algum elemento em sua composição que seja considerado prejudicial à saúde, ou cancerígeno, segundo parâmetros aceitos pela medicina? E a resposta seria "sim" ou "não", sem que nenhuma informação sobre a fórmula da coca-cola fosse revelado. Assim o segredo industrial pode ser usado pela empresa a seu favor, com transparência, sem comprometer o sigilo dos dados sensíveis.


*      *      *      *      *


Em um outro artigo no futuro próximo pretendo abordar outras aplicações da tecnologia blockchain, dentre elas a tokenização da propriedade intelectual.

Fique ligado. Siga-me nas redes sociais (links na home page - menu "Sobre"), ou clique no botão "Contato", no alto da página, e envie seus comentários ou uma mensagem pedindo para receber as novas publicações por email, por exemplo. Terei prazer em responder a todas as mensagens, se for possível.


– Bernardo Monteiro


Referências não mencionadas no texto, para quem quiser se aprofundar no assunto blockchain:


Don e Alex Tapscott, Blockchain Revolution


Andreas M. Antonopoulos, Internet of Money


Andreas Antonopoulos, Mastering Ethereum