Author

Topic: Como funciona o Proof of Work no Bitcoin? (Read 246 times)

newbie
Activity: 16
Merit: 0
April 30, 2018, 03:29:48 PM
#7
Vou explicar como funciona o Proof of Work, algoritmo que valida transações e cria novos blocos (mining), da forma como foi proposto no whitepaper do Bitcoin, de Satoshi Nakamoto. Essa mesma explicação também serve para o Ethereum e diversos outros blockchains.


fonte: https://livecoins.com.br/proof-of-work-blockchain-bitcoin/

obrigado pelo post estava procurando algo assim, tirou bastante as minhas dúvidas!
legendary
Activity: 2562
Merit: 1071
[...]

É muito provável que sua transação seja adicionada tanto no "bloco válido" quanto no bloco que ficou órfão, nesse caso nada precisa ser feito.
Porém, caso sua transação seja incluída apenas no bloco órfão, então ela terá terá de ser incluída novamente em um bloco futuro.

Agora o que nem eu tenho certeza... se é a rede quem re-adiciona a TX ao mempool ou se é o próprio usuário/exchange/wallet quem deve fazer isso.

Tenho ideia que todos os clientes que tenham recebido o bloco orfão voltam a adicionar as transações que faziam parte dele e que não foram adicionadas nos novos blocos à mempool (automaticamente).
newbie
Activity: 22
Merit: 0
Mto bom! belo texto! Irei dar uma olhada no site também !! Juntando Infos aqui pra conhecer esse mundo Grin
hero member
Activity: 672
Merit: 526
Artigo muito interessante. Acho que poderia listar os algoritimos do proof of work. Já existem vários e é muitas vezes um diferencial de algumas cryptocurrencies.

Bitcoin =  SHA-256
Dogecoin e litecoin = Scrypt
Zcash = Equihash/BLAKE2b
Monero = CryptoNight
Ethereum = Ethash

 
legendary
Activity: 2352
Merit: 1121
☢️ alegotardo™️
Boa,

Uma dúvida,

Quando eu faço uma transação, ela é propagada na rede, ficando na MEMPOOL, certo!?
Quem retira ela da MEMPOOL e insere no Bloco é o minerador.
Todas as transações são retiradas da MEMPOOL paralelamente por todos os mineradores ao mesmo tempo? Suponho que não, mas o que acontece se minha transação for colocada em um bloco, mas esse bloco for orfanado, ou seja, não fique na Longest Chain?

É muito provável que sua transação seja adicionada tanto no "bloco válido" quanto no bloco que ficou órfão, nesse caso nada precisa ser feito.
Porém, caso sua transação seja incluída apenas no bloco órfão, então ela terá terá de ser incluída novamente em um bloco futuro.

Agora o que nem eu tenho certeza... se é a rede quem re-adiciona a TX ao mempool ou se é o próprio usuário/exchange/wallet quem deve fazer isso.
member
Activity: 148
Merit: 31
Boa,

Uma dúvida,

Quando eu faço uma transação, ela é propagada na rede, ficando na MEMPOOL, certo!?
Quem retira ela da MEMPOOL e insere no Bloco é o minerador.
Todas as transações são retiradas da MEMPOOL paralelamente por todos os mineradores ao mesmo tempo? Suponho que não, mas o que acontece se minha transação for colocada em um bloco, mas esse bloco for orfanado, ou seja, não fique na Longest Chain?
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
No bitcoin não existe uma entidade central que registra as transações.  Todas as transações são registradas na rede por todos os nodes. Qualquer pessoa pode ter um node.

Proof of Work é o algoritmo que recompensa os mineradores que resolvam os puzzles criptográficos, validem transações e criem novos blocos. Esse processo é conhecido como mineração ou mining.

O proof of work envolve adicionar um número arbitrário, Nonce, no final de cada bloco.
Esse nonce é adicionado aos dados do bloco, gerando um hash.

Esse hash deve possuir uma determinada quantidade de zeros, de acordo com a dificuldade da mineração. Se a quantidade de zeros no começo do hash for suficiente, o minerador cria um novo bloco, recebendo a recompensa do bloco (Hoje em 12.5 bitcoins).

Se nao for, ele deve criar um novo nonce até encontrar a solucão. É na tentativa e erro. Um hash que possua muitos zeros à frente é a prova de que uma certa quantidade de trabalho foi feita, assim Prova de Trabalho (proof of work).

Dessa forma hoje existem equipamentos que calculam bilhões de hashs por segundo.

Quando um bloco é adiciona, todas as transações incluidas naquele bloco recebem 1 confirmação. Quanto mais blocos posteriores forem adicionados, mais confirmações.

Jump to: