IOTA: O casamento do blockchain com a IOT

IOTA: O casamento do blockchain com a IOT

Antes mesmo de trabalhar com blockchain, eu já atuava com IoT (Internet of Things). Atuando com ambas tecnologias em separado, foi muito interessante perceber que elas podiam ser reunidas, gerando valor uma à outra. A convergência destas duas tecnologias faz todo sentido. Desse modo, há algum tempo atrás criei material sobre isso e ministrei em um evento a palestra “Blockchain e IOT: o casamento perfeito”. Uma plataforma que eu citava era a IOTA.

 

Leia mais

Você conhece o blockchain Corda?

Você conhece o blockchain Corda?

Se você respondeu sim a esta pergunta, há chances que você tenha entrado nesse artigo só para postar nos comentários que Corda não é um blockchain, e sim um DLT (Distributed Ledger Technology). De fato, a arquitetura do Corda é bastante diferente dos blockchains “tradicionais” como o Ethereum e Hyperledger Fabric. Entretanto, enquanto o grupo da ISO não definir exatamente o que significa o termo “blockchain”, podemos continuar usando-o sem temor. Por outro lado concordo que estamos falando de um blockchain sem block nem chain

Corda, criado pela R3 em 2017, é normalmente tido como uma solução para o mercado financeiro. E não por acaso: ele nasceu para este propósito, mas acabou tendo uma abrangência muito maior, incluindo praticamente todas as verticais do mundo dos negócios.

O ecossistema da R3 já conta com mais de 200 membros. Isso inclui empresas de diversos setores, multinacionais e nacionais. Bradesco, Itaú e B3 garantem a presença do setor financeiro brasileiro.

Esse artigo visa dar uma visão rápida sobre alguns aspectos deste flavor de blockchain, podendo ser seu ponto de partida para se aprofundar nesta tecnologia.

Arquitetura

Alguns recursos técnicos adotados pelo Corda são realmente diferentes dos principais blockchains para uso corporativo. Destaco alguns destes recursos nos parágrafos abaixo.

O Bitcoin, assim como diversos outros blockchains, usam gossip protocols, enquanto o Corda usa need-to-know basis protocol. Traduzindo: o Corda não “fofoca” todas as transações para todos os membros da rede; ele as envia apenas para quem faz parte de cada transação. É a chamada privacy by design, se distanciando da visão clássica de que todos membros possuem uma cópia do ledger inteiro no seu nó.

Falando em Bitcoin, o Corda utiliza também o conceito de UTXO (unspent transaction output), onde cada transação consome um conjunto de estados (states) existentes para produzir um novo estado.

Nesta rede permissionada, após o nó ter sua entrada autorizada, um serviço de mapeamento de rede mantém a relação de todos os IPs dos participantes. Um serviço de cartório (notary service) executa a validação da transação e garante sua não-duplicidade. Serviços de oráculo (oracle services) permitem o acesso a informações externas ao sistema.

O lema “Code is law”, tradicional no mundo dos Smart Contracts, não se aplica aos contratos em Corda. Primeiro porque o contrato pode sim ter seu código atualizado. E segundo porque existe o “legal prose” que pode ser um contrato do mundo real (em PDF por exemplo) anexo ao código (programa) original, quando este não for suficiente para sanar eventuais disputas que possam surgir.

É possível também você restringir a execução da sua transação a uma certa janela de tempo (time-window). Determinada transação pode fazer sentido apenas se executada até certa data/horário, a partir de tal momento, ou num certo intervalo de tempo, como por exemplo, em um certo dia.

Visando ter o nível máximo de privacidade, a rede pretende utilizar a tecnologia Zero knowledge proof, implementada através do zkSNARK

Já em outros aspectos, o Corda optou por soluções consagradas, usando a JVM para rodar o código, bancos de dados relacionais SQL, e implementações comuns para gerenciamento de filas de mensagens.

Informação compartilhada só entre quem faz parte da transação

Onde encontrar

A versão open-source do Corda pode ser obtida diretamente do seu repositório no Github.

Para quem não quer mergulhar tão profundamente no mundo técnico, é recomendado usá-lo através de clouds, como no AWS e no marketplace do Microsoft Azure. Aproveite para integrar seu dApp (na verdade, seu “CordApp”) com as diversas outras ferramentas disponíveis nestes ambientes.

Mantenha-se atualizado

Acompanhar um software que está em constante evolução não é tarefa das mais fáceis. Portanto listo alguns recursos interessantes para este fim.

Para se iniciar da maneira mais formal possível, leia o white paper.

Para uma documentação on-line em estilo amigável, incluindo vídeos embutidos, clique aqui.

Dê suas sugestões e siga as últimas tendências no fórum pelo grupo de Slack.

Quer verificar se sua dúvida já foi respondida por alguém? Cheque nas mais de mil perguntas no Stack Overflow.

Artigos muito bacanas no Medium.

O canal do YouTube é constantemente atualizado com vídeos didáticos e de eventos.

Os principais eventos são:

  • Bootcamp – Treinamento técnico básico gratuito com duração de um dia
  • CordaCon – Conferência anual que ocorre em Londres. Dura dois dias, com separação em trilha de negócios (BizDay) e desenvolvedores (DevDay)
  • Meetups – Reuniões que acontecem esporadicamente em algumas cidades do mundo

Negócios

Apesar de ainda não serem muitos os cases em produção, já há iniciativas bastante interessantes no mercado.

Para aplicações corporativas, a versão Corda Enterprise se aplica melhor em relação à open-source. Ela é paga, mas inclui suporte de missão crítica do fabricante, integração com banco de dados Oracle e SQL-Server, interoperabilidade e segurança de alto nível.

A Finastra, gigante londrina em tecnologia financeira, criou o produto Loan-IQ. Através dele, ela conseguiu reunir cerca de 1.700 membros como bancos, clientes, financeiras, etc para possibilitar empréstimos sindicalizados entre eles.

O Blockchain Insurance Industry Initiative, conhecido como “B3i”, é uma iniciativa de colaboração da indústria de seguros. Reúne membros como Allianz, Liberty Mutual, Zurich e Swiss Re.

O processo de KYC passa por um piloto através da Synechron. São cerca de 40 empresas que podem dispor de um modelo soberano de identificação, evitando duplicidades, aumentando a privacidade e diminuindo falhas em todo o processo.

Tradewind é uma plataforma construída no cloud AWS para o mercado de ouro. O processo de investimento e comercialização dessa commodity foi simplificado, ficou mais transparente e abriu uma nova gama de oportunidades.

Aqui no Brasil temos um importante case da B3 com o Bradesco. O projeto visa simplificar o processo de registro de CDBs e ampliar a eficiência dos processos existentes.

Conclusão

O Corda é um blockchain que traz soluções técnicas realmente interessantes. Alicerçado por cerca de 200 empresas, ele vem ganhando tração em diversos mercados e desponta como uma das principais opções de blockchain corporativos.

Interessante ressaltar que o Brasil é um dos quatro países que possuem escritório da R3, junto com Nova Iorque, Singapura e Londres. Não deve ser à toa.

Marcelo Creimer

Blockchain | IoT | Cognitive

 

 

Contratos Ricardianos em Blockchain

Contratos Ricardianos em Blockchain

Para começo de conversa, o que são Contratos Ricardianos?

Contrato Ricardiano foi inventado por Ian Grigg em 1996, como um método de registrar um documento como um contrato legal, vinculando-o seguramente a outros sistemas informatizados.

Eles foram inicialmente introduzidos pelo Ricardo Payment System. Ian Grigg, que era o homem por trás deste novo tipo de documento legal, é considerado um dos pioneiros da criptografia financeira, conhecido também por seu trabalho em contabilidade de tripla entrada.

Qualquer um que leia seu trabalho pode perceber que ele estava bem à frente de seu tempo. Ele desenvolveu um conceito interessante para digitalizar um contrato legal, qualquer instrumento financeiro ou ativo. No entanto, nos anos 90, a tecnologia apropriada para implementar suas ideias de acordo com seu mérito, não estava disponível. Mas essa limitação não existe mais depois do surgimento da tecnologia blockchain.

Grigg define um contrato Ricardiano como um documento que é:

  1. um contrato oferecido por um emissor aos participantes;
  2. valioso para os participantes, e gerenciado pelo emissor;
  3. facilmente lido (como um contrato em papel);
  4. que possa ser lido por softwares;
  5. assinado digitalmente;
  6. portador das chaves e informações do servidor;
  7. reconhecido por um único e seguro identificador.

Como funcionam os contratos Ricardianos?

O contrato Ricardiano é basicamente um contrato legal legível entre as duas partes. Você pode usar este contrato no tribunal ao vincular você e a outra parte em um contrato legal. Você pode precisar de advogados para criar o acordo legal após o qual ambas as partes possam ler, entender, concordar e assinar o documento. Só depois disso, você pode digitalizar e passar para uma rede baseada em hash para que possa ser usado pelo software para rodar na plataforma blockchain.

Isto significa que, uma vez acordado por ambas as partes, e transformado em uma forma legível por máquina, é impossível para qualquer um possa mudar arbitrariamente o acordo legal.

Para assinar contratos Ricardianos, você pode usar chaves privadas. Quando você adiciona a assinatura do emissor do contrato ao documento, ele cria um contrato legível e vinculante sobre as informações descritas no documento. Também é possível rastrear as partes envolvidas com a ajuda das chaves públicas e responsabilizá-las.

No entanto, os contratos Ricardianos são baseados em contratos legais pré-definidos e pré-acordados. Pré-acordado e juridicamente vinculante significa que quando chega a hora, você pode produzir efeitos para os juízes no tribunal. O contrato Ricardiano pode, pelo menos, permitir que os árbitros decidam sobre a intenção original, bem como sobre as obrigações.

Seriam os Contratos Ricardianos a segunda geração de Smart Contracts?

O Smart Contract, como definido pelo seu idealizador Nick Szabo, é um conceito abstrato relacionando a realização automatizada de um contrato já previamente acordado. Já o Contrato Ricadiano é um padrão de desenho visando capturar a intenção do acordo entre as partes, antes da sua execução.

Um contrato Ricardiano coloca os elementos de definição de um contrato com valor legal em um formato que pode ser expresso e executado por software. Para tanto, ele precisa ser lido pela máquina para que possa ter dados facilmente extraídos para seu processamento, assim como também ser legível como um documento texto comum, para que advogados e partes interessadas possam entender o conteúdo.

Uma questão chave é: Qual forma de representação de um contrato é mais importante: o seu texto (em linguagem natural) ou sua automação (o código)?

Richard Brown – CTO da R3 – certa vez disse que uma das principais lições do incidente do “The DAO” é que em um sistema que, talvez, tivesse seu desenho objetivando o código como dominante, há uma necessidade de uma abordagem mais ampla, que explique o que deve acontecer no caso das coisas darem errado.

De uma perspectiva legal, o uso de linguagem de marcação embutida em um documento de valor legal, leva a redução de custo de transação, maior rapidez na resolução de disputas, mais força na efetivação do contrato, e mais transparência.

De uma perspectiva computacional, o contrato Ricardiano é um padrão de desenho de software para digitalizar documentos para tê-los em transações financeiras, como pagamentos, sem perda de nenhum detalhe do contrato original. A publicação do conteúdo e referência por técnicas de criptografia contribui na eliminação de fraudes.

 Contrato Inteligente Ricardiano

Os Contratos Ricardianos podem ser usados para adicionar autenticidade ao processo de venda ou compra de um ativo na internet ou na rede blockchain. Os contratos Ricardianos podem definir em termos legais o que você está comprando ou vendendo, e sob quais termos legais, assim como quem são os participantes, e demais informações pertinentes.

Simplificando, os contratos inteligentes quando fundidos com os contratos Ricardianos, podem fornecer um processo robusto e praticamente infalível para o comércio na internet. Nesse caso, denominam-se “Contratos Inteligentes Ricardianos”. Além disso, um contrato Ricardiano pode agir e fazer o mesmo que um contrato inteligente, já que você pode definir termos e instruções legais para executar como um código.

Corda: Code is NOT law

Corda – blockchain da R3 – tem uma implementação muito interessante de Contrato Ricardiano.

Este blockchain usa o conceito de “Legal Prose”, que se refere ao texto de um contrato em linguagem natural. Um modelo (“template”) serve como esqueleto de um contrato “genérico” que é preenchido com os dados (parâmetros) de um acordo específico. Esse preenchimento dá origem a instâncias do template. É então gerado um hash desta instância, que é referenciado dentro do contrato. A figura abaixo ilustra este funcionamento:

Com toda essa abordagem, o Corda se diferencia de alguns blockchains que seguem o mote “Code is law”. Esse mote significa dizer que o que estiver no código é o que predomina. No caso do Corda, há o código a ser executado, há o contrato em formato que pode ser lido por humanos, e ainda podemos ter um PDF do contrato original anexado à transação em questão (através do hash do PDF). Juntas, todas estas providências, ajudam muito na redução de conflitos e disputas.

 

 

Marcelo Creimer

Blockchain | IoT | Cognitive

Blockchain e a Ameaça Quântica

Blockchain e a Ameaça Quântica

A vida de uma nova tecnologia não é nada fácil. Ela tem que se provar eficiente para substituir uma tecnologia já existente ou preencher alguma lacuna. Além disso, vive assombrada por fantasmas tentando provar que ela não serve para nada. E com blockchain não é diferente. Depois de participar de algumas discussões, cheguei a escrever um artigomostrando como o blockchain pode conviver (e até resolver problemas) com a chegada das leis de proteção de dados (GDPR e LGPD). Agora uma nova ameaça paira no ar: os computadores quânticos. Um termo que até pouco tempo parecia coisa de ficção científica, já é realidade. Empresas como IBM e Google já começam a disponibilizar o uso de seus computadores com esta tecnologia.

E como o computador quântico ameaça o blockchain?

Ameaça-o quebrando a criptografia largamente utilizando em blockchain. Desse modo, um hacker com acesso a um computador quântico poderia apropriar-se da identidade do usuário, participando de redes blockchain, ou ainda roubando seus bitcoins, ethers ou a maioria das suas criptomoedas.

Agora vem um “detalhe” que é muito mais alarmante. A criptografia utilizada por boa parte dos blockchains usa a mesma tecnologia de certificados digitais e websites seguros, o que inclui o acesso à sua conta bancária via web (internet banking)… Sim, você não precisa se preocupar com suas redes blockchain e criptomoedas, pois sua identidade e seu dinheiro já teriam sido roubados antes disso.

Bom, agora que consegui instaurar o caos com sucesso, vamos entender melhor o que realmente significa essa ameaça quântica, o que é um computador quântico, e até um pouco de física quântica.

Antes de tudo, cabe uma nota pessoal do autor que vos escreve. Quero deixar claro que não sou especialista em física, muito menos em física quântica. Mas como este assunto me interessa, tenho pesquisado à respeito e vou dar uma visão geral sobre o assunto. Caso eu cometa deslizes neste artigo, peço desde já minhas desculpas, e fiquem à vontade de fazer suas considerações nos comentários.

2

Criptografia atual

Grande parte dos blockchains atuais tem sua forte segurança garantida principalmente pelo uso de duas tecnologias: Criptografia via chaves assimétricas (PKI) e hashing.

A criptografia assimétrica costuma se basear na fatoração de números primos. Num exemplo extremamente simples, fatorando o número 15, obteríamos seus fatores 3 e 5. Os blockchains utilizam chaves privadas a partir de números extremamente grandes para garantir a segurança. Por “extremamente grandes” entenda algo na casa de 70 dígitos… Imagine a dificuldade em se obter 2 números primos que multiplicados gerem este número monstruoso. Pode-se usar força bruta, gerando todas as combinações possíveis, mas mesmo um supercomputador de última geração pode levar milhares de anos para descobrí-los.

No caso do hashing o cenário é diferente. Enquanto a criptografia é reversível (independente do esforço necessário), o hash não é reversível (pelo menos em tese, como veremos mais pra frente).

Física quântica

A física quântica se se refere ao mundo sub atômico. Na física clássica, matéria é matéria, e ondas são ondas. Já na física quântica uma partícula se comporta como matéria e onda ao mesmo tempo. Para nós, meros mortais, e até para físicos que trabalham com a física clássica, a física quântica é no mínimo estranha. Pessoalmente, eu diria até impossível, se já não tivesse sido comprovada cientificamente.

Para não me estender muito, vamos a duas propriedades fundamentais que nos interessam:

Superposition: Pode ser definida como um conjunto de probabilidades de um certo estado quântico. Em termos mais práticos é a possibilidade de algo estar em dois estados diferentes ao mesmo tempo. No caso de computadores, seria o bit representar 0 e 1 simultaneamente. Isso pelo menos até ser observado ou medido, quando então este estado seria colapsado para apenas um valor. Como analogia imagine jogarmos uma moeda para o alto para tirar cara ou coroa. Enquanto ela está girando no ar, podemos dizer que ela está nos dois estados (cara E coroa), mas ao medirmos, ou seja, pegando a moeda na mão, ela vai estar em cara OU coroa.

Entanglement: Pode ser traduzido como “entrelaçamento” em português. É a habilidade de objetos separados compartilharem o mesmo estado ou condição. Um par de partículas estão entangled quando estão no mesmo estado quântico. A mudança de estado de uma delas irá acarretar a imediata mudança do estado da outra. Cada membro do par pode estar a milhões de anos-luz de distância do outro, mas mesmo assim a mudança ocorrerá instantaneamente. Inacreditável? Se serve de consolo, Einstein também achou isso assustador.

3

Computadores quânticos

Os computadores convencionais de hoje usam bits, que representam o estado 1 ou 0. Essa tem sido a base de todos computadores há mais de cinco décadas. Os bits são gerados por impulsos elétricos ou ópticos . Tudo, até o vídeo que você assiste no YouTube, é em último instância, composto de uma sequência de uns e zeros. Já os computadores quânticos usam o qubits, que costumam ser partículas sub-atômicas, como elétrons ou fótons, e armazenam o 1 e o 0 ao mesmo tempo. A propriedade de superposition permite isso. Ao dobrar o número de bits em um computador convencional, ele tem sua capacidade de processamento também dobrada; mas no caso quântico, o aumento do número de qubits provoca um aumento exponencial.

O estado do qubit é muito frágil. Para evitar ruídos (quantum noise) que poderiam alterar este estado, o computador quântico deve ser mantido a uma temperatura absurdamente fria perto do zero grau kelvin, ou em uma câmara de altíssimo nível de vácuo para evitar vibrações. Relembrando das aulas de física da escola, zero grau kelvin é uma temperatura que faz a Sibéria parecer Cuiabá no verão; estamos falando de 273 graus celsius negativos. E mesmo nessas condições o estado do qubit é mantido por curtíssimo tempo, o que dificulta seu uso.

Uma pergunta que pode passar pela sua cabeça é se os computadores convencionais não podem continuar evoluindo, como têm feito nas últimas décadas, seguindo a Lei de Moore e dobrando sua capacidade de processamento a cada 2 anos. Desse modo eles poderiam até atingir um poder de processamento similar a um computador quântico. A resposta a essa pergunta não é um consenso, mas o fato é que chegamos em um patamar em que esbarramos no limite físico da miniaturização para a condutividade elétrica. A expansão, se ainda possível, não deve seguir o atual ritmo.

Importante dizer que a versão quântica dos computadores não deve substituir os convencionais, já que servem para finalidades diferentes.

O computador quântico não poder ser visto como um vilão. Pelo contrário. Ele veio resolver problemas complexos como modelar a estrutura da matéria, entender melhor o universo e o cérebro humano, possibilitar a criação de novos medicamentos, aprimorar o campo de inteligência artificial, entre outros. Esses problemas levam milhares (ou milhões) de anos para serem resolvidos nos computadores de hoje. Devemos ter então a chance de ter algumas repostas durante nossa existência.

4

Atual estágio dos computadores quânticos

Este é um terreno polêmico. Há quem diga que computadores quânticos existam ainda de maneira precária, e só estarão realmente disponíveis daqui a pelo menos uma década. Enquanto isso, algumas empresas afirmam já tê-los disponíveis para uso via cloud.

Mesmo com o uso de recursos de salas especiais a baixíssimas temperaturas ou isoladas à vácuo, os computadores quânticos ainda ficam sujeitos a erros nos cálculos. Esses erros são minimizados via software específico, mas não eliminados. James S. Clarke, executivo da Intel, acredita que para um computador quântico possa resolver problemas complexos, será necessário pelo menos um milhão de qubits; mas ainda estamos muito longe disso. A maior quantidade de qubits conseguidos em um computador até esta data é 128 qubits, pela startup Rigetti, seguida pelo Google com 72 qubits, e a IBM com 50 qubits. Parece que vamos demorar para atingir a supremacia quântica (Quantum Supremacy), ponto onde um computador quântico possa fazer cálculos impossíveis de serem reproduzidos em supercomputadores convencionais.

 

Existe ameaça, afinal de contas?

No caso do Bitcoin, existe uma segurança extra. Cada endereço Bitcoin é usada para apenas uma transação, pois sua carteira gera outros endereços para novas transações. Desse modo, um computador quântica teria um tempo curto para descobrir a chave privada (entre o envio da transação e sua validação), pois assim que a transação é efetivada, aquela chave privada eventualmente descoberta não será mais útil, já que sua correspondente chave pública não será mais usada.

O Algoritmo de Shor – nome dado em homenagem ao matemático Peter Shor – melhora a qualidade das tentativas para quebrar criptografia, aumentando a possibilidade de se descobrir os fatores em um tempo bem menor. Este algoritmo pode ser usado em um computador convencional, mas funciona muito melhor em um computador quântico, se valendo da propriedade de superposição, permitindo a análise de diversos candidatos simultaneamente. Entretanto, uma estimativa grosseira diz que são necessários 2 qubits para cada bit de uma chave. Ou seja, para quebrar o segredo de uma chave de 1.024bits seria necessário um computador de 2.048 qubits. Algo que deve levar alguns anos para existir. Mesmo quando existirem, existirá também a questão ética; empresas com estrutura para ter tal computador não deverão liberar acesso para qualquer um rodar qualquer programa, muito menos um algoritmo de quebra de criptografia. Quando totalmente disponíveis, os computadores quânticos terão um preço bastante elevado para uso por minuto, o que deve inibir um ataque em massa de quebra de chaves criptográficas.

Algoritmos resistentes a ataques quânticos já estão sendo desenvolvidos. Um outro caminho é utilizar técnicas como o ZKP (Zero-knowledge proof), onde não há segredo a ser descoberto, uma vez que a informação não trafega pela rede, e sim apenas o necessário para provar o que está em questão. De todo modo, a criptografia ainda deverá ser o elo mais forte, sobrando para as pontas (software cliente, por exemplo) manter uma segurança muito forte, pois é onde costumam se concentrar ataques. A engenharia social – que compreende a obtenção de dados secretos através de conversas pessoais ou dados disponíveis em redes sociais – é uma ameaça que independe de tecnologia para detê-la, e causa muitos estragos.

Em suma, assim como o temido Bug do ano 2.000, que ameaçava paralisar os sistemas de informação de todo o mundo na virada do ano de 1.999 para 2.000, devemos ainda acompanhar a evolução de todo o cenário para entender o que de fato acontecerá.

6

Fontes:

Quantum Threat to Blockchains: Shor’s and Grover’s Algorithms – https://codeburst.io/quantum-threat-to-blockchains-shors-and-grover-s-algorithms-9b01941bed01

How Will Quantum Computing Impact Blockchain Technology? https://medium.com/blockstreethq/https-medium-com-shaanray-how-quantum-computing-will-impact-blockchain-technology-f69e4a3af25e

Explainer: What is a quantum computer – https://www.technologyreview.com/s/612844/what-is-quantum-computing/

Qubit Counter – http://www.qubitcounter.com/

Quantum Cryptography Demystified: How It Works in Plain Language – https://www.extremetech.com/extreme/287094-quantum-cryptography

Intel Unveils ‘Breakthrough’ Quantum Computer – https://www.extremetech.com/computing/261734-intel-unveils-new-quantum-computer-declares-quantum-breakthrough

Como a Intel está se preparando para a Computação Quântica – https://canaltech.com.br/inovacao/como-a-intel-esta-explorando-a-computacao-quantica-124232/

 

 

Marcelo Creimer

Blockchain | IoT | Cognitive

 

O Blockchain e o direito de ser esquecido

Por Marcelo Creimer

“The Right to be Forgotten” é a expressão em inglês que significa que algo escrito sobre você no mundo digital não precisa permanecer lá eternamente.

O detentor das suas informações pessoais deve apagá-las caso você assim solicite com o devido embasamento legal. Além de remover tal conteúdo, o autor tem de se comprometer a não disseminá-lo mais, nem por si mesmo, nem por terceiros.

Com as novas leis de proteção aos dados pessoais na Europa (GDPR) https://www.eugdpr.org/ e Brasil (https://bit.ly/2w1wSzd), este assunto voltou à tona. Mais quente ainda está a discussão sobre uma eventual incompatibilidade entre o direito ao esquecimento e Blockchain. Por que isto está sendo discutido? Oras, porque um dos pilares do Blockchain é justamente a imutabilidade dos dados gravados…

Então Blockchain e as leis de proteção de dados pessoais são incompatíveis? A resposta é não. Vamos entender porquê.

Como o próprio nome diz, a lei é de proteção de dados “pessoais”. Na maioria das redes blockchain o que costuma trafegar são transações comerciais, de modo que estes registros façam no máximo uma referência ao cliente em questão, sem exibir seus dados. Entretanto há sistemas que os dados pessoais são o objeto central do sistema. Nesse caso, para que a ficha cadastral do cliente não esteja gravada de maneira que não possa futuramente ser apagada, existem algumas alternativas:

  1. Os dados do cliente podem estar sim no blockchain, mas quem detém a “guarda” destas informações é o próprio cliente; através da sua chave privada só ele permite a consulta, consegue alterar ou excluir seus dados. Se ele quiser que seus dados sejam permanentemente excluídos, basta que o cliente “perca” sua chave privada. A rigor a informação ainda está lá, mas criptografada e inacessível a todos, de forma irrecuperável
  2. Os dados pessoais do cliente estarem em um banco de dados convencional, sendo referenciado por um hash no blockchain. Estando em banco de dados, a opção de apagar os dados do cliente é um procedimento comum.
  3. A regra de negócio que fornece acesso aos dados pessoais em um blockchain, implementadas através de um smart contract, pode conter uma lógica que permita ao dono da informação restringir a todos o acesso aos seus dados, evitando a partir de então a visualização dos seus dados.

Na verdade, o blockchain tem um papel bastante positivo e importante em relação à proteção de dados pessoais.  Ele permite a descentralização na guarda dos dados, equilibrando o poder de fogo entre as partes, já que o dono da informação pode fazer parte da rede diretamente. Além disso, Informações criptografadas pelo próprio dono da informação ajudam em muito contra vazamento de dados.

Cabe ainda lembrar que tanto a lei de proteção de dados pessoais quanto o direito ao esquecimento, apesar de regulamentados em alguns países, ainda são alvos de muita controvérsia. Por exemplo, como posso exigir que meus dados sejam apagados se isso conflitar com outras leis que dizem que certos dados históricos têm de ser mantidos em arquivo por 5 ou 10 anos?  Outra: Se um blockchain está fisicamente na Europa mas sua utilização se dá no Brasil, deve-se aplicar a lei de que país?    Ademais, as leis levam em consideração a possibilidade técnica de se efetivar a remoção física dos dados.

Por fim, quero deixar bastante claro que sou totalmente à favor da proteção dos dados pessoais. Precisa-se, entretanto, ter em mente que a publicação de tais leis é um primeiro e admirável passo. Há muitos tópicos ainda sendo discutidos para que a sociedade entenda o que é melhor para todos, e a tecnologia irá acompanhar esta evolução, amadurecendo para acomodar o direito da melhor maneira. Afinal, o propósito da tecnologia é se moldar às necessidades da sociedade.

 

 

 

 

Blockchain, Sidechain e Off-chain

Com o sucesso das redes blockchain públicas como Ethereum e Bitcoin, o volume exponencial de transações acabou se tornando talvez o maior problema delas. Novos blocos são alocados nas redes a intervalos fixos de tempo, com tamanhos também fixos. Desse modo, se um usuário envia uma transação com conteúdo muito grande, o impacto é sentido na rede, fazendo com que os outros usuários tenham de aguardar mais tempo para um novo bloco receber suas transações. Alternativamente o usuário poderá pagar uma taxa mais alta para sua transação ser efetivada mais rapidamente. Ambos efeitos são ruins, fazendo com que o problema de escalabilidade venha sendo discutido exaustivamente dentro da comunidade.

Visando resolver estes problemas, certas tarefas são feitas fora do blockchain (“off-chain”) em questão, mas em um blockchain secundário (“sidechain”). Os sidechains rodam em paralelo com o blockchain principal, podendo estender suas funcionalidades, segurança, performance, escalabilidade e diminuir custos.

Os principais casos de uso destes conceitos são:

Armazenamento de arquivos de dados

Aplicações que garantem a autenticidade e propriedade intelectual de documentos eletrônicos costumam fazer uso da tecnologia de sidechain. Arquivos como contratos, escrituras, letras de música, imagens e fotos podem ocupar bastante espaço em disco. Portanto, o armazenamento destes de maneira off-chain auxilia em muito o blockchain. A aplicação gera um hash do documento eletrônico, que é armazenado no blockchain principal. Esse hash funciona como uma assinatura digital exclusiva do seu documento, de modo que, se necessário você consegue comprovar de maneira inquestionável que você já detinha este documento em determinada data. O blockchain secundário será indexado ao principal (Ethereum, por exemplo), de modo que se consiga se resgatar o arquivo em questão.

É possível também armazenar o arquivo autenticado com o hash na sua própria máquina local, caso você não precise exibí-lo online. Assim você estaria usando um recurso off-chain, mas não uma sidechain.

O Swarm é um serviço de armazenamento e distribuição de conteúdo da rede Ethereum. Ele ainda está na fase de testes e é usado automaticamente por todos os nós da rede.

Esquema básico exemplificando o armazenamento de um arquivo grande em um sidechain.

Micro-pagamentos

A idéia básica aqui é que transações financeiras aconteçam na sidechain, através da abertura de canais entre o blockchain e o sidechain. Desta forma, apenas a transação inicial e a final constarão no blockchain primário, de forma que este último mantenha atualizado o saldo inicial e final das contas envolvidas.

Esta tecnologia abre canais de pagamento privados entre um par de nós e todos os outros pares com os quais ele negocia. Na rede Lightning, por exemplo, as verificações seriam instantâneas, através de canais de pagamento privados protegidos por bloqueios multi-assinatura e bloqueios de horários. Os pares transacionariam entre si em seus canais privados, mas apenas o resultado final da transação seria transmitido ao Blockchain. Desse modo, muito menos transações precisam ser mineradas, desafogando a rede.

A rede Ethereum conta com o projeto Raiden, em teste na rede Litecoin. Enquanto isso o Bitcoin testa o Lightining.

Transações entre diferentes ativos

O intercâmbio entre ativos (tokens ou criptomoedas) é facilitado através da criação de um blockchain específico do novo ativo, que pode ser convertido do Bitcoin, por exemplo, para a moeda em questão, e vice-versa. Existe um controle de bloqueio que suspende o uso do ativo original enquanto ele estiver convertido no outro ativo.

Assim os usuários podem efetivamente “movimentar” seus bitcoins para a rede do novo ativo, que opera sob regras totalmente diferentes, mas ainda manter paridade com o Bitcoin. Podem se beneficiar disso instrumentos de financiamento tradicionais como ações, obrigações, vouchers e notas promissórias.

 

Marcelo Creimer – Blockchain Project Manager – eZly Tecnologia

 

Saiba mais sobre Blockchain

Você sabe o que é Blockchain?

Apesar de cada vez mais comum ouvirmos falar sobre soluções em Blockchain, acredito que ainda existam dúvidas. As explicações geralmente passam por termos como ledger, Hyperledger, imutabilidade, bitcoin, hash, criptografia, e outros que nem todos tem intimidade. Portanto, resolvi escrever este artigo, para tentar explicar da maneira mais simples possível, do que se trata esta tecnologia.

Blockchain é uma tecnologia de software que visa simplificar processos, provendo grande confiabilidade. Indo além, é um sistema de livro-razão (ledger), onde todas as transações são gravadas criptografadas (com segurança), e quando é atingido um certo número de transações, elas são armazenadas em um bloco, de forma a não poderem mais ser alteradas ou excluídas (imutabilidade). Este bloco é ligado ao bloco anterior, formando uma grande corrente (Blockchain = corrente de blocos). O Blockchain funciona em uma rede descentralizada (peer-to-peer), sendo copiado para cada computador da rede. Se um hacker invadir a rede, além de ser praticamente impossível decifrar as informações criptografadas, ele não conseguiria gerar transações falsas, pois todas as transações só são gravadas após serem validadas por um consenso da rede.

As aplicações comerciais do Blockchain são muitas. Áreas como supply chain, financeira, médica, logística, e muitas outras podem ser beneficiadas. Claro que esta tecnologia não serve para tudo, mas um sistema onde há diferentes players (fornecedores, clientes, bancos, órgãos reguladores, etc.) gerando e/ou acessando as mesmas informações, estes podem ser contemplados com uma visão única para todos, garantia de inviolabilidade das informações, gerenciamento de identidade na rede, sem a necessidade de nenhum intermediário (middle-man), e tendo as regras de negócio automaticamente aplicadas (smart contracts).

Outra questão que gera bastante polêmica é o Bitcoin. Ele é uma moeda eletrônica (crypto-currency) cuja base tecnológica é o Blockchain. O Bitcoin foi criado no ano de 2008 e começou a circular em 2009, só obtendo sucesso graças a toda esta infra-estrutura computacional desenvolvida, chamada Blockchain. Portanto, uma empresa pode se beneficiar de blockchain nos seus processos de negócio, sem nunca usar uma moeda eletrônica para isso. Por outro lado, esta infra-estrutura funciona tão bem e é tão segura, que pode ser usada para trafegar “dinheiro”. Além do Bitcoin existem outras diversas moedas eletrônicas, e outras ainda para ser criadas, como no caso da China, que pretende lançar uma moeda eletrônica oficial do país.

Para saber mais entre em contato com a eZly.

Você sabe o que é Blockchain?

Você sabe o que é Blockchain e para que serve? Assista uma demonstração de como a parceria entre a IBM e a Maersk vai simplificar e digitalizar o comércio global usando Blockchain para criar confiança e transparência. Entre em contato com a eZly para mais informações.  https://www.youtube.com/watch?v=koFYrfSe1Mo