FGF-College-Work / Forum

:beer: Espaço dedicado a discussões e tira dúvida sobre disciplinas e conteúdo tecnológico.
MIT License
13 stars 4 forks source link

Como são propagadas as transações na rede Bitcoin? #104

Open marcialwushu opened 6 years ago

marcialwushu commented 6 years ago

O processo de propagação de uma transação na rede P2P é feita por “nós” e não necessariamente ou somente pelos mineradores. Um “nó” pode ter até 4 funções diferentes, podendo acumular mais de uma. O minerador é um dos tipos de “nó” da rede, outro tipo é o das carteiras que controlam os saldos e através das quais se fazem transações. O que o minerador propaga para a rede é o bloco minerado por ele. Este bloco é recebido e validado por outro tipo de “nó”, também conhecido como “full node” que guarda uma cópia completa do blockchain atualizada, a cada dez minutos. “Exchanges” ou corretoras de criptomoedas também podem ser um “nó” da rede. O trabalho mais pesado e que exige capacidade de processamento gigantesca é dos mineradores sendo este o motivo pelo qual são recompensados a cada bloco válido que conseguem minerar.

Para uma visão mais genérica do processo: https://web.archive.org/web/20160428134050/https://bitcoin.com.br/o-ciclo-de-vida-de-uma-transacao-bitcoin/

Caso queira se aprofundar ou esteja em busca de algo mais técnico: https://itsriodejaneiro.gitbooks.io/bitcoin-para-programadores/content/

marcialwushu commented 6 years ago

Apenas para complementar a explicação Os mineradores não recebem a transação, eles a retiram de uma fila, chamada MEMPOOL. Lá eles podem escolher qual transação será incluída no bloco que eles estão minerando.

O minerador, se quiser, poderia gerar um bloco sem transações, mas ele deixaria de coletar as taxas que estão sendo ofertadas nas transações.

Veja se essa explicação ajuda à entender o funcionamento da dinâmica da Blockchain do Bitcoin: https://medium.com/@silvio.carlos/como-funciona-da-blockchain-do-bitcoin-9c7d52f2fa12

marcialwushu commented 6 years ago

Existe um artigo no https://en.bitcoin.it/wiki/ exatamente sobre isto:

https://en.bitcoin.it/wiki/Clearing_Up_Misconceptions_About_Full_Nodes#Myth:_There_is_no_incentive_to_run_nodes_so_the_network_relies_on_altruism 1

É um pouco extenso para traduzir aqui, mas o incentivo para se rodar um full node não é explicitamente financeiro como o incentivo do minerador para minerar blocos. O incentivo é segurança e privacidade do próprio usuário, e a não necessidade de confiar em terceiros.

Como efeito colateral ajuda a propagar os blocos válidos, evita a proliferação de blocos inválidos que poderiam poluir a rede, e principalmente ajuda a manter o sistema o mais descentralizado possível.