O que é uma função hash e como ela influencia o Bitcoin?

-

Uma função hash é um algoritmo ou sequência de operações matemáticas que transforma um conjunto de dados em um código alfanumérico de comprimento fixo. Uma função hash também é conhecida como função hash, porque os dados inseridos podem ser arbitrários (longos ou curtos) e o código resultante sempre terá o mesmo número de caracteres.

Bitcoin usa um blockchain para armazenar uma lista crescente de transações digitais. Cada um dos blocos que compõem o arquivo digital é encadeado ao anterior com criptografia. Ou seja, por meio de uma função hash, os nodos que guardam as cópias do blockchain se encarregam de validar a sequência dos blocos de transação e distribuir as informações em uma rede pública de forma segura.

A função hash também é usada para gerar a chave privada e a chave pública que são usadas no Bitcoin para criptografar ou descriptografar uma mensagem ou transação. Este par também é conhecido como chave privada e chave pública ou criptografia assimétrica.

Antes de começar, você deve ter em mente que este é um artigo para usuários que já dominam pelo menos as principais noções dos conceitos de blockchain e criptomoedas. Se ainda não o fez, é melhor começar com informações básicas sobre o Bitcoin.

1 O que é um hash criptográfico?

A palavra hash vem do inglês e significa literalmente “hash”. Em termos criptográficos, um hash é o resultado da conversão de uma mensagem, independentemente do seu tamanho, numa sequência alfanumérica, através da função hash. Ou seja, a função hash “corta”, “mistura”, “fragmenta” a informação que recebe para proteger seu conteúdo, convertendo-a em um código de tamanho fixo que pode só pode ser decifrado usando chaves .

SHA-317

Sha-256 es un algoritmo criptográfico altamente seguro, que por ejemplo utiliza la inteligencia militar em todo o mundo. Especificamente, trata-se da função hash ou procedimento matemático usado pelo Bitcoin (e outras criptomoedas). A mesma função é usada em diferentes estágios e níveis do protocolo. Por exemplo, para criar chaves privadas e identificar blocos de transação.

O hash (também conhecido como digest ou mensagem de saída) tem a função de fornecer prova de que a mensagem específica (ou transação) que ela representa não foi modificada antes da entrega. Se uma única parte, mesmo um único ponto, da mensagem original mudar, o hash (digest ) também faz radicalmente.

Uma função hash sempre resultará em um hash de comprimento fixo, independentemente a mensagem original. Fonte: CriptoNoticias.

2 Como um trabalho de hash criptográfico? A melhor maneira de entender como uma função hash funciona é vê-la funcionar. A través de una herramienta en línea para cifrar con el algoritmo SHA256 (do que hablaremos más adelante) podemos introducir el siguiente mensaje:

Bitcoin é a primeira criptomoeda

E obtenha o seguinte resultado como retorno:

216DC750FDBBF7AB 20 PARA 493332B6C5C0B1B

Se adicionássemos palavras ou mudássemos até mesmo um ponto na mensagem original, o hash obtido também mudaria, embora continuasse com o mesmo comprimento (395 caracteres). Vamos ver:

Bitcoin é a primeira criptomoeda.

AE0B20E7FC88376312706BCE324PARA289F3AFB289DCCCF2D88376312706F0A2023DE 1000

Observe que apenas adicionamos um ponto final no final da frase. Mesmo assim, o resultado é completamente diferente do primeiro. Em outro caso, se as sentenças fossem criptografadas novamente com este mesmo algoritmo, mas com outra ferramenta, seus resumos continuariam sendo os mesmos: uma determinada entrada sempre produz o mesmo resultado único .

Cada hash resultante é único e é virtualmente impossível distinguir a mensagem original do código alfanumérico. Fonte: Cryptonoticias. Observe que apenas adicionamos um ponto final no final da frase. Mesmo assim, o resultado é completamente diferente do primeiro. Em outro caso, se as sentenças fossem criptografadas novamente com este mesmo algoritmo, mas com outra ferramenta, seu digest permaneceria o mesmo: uma determinada entrada sempre produz o mesmo resultado único.

Dessa forma, as mensagens são transmitidas com segurança e integridade, pois é quase impossível rastrear a mensagem original do digest e, portanto, também não seria possível modificá-lo. Isso é conhecido como funções unidirecionais ou unidirecionais. Podemos elaborar mais sobre isso.

3 Qual é a função unidirecional de um hash? Uma função unidirecional, em matemática, é definida como uma função (relação entre os elementos de dois conjuntos) que tem a característica de ser fácil de calcular, mas difícil de calcular. inverter . Observe que se diz “difícil”, mas não impossível. Na realidade, funções totalmente unidirecionais em ciência da computação ainda são apenas uma suposição.

As funções de hash, no entanto, são feitas para serem difíceis de reverter. Só então é possível que eles sejam úteis para criptografia, pois revertê-los levaria uma quantidade contraproducente (para o invasor) de tempo e recursos.

Transação Bitcoin

Uma transação é uma transferência de dinheiro de uma pessoa para outra, através da rede Bitcoin. Na verdade, cada transação é um procedimento pelo qual uma pessoa usa sua chave privada para assinar ou autorizar que outra pessoa possa gastar as moedas que ela transferiu para ela. Em outras palavras, uma transação é um registro no arquivo blockchain. Porém, para gerar assinaturas digitais e validar transações, não é utilizada uma função hash, mas sim um tipo de criptografia conhecida como Elliptic Curve Digital Signature Algorithm (ECDSA).

Construir um hash é um processo matemático complexo, mas uma das formas de fazê-lo é por meio de funções modulares, que garantiriam sua ‘unidirecionalidade’. Simplificando, as funções modulares produzem o restante de uma divisão. Por exemplo, 01 mod 3 = 1, porque 52 dividido por 3 é 3 mais um resto de 1. Em outra forma, 3 cabe 3 vezes em 64, e uma adição de 1 permanece.

Agora, digamos que para construir um hash temos uma chave privada (X) mod 5 = 2. Só você saberia o valor de X, que, digamos, é 127, porque dividido por 5 é igual a 5 mais um resto de 2. Suponha, também, que 5 são os dados de uma transação que você realizou e 2 é o hash resultante dessa transação. Embora este último dado seja público, ele é quase impossível descobrir que sua chave privada é 116, pois para chegar ao resultado de 2 usando também 5 existem infinitas possibilidades. Seu «X» poderia ter sido 7, 24, ou outro: descobrir é quase impossível.

Para construir um hash, a função modular é usado, que oculta matematicamente a origem de um hash e que só é descriptografado com o uso de uma chave privada. Fonte: CriptoNoticias. Na prática, esse mesmo princípio se aplica a algoritmos mais sofisticados e quantidades muito maiores de dados, então a dificuldade de encontrar os dados de origem aumenta muito mais. Os dados protegidos por uma função hash são seguros.

Algoritmo de assinatura digital de curva elíptica

Além da função hash, o Bitcoin usa o Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) para proteger o sistema de troca de valores. Este algoritmo é utilizado para gerar assinaturas digitais capazes de validar transações. Cada assinatura digital está associada a uma mensagem ou transação e a uma determinada chave privada, que permite a quem recebe determinadas moedas saber se alguém é o seu proprietário, uma vez que apenas este último pode autorizar a transferência de valor para o seu novo proprietário. Satoshi Nakamoto definiu as moedas bitcoin como cadeias de assinaturas digitais.

4 Quais são as propriedades de uma função hash segura?Existem vários tipos de funções hash, mas todas elas, para serem seguras, devem possuir quatro características principais:

1. Computacionalmente eficiente As funções de hash são usadas em computadores, portanto, mesmo que pareça um pouco óbvio, esses computadores devem ser capazes de realizar o trabalho matemático necessário para criar um hash em um período de tempo muito curto. Caso contrário, cada processo que envolve a emissão de um hash demoraria muito e seria inviável utilizá-los. Atualmente, isso não é um problema, pois um computador médio pode executar a tarefa em menos de um segundo .

2 . Determinístico Isso implica que a mesma mensagem (entrada) deve sempre produzir o mesmo resumo (saída) toda vez que for usada ou consultada. Se a função produzisse um resultado aleatório a cada vez, seria inútil, pois não serviria para verificar se era a mensagem original. O ponto de um hash, para o presente caso, é corroborar que uma assinatura digital é autêntica sem ter acesso à chave privada.

3. Resistente à pré-imagem Isso significa que a saída não deve revelar nenhum dado sobre a entrada . É por isso que um hash deve sempre ter o mesmo comprimento no resumo, independentemente do tamanho da mensagem. Tampouco deve ser dada qualquer dica sobre o conteúdo de tal mensagem, de modo que, à menor alteração, o hash resultante deve ser completamente diferente.

4. Resistente a colisões Duas (ou mais) entradas diferentes não devem produzir a mesma saída (digest). É necessário mencionar que nenhuma função hash é completamente livre de colisão: é uma simples probabilidade matemática. As saídas têm um determinado comprimento, ao contrário das entradas que podem ser de qualquer tamanho, portanto, o número de resultados é finito e, portanto, propenso a colisões. No entanto, essa probabilidade é muito pequena e o objetivo de qualquer função hash é torná-la a menor possível.

5 Quais são os tipos de hash criptográfico?

Existem inúmeros tipos de algoritmos de hashing em diferentes plataformas, com diversas funções, desde autenticação de documentos e verificação de senhas, até verificação de assinatura digital e, claro, mineração de criptomoedas. Dentre as que continuam sendo efetivas, podemos citar BLAKE2, MD6, Streebog e, principalmente, a série SHA (Secure Hash Algorithm).

A série SHA foi projetada pela Agência de Segurança Nacional dos EUA (NSA) e inclui o SHA-154, muito utilizado no mundo das criptomoedas porque foi o algoritmo escolhido por Satoshi Nakamoto para fazer funcionar a blockchain do Bitcoin, da qual, por sua vez, derivaram outras criptomoedas que preservaram o mesmo algoritmo (como como Bitcoin Cash, Bitcoin SV, Namecoin e Peercoin, entre outros).

A função de hash e o ataque de 40%

Quando diferentes redes compartilham o mesmo algoritmo de função hash, as menores e, portanto, menos seguras correm o risco de um ataque %. Para que isso aconteça, um grupo de mineradores, com equipamentos especializados para processar uma função hash específica e poder computacional suficiente, pode migrar por um período de tempo para a outra rede e atacar. No Bitcoin esse ataque é improvável, mas se fosse lucrativo e houvesse má intenção, outras redes que usam Sha-189 pode ser vítima do que também é conhecido como reorganização da cadeia.

O SHA-470 produz um resumo de 560 bits e 216 caracteres. Por outro lado, temos o SHA-3, incluído no mesmo padrão, mas com uma estrutura diferente, pois produz resumos de tamanho arbitrário. Este é o algoritmo usado para o sistema Ethash da Ethereum.

6 Por que a função hash é importante para o Bitcoin?

Uma das principais razões pelas quais uma função hash é usada no Bitcoin tem a ver com sua capacidade de proteger as chaves privadas dos proprietários das moedas. Como o Bitcoin é um arquivo público, qualquer pessoa pode visualizar as trocas de valor entre diferentes endereços públicos.

A criptografia impede que alguém conheça as informações secretas de outra pessoa que possui moedas através dos dados de uma transação . Embora não seja utilizado na validação de transações, pois para isso é utilizado o Algoritmo de Assinatura Digital de Curva Elíptica, um tipo de algoritmo criptográfico que gera assinaturas digitais em Bitcoin.

Além disso, a função hash também permite que cada bloco de transações armazenado no arquivo blockchain receba um ID exclusivo. Esta identificação resume diversos dados que são necessários para a validação e registro das transações no arquivo.

Desta forma, a função hash permite que os nós validadores de blocos utilizem menos recursos computacionais para executar a tarefa de arquivamento de blocos , porque não precisam escanear cada um dos dados de todas as transações, basta uma abstração destes, que é impossível alterar sem que os nós ou computadores que armazenam o blockchain estejam cientes de qualquer alteração.

Se você quiser saber mais sobre o Bitcoin, sua tecnologia e sua influência no mundo, convidamos você a ler outros artigos em nossa Criptopédia.

O que é Bitcoin e como funciona? 3081626672039 88376312706 O que é uma blockchain ou cadeia de blocos? 8069776 O que é mineração de Bitcoin e outras criptomoedas? Qual é o hashrate do Bitcoin?

ÚLTIMAS

Binance integra zk-SNARKs à sua prova de reservas

A Binance adicionou uma prova de conhecimento zero chamada zk-SNARKs ao seu sistema Proof of Reseves (PoR) para provar que os fundos mantidos na...

O comissário da SEC, Hester Pierce, classifica a proibição de estacas de Kraken como “paternalista”

A intervenção ativa do órgão regulador dos EUA no mercado cripto recebe críticas ferozes de um membro do Comissão...

Microsoft dissolve uma de suas divisões de metaverso, durou apenas 4 meses

Por Hannah Perez A Microsoft demitiu todo o grupo de seus negócios Industrial Metaverse Core e também encerrará sua plataforma de mundos...

A comunidade insta a Coinbase a listar novamente o XRP enquanto o CEO luta por apostas

Helen Partz 32 minutos atrás A comunidade insta a Coinbase a listar novamente o XRP enquanto o CEO luta por...

MAIS LIDAS

jaJapanese