Por que a Segurança blockchain é fundamental e como ela é implementada?

Este tutorial discute o básico da segurança blockchain. Também explica como criptografia, assinaturas digitais, hashes, chaves públicas e privadas funcionam para proteger seus dados:

Na série de tutoriais de Blockchain anterior de tutoriais blockchain, aprendemos sobre a operação do ETF Blockchain, juntamente com sua comparação com outros recursos.

A segurança dos dados é fundamental para blockchains e como elas funcionam.Por exemplo, a segurança de primeira linha impede a duplicação ou destruição de ativos digitais, como criptomoedas em uma blockchain.

Vários métodos garantem a máxima segurança de dados e informações dentro do blockchain, incluindo técnicas avançadas de criptografia e modelos matemáticos de comportamento e tomada de decisão.

Neste tutorial de segurança blockchain, aprenderemos os conceitos básicos de segurança dentro de uma blockchain para entender o que torna o blockchain seguro e o básico da criptografia.Também veremos como a descentralização, o consenso e a criptoeconomia garantem a segurança das blockchains.

Também consideraremos algumas dicas sobre como tornar o blockchain, as bases da segurança quântica e o conceito de blockchain resistente a quantum mais seguro.

O que você vai aprender:

  • Por que a segurança do blockchain é crítica?
  • Fatores que contribuem para a segurança do blockchain
    • #1) Consentimento e imutabilidade
    • #2) Criptografia e seu papel na segurança do blockchain
      • Algoritmos criptográficos
    • #3) Como funcionam as chaves públicas e privadas para proteger os dados?
    • #4) Criação de assinaturas digitais
    • #5) Como o hashing ajuda a proteger os dados no blockchain?
    • #6) Segurança em criptoeconomia e blockchain
    • 7) Computadores quânticos e blockchains resistentes a quantum
  • Conclusão
    • Leitura recomendada

Por que a segurança do blockchain é crítica?

Tentamos entender a importância da segurança para blockchains e ver as áreas que precisam ser protegidas.

  • Veja as criptomoedas, por exemplo, se o blockchain não for seguro, as criptomoedas podem ser copiadas, destruídas ou roubadas.O mesmo pode acontecer com todas essas mensagens criptografadas.
  • Além disso, tais informações protegidas não permaneceriam mais privadas ou confidenciais.Isso significaria mais insegurança, roubo e sequestro, por exemplo, quando você conhece os proprietários de grandes quantidades de criptomoedas.
  • Contratos inteligentes sem confiança seriam difíceis de alcançar sem a garantia de que o acordo escrito não será alterado.

Fatores que contribuem para a segurança do blockchain

#1) Consentimento e imutabilidade

consentimento e imutabilidade contribuem para a segurança do blockchain

Consentimento e imutabilidade contribuem para a segurança do blockchain das seguintes maneiras:

  • O consentimento, sendo a capacidade dos nodes na rede blockchain de concordar com o estado da rede, garante o cumprimento das regras de proteção da rede.
  • O algoritmo de consentimento define essas regras e como elas devem ser seguidas por qualquer um que compartilhe a rede.Um aspecto importante do consentimento é codificar essas regras para garantir que os usuários sigam as regras sem ter que confiar uns nos outros.
  • A imutabilidade, por outro lado, é a capacidade de dados transacionais em uma blockchain não serem alterados ou apagados.Esta é uma característica tecnológica do blockchain.A vinculação de blocos em uma blockchain garante que tais alterações sejam transmitidas a cada nó e operador de nó graças ao código do algoritmo de consenso.Os operadores de nó podem rejeitar ou aceitar tais mudanças tecnologicamente.
  • Se as alterações forem rejeitadas, o bloco modificado será passado como órfão ou liberado da cadeia principal mais longa.A pessoa que sai do quarteirão nem recebe a recompensa.

Portanto, o consentimento protege assim o blockchain, uma vez que permite que verificadores e nós discordem de mudanças inaceitáveis, mesmo que concordem com aqueles que são aceitáveis para garantir a continuidade da cadeia.A imutabilidade garante a rastreabilidade de todos os dados e informações protegidas em um blockchain, o que significa que qualquer tipo de mudança seria notada.

#2) Criptografia e seu papel na segurança do blockchain

A criptografia é o principal sistema de segurança do blockchain.Permite o armazenamento e troca de dados em um formato oculto de terceiros e somente a pessoa que tem a permissão tecnológica para revelar o significado da mensagem pode receber e decodificar a mensagem enviada a ele.

O algoritmo de hashing converte dados facilmente legíveis em dados que não podem ser entendidos sem descriptografia: Criptografia e seu papel na segurança do blockchain A criptografia funciona através do hashing, bem como usando os métodos de segurança de pares de chaves públicas e privadas.

Criptografia de chave pública assimétrica e simétrica é a principal maneira de proteger os dados em uma blockchain.Na criptografia de chave simétrica, uma chave é usada para criptografar e descriptografar dados e informações.DES e AES são exemplos de criptografia de chave pública simétrica.

Estes são usados em métodos de criptografia de e-mail e Internet, como TLS e SSL, embora às vezes usem uma combinação de criptografia de chave simétrica e assimétrica.

(i) Blockchains usam criptografia de chave pública assimétrica, que é mais segura e usa várias chaves privadas e públicas para criptografar e descriptografar dados e informações.As chaves públicas estão disponíveis publicamente, por exemplo, através de certificados digitais.O remetente de informações ou criptomoedas ou outros usará a chave pública do destinatário para criptografar os dados.O destinatário terá a chave para desvendar os dados descriptografando-os com a chave privada ligada à chave pública.

(ii) É claro que um terceiro não pode acessar a mensagem, pois ela é enviada em um formato criptografado ou ilegível.

(iii) O titular da chave privada é a pessoa com autoridade e o direito de descriptografar as informações nele contidas, como prova de propriedade.

(iv) Um gerador-chave é um programa de computador usado para gerar chaves públicas e privadas na criptografia.Esses geradores de números aleatórios (NGGs) ou geradores de números pseudorandom (PRNG) usam um grau de aleatoriedade para proteger os dados.

v As chaves protegem os dados sendo mais difíceis de descobrir.Considere a força bruta, que é uma das maneiras de tentar descriptografar dados criptografados sem ter chaves privadas associadas.A força bruta funciona para tentativa e erro onde o software adivinha várias combinações de caracteres prováveis, fazendo chaves que começam com o número mínimo.

Este software é bastante rápido e é usado para penetrar com sucesso algumas técnicas de criptografia e para hackear sistemas adivinhando senhas e chaves, etc. A força bruta não é capaz de violar a criptografia de chave pública assimétrica, principalmente porque a composição e o comprimento da chave dificultam o palpite.

Não só levaria uma eternidade para fazer isso direito, mas os recursos necessários também seriam insustentáveis.Assim, enquanto sistemas de criptografia de 128 bits que produzem chaves longas de 128 bits são empregados em algoritmos de chave simétricas de 2048 bits.

(vi) Você pode testar geradores aleatórios de chaves públicas e privadas em bitcoinaddress.org gerando manualmente um endereço de carteira Bitcoin e sua chave privada.Ambas as chaves são geradas offline reduzindo a possibilidade de serem comprometidas.

Este método usa movimentos esporádicos do mouse do usuário para gerar sementes únicas e aumentar o grau de aleatoriedade que torna mais difícil, de fato impossível, adivinhar as teclas geradas.Este tipo de PRNG usa entropia do sistema para semear dados no processo de aleatoriedade para dificultar o palpite dos resultados, dificultando a adivinhação das condições iniciais do PRNG.

Outros sistemas derivam chaves privadas deterministicamente usando uma senha e uma função de derivação chave.Esses métodos são usados em carteiras HD modernas que facilitam a geração e gerenciamento de endereços de portfólio.Todas as chaves privadas para todos os endereços de carteira na carteira HD são geradas usando a mesma função de derivação de teclas e podem ser recuperadas com uma única senha.

Algoritmos criptográficos

A criptografia pode ser forte ou fraca, medida pelo tempo e quantidade de recursos necessários para recuperar o texto simples de seu texto cifrado.

1) A criptografia convencional faz um bom trabalho de proteção de dados arquivados, mas pode ser muito caro ao proteger dados em trânsito.

#2) A criptografia de chave pública-privada assimétrica moderna resolve o problema da distribuição de chaves.Métodos como OpenPGP usam um híbrido de criptografia de chave pública (criptografia assimétrica) e criptografia convencional.

Cifras são funções matemáticas que permitem a criptografia e a descriptografia da informação. Use uma tecla, que é uma palavra, número ou frase, para criptografar texto simples.Diferentes teclas resultarão em diferentes textos criptografados ou hashes.

#3) Um algoritmo criptográfico coleta dados aleatórios para injetar em sua função matemática e entradas de mensagens simples para produzir texto criptografado.

A imagem a seguir explica como o algoritmo de criptografia funciona: Algoritmos criptográficos 4) As cifras funcionam usando diferentes estratégias para ocultar mensagens.

Eles podem combiná-lo com dados adicionais, revertê-los ou transferi-los, estes são apenas alguns exemplos.

#5) Por exemplo, na criptografia de chave simétrica, o algoritmo pode usar cifras de transposição nas quais a ordem das unidades em texto simples é regularmente reordenada para ocultar a mensagem.A função ou dígito utilizado é chamado de função bidireda.O texto cifrado é uma permutação do texto simples.Neste caso, para descriptografar a mensagem, uma função inversa é aplicada ao texto cifrado para restaurar a ordem original do texto e retornar ao texto simples.

#3) Como funcionam as chaves públicas e privadas para proteger os dados?

Como as chaves públicas e privadas funcionam para proteger dados

i A criptografia com pares de chaves públicas e privadas é um processo matemático.Uma vez que a chave privada tenha sido usada para criar uma assinatura digital, a transação é exclusiva de qualquer outra e não pode ser copiada por ninguém fora ou dentro do blockchain.

(ii) Uma assinatura para uma determinada transação não pode ser semelhante a uma assinatura para uma transação diferente, mesmo quando a mesma chave privada é usada para gerar as duas assinaturas.

(iii) Além do fato de que as chaves estão matematicamente escondidas através do hashing, a relação entre elas é difícil de desvendar.Então a mensagem original tão protegida é difícil de encontrar.

(iv) A proteção de dados, informações e transações com chaves privadas e públicas baseia-se na ideia de que, embora seja fácil encontrar o produto de dois grandes números primos, é cada vez mais difícil e impossível encontrar fatores de um grande número se você tiver apenas fatores primos muito grandes.

(v) Isso porque levaria muitos milhares de anos para calcular, por qualquer método possível atualmente, incluindo o computador mais rápido, os fatores do número.

Dois números são considerados congruentes na forma se sua diferença for divisível pelo módulo.O número 30 é congruente a 9 modulo 7 porque a diferença entre 30 e 7 é divisível por 7.

Em outras palavras, é expresso como; >> amódulo b (mod l) se e somente se a = kl + b onde k é um inteiro, aeb são congruentes e modulo uns aos outros.

Se tom quer receber uma mensagem de Harry, ele é o único que pode decodificar a mensagem, mesmo que todos possam escrever a mensagem em código.Tom escolherá dois primes aeb muito grandes, em seguida, escrever k = ab e co-determinar a mensagem usando k mas aeb são necessários para decodificar a mensagem.

Tom escolhe dois números de aeb onde k = ab enquanto l = mínimo comum múltiplo {a-1, b-1}Tom, que quer receber uma mensagem privada e segurade Harry escolhe onde c>1 e c é co-prime com l significado c, eu não tenho fatores comuns.

Tom também encontrará não apenas menos que l, onde ct = 1 (mod l).
Tom mostra publicamente a identidade de c e k enquanto mantém um, b, t privado.

Harry, então, envia o número único como uma mensagem para Tom; L e k estão me cobrindo e mantendo a condição 0<L<k.
Harry encontra L d onde L d = L c (mod k) e envia a mensagem L d para Tom.
Depois de receber a mensagem L d de Harry, Tom decodifica-a usando a, b, c, t, l, k para encontrar L d .

Para decodificar, Tom usará o teorema que; (L d t móduloL (mod k). 

Exemplo;

  • Harry envia a mensagem L para Tom; Tom escolhe a = 17, b = 23; o que significa k = 39, l = 176, c = 3 e t = 59
  • Tom diz a Harry k = 391 e c = 3 (ninguém pode encontrar t mesmo que ele tenha k e c).
  • Harry calcula L d = 180 usando L d = L c (mod k) com conhecimento de c e k.
  • Tom recebe a mensagem no código 180.
  • Tom calcula L d ) tL módulo (mod k). lmódulo180 59 (mod 391) e decodifica a mensagem secreta de Harry.
  • O computador usa omódulomódulo de cálculo dos EUA para determinar os resultados dafunção acima.

idealmente

  • Se ummódulob (mod n), n divide ab e se n divide a –b então n divide (ab)c = ac-bc significa acmódulobc(mod n); e
  • como um kmódulo b k (mod n)
  • A solução segue este exemplo; Para encontrar x na equação 0móduloXmódulo100; e 17 3módulox(mod 101);
  • Como 17 3 é muito grande para a maioria das calculadoras, começamos com 17 6 = 24137569 e primeiro dividendo por 101, descobrimos que 17 6 = (238985) (101) + 84 para que saibamos 17 6módulo84 (mod 101), que podem ser usados para lidar com usados

17 13 , que é = (17 6 ) 2 x 17 quemóduloé84 2 x 17módulo 119952 (mod.10)módulo65 (mod.101).

Então x = 65.

#4) Criação de assinaturas digitais

Agora vamos entender como as assinaturas digitais blockchain são criadas e seu papel na confidencialidade.

As chaves públicas são usadas publicamente, se com segurança, então através de certificados digitais, como na criptografia de sites e jargão de e-mail.Os certificados são emitidos pela Autoridade de Certificação ou CA. O certificado digital contém informações pessoais da mesma forma que a chave pública.

A autenticidade de uma Assinatura Digital, por sua vez assinada, é comprovada pela verificação de sua assinatura.No e-mail e na criptografia web, as chaves públicas de CA são usadas para verificar as assinaturas de certificados digitais emitidos antes de verificar a autenticidade das informações e mensagens.

Em blockchains, a chave privada é usada para assinar digitalmente uma transação.Em seguida, sua chave pública é usada para verificar se as mensagens criadas com as chaves privadas correspondentes são autênticas verificando a autenticidade das assinaturas digitais nessas mensagens.Isso é o que acontece quando você envia uma transação de sua carteira privada para o sistema blockchain.

Dessa forma, chaves privadas garantem a confidencialidade dos dados enviados.

A criação de assinaturas digitais é um processo matemático de computador e segue os seguintes processos: Como as assinaturas digitais são criadas em blockchain e seu papel na confidencialidade Na última etapa, os dois hashes são idênticos quando a mensagem ou transação não é adulterada ou alterada.

A mensagem é verificada como autêntica; caso contrário, é rejeitado como adulteração ou una genuíno.

Em seguida, se uma transação em uma blockchain é alterada, ela resulta em um hash diferente daquele formado pelo remetente ou sua máquina durante o envio, onde a transação original é primeiramente descriptografada com a chave privada do destinatário.

Essa ideia é usada na negociação de criptomoedas para frente e para trás e para fazer pagamentos em criptomoedas.

Outras estratégias de segurança importantes dentro das blockchains são:

  • O protocolo de endereço de carteira de várias assinaturas dentro do blockchain permite a produção de cópias-chave para cada proprietário do portfólio.Por exemplo, aplica-se quando uma carteira é de propriedade de uma família ou empresa, e três ou mais partes devem assinar uma transação para ser autorizada.
  • Com uma carteira multi-assinatura, uma parte não pode gastar criptomoedas sem que outras sejam testemunhas.A transação deve ser assinada por mais de uma das partes que detêm a chave, para gastar os fundos.
  • Algumas carteiras online e sistemas blockchain usam um protocolo de várias assinaturas no qual uma chave privada é armazenada no dispositivo de um usuário, a outra salva pelo usuário offline ou em um lugar separado, e a outra deixada para o provedor de serviços.Cada um pode desbloquear a carteira ou serviço se alguém estiver perdido ou perdido.

Passando para a segurança on-line, alguns sistemas permitem a geração de chaves privadas como links únicos para cada sessão; conhecido como o segredo para a frente.

#5) Como o hashing ajuda a proteger os dados no blockchain?

No hashing, os dados de entrada passam por uma função matemática ou fórmula chamada função hashing.A função converte a entrada em uma saída que não faz sentido a menos que seja devolvida à mensagem original.

  • A saída deve ter o mesmo comprimento, independentemente do comprimento da entrada.Por exemplo, em uma blockchain Bitcoin, que usa o algoritmo Prova de Trabalho, SHA-256 é o algoritmo usado e produz um hash ao longo de 256 bits ou 64 caracteres.
  • Duas entradas diferentes, mesmo aquelas que diferem ligeiramente, como letras maiúsculas e minúsculas, não podem ter uma saída semelhante.
  • A mesma entrada torna a mesma saída sem qualquer variação para garantir consistência, independentemente de quantas vezes a função é hashed.
  • O processo é irreversível.Significa que começar com a saída e o hashing não produz a entrada que a produz.

Voltando ao blockchain, que é uma cadeia de blocos cada um contendo um conjunto de dados, o bloco tem um hash ou saída gerada relacionada aos dados na blockchain.Qualquer alteração nos dados significaria a obrigação de modificar o hash.Além disso, como cada hash de bloco também é gerado em relação ao hash do bloco anterior, todos os blocos estão interligados.

Portanto, alterar os dados em um bloco significaria mudar todos os hashes no bloco.Este é um aspecto importante da proteção de dados em uma blockchain, uma vez que os dados são conectados com segurança em uma blockchain é imutável.

Vinculando dados de blocos, identificadores de blocos/hash e blocos em uma blockchain: Como o hashing ajuda a proteger dados em uma blockchain Os identificadores hash são então interconectados e garantem a segurança e a imutabilidade dos dados em uma blockchain.

O processo de verificação de transações usa este mecanismo de hashing.Nisso, a pessoa que conseguiu hashed um bloco, extrai-lo e recebe a recompensa.O mineiro tenta repetidamente encontrar o valor de hash que produz o hash de saída desejado necessário para extrair um bloco válido na cadeia.

#6) Segurança em criptoeconomia e blockchain

A criptoeconomia usa as mesmas ideologias que a teoria do jogo, onde regras e recompensas predefinidas determinam matematicamente as decisões a serem tomadas em diferentes situações.Na criptoeconomia, o comportamento dos nodes na blockchain é moldado pela criptoeconomia.

  • As ideologias econômicas são codificadas em protocolos blockchain, incluindo o comportamento dos participantes e possíveis resultados de comportamentos.
  • A criptoeconomia incentiva comportamentos positivos e honestos e recompensa os participantes que se envolvem em tal comportamento, ao mesmo tempo em que desencorajam comportamentos nocivos ou defeituosos.

Um exemplo é recompensar aqueles que apoiam a rede, comprometendo seu poder de processamento de computador através de prêmios de mineração em Bitcoin.Ao mesmo tempo, nós desonestos ou ineficientes são punidos expulsando-os da rede.

  • Equilibrar recompensas por meio de algoritmos de consenso e criptoeconômica garante segurança adicional da rede, pois muitas pessoas estão motivadas a apoiar e participar positivamente da rede.Isso dissipa a possibilidade de que mais outros cometam taxas de hash em atividades maliciosas para um único grupo ou entidade que poderia levar a ataques de 51%. Por exemplo, a competitividade da rede Bitcoin minimiza a probabilidade de ataques maliciosos.
  • A criptoeconomia, garantindo que uma grande quantidade de taxas de hash sejam engajadas na rede por tantas pessoas e garante que inseguranças como o ataque de 51% sejam difíceis e caras, se não impossíveis de executar. Por exemplo, em Bitcoin, seria altamente punitivo em termos de custos realizar tal ataque por uma recompensa potencial muito pequena.

Portanto, as blockchains têm a característica conhecida como Tolerância a Falhas Bizantina (BFT).Isso define a capacidade da rede de continuar funcionando normalmente mesmo quando alguns nós estão comprometidos ou agem maliciosamente.Este é o caso, desde que o incentivo ao comportamento honesto permaneça maior do que para atividades nocivas que seriam definidas como proibitivas.

Redes blockchain menores com taxas de hash reduzidas podem, no entanto, sofrer ataques de 51% porque as taxas totais de hash são muito pequenas e é conveniente engajar uma enorme quantidade de taxas de hash para atacar 51% dos nós e controlar a rede.

7) Computadores quânticos e blockchains resistentes a quantum

Usando algoritmos de computador ultrarrápidos, pode ser mais fácil e rápido calcular, em questão de segundos, os fatores de um grande número, mesmo que tenha fatores primos muito grandes.Isso significa que se tornaria possível violar blockchains protegidos com algoritmos de criptografia atuais.Isso porque seria possível descobrir chaves criptográficas em questão de segundos.

  • Para responder a isso, debates e trabalhos sobre blockchain começaram a surgir que podem combatê-lo.Uma blockchain tão resistente àqueles que tornaria ainda mais difícil para os computadores quânticos quebrarem cadeias.
  • Em vez de usar algoritmos criptográficos atuais que não podem suportar computadores quânticos, essas blockchains usariam algoritmos que poderiam gerar chaves mais poderosas que resistem ao desafio dos computadores quânticos.

Conclusão

Este tutorial levou em conta o básico e o funcionamento da criptografia, hashing, assinaturas digitais, bem como consentimento e criptoeconomia na proteção blockchain.Vimos que, embora a criptografia seja o método central de proteção das blockchains, outras técnicas também desempenham um papel importante na segurança das blockchains.

Vimos que as assinaturas digitais ajudam a manter a autenticidade e confidencialidade das transações, embora o hashing e a criptografia-chave garantam que o sigilo tenha um papel importante na segurança do blockchain.

Leitura recomendada =>> Melhor Software Dns BlockchainVimos que a criptoeconomia e a descentralização incentivam mais usuários a comprometer seus recursos para promover e manter e continuidade da rede em vez de fazermaiores esforços para destruí-la.