Ele acabara de sentar à mesa do almoço dos amigos de trabalho.
— Me diz uma coisa, sinceramente: não tem nada que só se possa fazer com blockchain, tem?
Pessoas muito inteligentes, com raciocínio agudo e relativamente céticas podem dar nos nervos, mas é sempre bom tê-las por perto. Para não perder o rebolado (ou a razão…), somos obrigados a refletir profundamente sobre tudo o que achamos que sabemos.
Diante daquele desafio, todo aficionado tira da cartola que blockchain dispensa intermediários, descentraliza, cria confiança, coisas do tipo… Tudo isso tem um impacto potencial gigante para o futuro, mas nenhuma daquelas respostas parecia convincente.
Talvez porque a promessa de um mundo descentralizado tenha mais a ver com uma visão filosófica do que com uma tecnologia em si. Já pensou se todo mundo tiver que ser cypherpunk ou anarcocapitalista para reconhecer a importância da tecnologia?!
“Retirar intermediários reduz custo” seria uma tentativa de dourar de pragmático o sonho da galera do Satoshi. Mas, também não nos serve nessa discussão, mesmo sabendo que, no longo prazo, pode não haver nada mais disruptivo do que reduzir custos.
A Killer Application da Blockchain
Se você quer uma resposta técnica e direta ao ponto para a pergunta:
— O que só dá para fazer com blockchain?
Talvez a melhor resposta seja:
— Ter certeza de qual código está sendo executado remotamente.
E pronto!
Quem não conhece bem tecnologia talvez se assuste: “E não dá para saber, não, é?!”.
Já quem conhece bem, talvez desconfie: “Mas qual a dificuldade de saber qual código está rodando remotamente?”.
A dificuldade é o “ter certeza”.
A verdade é que sempre foi impossível jurar “de pé junto” que o código em execução em um servidor ou numa cloud qualquer era exatamente aquele que você esperava.
Para entender melhor, é preciso pensar com a cabeça de quem estuda sistemas distribuídos, onde se costuma utilizar um recurso interessante para provar que um algoritmo efetivamente funciona.
Você se pergunta: “E se houvesse um adversário do outro lado, fazendo tudo para te enganar?”. Aqui, o adversário é qualquer coisa que seja capaz de receber e responder as mensagens enviadas pelo algoritmo, agindo de acordo com uma lógica qualquer tentando enganá-lo.
Já que um adversário que tome um servidor pode fingir executar o sistema que você acha que está acessando, enquanto faz qualquer outra coisa por trás dos panos. Você vai jurar que sua aplicação financeira foi realizada, mas só vai perceber que aquela tela roubou sua senha quando seu saldo aparecer zerado.
Com a blockchain, para te enganar, o tal adversário teria que conseguir dominar um conjunto de nós da rede que, além de enorme, muda dinamicamente e de forma imprevisível. Ou seja, se sua rede tiver muitos nós e for efetivamente descentralizada, seu adversário estará em maus lençóis e não será capaz de enganar o algoritmo da blockchain.
Fala-se muito sobre o quanto o intermediário pode ser maligno ou simplesmente caro. Costuma-se esquecer de que, para ter certeza sobre o sistema que ele executa, não basta que ele seja confiável. É preciso que seja infalível.
Pois é preciso deixar claro que, inadvertidamente ou não, a blockchain te protege de quaisquer atores mal-intencionados que ataquem o próprio intermediário. E isso nem sempre está claro.
Num mundo onde cada vez mais dependemos de códigos para aspectos bastante críticos da nossa vida, garantir com quais sistemas interagimos não apenas é excesso de zelo.
Mais próximo, menos seguro
É irônico que, quanto mais próximo do usuário, mais difícil seja impedir a subversão do software em execução. Afinal, a blockchain frustra o adversário remoto, mas não o que ataca o celular/desktop que você usa ou a própria Internet.
Todo o tempo, admitimos por premissa que a Internet está funcionando adequadamente, o que não é tão garantido assim.
Por exemplo, o DNS (Domain Name Service), que é o responsável por traduzir os endereços que digitamos no browser em endereços IP, é uma estrutura hierárquica e, portanto, mais vulnerável. E todas as ferramentas que tentam impedir ataques ao seu desktop ou celular, como proxies, firewalls, antivírus etc, são, de certa forma, paliativos.
Isso talvez explique por que o Ethereum se coloque como um computador universal. Talvez imaginem que no futuro poderíamos estar utilizando dispositivos quase sem software, como os terminais burros de antigamente, para acessar um computador universal descentralizado e confiável.
Seria a verdadeira grande nuvem!
Dando ainda mais força para essa ideia, existem propostas descentralizadas para vários outros elementos envolvidos na computação, como DNSs, sistemas de armazenamento de dados, processamento etc.
Só o mais empedernido cypherpunk acreditaria que essa abordagem descentralizada radical será massivamente adotada. Mesmo assim, é importante saber que essa possibilidade existe e que parte dessa profecia pode vir a se cumprir.
Até porque a história costuma se desdobrar assim mesmo: a sociedade em geral vai absorvendo parte das ideias dos grupos mais revolucionários, combinando-as com ideias preexistentes e quase nunca adotando suas filosofias por inteiro.
Um futuro de eficiência e perigo
É fácil entender por que a ideia de smart contracts implementados em blockchain é tão interessante. Afinal, se você quer um contrato automatizado na linha code is law (código é lei), claro que vai querer uma garantia de que o código em execução é fiel ao combinado. Ninguém quer assinar um contrato cujas cláusulas não podem ser lidas!
Já na década de 90, Nick Szabo, criador do conceito de smart contracts, propagandeava que a viabilidade de ter um contrato firmado entre duas entidades através de código confiável para as contrapartes abria a possibilidade de ganhos massivos de eficiência e segurança. Na visão de Szabo, tratava-se de uma evolução civilizatória.
Talvez tenhamos vivido até agora uma era de certa ingenuidade em relação a tudo que é digital. Uma confiança meio infantil de que as coisas estão funcionando perfeitamente só porque são executadas por computadores.
Movimentos recentes parecem indicar que não é assim que será o futuro. Quando os poderosos forem todos nativos digitais, é bem provável que tenhamos saudade dos tempos onde hackers só queriam se divertir ou mostrar suas habilidades.
Nesse novo mundo, vai ser bem útil conhecer os códigos com os quais nos relacionamos. E haverá um pouco de cypherpunk em cada um de nós.
Aí não venha me perguntar para que, afinal, serve essa tal de blockchain!