Table of Contents
ToggleJá deve ter ouvido falar do acrónimo SHA-256. Estas são encontradas no funcionamento de inúmeras criptomoedas devido ao alto nível de segurança que pode fornecer.
No mundo tecnológico existem numerosos sistemas para codificar informação, no entanto, pode dizer-se que o que mais se destaca é o SHA-256. Simplificando, é um algoritmo usado em Bitcoin com o objetivo de garantir a segurança da informação. Esta funcionalidade mantém os mecanismos de Prova de Trabalho da Bitcoin.
No entanto, esta não é a única função do SHA-256, uma vez que também é utilizada na criação de endereços, IDs de transações e blocos. Neste artigo veremos tudo sobre o funcionamento da SHA-256.
A função SHA-256 começou a ser conhecida há muitos anos. Surgiu como resultado da necessidade de a Internet obter meios fiáveis e rápidos para confirmar os dados que transitaram através da rede.
Antes da criação do SHA-256 a sua tarefa era executada pela função chamada MD5. Esta função foi caracterizada por ser especialmente simples em termos computacionais. Embora fosse a melhor alternativa na época, a função MD5 Hash foi classificada como insegura em 1996.
Após várias investigações, o criptoanalista Hans Dobbertin encontrou um problema de segurança na função de hash MD5. Assim, descobriu-se a forma como os hackers, com as habilidades e recursos necessários, poderiam quebrar o algoritmo de segurança e assim deixar as comunicações na Internet totalmente vulneráveis.
Sem surpresa, várias instituições começaram a procurar soluções para este problema. Estes incluem a Agência de Segurança Nacional dos EUA (NSA). Começou a trabalhar no desenvolvimento de diferentes funções de hash capazes de substituir a função MD5. No entanto, em 1993, o primeiro protocolo SHA conhecido como SHA-0 tinha vindo a lume. As investigações prosseguiram e dois anos depois foi criada a função SHA-1, uma versão melhorada em termos de resistência.
Para o ano de 2001, a NSA submeteu ao Instituto Nacional de Normalização e Tecnologia dos EUA (NIST) o conjunto de funcionalidades SHA-2. Neste conjunto de funções estavam as seguintes funções: SHA-224, SHA-256, SHA-384 e SHA-512.
Estas funções foram posteriormente reconhecidas como Padrão Federal de Processamento de Informação (FIPS), ao abrigo da identificação FIPS PUB 180-4. Nesta altura, a função SHA-256 tornou-se uma função essencial para o mundo da computação. As propriedades que o tornam tão especial variam de segurança a velocidade de cálculo. Em pouco tempo, a sua utilização começou a espalhar-se para software para servidores e aplicações onde eram necessárias funções robustas e seguras para garantir a integridade dos dados.
Para compreender o funcionamento da função SHA-256, temos primeiro de ver as suas principais características. A primeira coisa a ter em mente é que um algoritmo SHA-256 funciona de forma unidirecional. Esta funcionalidade significa que a partir de quaisquer dados podemos gerar um hash, no entanto, não podemos gerar o conteúdo do Hash a partir do mesmo.
Existem inúmeras formas de criar Hashes, no entanto, SHA-256 é uma das mais utilizadas devido à sua segurança e equilíbrio de custos computacional de geração. Note-se que com SHA-256 o comprimento do resultado é sempre o mesmo, independentemente do tempo que o conteúdo pelo qual o Hash é gerado. O resultado de uma frase de 5 palavras ou de um livro de 200 páginas será sempre uma sequência combinada de 64 letras e números. A sua codificação é de 256 bits, 34 bytes.
Focando-se no funcionamento do SHA-256, a sua segurança começa por construir uma série de funções criptográficas. Estas são as chamadas funções Merkle-Damgard e Ivan Damgard Hash criadas em 1979. Para isso, usaram uma compreensão unidirecional do tipo Davies-Meyer. Utilizando estes métodos, procuraram garantir resistência às repetições de hash e uma maior segurança para a função.
Assim, foi criada a função SHA-256, em função de introduzir dados e obter um resumo da informação com medição fixa. Neste sistema, o que chamamos de efeito avalanche é garantido. Isto significa que, na mínima alteração da informação de função, será gerado um hash que é completamente diferente do inicial. No entanto, se submetermos a mesma sentença ao processo Hash, obteremos sempre o mesmo resultado, uma vez que o processo é determinístico.
A segurança fornecida por este sistema torna-a uma das mais atrativas para a sua aplicação em criptomoedas como o Bitcoin. Desde a sua criação em 2009, Satoshi revelou a Bitcoin destacando o uso desta função. Na verdade, praticamente toda a sua segurança começa a partir de SHA-256.
Para implementar SHA-256, Satoshi Nakamoto criou PoW. É por isso que os mineiros de Bitcoin devem resolver puzzles criptográficos complexos que levam ao uso desta função.
Para conseguir a exploração mineira, os mineiros devem acumular SHA-256 Hashes até encontrarem um valor decimal inferior ao alvo solicitado na rede, tarefa que não é nada fácil. Além disso, o sistema regulariza a dificuldade de mineração aumentando-a ou diminuindo-a, variando assim o poder da rede para calcular os hashes que os SHA-256. Por outras palavras, quanto mais poder for a rede, mais difícil será o trabalho mineiro e com ela custará mais para chegar ao hash correto.
Todo este processo é resumido num único resultado chamado Block HASH ou Block ID, um identificador único e irrepetível que encontramos em cada bloco Bitcoin. É dada sob a forma de um Hash e é claramente um SHA-256.
Note-se que o Bitcoin não é o único projeto para empregar SHA-256. Na verdade, a maioria dos projetos de criptomoedas criados a partir de Bitcoin usam-na. Até projetos autónomos de Bitcoin. A razão é clara, um padrão seguro, fácil de implementar e fiável. A lista de criptomoedas que a utilizam não é curta, no entanto abaixo veremos alguns dos que usam SHA-256 na sua mineração: Bitcoin Cash, Namecoin, Peercoin ou Steem Dollars.
Com o avanço das tecnologias, muitos utilizadores questionam-se sobre o quão segura será uma funcionalidade criada em 2001 no futuro. Existem atualmente formas de ataque conhecidas que quebrariam a segurança da SHA-256, no entanto, nenhuma delas poderia ser aplicada até agora.
Tudo isto leva-nos a pensar que o SHA-256 pode não ser tão seguro, mas será por um bom tempo. No caso de ser violado a qualquer momento, o SHA-256 só teria de ser atualizado e atualizado os processos de mineração, bem como os processos de geração de identificadores. Isto juntamente com a atualização dos endereços seria suficiente para evitar o problema e manter as criptomoedas num campo seguro.
Table of Contents
ToggleJá deve ter ouvido falar do acrónimo SHA-256. Estas são encontradas no funcionamento de inúmeras criptomoedas devido ao alto nível de segurança que pode fornecer.
No mundo tecnológico existem numerosos sistemas para codificar informação, no entanto, pode dizer-se que o que mais se destaca é o SHA-256. Simplificando, é um algoritmo usado em Bitcoin com o objetivo de garantir a segurança da informação. Esta funcionalidade mantém os mecanismos de Prova de Trabalho da Bitcoin.
No entanto, esta não é a única função do SHA-256, uma vez que também é utilizada na criação de endereços, IDs de transações e blocos. Neste artigo veremos tudo sobre o funcionamento da SHA-256.
A função SHA-256 começou a ser conhecida há muitos anos. Surgiu como resultado da necessidade de a Internet obter meios fiáveis e rápidos para confirmar os dados que transitaram através da rede.
Antes da criação do SHA-256 a sua tarefa era executada pela função chamada MD5. Esta função foi caracterizada por ser especialmente simples em termos computacionais. Embora fosse a melhor alternativa na época, a função MD5 Hash foi classificada como insegura em 1996.
Após várias investigações, o criptoanalista Hans Dobbertin encontrou um problema de segurança na função de hash MD5. Assim, descobriu-se a forma como os hackers, com as habilidades e recursos necessários, poderiam quebrar o algoritmo de segurança e assim deixar as comunicações na Internet totalmente vulneráveis.
Sem surpresa, várias instituições começaram a procurar soluções para este problema. Estes incluem a Agência de Segurança Nacional dos EUA (NSA). Começou a trabalhar no desenvolvimento de diferentes funções de hash capazes de substituir a função MD5. No entanto, em 1993, o primeiro protocolo SHA conhecido como SHA-0 tinha vindo a lume. As investigações prosseguiram e dois anos depois foi criada a função SHA-1, uma versão melhorada em termos de resistência.
Para o ano de 2001, a NSA submeteu ao Instituto Nacional de Normalização e Tecnologia dos EUA (NIST) o conjunto de funcionalidades SHA-2. Neste conjunto de funções estavam as seguintes funções: SHA-224, SHA-256, SHA-384 e SHA-512.
Estas funções foram posteriormente reconhecidas como Padrão Federal de Processamento de Informação (FIPS), ao abrigo da identificação FIPS PUB 180-4. Nesta altura, a função SHA-256 tornou-se uma função essencial para o mundo da computação. As propriedades que o tornam tão especial variam de segurança a velocidade de cálculo. Em pouco tempo, a sua utilização começou a espalhar-se para software para servidores e aplicações onde eram necessárias funções robustas e seguras para garantir a integridade dos dados.
Para compreender o funcionamento da função SHA-256, temos primeiro de ver as suas principais características. A primeira coisa a ter em mente é que um algoritmo SHA-256 funciona de forma unidirecional. Esta funcionalidade significa que a partir de quaisquer dados podemos gerar um hash, no entanto, não podemos gerar o conteúdo do Hash a partir do mesmo.
Existem inúmeras formas de criar Hashes, no entanto, SHA-256 é uma das mais utilizadas devido à sua segurança e equilíbrio de custos computacional de geração. Note-se que com SHA-256 o comprimento do resultado é sempre o mesmo, independentemente do tempo que o conteúdo pelo qual o Hash é gerado. O resultado de uma frase de 5 palavras ou de um livro de 200 páginas será sempre uma sequência combinada de 64 letras e números. A sua codificação é de 256 bits, 34 bytes.
Focando-se no funcionamento do SHA-256, a sua segurança começa por construir uma série de funções criptográficas. Estas são as chamadas funções Merkle-Damgard e Ivan Damgard Hash criadas em 1979. Para isso, usaram uma compreensão unidirecional do tipo Davies-Meyer. Utilizando estes métodos, procuraram garantir resistência às repetições de hash e uma maior segurança para a função.
Assim, foi criada a função SHA-256, em função de introduzir dados e obter um resumo da informação com medição fixa. Neste sistema, o que chamamos de efeito avalanche é garantido. Isto significa que, na mínima alteração da informação de função, será gerado um hash que é completamente diferente do inicial. No entanto, se submetermos a mesma sentença ao processo Hash, obteremos sempre o mesmo resultado, uma vez que o processo é determinístico.
A segurança fornecida por este sistema torna-a uma das mais atrativas para a sua aplicação em criptomoedas como o Bitcoin. Desde a sua criação em 2009, Satoshi revelou a Bitcoin destacando o uso desta função. Na verdade, praticamente toda a sua segurança começa a partir de SHA-256.
Para implementar SHA-256, Satoshi Nakamoto criou PoW. É por isso que os mineiros de Bitcoin devem resolver puzzles criptográficos complexos que levam ao uso desta função.
Para conseguir a exploração mineira, os mineiros devem acumular SHA-256 Hashes até encontrarem um valor decimal inferior ao alvo solicitado na rede, tarefa que não é nada fácil. Além disso, o sistema regulariza a dificuldade de mineração aumentando-a ou diminuindo-a, variando assim o poder da rede para calcular os hashes que os SHA-256. Por outras palavras, quanto mais poder for a rede, mais difícil será o trabalho mineiro e com ela custará mais para chegar ao hash correto.
Todo este processo é resumido num único resultado chamado Block HASH ou Block ID, um identificador único e irrepetível que encontramos em cada bloco Bitcoin. É dada sob a forma de um Hash e é claramente um SHA-256.
Note-se que o Bitcoin não é o único projeto para empregar SHA-256. Na verdade, a maioria dos projetos de criptomoedas criados a partir de Bitcoin usam-na. Até projetos autónomos de Bitcoin. A razão é clara, um padrão seguro, fácil de implementar e fiável. A lista de criptomoedas que a utilizam não é curta, no entanto abaixo veremos alguns dos que usam SHA-256 na sua mineração: Bitcoin Cash, Namecoin, Peercoin ou Steem Dollars.
Com o avanço das tecnologias, muitos utilizadores questionam-se sobre o quão segura será uma funcionalidade criada em 2001 no futuro. Existem atualmente formas de ataque conhecidas que quebrariam a segurança da SHA-256, no entanto, nenhuma delas poderia ser aplicada até agora.
Tudo isto leva-nos a pensar que o SHA-256 pode não ser tão seguro, mas será por um bom tempo. No caso de ser violado a qualquer momento, o SHA-256 só teria de ser atualizado e atualizado os processos de mineração, bem como os processos de geração de identificadores. Isto juntamente com a atualização dos endereços seria suficiente para evitar o problema e manter as criptomoedas num campo seguro.