WEB3DEV

ViniBlack
ViniBlack

Posted on

Leitura adicional sobre a rede Bitcoin

Ataque 51%

A maioria de nós já ouviu o termo ataque de 51% antes, e ele parece assustador! 😱

Um ataque de 51% refere-se a um momento em que um grupo de mineradores tem o controle de mais de 50% da rede e deseja agir de forma maliciosa. Quanto dano pode realmente ser causado durante esse período? 🤔

Vamos pensar no que aprendemos. Cada bloco é construído com base no hash do bloco anterior. Para alterar um bloco que foi confirmado muitas vezes, digamos que o bloco tenha sido confirmado 6 vezes, por exemplo, a blockchain atacante precisaria minerar 8 novos blocos antes que a blockchain existente minerasse 1 para ser aceita como a cadeia principal. Isso exigiria mais do que apenas 51% dos recursos! 💰

💭 É claro que a blockchain atacante também pode simplesmente se manter obstinadamente em sua cadeia por um período mais longo. Quanto mais tempo eles fizerem isso, mais caro se tornará o ataque. Se eles tivessem esse tipo de recurso, poderiam ganhar muito dinheiro apenas jogando honestamente!

O que o ataque pode de fato realizar? Uma das coisas que um ataque pode fazer é duplicar o gasto de uma transação, optando por substituí-la nos novos blocos. Portanto, se alguém lhe enviasse um grande pagamento, poderia atacar a rede e, essencialmente, anular esse pagamento. É claro que esse ataque custaria muito dinheiro, portanto, é muito improvável que seja econômico. Por motivos de segurança, se alguém lhe enviar milhões de dólares no blockchain, talvez seja melhor esperar um ou dois dias para ter certeza de que o pagamento foi liberado. 😉

Falaremos mais sobre UTXOs, o que nos ajudará a entender como os gastos duplos são evitados.

Os gastos duplos podem ocorrer durante uma bifurcação de blockchain, conforme demonstrado pelo bug causado pelo Berkeley DB quando a rede bitcoin estava parcialmente entre versões. Consulte BIP_0050.

Bloco Gênesis e o explorador de blockchain

É um bom momento para conferir o Bloco Gênesis do Bitcoin.

☝️ Quantas propriedades você reconhece nesse momento?

O número de confirmações é o número de blocos desde o bloco de gênese. Como o bloco de gênese é o primeiro bloco, essa também é a tamanho do bloco da blockchain!

É interessante que, se você observar o nonce do bloco de gênese, ele é 2.083.236.893. Se dermos uma olhada em um bloco mais recente, 632900, por exemplo, veremos que o nonce é, na verdade, muito menor. Por que isso acontece? A dificuldade não deveria estar ficando mais difícil à medida que a rede cresce? 🤔

Acontece que o nonce do bloco é, na verdade, um campo de 32 bits, e 2 ** 32 é 4.294.967.296, portanto, esse é o tamanho máximo de um nonce. O que acontece quando o minerador chega a esse ponto? Ele pode alterar qualquer outra coisa no cabeçalho do bloco para também aumentar a aleatoriedade. Outras propriedades incluem:

  • Versão do software - Rastreia as atualizações do software Bitcoin
  • Previous Block Hash (Hash do bloco anterior) - Hash do bloco anterior a este
  • Merkle Root - Ainda não falamos sobre isso, é um hash que representa todas as transações!
  • Timestamp - Hora aproximada (menos de duas horas no futuro, de acordo com as regras de consenso)
  • Target - Meta de dificuldade que determina quão pequena deve ser a prova de trabalho

☝️ Como você pode imaginar ao observar essas propriedades, inicialmente era o carimbo de data/hora que os mineradores manipulavam quando precisavam reiniciar a busca por uma prova de trabalho válida. Além disso, eles podem começar a alterar o script da transação da coinbase, o que lhes dá espaço adicional para nonce.

Top comments (0)