DevSecOps

13 jul, 2015

Blockchain e apps distribuídas em uma Internet pós-cloud

Publicidade

Blockchain é a tecnologia que permite a criação de aplicações baseadas em cryptoledgers distribuídas e que promete revolucionar a Internet. O potencial disruptivo é tão grande que, para se ter uma ideia, em 2014 foram investidos US$ 315 milhões (cerca de R$ 1 bilhão) em seed money para startups recém-fundadas que trabalham especificamente com essa tecnologia.

Você pode estar se perguntando: “por que investir tanto em aplicações baseadas em cryptoledgers distribuídas?” ou ainda “afinal, o que cryptoledger distribuída significa?”.

Se você se perguntou isso, pode ficar tranquilo, porque a grande maioria das pessoas de TI ainda não sabe exatamente do que se trata. O fato é que tem algo importante acontecendo no mundo da tecnologia, e não podemos ficar alheios.

Um novo protocolo para uma nova Internet

Blockchain é a tecnologia por trás da moeda digital Bitcoin. E é aqui que muita gente perde o bonde. Enquanto a mídia em geral crítica e alerta sobre os riscos dos investimentos em Bitcoin, dada a sua volatilidade, falham em perceber a inovação importante que ele introduz, ao resolver um importante problema da computação que até poucos anos atrás não tinha solução, abrindo um leque enorme de aplicações que permitem resolver de forma mais eficiente, segura e econômica problemas importantes que afetam a todos. E, nesse contexto, a discussão sobre o Bitcoin ser ou não um bom investimento torna-se irrelevante.

Temos muitos motivos para acreditar que o Bitcoin e as moedas digitais em geral vieram para ficar, e que serão cada vez mais adotadas, o que é reforçado pelo fato de grandes nomes como Microsoft, DELL, Paypal, entre outros, estarem incluindo Bitcoin em seus negócios. Mas não é objetivo deste artigo discutir as características econômicas específicas da moeda Bitcoin. Nosso foco é mostrar como essa tecnologia ajuda a viabilizar uma série avanços tecnológicos, como Internet of Things, decentralized cloud, smart properties, decentralized apps (dApps), decentralized autonomous organizations (DAOs) e outros.

Afinal, o que é Blockchain?

Muitos acham que Bitcoin é um dinheiro eletrônico semelhante aos pontos de um programa de milhagem. Definitivamente, não. Ele é totalmente diferente.

A Blockchain é como um livro-razão, um registro de transações chamado de cryptoledger, mas mantido de forma distribuída através de uma rede peer-to-peer, e protegida por uma parafernália criptográfica que, ao final, permite que transações sejam realizadas diretamente entre um peer A e um peer B, sem qualquer necessidade de um confiar no outro ou de haver um intermediário de confiança.

Há tempos já manipulamos dinheiro eletronicamente. Contudo, nós não somos portadores do nosso próprio dinheiro eletrônico. Em geral, ele está “guardado” (registrado) em alguma instituição bancária de forma centralizada, e dependemos deles para quaisquer transações. E o motivo é simples. Imagine que você tivesse um arquivo especial no seu computador que representasse R$ 50,00 em dinheiro digital. Como você faria para transferir esse valor para outra pessoa sem uma entidade central? Como garantir que você não irá duplicar o arquivo ou enviá-lo para várias pessoas diferentes? Como a pessoa que estiver recebendo o arquivo irá verificar se esse arquivo é o “verdadeiro”, e assim impedir um gasto duplo?

A Blockchain é exatamente a solução distribuída para o gasto duplo. Descoberta em 2008, ela se baseia num mecanismo por meio do qual a rede sempre chega a um consenso sobre qual transação é a válida, tornando possível essa forma de dinheiro virtual transacionado ponto-a-ponto.

É importante entender também que Bitcoin é uma moeda programável. Se alguém transferir 1 Bitcoin para você, na verdade o que será feito é o registro de uma nova transação na Blockchain contendo um “contrato” que determina em quais condições esse Bitcoin pode ser transferido. E esse “contrato”, na verdade, é um pequeno programa (script). Para conseguir transferir esse Bitcoin, você precisa ser capaz de fornecer um input que permita o programa ser executado e retornar TRUE. Por exemplo, você poderia ter de provar que é o dono de uma chave privada associada a uma chave pública hardcoded no script desse Bitcoin. Por ser programável, diversos tipos de transações podem ser criadas, e vários tipos de contratos inteligentes podem ser construídos, cujas cláusulas imutáveis são checadas e autogarantidas pela Blockchain, de forma segura e escalável, eliminando a necessidade de alguém externo que faça valer o contrato. Quem rege a Blockchain é a matemática. E não se discute com a matemática.

Exemplo de aplicação: Startup Storj.io

A oportunidade de descentralizar, eliminando intermediários e aumentando a eficiência oportuniza muitas inovações. Vejamos o caso da startup Storj.io – http://storj.io.

Storj.io é um tipo de Dropbox distribuído na Blockchain. Uma mistura de Dropbox, Torrent e Bitcoin. Imagine um Dropbox sem servidor para armazenar o conteúdo das pessoas. Em vez de utilizar a infraestrutura própria (ou cloud), seus arquivos serão criptografados com sua chave privada e espalhados por uma rede P2P rodando sobre a Blockchain. Além disso, os usuários serão remunerados por manterem conteúdo dos outros em seus computadores.

O cliente Storj.io irá pagar um assinatura, que será internamente convertida para uma moeda digital própria (semelhante ao Bitcoin). Nenhum usuário precisa saber ou entender isso. Através de contratos inteligentes, os peers que provarem que estão mantendo partes do conteúdo do usuário disponíveis serão recompensados. Se comparado ao Dropbox, o custo estimado do Storj.io será mais 10 vezes menor.

Conclusão

Ficamos devendo uma explicação mais detalhada sobre como a Blockchain faz sua mágica. Mas nossa intenção neste artigo foi trazer um olhar para além do Bitcoin “investimento arriscado”, indo na direção dos desdobramentos da tecnologia Blockchain do Bitcoin e de suas aplicações.