Blockchain como o próprio nome já diz é uma corrente de blocos 🙂
FIM.
Brincadeira meus readers 🙈
Então.. para entender o que é uma corrente de blocos, primeiramente precisamos entender o que é um bloco.
O que é um bloco? Para explicar o que é um bloco de uma blockchain, vamos usar algumas analogias antes.
No mundo real, podemos fazer uma analogia do bloco a uma caixa, que tem um tamanho predefinido e que nela podemos guardar e organizar nossos objetos.
Uma caracteristica que podemos notar aqui é que sempre que adicionamos uma nova laranja aqui, o seu peso irá mudar. (lembrem-se disso)
Por que o peso é importante nesse caso?
Aposto que muitos de vocês já enviaram uma encomenda pelos correios e já repararam que eles sempre pesam a remessa e lacram antes dela ser enviada. Isso é feito não apenas para definir o preço do frete, mas também para garantir que no meio do caminho não haja nenhuma adulteração.
vamos para um exemplo...
Supondo que vamos enviar um PS5 pela transportadora, antes disso é feito a pesagem e o lacre do pacote.
nosso pacote consiste em..
informação numero: 123334 hora do despache: 01/03/2022 as 10:00 peso: 4,5 kg frete: R$ 150,00
conteúdo PS5 🎮
Percebam que nesse exemplo o conteúdo interfere em duas informações, o peso e o frete.
Também podemos notar que existe dois conceitos dentro dessa remessa, o conteúdo e a informação.
Tudo isso é empacotado no que chamamos de remessa.
Agora vamos traduzir esse mesmo conceito para a blockchain.
hash: 000000000000298620ca0711342982328ac882ac232398ac2332943
Ok ok, calma jovens. Espero que essa imagem não tenha assustado vocês, mas vou tentar explicar para vocês 😬
number É o numero sequencial deste bloco, no caso este é o 123 da corrente.
previous hash (hash do bloco anterior) É o hash do bloco anterior, ou seja, o hash do bloco 122. É exatamente isso que faz a corrente de blocos, já que isso interliga o bloco 123 ao bloco 122. 🤯
timestamp É a data e a hora que aquele bloco começou a ser minerado, essa informação é utilizada depois na resolução de conflito.
Merkle root hash: É o hash do conteúdo do bloco, qualquer alteração que houver no conteúdo, essa informação muda completamente.
Em breve vou fazer um artigo explicando sobre Hashs, mas por agora vou deixar um link de referencia ao wikipedia.
Função hash - Wikipédia, a enciclopédia livre
difficulty & nonce São informações utilizadas pela rede do bitcoin, são necessárias para o perfeito funcionamento do PoW (Proof of Work) no processo de mineração e consenso. mas não vou entrar nesse mérito agora, vou deixar isso para um artigo falando sobre a mineração e o consenso.
Pronto! Agora temos a nossa corrente de blocos 🥳
Então... essa corrente é fundamental para garantir a segurança da blockchain, mas por quê?
Porque se eu alterar o conteúdo do bloco 1
, o merkle root deste bloco ******também irá mudar e consequentemente o seu hash, ou seja:
**<<<conteúdo bloco 1>>>**
hash anterior: 0000000000000000000
merkle root : 316bbdf07103f5bb1fa
hash : 00000004456a23ef422
**<<<conteúdo bloco 2>>>**
hash anterior: 00000004456a23ef422
merkle root : b2ab273407e2f844ea2
hash : 0000000000003f7b1e5