Blockchain é a tecnologia do futuro?
Porque os Faria Limers e influencers fiat adoram falar sobre isso e como não levar a sério esses argumentos de macaco
Até hoje muito se fala da tecnologia “blockchain“, até mesmo ainda mais do que o próprio bitcoin dependendo do interlocutor (quem nunca ouviu um faria limer dizendo que bitcoin não tá com nada mas o blockchain é uma invenção maravilhosa com muito potencial?) e com isso existe também muita desinformação e confusão sobre esse assunto. Vamos já começar gerando polêmica: “blockchain“ por si só é uma porcaria. Um modelo extremamente ruim e ineficiente de armazenar dados. Tão ruim que você pode perceber que até hoje nunca houve nenhuma aplicação prática real fora o uso por algumas criptomoedas e uma ou outra iniciativa de uso de contratos inteligentes.
Mas por que blockchain seria uma porcaria? Desde o surgimento da computação existem inúmeros modelos de armazenamento de dados, cada um focado em um propósito. Para sistemas simples as pessoas utilizam desde um Excel básico ou bases de dados baseadas em SQL. Para outros tipos de aplicações existem outros formatos focados em desempenho em escala, tais como os utilizados em redes sociais com um altíssimo número de requisições por segundo. Todas essas alternativas permitem um N número de configurações para personalizar questões de segurança, backup, redundância e etc.
Com o bitcoin o desafio foi algo único e muito diferente da tecnologia que existia na época. Criar uma rede totalmente descentralizada é um desafio enorme, pois você precisa criar mecanismos que tragam um alto nível de segurança para a integridade dos dados, já que:
É essencial que de alguma forma os dados do passado mantenham a integridade, mesmo em um banco de dados descentralizado (imutabilidade)
A descentralização precisa ser escalável de modo que pessoas com equipamentos velhos ou baratos possam participar da rede, de vários lugares do mundo, até mesmo com internet lenta ou instável
A adição de novos dados precisa ter um custo para registrar a transação de forma a coibir spam
Criar um novo bloco de dados deve ser uma tarefa difícil que exija custo computacional e o tempo entre um bloco e outro também deve ser grande o suficiente para que o novo bloco possa se propagar por toda a rede (segurança)
Nenhuma das soluções da época serviam pra esse propósito extremamente específico, porque até então nunca houve essa necessidade. Satoshi então precisou ser criativo. A idéia por trás da blockchain do bitcoin é a seguinte (resumão):
Os registros seriam armazenados em lote (blocos). Cada bloco teria uma “impressão digital“ (hash) que possa ser calculada por qualquer usuário para garantir a integridade do conteúdo daquele bloco. Caso um único byte seja alterado, a impressão digital muda completamente, demonstrando que há algo errado ali e portanto aquele bloco deve ser descartado.
Cada bloco novo fica diretamente ligado ao bloco anterior através do hash mencionado anteriormente, criando assim uma cadeia de blocos interligados sequencialmente onde qualquer alteração em qualquer dado de qualquer bloco anterior quebraria a integridade de toda a sequência, garantindo a segurança do armazenamento dessas informações.
A geração de cada bloco também deve ser descentralizada e deve ter um custo para fazê-lo. Isso previne spam, cria incentivos para competição honesta, e gera proteção para a rede quanto mais máquinas forem utilizadas para essa competição.
Para que os novos blocos não sejam gerados em segundos conforme mais máquinas entrem na rede, Satoshi teve a brilhante idéia do ajuste de dificuldade. A cada 2016 blocos a rede calcula uma média do tempo de geração de cada bloco e então aumenta ou diminui a velocidade para que no próximo ciclo de 2016 blocos esse tempo gire em torno de 10 minutos. Esse tempo de 10 minutos também é necessário para que os novos blocos possam ser propagados por toda a rede, incluindo os hardwares antigos e conexões de internet ruim.
Para que os blocos não sejam gigantescos, demorem para serem propagados e ocupem um espaço gigantesco nos HDs, Satoshi limitou o tamanho dos blocos em 1MB (posteriormente com SegWit esse limite foi ampliado para até 4MB). Com isso, um mercado de taxas também foi criado para que as pessoas que tenham pressa paguem um fee mais alto para que os mineradores incluam a sua transação no bloco seguinte, o que ajudou a evitar o spam na rede com milhões de transações pequenas e inúteis.
Aqui também entram outras questões como as limitações de script do bitcoin e outras características mais técnicas, mas o caso acima mostra como o armazenamento em blockchain é algo exclusivo para uma necessidade extremamente específica, que alinhou incentivos de forma que a rede pudesse evoluir organicamente com segurança.
Blockchain na resolução de outros problemas
Desde então que essa tal de blockchain foi extremamente eficiente em resolver o problema de como criar um ativo digital descentralizado, os Faria Limers, a turma das trends da TI, muitos gestores, marketeiros e sonhadores começaram a especular sobre quais outros problemas um blockchain resolveria. Será o fim dos cartórios? Contratos seriam armazenados lá? Direitos de propriedade que possam ser transferidos sem intermediários? O céu era o limite! Porém, desde mais de uma década atrás o céu ainda não chegou. Por quê?
Blockchains só possuem relevância quando existe um nível de descentralização muito grande
Não adianta nada a sua empresa resolver adotar “tecnologia blockchain" para algum problema quando essa blockchain não é descentralizada o suficiente. Uma blockchain privada ou corporativa teria como “nós“ os próprios servidores da empresa, e mesmo que esses servidores estejam geograficamente separados e bem protegidos, o custo de manter um blockchain para uma solução privada é muito mais alto do que simplesmente usar uma base de dados com histórico de mercado e já bem estabilizada, como o bom e velho SQL. Você pode aplicar estratégias de backup, redundância e réplicas de forma a garantir a integridade dos dados e você também poderia aplicar estratégias e limitações para que somente dados novos possam ser inseridos, mas nunca alterar ou excluir dados anteriores.
Soluções privadas geralmente exigem mutabilidade ou backdoors
Uma solução privada para registro e transferência de propriedades físicas acabaria esbarrando na necessidade de que algum ente específico possa ter o poder de alterar alguns dados mesmo contra a vontade do “proprietário“ de tal endereço. Por exemplo, vamos supor que um blockchain passe a ser utilizado para registro de imóveis, e uma transação surja dizendo que Fulano vendeu o imóvel para Ciclano. Porém houve algum problema do mundo real no meio do caminho: Ciclano não pagou corretamente, algum juiz quis tomar a propriedade de Ciclano e mover de volta para Fulano, ou o governo do amor decidiu usar a justiça para confiscar tal ativo. Isso exige que existam agentes com mais poder dentro dessa blockchain, com permissões de alterarem dados conforme a “necessidade“. Se você parar para pensar, basicamente todos os problemas do mundo real acabam esbarrando em alguma necessidade como essa. Nesse caso, o uso de blockchain se tornaria irrelevante, uma solução centralizada e bem distribuída conforme o exemplo anterior poderia resolver isso tranquilamente.
Dados corporativos/privados exigem mais espaço de armazenamento
Conforme demonstrado na explicação sobre como funciona o blockchain do bitcoin, perceba que uma das principais características é que o volume de dados é pequeno e bem previsível. Isso acontece para que mais e mais nós da rede surjam para reforçar a descentralização, sem exigir um gasto enorme de hardware por parte dos diferentes indivíduos, e também garantindo o compartilhamento dos blocos em ambientes complexos como o caso de um apagão cibernético. Já o volume de dados produzidos pelas equipes de TI pelo mundo varia bastante, muitas vezes em escalas gigantescas, o que tornaria todo o processo de manter os nós sincronizados bastante custoso, lento e ineficiente. Novamente aqui já existem centenas de opções open-source e cloud para diferentes tipos de projetos sem a menor necessidade de uso de blockchain.
Com isso, fica a reflexão para que você também possa pensar se realmente existe algum problema do mundo real além do bitcoin que possa ser solucionado através de um blockchain. Até mesmo outras criptomoedas baseadas em proof-of-stake já não possuem a necessidade de utilizarem blockchain por serem essencialmente privadas e por haver pouquíssimo incentivo para que usuários comuns executem nós e baixem todo o histórico de dados (o ethereum até mesmo reverteu transações anos atrás depois de um hack, descartando vários blocos que foram minerados e restaurando a rede para um ponto específico, mostrando que não havia descentralização alguma ali). Blockchain só faz sentido com bitcoin. Para todo o resto, use as tecnologias mais comuns.
Um dia um cliente me deu uma ideia de 'registro de imóveis em blockchain'; perguntei por que em blockchain e ele não soube responder.
O NOSTR não funciona em blockchain, ou estou viajando? Pergunto porque já vi bitcoinheiros recomendando esse protocolo por ser decentralizado.