Edição 8 - dezembro de 2017
Artigo
Blockchains: Como a tecnologia por trás do Bitcoin impacta a Metrologia e a Qualidade
WILSON MELO JR.
Divisão de Metrologia em Tecnologias da Informação e Telecomunicações
Imagine colocar R$ 100,00 na carteira no primeiro dia do ano e, no último dia, abrir a carteira e dar de cara com R$ 1.600,00. Gostou da ideia? Foi assim que o Bitcoin, a moeda digital mais comentada na atualidade, ganhou as manchetes de jornais e da grande mídia em todo o mundo. Com uma valorização estrondosa de mais de 1600% em apenas um ano, muita gente se pergunta onde estão os novos milionários que apostaram suas fichas nesta novidade. O mais espantoso ainda é que, se voltássemos ao final de 2012 (quando o mundo deveria ter acabado), poderíamos comprar bitcoins pela bagatela de U$ 6,00 e vendê-los hoje (no momento que escrevo esse texto) por uma "pechincha" de U$ 17 mil. Essa supervalorização tem criado êxtase, euforia e pânico em muita gente pelo mundo afora. Há relatos de pessoas se desfazendo de suas economias de toda uma vida para "investir" em bitcoins. Especulação? Uma nova realidade econômica? Mais uma bolha financeira? Ninguém hoje se arrisca a responder essas perguntas que valem milhões. Porém, de uma coisa podemos ter certeza: a tecnologia por trás do Bitcoin veio pra ficar; e muito provavelmente vai afetar sua vida mais cedo ou mais tarde.
O Bitcoin nada mais é do que uma possibilidade criada por uma tecnologia chamada blockchain. Portanto, por hora, esqueça o Bitcoin. Se ele está fazendo barulho, saiba que a tecnologia na qual ele se baseia tem um potencial para mudar a forma como muitas coisas são feitas no mundo. Tanto é que alguns especialistas já a apontam como a tecnologia mais revolucionária desde a criação da Internet. Os blockchains basicamente se propõem a criar um mecanismo de confiança entre partes que não precisam confiar umas nas outras, uma ideia a princípio paradoxal e nada intuitiva. Faz sentido? Por incrível que pareça, sim.
Confiança é um dos grandes problemas da humanidade. Para entender como o blockchain faz isso, vamos fazer uma viagem no tempo para uns 100 anos atrás, talvez até menos. Dizem os mais velhos que, antigamente, as pessoas confiavam umas nas outras. E com certeza você já ouviu alguém falar isso sobre a pequena e saudosa cidadezinha no interior onde nasceu. De fato, nas pequenas cidades e vilas de um século atrás, as pessoas todas se conheciam. Isso era possível porque eram poucas pessoas e as distâncias eram curtas. Consequentemente, a comunicação fluía de forma dinâmica por um canal muito eficiente: a fofoca. Todos virtualmente sabiam da vida de todos. Assim, se alguém na cidade deixasse de pagar o dono do botequim, no dia seguinte todos saberiam disso. O caloteiro ficaria “mal falado” e teria dificuldade pra conseguir crédito na praça. Porém as cidades cresceram, as distâncias aumentaram, e a confiança passou a depender de novos mecanismos. Surgiram os serviços de proteção ao crédito, autenticação de documentos em cartório, fiadores, seguradoras e uma diversidade de entidades intermediárias que existem hoje para prover confiança em um mundo desconfiado. Por mais que a fofoca ainda exista, ela não é mais tão eficiente, simplesmente porque pessoas não são máquinas para processar tanta informação. Mas, o que aconteceria se as máquinas pudessem fofocar?
Ironicamente, uma rede blockchain propõe exatamente esse conceito: a confiança com base no fato de que todos sabem o que os outros estão fazendo. E com uma vantagem importante: ela elimina o "telefone sem fio" da fofoca tradicional, garantindo que todos fiquem sabendo coisas idênticas. Exagerados e omissos não têm vez. Se alguém tentar "aumentar ou diminuir" os fatos, deixa de ser confiável e será fatalmente excluído do grupo.
Uma rede blockchain faz uso de alguns mecanismos sofisticados, todavia bem estabelecidos na Ciência da Computação, entre eles criptografia, sistemas distribuídos, consenso e replicação. Vamos voltar ao exemplo do Bitcoin. As pessoas compram bitcoins da mesma forma como se compra uma moeda real. Elas precisam apenas de uma chave criptográfica para a assinatura digital das suas transações financeiras. Como em toda rede blockchain, a rede Bitcoin também é formada por alguns milhares de peers (computadores ou clusters de computadores) interessados em colaborar para que a rede funcione devidamente (guarde isso, você já já vai entender o porquê). Cada peer mantém uma cópia idêntica de todas as transações realizadas pela rede. Sempre que uma nova transação é feita, os peers propagam a mesma para toda a rede, ou seja, fofocam sobre ela. Porém, em uma rede de computadores, muitas coisas podem dar errado. Uma transação pode se perder, ou chegar apenas a parte dos peers. Para resolver esse problema, os peers executam um procedimento chamado consenso, que faz exatamente o que seu nome diz. Por meio do consenso, os peers chegam a um acordo sobre quais transações de fato aconteceram na rede e a ordem na qual elas aconteceram. Quando o consenso é obtido, todas as transações mais recentes são armazenadas num bloco. Esse bloco é então criptograficamente ligado ao bloco anterior, formando uma cadeia de blocos (de onde vem o nome blockchain). A cadeia de blocos é imutável, de modo que o que está escrito ali é aceito como verdade por todos os peers. Eles então atualizam suas cópias da cadeia de blocos com o novo bloco e as transações ali contidas são confirmadas como válidas, para todos os interessados. E, talvez o mais importante: no Bitcoin, o peer que criar um bloco antes dos demais será premiado! O que ele ganha? Adivinhe? Ele ganha bitcoins! Isso acontece porque, no Bitcoin, o consenso é na verdade uma espécie de quebra-cabeça criptográfico. O peer que resolve o quebra-cabeça (chamado de proof-of-work) tem direito a propor o consenso. Os demais peers simplesmente verificam se o quebra-cabeça foi resolvido corretamente e aceitam a decisão do peer “cabeçudo” que estava figurativamente "quebrando pedra" (sim, é exatamente isso que significa a mineração de bitcoins).
Se você conseguiu entender tudo até aqui, com certeza tem um monte de dúvidas (não se preocupe, eu também tenho e ter dúvidas faz bem). Uma delas é: o que garante que os peers vão trabalhar de forma correta e honesta? Na prática, nada garante isso. Mas lembre-se que a rede blockchain é constituída por muitos peers (na verdade, quanto mais peers, melhor). E os peers não fazem isso de graça, lembra? Eles são os mais interessados em garantir que a rede blockchain funcione. Na Bitcoin, o incentivo consiste em ganhar bitcoins. Além disso, todos os peers possuem uma cópia idêntica da cadeia de blocos de transações. Se um dos peers começar a agir de forma desonesta e “mentir” sobre as transações, os outros detectarão isso facilmente e poderão banir o larápio. Você talvez se pergunte se um peer desonesto não pode aliciar outros peers (em segurança da informação chamamos isso de ataque de conluio, algo muito parecido com a formação de quadrilha no Brasil). Ele pode tentar, mas note que os peers se tornarão desonestos apenas se o incentivo financeiro para isso for maior do que aquele dado pela própria rede blockchain. Quanto mais peers desonestos, maior será o custo de se manter o conluio, até um momento em que a desonestidade se torna tão cara que ser honesto é mais vantajoso. Essa premissa de segurança é um aspecto importante em uma rede blockchain. Para que isso funcione corretamente, os peers precisam ser de fato controlados por entidades independentes.
Existe um outro aspecto muito interessante dos blockchains que é importante que você compreenda. Transações podem armazenar não apenas informação, mas também meta-informação. Essa meta-informação pode inclusive ser parte de um programa de computador. Isso significa que, quando um peer valida um novo bloco de transações em cadeia de blocos local, ele também pode executar trechos de software contidos nas transações. Como o bloco é o mesmo para todos os peers (o consenso garante isso), consequentemente, o mesmo software é executado por todos. Essa estratégia é chamada de contrato inteligente, pois ela permite sofisticar transações de acordo com seus resultados e fazer com que elas “cumpram” contratos.
Existem muitos aspectos para se discutir sobre o blockchain, mas há um assunto mais importante para abordar neste espaço. Afinal de contas, qual é o real apelo para se utilizar blockchains? Muita gente hoje quer usar blockchains sem saber direito o que ele é, simplesmente porque é o nome fashion do momento. Porém, aqueles que conscientemente estão construindo soluções digitais baseadas em blockchains fazem isso por uma razão simples: eliminar a necessidade dos serviços intermediários para prover confiança. Se você está atento até aqui, vai perceber que voltamos ao exemplo da pequena vila no interior, onde todo mundo se conhece. O Bitcoin fez sucesso porque não depende de entidades financeiras, nem de bancos centrais ou governos para dar garantias quanto ao valor da moeda. Da mesma forma, é possível pensar em documentos autenticados por uma rede blockchain que dispensem a necessidade de cartórios. Ou então num sistema de locação de imóveis pela internet, mas sem uma empresa por trás que cobre uma comissão para dizer que as pessoas que participam do sistema são confiáveis. Ou ainda um aplicativo de transporte usando veículos particulares, de igual forma sem a necessidade de uma companhia que verifique os documentos do motorista e cobre uma taxa para que você acredite que pode entrar no carro de um motorista desconhecido, sem medo. Note que praticamente todos os serviços que usamos no dia a dia dependem do conceito de confiança e que há alguém por trás promovendo essa confiança e, possivelmente, cobrando caro por isso. O blockchain torna esses intermediários desnecessários, reduzindo custos, burocracia e dando agilidade aos processos.
E isso tem a ver com o Inmetro? Claro! Afinal, a missão do Instituto começa com as palavras “prover confiança à sociedade brasileira”. Então, não tenha dúvida de que esta tecnologia, em algum momento, vai impactar nossos serviços, processos e atividades!
Apenas para dar uma ideia, vou partilhar alguns tópicos sobre os quais temos desenvolvido pesquisas na Divisão de Metrologia em Tecnologias da Informação e Telecomunicações (Dmtic) nos últimos meses.
Um deles é o conceito de medição distribuída usando blockchains. Pesquisas anteriores da Dmtic já haviam apontado que muitos instrumentos de medição com software complexo poderiam ser construídos de forma modular, deixando uma parte mínima do software no medidor e transmitindo informações dos sensores devidamente assinadas para um outro módulo computacional. Essa ideia é reforçada por trabalhos recentes do PTB, na Alemanha, propondo sistemas de medição que usam máquinas virtuais e computação em nuvem. Os blockchains se somam a essas soluções, todavia com alguns diferenciais importantes. O primeiro é que uma rede blockchain seria composta por diferentes entidades e não apenas pelo fabricante do instrumento de medição ou pelo detentor do mesmo. Isso ajuda a reduzir significativamente o conflito de interesses em torno das relações de consumo associadas à medição de uma grandeza física. O segundo aspecto é a possibilidade de parte do software legalmente relevante ser executado dentro do blockchain, como um contrato inteligente. Essa estratégia reduziria significativamente os esforços associados hoje à aprovação de modelo dos dispositivos controlados por software. Ao mesmo tempo, o fato do software de medição ser armazenado no próprio blockchain praticamente elimina a possibilidade de fraudes de integridade, simplificando assim as atividades de inspeção em campo feita por agentes metrológicos.
Um segundo tópico de pesquisa diz respeito à supervisão metrológica usando mais de um cálculo de medição. Pensando ainda no modelo de medição distribuída que mencionei no parágrafo anterior, o software de cálculo de medição é um componente legalmente relevante que precisa ser inspecionado de forma minuciosa durante a aprovação de modelo. Todavia, uma rede blockchain nos permite utilizar diferentes cálculos computacionais para uma mesma medição, em diferentes peers (para mais detalhes, veja o conceito de endorsers). Mesmo que os resultados dos diferentes cálculos de medição possam divergir, essa variação deve se concentrar dentro do intervalo de incerteza do instrumento, podendo ser validada no momento da confirmação de uma transação. Tal estratégia permite verificar a corretude e acurácia de contratos inteligentes sem a necessidade de inspeção prévia dos mesmos. Isso reduziria diversos conflitos associados à propriedade intelectual do instrumento de medição, como por exemplo a entrega de códigos fontes pelo fabricante.
Um terceiro tópico de pesquisa é a supervisão metrológica baseada na publicidade dos dados. Caso um blockchain armazene medições cujo acesso não implique violação de privacidade, a publicidade dos dados em tempo real permite realizar análises estatísticas para detecção de fraudes. Entidades governamentais e civis com interesses na regulação dos instrumentos de medição podem escrever seus próprios procedimentos de análise como contratos inteligentes. De igual modo, a execução dessas verificações é instantânea, permitindo ações mais precisas e pontuais contra fraudes de medição.
Apesar das perspectivas promissoras e de seu grande potencial, os blockchains ainda se encontram no jardim de infância das novas tecnologias. Há um longo caminho a percorrer e uma série de desafios a superar. Questões associadas com desempenho, escalabilidade e privacidade são talvez as principais demandas associadas hoje à pesquisa em torno dos blockchains. Ao mesmo tempo, o crescente interesse por essa tecnologia tem gerado no mundo todo investimentos significativos no intuito de se encontrar soluções para esses problemas. Assim, pode-se prever uma série de novas aplicações que devem surgir nos próximos anos. É importante que o Inmetro acompanhe esse processo e, na medida do possível, seja um agente ativo nesse contexto. Do contrário, corremos o risco de “perder o bonde” e ver surgir um blockchain mais confiável do que nossos serviços de metrologia e qualidade, sem que tenhamos tempo para fazer parte dele.