This article has been translated from English to Portuguese.
O Bitcoin responde à pergunta: "Que transação manter?"
A forma como o Bitcoin responde a esta pergunta é brilhante.
Vê como...
Cada nó na rede Bitcoin compartilha informações sobre novas transações.
Transações feitas na rede Bitcoin NÃO são adicionadas diretamente ao blockchain. Elas são primeiro coletadas e armazenadas no que é chamado de "memory pool".
TODOS os computadores que executam o programa Bitcoin criam uma área de armazenamento temporário para transações chamada "memory pool". Também conhecida como "mempool" para abreviar.
Cada nó Bitcoin tem a sua própria mempool, onde armazena a fila de transacções que verificou e considera válidas.
Em termos gerais, uma mempool é uma fila organizada onde as transacções são armazenadas e ordenadas antes de serem adicionadas a um bloco recém-criado.
- A pool de memória contém transacções "frescas" ou não confirmadas (armazenadas como transacções individuais).
- A blockchain contém transacções "arquivadas" ou confirmadas (agrupadas em "blocos").
Todas as transacções de bitcoin são simplesmente transacções "não confirmadas" e só existem na mempool antes de serem "confirmadas" e adicionadas à blockchain.
Na rede Bitcoin, todos os nós completos têm uma pool de memória.
Digamos que inicias uma transação neste lado da rede( transaçãoroxa ).
E depois vai até aqui, usa o mesmo bitcoin e insere a transação vermelha neste computador.
Se reparares, estas duas transacções NÃO são escritas diretamente no ficheiro. Ambas as transacções são simplesmente armazenadas primeiro no conjunto de memória de cada computador.
Assim, ambas as transacções irão propagar-se pela rede.
Este computador REJEITARÁ a transação vermelha porque já recebeu a roxa.
Então, agora AMBAS as transações estão na rede.
Mas ainda não foram escritas no ficheiro, pelo que o ficheiro ainda não foi atualizado.
O que vai acontecer então é que todos estes computadores vão trabalhar e tentar colocar as suas transacções do seu conjunto de memória no ficheiro.
Eles competirão para serem os primeiros a ter suas transações do pool de memória adicionadas ao topo do arquivo.
Digamos que este computador (em amarelo) seja o primeiro a conseguir fazer isso.
Adiciona a sua transação da reserva de memória ao ficheiro:
E quando tiver feito isso....
Passa a sua cópia actualizada do ficheiro a todos os outros a que está ligado....
E eles atualizarão suas cópias.
Na ilustração abaixo, este nó aqui recebe o arquivo atualizado que contém a transação roxa gastando o mesmo bitcoin.
O que acontece com a transação vermelha conflitante em seu pool de memória?
Como o mesmo bitcoin já foi gasto na transação roxa, expulsa a transação vermelha do seu pool de memória!
Este nó passará então o ficheiro atualizado.
E o(s) outro(s) nó(s) fará(ão) a mesma coisa... expulsará(ão) quaisquer transações conflitantes em seu pool de memória.
Todos os computadores têm agora o ficheiro atualizado.
Então é assim que resolves o problema de ter duas transacções em conflito na rede.
Literalmente, tens apenas uma "área de espera" (mempool) para transacções pendentes e os nós competem e tentam adicionar as suas transacções ao ficheiro.
Neste exemplo, o gajo roxo receberia o bitcoin...
Mas quando o teu "eu" sombrio tenta gastar o mesmo bitcoin com o tipo vermelho, não vai funcionar.
Este processo de competição entre os nós para tentar colocar as suas transacções do seu conjunto de memória no ficheiro ("a blockchain") chama-se MINING.









