O que faz à blockchain transparente, segura e inhackeável?
Todos ouvimos falar sobre Blockchain e Crypto após o Bull Market no final de 2020 e 2021. Esta tecnologia aparentemente nova que foi aplicada às criptomoedas significava uma mudança de paradigma. E efetivamente, temáticas como DeFi e NFTs apareceram na boca de todos. Mas entendemos realmente por que a blockchain é transparente, segura e inhackeável? Ou estamos a confiar cegamente?A ideia deste artigo é poder explicar de forma simples, mas sem deixar de abranger os conceitos importantes, como funciona a blockchain. Primeira definição de blockchain em poucas palavras: uma base de dados descentralizada. Ótimo, e para que me serve uma base de dados descentralizada? Principalmente quando duas partes têm que trocar informações e não confiam a uma na outra. Sem blockchain, é necessário de algum intermediário ou auditor para realizar esse intercâmbio de forma segura e transparente. Mas além de ser descentralizada, é matematicamente quase impossível de falsificar (inhackeável). Uma vez que um dado está escrito na blockchain, não se pode modificar. Bem, agora que temos essas bases claras podemos começar a indagar nos pequenos (ou não tão pequenos) detalhes que fazem à blockchain... a blockchain.
A cadeia de blocos e o processo de validação
É importante entender que esta base de dados consiste em uma cadeia de blocos onde cada um possui um registro de informações que foi encriptada e foi atribuído um identificador único que chamaremos “hash”. A forma de validar as transações é através do minado que realizam computadores com alto poder computacional, uma vez que o bloco é validado este é adicionado à cadeia de blocos e transmitido aos outros nós. De tal forma, todos possuem uma cópia da base de dados (o que é chave para a descentralização). Dado que não há uma instituição centralizada que verifique e valide qualquer tipo de alteração com base em dados da blockchain, a segurança da blockchain depende de um algoritmo de consenso. Em outras palavras, a única forma de alterar ou adicionar informações à blockchain é se todos os computadores da rede o aceitam, o que torna extremamente improvável o hackeo porque deve possuir o consenso de todos os outros computadores enquanto novos blocos são minados e validados. A cadeia de blocos mais longa e validada será a cadeia aceita, isto é fundamental para entender o difícil que seria tentar hackear esta rede.Estrutura e funcionamento dos blocos da blockchain
Uma vez que este processo se completa, o bloco entra na blockchain como um registro permanente. E uma vez que o bloco é completado, passa-se ao seguinte onde volta a começar o processo de mina e validação. Cada bloco possui um hash que é dependente do hash do bloco anterior a este fazendo com que todos os blocos estejam vinculados. Por isso, se você tentar alterar um bloco todos os blocos ligados a este serão alterados e devem ser validados pela blockchain novamente (aqui é importante lembrar que a cadeia será usada como válida com mais blocos validados, pois por isso não pode ser hackeada).Se nos focarmos na estrutura, blockchain é uma cadeia de blocos de informação que estão vinculados uns aos outros de forma segura. Sempre que um indivíduo realiza uma transferência de informação ou cria nova informação, será criado um bloco. Estes blocos são criptografados e são atribuídos um "hash" que os identifica. Basicamente, o "hashing" funciona como um algoritmo que é corrido sobre a informação que possui o bloco a validar e a esmagar num código hexadecimal de 64 caracteres. Este algoritmo é uma função criptográfica unidirecional, os dados originais podem ser recuperados através da cifra. Ou seja, o hash pode ser calculado e será sempre obtido o mesmo hash para confirmar que o registo original não foi alterado. No entanto, o processo inverso não pode ser feito. Ou seja, desde o hash obter a informação original.
Então, dado que, como mencionado anteriormente, os novos blocos são encadeados ao bloco anterior, o hash do novo bloco é dependente do hash prévio. Dessa forma, uma vez validado e encadeado a informação do bloco não pode ser alterada sem necessariamente alterar o registro dos blocos seguintes. E isto é justamente o que torna o registo imutável, uma vez que esta incorporada à base de dados é quase impossível de mudar.
Isso pode ser meio engorroso, por isso proponho este exemplo antes de terminar este artigo para que você entenda bem como funciona o hash que tanto menciono:
Se inserir o seguinte texto: “Oi leitores de FinGuru”, o algoritmo me devolve o seguinte hash: 868e6febbe1915d2b86bf3608dcb2c8b8aee904fbd004a368df7904f3f917a7. Se alguém lhe chega este dado: 868e6febbe1915d2b86bf3608dcb2c8b8aee904fbd004a368df7904f3f917a7, não tem forma alguma de saber que significa já que foi criptografado por uma função criptográfica unidirecional, mas se eu voltar a passar o texto anterior pelo algoritmo vou receber sempre o mesmo hash. Espero que tenha ficado mais claro, em este link vai poder testar diferentes algoritmos de hashing para terminar de compreender a criptografia que volta às cryptos... cryptos.
Comentários