Publicidade

Como funciona a blockchain? – parte 4

Por Bruna Grybogi
Medium

Para ler a parte 3, clique aqui.

Mas é realmente seguro? E por que é chamado Blockchain?

CONTINUA APÓS A PUBLICIDADE

Qualquer pessoa pode acessar a rede Bitcoin por meio de uma conexão anônima (por exemplo, a rede TOR ou uma rede VPN ) e enviar ou receber transações, revelando nada mais que sua chave pública. No entanto, se alguém usar a mesma chave pública repetidamente, é possível conectar todas as transações ao mesmo proprietário. A rede Bitcoin permite gerar quantas carteiras você desejar, cada uma com suas próprias chaves públicas e privadas. Isso permite que você receba pagamentos em carteiras diferentes, e não há como alguém saber que você possui todas as chaves privadas dessas carteiras, a menos que você envie todos os Bitcoins recebidos para uma única carteira.

O número total de endereços possíveis de bitcoin é 2¹⁶⁰ ou 1461501637330902918203684832716283019655932542976.

Esse grande número protege a rede de possíveis ataques enquanto permite que qualquer pessoa possua uma carteira

CONTINUA APÓS A PUBLICIDADE

Com essa configuração, ainda existe uma grande falha de segurança que pode ser explorada para recuperar Bitcoins após gastá-los. As transações são passadas de nó para nó na rede, para que a ordem na qual duas transações alcancem cada nó possa ser diferente. Um invasor pode enviar uma transação, aguardar a contraparte enviar um produto e, em seguida, enviar uma transação reversa de volta para sua própria conta. Nesse caso, alguns nós podem receber a segunda transação antes da primeira e, portanto, consideram a transação de pagamento inicial inválida, pois as entradas da transação seriam marcadas como já gastas. Como você sabe qual transação foi solicitada primeiro? Não é seguro solicitar timestamp das transações porque poderia ser facilmente falsificado. Portanto, não há como saber se uma transação ocorreu antes de outra, e isso abre o potencial de fraude.

Se isso acontecer, haverá desacordo entre os nós da rede em relação à ordem das transações que cada um deles recebeu. Portanto, o sistema blockchain foi projetado para usar o contrato de nó para solicitar transações e evitar a fraude descrita acima.

A rede Bitcoin ordena transações agrupando-as em blocos; cada bloco contém um número definido de transações e um link para o bloco anterior. É isso que coloca um bloco após o outro no tempo. Portanto, os blocos são organizados em uma cadeia relacionada ao tempo (Fig. 6) que dá o nome a todo o sistema: blockchain.

CONTINUA APÓS A PUBLICIDADE
Estrutura da sequência da blockchain simplificada

Considera-se que as transações no mesmo bloco ocorreram ao mesmo tempo, e as transações que ainda não estão em um bloco são consideradas não confirmadas. Cada nó pode agrupar transações em um bloco e transmiti-lo para a rede como uma sugestão para qual bloco deve ser o
próximo. Como qualquer node pode sugerir um novo bloco, como o sistema concorda em qual bloco deve ser o próximo?

Para ser adicionado à blockchain, cada bloco deve conter a resposta para um problema matemático complexo criado usando uma função hash criptográfica irreversível. A única maneira de resolver um problema matemático é adivinhar números aleatórios que, combinados com o conteúdo do bloco anterior, geram um resultado definido. Pode demorar cerca de um ano para um computador típico adivinhar o número certo e resolver o problema matemático. No entanto, devido ao grande número de computadores na rede que estão adivinhando números, um bloco é resolvido em média a cada 10 minutos. O nó que resolve o problema matemático adquire o direito de colocar o próximo bloco na cadeia e transmiti-lo para a rede.

E se dois nós resolverem o problema ao mesmo tempo e enviarem seus blocos para a rede simultaneamente? Nesse caso, os dois blocos são transmitidos e cada nó é construído no bloco que recebeu primeiro. No entanto, o sistema blockchain exige que cada nó construa imediatamente no blockchain mais longo disponível. Portanto, se houver ambiguidade sobre qual é o último bloco, assim que o próximo bloco for resolvido, cada nó adotará a cadeia mais longa como única opção.

CONTINUA APÓS A PUBLICIDADE
Lógica de ambiguidade de fim de cadeia

Devido à baixa probabilidade de resolver blocos simultaneamente, é quase impossível que vários blocos sejam resolvidos ao mesmo tempo repetidamente, construindo diferentes “ramificações”, para que toda a cadeia de blocos se estabilize rapidamente em uma única sequência de blocos em que todos os nós concordam.

Uma discordância sobre qual bloco representa o fim da cadeia abre o potencial de fraude novamente. Se uma transação estiver em um bloco que pertence a uma cauda mais curta (como o bloco B na Fig. 7), assim que o próximo bloco for resolvido, essa transação, juntamente com todas as outras em seu bloco, voltará às transações não confirmadas.

CONTINUA APÓS A PUBLICIDADE

Para ler a terceira parte deste artigo, clique aquiA continuação será publicada amanhã no BitNotícias.

Este artigo foi desenvolvido por Michele D’Aliessi e traduzido para o portal BitNotícias.

Compartilhe este artigo
Sair da versão mobile