Blockchain e DLTs – Fernando Taboas entrevista a equipe de desenvolvimento da Finnet
9 de março de 2018Moedas digitais têm sido um tema recorrente na mídia devido principalmente à valorização recente do Bitcoin, que foi a primeira moeda digital a aparecer, ainda em 2009
Muitas críticas e alertas têm sido feitas a esta e a outras moedas digitais por várias autoridades mundiais, mas é frequente a ressalva de que o Blockchain (cadeia de blocos), que surgiu como infraestrutura para estas moedas digitais, tem potencial para revolucionar várias outras áreas e atividades.
Entrevista feita por Fernando Taboas* em nome do Crypto ID
De forma sucinta, o Blockchain é um livro-razão digital com os registros de transações armazenados em blocos sequencialmente encadeados, formando uma cadeia de blocos de transações. Adicionalmente, o uso de tecnologias de rede descentralizada P2P (“peer-to-peer”) para efetuar o registro das transações no livro-razão, as DLTs (“distributed ledger tecnologies”), permitem que cópias deste livro-razão estejam espalhadas pelos diversos “nós” da rede descentralizada. Com esta estrutura distribuída da cadeia de blocos, com uso de criptografia e novos métodos de validação das transações, almeja-se alcançar um novo patamar de segurança das informações digitais na Internet. Por isso, existem atualmente muitos projetos em andamento em todo o mundo buscando diferentes formas de uso desta nova tecnologia.
Recentemente foi constituído um comitê técnico da ISO “International Standards for Organization” para estudar os avanços da tecnologia e estabelecer padrões que facilitem sua adoção a nível mundial. A ABNT também iniciou a organização de um comitê técnico “espelho” e apontou o Yoshimiti Matsusaki*, CEO da Finnet, como seu representante na reunião do comitê da ISO ocorrida no último mês de novembro.
Crypto ID: Yoshimiti Matsusaki, agradecemos esta oportunidade de entrevistá-lo, pouco mais de dois meses após a sua participação na reunião do comitê técnico (TC-307) da ISO (international Standards for Organization) em Tóquio sobre a padronização de Blockchain e de tecnologias de registro distribuídas (DLTs – “Distributed Ledger Tecnologies”). Sendo o senhor o CEO da Finnet, como se explica o envolvimento da sua empresa nesta reunião do comitê da ISO? Como está se dando o avanço deste objetivo de padronização de Blockchain e DLTs no Brasil?
Yoshimiti: Os trabalhos junto à ABNT e também ISO são voluntários. O Brasil não tem ainda iniciativas como essa muito consolidadas.
Por outro lado, o perfil de Inovação do mercado brasileiro é um diferencial.
É importante que as companhias brasileiras se organizem para consolidar a sua imagem no mercado internacional onde uma das frentes é a ISO, e os cases de empresas brasileiras passam a ser material de referência e possíveis futuros padrões neste mercado em construção.
O momento da ABNT é a estruturação e organização de grupos de trabalho e estudos para capitalizar conhecimento e harmonizar os entendimentos, para dar força e voz às iniciativas brasileiras em âmbito mundial através da ISO.
A seguir, a entrevista, com foco na tecnologia em si, segue com o especialista Luciano Monteiro Jr***
Crypto ID: Luciano, obrigado por nos atender nesta entrevista. Indo diretamente à primeira pergunta: Por que e como estas novas tecnologias do Blockchain e DLTs podem ser consideradas revolucionárias, tendo em vista que são basicamente registros digitais de transações de troca de moedas ou de “tokens” (fichas) entre carteiras, que são endereços digitais criptografados?
Luciano: Essa questão é recorrente, pois sendo somente um registro de transações em que ainda por cima se paga para armazenar a informação, por que seria melhor do que registrar em um banco de dados completo com mais informações e já disponível nos ambientes internos das empresas ou mesmo na nuvem?
A resposta é que esta tecnologia propicia um novo modelo de trabalho entre as partes, provendo confiabilidade no meio. Num banco de dados tradicional hospedado no ambiente interno de uma das partes, qual a garantia de que as informações estão bem protegidas e íntegras? Que regras de relacionamento e de guarda das informações foram definidas por esta parte e que se impuseram para as demais partes?
Com o blockchain e DLTs públicos existentes, ou mesmo criando blockchains privados para uso exclusivo entre as partes e sem permitir o acesso de terceiros, as informações registradas no blockchain estão disponíveis e auditáveis para todas as partes interessadas e de forma descentralizada, sem a necessidade de ter que confiar em uma das partes para a guarda das informações.
Com relação ao aspecto limitado das informações que são armazenadas no blockchain, além da informação transacional de movimentação de criptomoedas ou de “tokens” é possível armazenar mensagens nestas transações. Além disso, nas plataformas que permitem “smart contracts” (contratos inteligentes, que são programas que interagem com as carteiras dos participantes através de transações) também é possível ter uma variedade maior de informações registradas acerca dos ativos digitais transacionados.
Existem projetos ainda mais avançados que mexem na estrutura base do blockchain para armazenar coisas a mais, como Storj e Siacoin, que são projetos voltados para o armazenamento de arquivos de forma descentralizada. Tem a Icon, projeto coreano que almeja, junto ao governo coreano, armazenar informações jurídicas, de saúde, de escolas… Tem ainda o projeto indiano, o Bluzelle, cujo foco é a criação de um banco de dados completo dentro do Blockchain. São todos projetos já em andamento e que no futuro expandirão o uso da tecnologia para outras aplicações, muito além do setor financeiro.
Crypto ID: E a privacidade de tudo isso, é protegida com criptografia? O acesso é restrito ao dono da informação e para aqueles que se conceda o acesso?
Luciano: Tudo protegido com criptografia, dentro do modelo do blockchain. Já o acesso restrito, este vai variar de projeto para projeto, da própria estrutura do blockchain utilizado. Alguns projetos têm uma camada mais privada, protegida por chaves para restringir o acesso. Em outros, o próprio blockchain é privado e o acesso está restrito aos participantes, ou nós, dito “permissionados”, ou seja, restrito aos participantes que têm permissão para acessar o blockchain privado.
Crypto ID: Em especial, como a Finnet está prospectando a adoção desta nova tecnologia?
Luciano: A Finnet é uma empresa que está no mercado há quinze anos, originalmente centrada em serviços de trocas de mensagens e arquivos EDI via VPNs (redes privadas virtuais) com informações de pagamento e de cobrança entre empresas e bancos utilizando o padrão FEBRABAN entre outros.
Estes serviços vêm sendo expandidos desde então para outros setores, como cartões e serviços tributários e também diversificando para outras áreas de atuação. Desde 2016 a Finnet prospecta a tecnologia de Blockchain e a partir de 2017 aprofundamos os estudos e fizemos algumas provas de conceito, principalmente na plataforma Ethereum com seus “smart contracts”, os contratos inteligentes, visando entender como utilizá-la para o registro de transações de informações e já planejando a sua utilização para alguns produtos, inclusive um que será lançado este ano.
O objetivo é tirar vantagem da segurança, da auditabilidade e da notarização que a tecnologia traz para a visualização e transação de informações e também para a utilização de “smart contracts”, que seriam como a construção de serviços através da criação de códigos de programação executáveis e auditáveis dentro do blockchain.
Crypto ID: Em quanto tempo você estima que este primeiro produto vai estar maduro para ser lançado? Em qual segmento de atuação da Finnet?
Luciano: No plano atual, o produto estará pronto no final deste semestre. É uma aplicação voltada para RH, para registro de atividades e avaliação da produtividade de funcionários e inicialmente será utilizado internamente, dentro da Finnet.
Crypto ID: Uma dificuldade para que desenvolvedores de novas aplicações adotem uma plataforma pública já existente e estabelecida como a Ethereum consiste no crescente valor da taxa que é cobrada por transação registrada no blockchain. Que alternativas existem para contornar esta dificuldade?
Luciano: Plataformas mais recentes, com “smart contracts”, sendo a Ethereum e a NEO as mais conhecidas, vêm sofrendo o efeito da valorização de suas moedas digitais por estarem sendo cada vez mais procuradas, o que acaba inviabilizando o uso da plataforma pública para muitas aplicações.
Somado a esse custo por transação, contratos e informações implementados nas plataformas públicas são visíveis para todos e nem sempre é isso o que se deseja. Por isso estão surgindo por fora plataformas de Blockchains e DLTs que não possuem criptomoedas, como o Hyperledger – IBM, o Corda – R3, ou o Quorum – J.P.Morgan, que propõem soluções em plataformas privadas direcionadas para áreas de atuação diversas, como em cadeias de abastecimento e na indústria de serviços financeiros.
Nas plataformas públicas, algumas mais novas adotam taxas de transações por segundo bem mais altas do que a do Ethereum, o que torna o custo por transação bem mais baixo. Mesmo nas plataformas já estabelecidas, como a demanda por registros de transações é cada vez maior, algumas plataformas têm revisto seus parâmetros de número máximo de transações por bloco e de taxas de transações por segundo, visando reduzir o custo da taxa da transação, que havia crescido muito.
Em resumo, opções novas estão surgindo a todo momento para fazer frente a este custo crescente da taxa por transação.
Crypto ID: Para este primeiro produto que vocês estão criando, qual plataforma vocês pretendem utilizar?
Luciano: A plataforma provavelmente será a Ethereum, mas para evitar este custo de transação na rede principal pública, estamos discutindo internamente se vamos construir uma rede privada interna, com uma definição de regras para as empresas que participarem e com uma camada de criptografia dentro do “smart contract” com chaves para proteger os dados de cada empresa participante.
Crypto ID: Com relação a essas chaves de criptografia, é um certificado digital da empresa?
Luciano: Sim, pode ser. Ainda estamos estudando como será feita esta camada de criptografia, mas provavelmente o acesso aos dados será através de uma assinatura digital da empresa, para garantir a confidencialidade das informações.
Crypto ID: A mídia vem divulgando nos últimos anos seguidos casos de roubos de carteiras de moedas digitais de corretoras entre outros, bem como o de ataques de “hackers” aos sistemas de corporações seguidos de pedidos de resgates em bitcoins e outras moedas digitais. Assim, o público em geral tende a suspeitar que este ambiente de rede descentralizada não tem controle, está dominado por malfeitores e que o Blockchain, sendo a tecnologia de base que suporta todas as transações das moedas digitais, não é seguro. Como o senhor explica essa aparente incoerência em que de um lado a tecnologia é considerada segura, se utiliza de criptografia para proteger as identidades dos participantes e os registros das transações no blockchain são considerados invioláveis, e de outro o ambiente está dominado por malfeitores?
Luciano: Estes roubos de carteiras de bitcoin e outras moedas em corretoras digitais não violam o blockchain pelo simples fato de que as carteiras não são armazenadas dentro do blockchain, elas são armazenadas em contas com endereços criptografados nos sistemas das corretoras, assim como no seu computador ou no seu celular. Assim, quando ocorre um roubo de carteiras em uma corretora, na verdade a falha foi na proteção ao sistema interno da corretora ou no “firewall”, e não no blockchain. Do mesmo modo, se alguém tem o celular roubado e junto com ele o acesso à conta criptografada, se não houver backup dos dados e chaves desta conta em nenhum lugar, o valor da carteira é perdido, mesmo que o ladrão não consiga acessar a conta criptografada. Uma forma de armazenar o backup dos dados e chaves de sua carteira é utilizar um Ledger Nano, por exemplo, que é uma espécie de pen drive específico para esta finalidade.
Crypto ID: Um outro aspecto negativo que tem sido enfatizado na mídia é o consumo de energia dispendido para a mineração * das moedas digitais, que vem crescendo exponencialmente. Este processo de mineração do bitcoin e de outras moedas faz uso do “proof of work” (prova de trabalho), que é um procedimento que provê segurança para o blockchain contra hackers. A esse respeito, no seu entendimento, existem alternativas para o “proof of work” que não necessitem tanto consumo de energia? Quais seriam os pros e contras de cada uma delas?
Luciano: O consumo de energia realmente vem aumentando muito, o que tem tido um efeito de concentração de mineradores em países onde a energia é barata. Este é o caso da Islândia, da China, do Paraguai, com sítios montados com centenas de máquinas projetadas especificamente para minerar moedas.
Apesar deste aspecto negativo, entretanto, é importante mencionar que essa “prova” para minerar provê segurança à rede, bem como a alternância entre os mineradores no fechamento de blocos, de modo a evitar que a mesma pessoa minere blocos seguidas vezes e consiga manipular a cadeia.
Existem várias alternativas ao “proof of work” sendo avaliadas, dependendo do objetivo da plataforma. Na “proof of authority”, apenas alguns “nós”, os “master nodes” se encarregam da mineração, mas nestes casos a descentralização é relativizada, quando não suprimida. Dentre as alternativas mais estudadas está o “proof of stake” (prova de participação), que provê maior peso aos “nós” que possuem maior quantidade de moedas da plataforma. Existem ainda várias outras em evidência, como a “proof of delegates” (prova de delegados, os “nós” escolhidos como representantes), “proof of capacity” (prova de capacidade de armazenamento e processamento disponibilizado para a rede). Uma alternativa que vem sendo avaliada com atenção é a combinação do “proof of work” com o “proof of stake”. Teria a vantagem de demandar menos energia e evitaria a incursão de hackers ou de aventureiros sem compromisso com a integridade do blockchain, uma vez que só os detentores de grandes carteiras e, portanto, em teoria compromissados com o sucesso da plataforma, teriam reais chances de minerar blocos.
De qualquer modo, a tecnologia tem evoluído rápido e ninguém pode antever o que aparecerá de novo até o fim do ano, ou mesmo como será o avanço de projetos ainda mais disruptivos, como os que organizam blocos de modo alternativo ao de blockchains, como o DAG (“Directed Acyclic Graph”) e que não tem custo de mineração associado, ou o novo modelo de blockchain, o Hashgraph, que diminui muito a necessidade de gasto de energia pela maneira como as transações são mineradas, mas que é difícil torná-lo público, pois ainda requer que os participantes sejam de confiança.
O conceito de mineração de uma moeda digital foi introduzido juntamente com o Bitcoin como uma forma de recompensar os nós da rede que competem entre si (denominados “mineradores”) e dispendem esforços para “fechar” o bloco mais recente de registros de transações que ainda não foram incluídos em nenhum bloco anterior.
O esforço feito para “fechar” um bloco consiste em reunir as transações ainda sem bloco e ao mesmo tempo encontrar um número inteiro aleatório que, em conjunto com as demais informações do bloco, ao serem criptografadas por uma função específica, gerem um código HASH que seja menor do que um determinado valor estipulado previamente (e que é atualizado periodicamente, alterando o nível de dificuldade da prova). O esforço está em recalcular este código HASH inúmeras vezes, alterando a cada vez o número aleatório, até encontrar um que atenda à condição de ser menor que o valor estipulado. Da mesma forma que o código HASH do bloco anterior era uma das informações do bloco para o qual o minerador recém calculou o código HASH, este mesmo código será parte das informações do próximo bloco, garantindo assim o encadeamento entre eles.
Uma vez fechado o bloco e encadeado na cadeia de blocos anteriores pelo nó minerador vencedor da competição, os demais nós participantes validam o novo bloco fechado através da confirmação de sua inclusão na cadeia de blocos. Este método de consenso entre os nós participantes da rede descentralizada se chama “proof of work” (prova de trabalho).
Quanto mais “trabalho” demandar o fechamento de blocos, maior será a segurança da cadeia de blocos como um todo, pois alterar qualquer transação de um bloco da cadeia demanda corrigir e fechar o bloco da transação e também todos os blocos posteriores, devido ao mecanismo de encadeamento utilizado que une os blocos em sequência. Assim, este método de consenso “proof of work” propicia segurança ao blockchain, mas vem consumindo cada vez mais energia.
Crypto ID: Os “smart contracts” (contratos inteligentes), foram introduzidos em 2014 pela rede Ethereum e agregaram um novo componente ao blockchain desta rede, tornando-a potencialmente muito mais poderosa, pois são programas capazes de interagir com os demais endereços criptografados das carteiras dispersas pela rede e que pertencem às pessoas que transacionam entre si as moedas e “tokens”. No entanto, estes contratos vêm apresentando algumas dificuldades na implementação, causadas pela sua imutabilidade após implantação, em especial quando eventuais falhas são detectadas a posteriori, até mesmo obrigando a comunidade da rede a planejar “hard forks” (bifurcações forçadas na cadeia) no blockchain para contornar estas falhas e evitar prejuízos aos participantes inadvertidos. A este respeito, que iniciativas para contornar inconvenientes o senhor destacaria como promissoras?
Luciano: Realmente não é possível atualizar o código dos “smart contracts” após a sua implantação, uma vez que ele pode ter sido utilizado várias vezes no blockchain em distintas transações e as regras do contrato vigente foram utilizadas para aquelas transações. Novas versões do contrato podem ser implantadas e passar a ser utilizadas pelas novas transações que ocorrerem. O que deve ser mantido é um controle na linha de tempo das distintas versões do contrato de modo a entender qual versão foi utilizada em cada transação.
Com relação aos “hard forks”, que buscam corrigir falhas que já tenham prejudicado parte da comunidade, ou mesmo os “soft forks” planejados para introduzir melhorias na rede, a melhor solução é a busca de consenso na comunidade das partes interessadas, sejam os “nós” participantes, sejam os detentores da moeda digital da plataforma, como ocorre na plataforma Decred. Sem votação e sem consenso, estas bifurcações de rede são autoritárias, decididas por poucos “nós” que detêm maior poder na rede, seja por ser uma espécie de “administrador da rede”, seja por deter maior poder de mineração.
Em geral, estas bifurcações autoritárias em redes públicas acabam por propiciar o surgimento de duas cadeias distintas, onde um grupo de participantes não aceita a bifurcação e dá seguimento à cadeia anterior. Este é o caso do Bitcoin e o Bitcoin Cash, ou do Ethereum e o Ethereum Classic, além de muitos outros. Mais recentemente, os “soft forks” planejados para introduzir melhorias nos blockchains têm proposto regras de aceitação prévias bem estabelecidas, de tal forma que ao chegar o momento de efetuar a bifurcação, ela só é feita caso a aceitação da nova versão tenha atingido o nível pré-estabelecido.
Crypto ID: Agradecemos mais uma vez a oportunidade de entrevista-lo e poder divulgar o seu conhecimento e experiência neste tema que é de muito interesse ao nosso público leitor, especializado em certificação e identidade digital.
* Fernando Taboas – Consultor de TI, Processos e Aplicações. É engenheiro formado pelo IME, mestre em Finanças pela PUC Rio, atuou em tecnologia da informação nas empresas Gillette e P&G e Professor da FIAP. [fernando@cryptoid.com.br]
** Yoshimiti Matsusaki* CEO da Finnet
*** Luciano Monteiro Gomes Jr, é paulistano, 22 anos, formando em engenharia de computação pela FIAP, desenvolvedor na Finnet. O interesse pela tecnologia surgiu por causa do Bitcoin, ainda em 2015.