Como já vimos anteriormente, a tecnologia Blockchain está na base de todas as criptomoedas. Em mais um artigo adaptado da Binance Academy, vamos hoje tentar explicar a razão pela qual a blockchain é segura e como é praticamente impossível de ser “hackeada”.
As redes Blockchain são protegidas por uma variedade de mecanismos que incluem técnicas criptográficas avançadas e modelos matemáticos de comportamento e tomada de decisão. A tecnologia Blockchain é a estrutura fundamental da maioria dos sistemas de criptomoeda e é o que impede que esse tipo de dinheiro digital seja duplicado ou destruído.
O uso da tecnologia Blockchain também tem vindo a ser explorado noutros contextos onde a imutabilidade e a segurança dos dados são altamente valiosas. Alguns exemplos incluem o ato de registo e rastreio de doações a instituições de caridade, bases de dados médicas e gestão de cadeias de abastecimento.
No entanto, a segurança Blockchain está longe de ser um assunto simples. Portanto, é importante entender os conceitos e mecanismos básicos que garantem a proteção robusta a estes sistemas inovadores.
Conceitos de imutabilidade e consenso
Embora existam muitos recursos que atuam na segurança associada à Blockchain, dois dos mais importantes são os conceitos de “imutabilidade” e “consenso”. Consenso refere-se à capacidade dos nós, dentro de uma rede Blockchain distribuída, concordarem com o estado verdadeiro da rede e com a validade das transações. Normalmente, o processo de obtenção do consenso é dependente dos chamados “algoritmos de consenso”.
Imutabilidade, por outro lado, refere-se à capacidade da Blockchain de impedir a alteração de transações que já foram confirmadas. Embora essas transações geralmente estejam relacionadas à transferência de criptomoedas, elas também podem se referir ao registo de outras formas não monetárias de dados digitais.
Combinados, o consenso e a imutabilidade fornecem a estrutura para segurança de dados em redes Blockchain. Embora os algoritmos de consenso garantam que as regras do sistema estejam a ser seguidas e que todas as partes envolvidas concordem com o estado atual da rede, a imutabilidade garante a integridade dos registos de dados e transações após cada novo bloco de dados ser confirmado como válido.
O papel da criptografia na segurança Blockchain
As redes Blockchain dependem muito da criptografia para alcançar a segurança de seus dados. Uma função criptográfica que é extremamente importante em tal contexto é o “hashing”. Hashing é um processo pelo qual um algoritmo conhecido como função hash recebe uma entrada de dados (input) de qualquer tamanho e retorna uma saída (output) determinada que contém um valor de comprimento fixo.
Independentemente do tamanho da entrada, a saída apresentará sempre o mesmo tamanho. Se a entrada mudar, a saída será completamente diferente. No entanto, se a entrada não mudar, o hash resultante será sempre o mesmo – não importa quantas vezes seja executada a função hash.
Dentro das redes Blockchain, esses valores de saída, conhecidos como hashes, são usados como identificadores exclusivos para blocos de dados. O hash de cada bloco é gerado em relação ao hash do bloco anterior, e é isso que faz a ligação dos blocos, formando uma cadeia de blocos – literalmente, uma “blockchain”! Além disso, o hash do bloco depende dos dados contidos nesse bloco, o que significa que qualquer alteração feita nos dados exigiria uma alteração no hash do bloco.
Portanto, o hash de cada bloco é gerado com base nos dados contidos nesse bloco e no hash do bloco anterior. Esses identificadores de hash desempenham um papel importante na garantia da segurança e imutabilidade da blockchain.
O hashing também é aproveitado nos algoritmos de consenso utilizados para validar transações. Na blockchain do Bitcoin, por exemplo, o algoritmo de Proof of Work (PoW) usado para obter consenso e para minerar novas moedas, utiliza uma função hash chamada SHA-256. Como o nome sugere, a função SHA-256 recebe a entrada de dados e retorna um hash de 256 bits ou 64 caracteres.
Além de fornecer proteção para registos de transações em ledgers, a criptografia também desempenha um papel importante na garantia da segurança das carteiras usadas para armazenar criptomoedas. As chaves públicas e privadas que permitem respetivamente que os utilizadores recebam e enviem pagamentos, são criadas por meio do uso de criptografia de chave pública (também conhecida como criptografia assimétrica). Chaves privadas são usadas para gerar assinaturas digitais para transações, tornando possível autenticar a posse das moedas que estão a ser enviadas.
Embora os detalhes estejam além do âmbito deste artigo, a natureza da criptografia assimétrica impede que qualquer pessoa, exceto o detentor da chave privada, aceda aos fundos armazenados numa carteira de criptomoedas, mantendo assim esses fundos seguros até que o proprietário decida gastá-los (desde que a chave privada não seja partilhada ou comprometida).
A criptoeconomia
Além da criptografia, um conceito relativamente novo conhecido como “criptoeconomia” (cryptoeconomics), também desempenha um papel na manutenção da segurança das redes blockchain. Está relacionado com um campo de estudo conhecido como “teoria dos jogos”, que modela matematicamente a tomada de decisão por agentes racionais em situações com regras e recompensas predefinidas. Embora a tradicional teoria dos jogos possa ser amplamente aplicada a uma variedade de casos, a criptoeconomia modela e descreve especificamente o comportamento de nós (nodes) em sistemas distribuídos da blockchain.
Em suma, a criptoeconomia é o estudo da economia dentro dos protocolos blockchain e dos possíveis resultados que o seu desenho pode apresentar com base no comportamento dos seus participantes. A segurança através da criptoeconomia baseia-se na noção de que os sistemas blockchain fornecem maiores incentivos para os nós agirem de forma honesta em vez de adotarem comportamentos maliciosos ou defeituosos. O algoritmo de consenso da Proof of Work usado na mineração de Bitcoin oferece um bom exemplo dessa estrutura de incentivo.
Quando Satoshi Nakamoto criou o framework para a mineração Bitcoin, foi intencionalmente projetado para ser um processo caro e de uso intensivo de recursos. Devido à sua complexidade e aos requisitos computacionais, a mineração de PoW envolve um investimento considerável de tempo e dinheiro – independentemente de onde está e de quem é o nó de mineração. Portanto, tal estrutura fornece um forte desincentivo à atividade maliciosa e incentivos significativos para atividades de mineração honestas. Nós desonestos ou ineficientes serão rapidamente expulsos da rede blockchain, enquanto os mineradores honestos e eficientes terão o potencial de obter recompensas substanciais.
Da mesma forma, esse equilíbrio de riscos e recompensas também concede proteção contra possíveis ataques que poderiam enfraquecer o consenso ao colocar a maior parte da taxa de hash de uma rede blockchain nas mãos de um único grupo ou entidade. Tal ataque, conhecido como “ataque 51%”, pode ser extremamente prejudicial se for executado com sucesso. Devido à competitividade da mineração de Proof of Work e à magnitude da rede Bitcoin, a probabilidade de um agente mal-intencionado tomar o controle da maioria dos nós é extremamente pequena.
Além disso, o custo em termos de poder de computação necessário para obter 51% de controle de uma enorme rede blockchain seria astronómico, proporcionando um desincentivo imediato para fazer um investimento tão grande para uma recompensa potencial relativamente pequena. Esse facto contribui para uma característica de blockchains conhecida como Byzantine Fault Tolerance (Tolerância de Falha Bizantina ou BFT), que é essencialmente a capacidade de um sistema distribuído continuar a funcionar normalmente mesmo se alguns nós forem comprometidos ou agirem de forma maliciosa.
Enquanto o custo para estabelecer uma maioria dos nós maliciosos continuar a ser proibitivo e existirem melhores incentivos para atividades honestas, o sistema será capaz de prosperar sem interrupções significativas. Vale a pena notar, no entanto, que pequenas redes blockchain são certamente suscetíveis a esse tipo de ataque porque a taxa de hash total dedicada a esses sistemas é consideravelmente menor que a do sistema Bitcoin.
Considerações finais
Através do uso combinado da teoria dos jogos e da criptografia, as blockchains são capazes de atingir altos níveis de segurança como sistemas distribuídos. Como em quase todos os sistemas, no entanto, é fundamental que esses dois campos de conhecimento sejam aplicados adequadamente. Um equilíbrio cuidadoso entre a descentralização e a segurança é vital para a construção de uma rede fiável e eficaz de criptomoedas.
À medida que as utilizações da blockchain continuarem a evoluir, os seus sistemas de segurança também mudarão para atender às necessidades de diferentes aplicações. As blockchains privadas que agora estão a ser desenvolvidas para empresas comerciais, por exemplo, dependem muito mais de segurança através do controlo de acesso do que dos mecanismos de teoria dos jogos (ou criptoeconomia) que são indispensáveis para a segurança da maioria das blockchains públicas.
Fonte: Binance Academy
Segue toda a atualidade tecnológica no TecheNet através do Facebook, Google News e Twitter. Agora, temos também um canal dedicado no Telegram, onde poderás receber todas as novidades em primeira mão.
Tecnologia Blockchain: um guia para principiantes
Em mais um artigo adaptado da Binance Academy, vamos hoje explicar o que é a tecnologia Blockchain, a tecnologia que serve de base a todas as criptomoedas.
Uma blockchain é um tipo especial de base de dados onde os dados podem ser apenas adicionados: ou seja, não podem ser removidos nem alterados. Como o nome sugere, uma blockchain assemelha-se a uma cadeia de blocos – esses blocos são fragmentos de informações adicionados à base de dados. Cada bloco retém um indicador para o bloco anterior e, geralmente, contém uma combinação de informações de transação, registos de data e hora e outros dados para confirmar a sua validade.
Como estão vinculadas, as entradas não podem ser editadas, excluídas ou modificadas de qualquer forma, pois isso iria invalidar todos os blocos seguintes.
Outros artigos interessantes: