Matemática Criptográfica (Segurança e Imutabilidade)
A criptografia é um dos maiores pilares da blockchain. Sem ela, qualquer pessoa poderia alterar registros, fraudar transações ou até mesmo fingir ser outra pessoa.
A criptografia na blockchain se baseia principalmente em duas grandes técnicas:
Funções Hash Criptográficas (Criam identificadores únicos para cada bloco de dados) & Assinaturas Digitais (Garantem que somente o verdadeiro dono de uma conta pode autorizar transações).


Funções Hash Criptográficas – A Base da Segurança na Blockchain
As funções hash criptográficas são um dos pilares fundamentais da blockchain, responsáveis por garantir segurança, integridade e imutabilidade dos dados.
Elas são amplamente utilizadas para identificação única, proteção contra fraudes e organização de blocos de dados de maneira confiável.
Para entender profundamente como funcionam, vamos abordar três grandes partes:
1. O que é um hash e como funciona?
Uma função hash é um algoritmo matemático que pega uma entrada de dados ou informações de qualquer tamanho e retorna uma saída de tamanho fixo. Ou seja, é um algoritmo que transforma dados ou informações em um código alfanumérico fixo, de forma irreversível.
Essa saída é chamada de digest ou resumo criptográfico e funciona como um identificador único para a entrada original.
Características principais
Determinística: A mesma entrada sempre gera a mesma saída.
Irreversível: Não é possível recuperar a entrada original a partir da saída. Do tipo, tentar advinhar que aquela entrada é a saida.
Efeito avalanche: Pequenas mudanças na entrada geram saídas completamente diferentes.
Tamanho fixo: Independentemente do tamanho da entrada, a saída terá sempre o mesmo tamanho.
Exemplo: Cozimento de um Bolo
Para tornar essa ideia mais visual, pensa em um hash como um bolo. Tens os ingredientes (dados de entrada), e ao misturá-los e assá-los, obténs um bolo (hash).
➡ Ingredientes: 2 ovos, 200g de farinha, 100g de chocolate.
➡ Processo: Misturar, assar por 40 min.
➡ Resultado: Um bolo delicioso!


Agora, imagina que queres recuperar os ingredientes originais apenas olhando para o bolo. Isso é impossível, certo? Não dá para separar a farinha do chocolate depois que o bolo foi assado.
O hash funciona da mesma forma!
Ele é gerado a partir de uma entrada específica de dados ou informações (ingredientes).


Mas não é possível voltar para os dados originais depois de processado. Verás mais a baixo como isso é possível.
Agora que entendemos o que é um hash, vamos analisar as propriedades matemáticas que fazem dele algo tão especial para a segurança da blockchain.
2. Propriedades fundamentais das funções hash
1. Irreversibilidade (Uma Via Só)
Fundamento matemático
Uma função hash bem projetada deve ser computacionalmente impossível de inverter. Isso significa que, mesmo que alguém tenha o hash, ele não pode descobrir quais eram os dados originais.
Matematicamente, isso se deve à assimetria computacional:
Gerar um hash (processo direto) é extremamente rápido e eficiente.
Tentar inverter um hash (processo reverso) exigiria testar todas as combinações possíveis, algo inviável para computadores atuais.
A complexidade computacional para reverter um hash é exponencialmente alta, tornando a operação inviável na prática. Isso se deve devida a outra propriedade matemática indispensável.
2.Sensibilidade a Pequenas Mudanças (Efeito Avalanche)
Fundamento matemático
O efeito avalanche significa que qualquer pequena alteração na entrada causa uma mudança drástica na saída do hash.
Isso ocorre porque as funções hash criptográficas usam operações de bit altamente sensíveis, como operações XOR, permutações e substituições, garantindo que mesmo a menor alteração gere um novo hash sem qualquer relação aparente com o anterior.
Exemplo prático com SHA-256:
Entrada: "Blockchain"
Hash: 625da44e4eaf58d61cf048d168aa6f5e492dea166d8bb54ec06c30de07db57e1
Entrada: "blockchain" (com "b" minúsculo)
Hash: ef7797e13d3a75526946a3bcf00daec9fc9c9c4d51ddc7cc5df888f74dd434d1
Vê como o hash muda completamente por uma mudança mínima?
Esse é o efeito avalanche, que impede que hackers alterem dados sem serem percebidos.
Não existe uma forma confiável de descobrir a mensagem original a partir de um hash a menos que você já saiba a mensagem original (a baixo temos uma simulação)
Isso se deve a uma característica chamada unidirecionalidade:
Você pode gerar um hash a partir de uma mensagem com facilidade.
Mas não há como fazer o caminho inverso — ou seja, não dá para decifrar ou adivinhar a mensagem original apenas olhando o hash.
E por que isso importa?
Porque isso desmistifica a ideia errada que muita gente tem, achando que o hash é tipo uma criptografia reversível (como AES ou RSA). E que se um hacker tiver, ele pode descobrir a mensagem original.


Este é o meu hash, e o hacker esta tentando descobrir a mensagem original. Queres tentar tambem?
Descubra: 7879981d4f226a8f0191d36730c07205d7a5ff1c780fca9b2f905f25264cf636


E para dificultar ainda mais a vida de hackers e garantir a fluidez e circulação adequada dos dados temos mais uma propriedade matemática especial.
3. Tamanho Fixo do Hash
Fundamento matemático
Independentemente do tamanho da entrada, a saída de uma função hash tem um tamanho fixo e predefinido.
Por exemplo, o SHA-256 sempre gera um hash de 256 bits (64 caracteres hexadecimais), mesmo que a entrada tenha 1 KB ou 1 GB de dados.
Isso é crucial para armazenamento eficiente e previsível, evitando que hashes muito grandes dificultem a organização dos blocos na blockchain. E para terminarmos nas propriedades matemáticas, temos as colisões e resistências à colisão.
“Independente do tamanho da entrada, o hash sempre tem o mesmo comprimento.”


4. Colisões e Resistência à Colisão
Fundamento matemático
Uma colisão ocorre quando duas entradas diferentes geram o mesmo hash. Uma boa função hash deve ser resistente a colisões, ou seja, a chance de isso acontecer deve ser extremamente baixa.
A segurança contra colisões é garantida pelo paradoxo do aniversário e pela teoria da complexidade computacional, que tornam estatisticamente inviável encontrar duas entradas diferentes com o mesmo hash em um tempo razoável.
Se uma função hash tiver vulnerabilidades que permitam colisões fáceis, ela será considerada insegura e obsoleta.


"É inevitável que, um dia, duas entradas diferentes gerem o mesmo hash (Assim como dois aniversários podem coincidir num grupo pequeno). Mas... Colisões são possíveis apenas na teoria, mas inviáveis na prática com funções seguras. A segurança contra isso é rígida de mais."
Bom, até aqui, conseguimos entender as propriedades matemáticas que fazem dele algo tão especial para a segurança da blockchain. Agora precisamos ver e entender como a função hash é aplicada nesta tecnologia revolucionadora.
3. Como as funções hash são aplicadas na blockchain?
Agora que entendemos como os hashes funcionam, vejamos como eles são aplicados na blockchain.
1. Criação da Estrutura de Blocos
Cada bloco contém:
Dados das transações
O hash do bloco anterior (garantindo encadeamento)
Seu próprio hash


Isso significa que qualquer alteração em um bloco afetará todos os blocos seguintes, garantindo a imutabilidade da blockchain.
2. Prova de Trabalho (Proof of Work) – Bitcoin
Os mineradores precisam encontrar um hash válido que atenda a uma condição específica.


3. Proteção de Senhas e Identidades
As senhas em sistemas seguros não são armazenadas diretamente, mas sim seus hashes.


Assinaturas Digitais – Garantindo Autenticidade e Propriedade na Blockchain
As assinaturas digitais são um mecanismo criptográfico que permite que uma pessoa prove que é dona de uma chave privada sem precisar revelá-la. Elas garantem que:
✔ Somente o proprietário de uma carteira blockchain pode autorizar transações.
✔ Os dados assinados não foram alterados após a assinatura.
✔ Não é possível falsificar a identidade de um assinante.


1. O QUE É UMA ASSINATURA DIGITAL?
Uma assinatura digital é um esquema matemático que permite que alguém prove a autenticidade de uma mensagem ou transação sem revelar sua chave secreta.
Ela é gerada através de criptografia de chave pública (também chamada de criptografia assimétrica), onde:
Cada usuário tem duas chaves criptográficas:
✔ Chave privada: Segredo absoluto que apenas o dono conhece.
✔ Chave pública: Pode ser compartilhada com qualquer um para verificação.A chave privada é usada para assinar uma mensagem.
A chave pública é usada para verificar essa assinatura.
Matematicamente, o processo garante que:
✔ Somente quem tem a chave privada pode criar uma assinatura válida.
✔ Qualquer um pode verificar a autenticidade da assinatura com a chave pública.
Exemplo: Assinatura em um contrato
Pensa num contrato físico que precisas assinar para validar um documento.
➡ Tua assinatura manuscrita (chave privada) é única e difícil de imitar.
➡ O documento assinado (mensagem assinada) mostra que foi autenticado por ti.
➡ Alguém pode verificar se a assinatura é legítima (chave pública) comparando com
outras assinaturas tuas conhecidas.
Agora, imagina que em vez de tinta no papel, usamos matemática e criptografia para
gerar assinaturas digitais impossíveis de falsificar. Mas como isso isso é possível?
Temos que entender as propriedades fundamentais das assinaturas digitais,
e aí será fácil compreender.




2. PROPRIEDADES FUNDAMENTAIS DAS ASSINATURAS DIGITAIS
Agora que entendemos o que é uma assinatura digital, vamos analisar as propriedades matemáticas que a tornam confiável e segura.
1. Autenticidade (Somente o dono pode assinar)
Fundamento matemático
Quando alguém assina uma mensagem digitalmente, está provando matematicamente que possui a chave privada correspondente.
Matematicamente, a assinatura é gerada por uma função:
S=Assinar(M , K)
Onde:
M é a mensagem (ou transação).
K é a chave privada do assinante.
S é a assinatura gerada.
A assinatura só pode ser criada por quem possui a chave privada, garantindo autenticidade.




2.Integridade (A assinatura é única para cada mensagem)
Fundamento matemático
A assinatura digital não é fixa – ela muda dependendo da mensagem assinada. Isso significa que não dá para copiar uma assinatura antiga e usá-la em outra transação. Se tiver dúvidas, verifique as simulacões a cima. A verificação funciona assim: Verificar(M,S,K)⇒Verdadeiro ou Falso
Se qualquer parte da mensagem M mudar, a assinatura S se tornará inválida.
Exemplo: Cheque bancário
Se assinares um cheque de 100 dólares para alguém, a assinatura não pode ser reaproveitada para um cheque de 10.000 dólares. O valor e o destinatário fazem parte da assinatura.
Na blockchain, se alguém tentar modificar uma transação assinada, a assinatura se tornará inválida.




3.COMO SÃO APLICADAS NA BLOCKCHAIN?
Como uma transação é assinada na blockchain?
Cada vez que alguém envia uma transação na blockchain, o processo funciona assim:
O usuário gera uma assinatura digital usando sua chave privada.
A transação assinada é enviada para a rede. (Assim como vimos nas simulações a cima. Mas não se preocupe, falaremos mais na aplicação financeira.)
Qualquer nó da blockchain pode verificar a autenticidade da assinatura com a chave pública.
Exemplo prático: Enviando Bitcoin
➡ Passo 1: Alice quer enviar 1 BTC para Bob.
➡ Passo 2: Ela assina digitalmente a transação com sua chave privada.
➡ Passo 3: A rede Bitcoin verifica a assinatura com a chave pública de Alice.
➡ Passo 4: Se a assinatura for válida, a transação é adicionada ao blockchain.

