Bitcoin Forum

Local => Português (Portuguese) => Topic started by: JakobFugger on September 30, 2020, 12:19:46 AM



Title: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: JakobFugger on September 30, 2020, 12:19:46 AM
https://twitter.com/BitMEXResearch/status/1310886330239455233

https://forkmonitor.info/stale/btc/650491

Bitcoin had a stale block this morning, at height 650,491. No double spends have been detected

There was also an earlier stale block today:

* Height 650,473
* Hash 0000000000000000000dba80455fcb5a8f9716375845f295dd755edb29e32fd8

Our systems failed to detect this

Once again there were no double spends

It was
@binance
 pool who mined this earlier stale block



Eu não tinha  a menor ideia sobre o que era isso. São blocos antigos que foram criados, mas não fazem parte da Blockchain mais antiga. Isso ocorre pelo delay da internet. Dois miners descobrem um bloco simultaneamente. Eles estão em polos opostos tipo um na CHina e outro no Canada.

Os nodes próximos confirmam a descoberta de cada um dos polos. Então na teoria, existem duas blockchains. Um próximo bloco é descoberto no Japão seguindo aquele descoberto na CHina. Então toda a rede esquece o bloco descoberto no canada e passa a seguir a cadeia mais longa apenas.

Aquele bloco do Canada se torna um slate Block. Achei sensacional isso. É importante observar que o risco de qualquer problema quando isso ocorre ainda é mínimo. Na teoria poderia ser uma oportunidade para uma transação duplicada.

https://medium.com/@cryptobolts/what-are-stale-blocks-simply-explained-b445682274c6


Title: Re: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: TryNinja on September 30, 2020, 12:51:57 AM
Trazendo um pouco do tópico "Perguntas e Respostas" para cá, alguém para explicar a diferença de um bloco orfão e stale? Valendo merits, claro.

A solução para esse problema é simples: aguarde mais de 1 confirmação antes de considerar uma transação irreversível. Claro que esse tipo de situação não acontece com frequência, mas isso poderia ser utilizado por uma pessoa maliciosa para tentar fazer um double-spend mesmo depois de 1 confirmação no bloco que será deixado de lado caso perca a corrida para se tornar parte da chain mais longa.


Title: Re: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: tg88 on September 30, 2020, 01:29:34 AM
Interessante, eu to acostumado com Stale Shares minerando Ethereum que no caso é quando o pool já está em um bloco a frente e o minerador envia uma resposta referente ao um bloco que já foi minerado.

No caso de um Stale Block seriam 2 mineradores que chegaram a solução de um bloco praticamente ao mesmo tempo, ai os nodes começam a receber a informação sobre esse novo bloco... alguns nodes recebem primeiro a informação vinda do minerador1 e alguns nodes recebem a do minerador2 (principalmente questão de latência da internet)... No fim das contas oque vai prevalecer é oque formar a corrente mais longa, posteriormente os outros nodes também vão seguir a corrente mais longa e vão abandonar esse Stale block. (por isso é tão importante aguardar mais do que 1 confirmação) 

A situação do bloco órfão também ocorre quando 2 blocos são minerados praticamente ao mesmo tempo e acabam sendo validados na ordem inversa... o mais recente (filho) aparece antes do anterior (pai), essa situação foi prevista e é tratada deixando o bloco órfão aguardando até a inclusão do pai.



Title: Re: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: sabotag3x on September 30, 2020, 10:24:26 AM
Trazendo um pouco do tópico "Perguntas e Respostas" para cá, alguém para explicar a diferença de um bloco orfão e stale? Valendo merits, claro.

A solução para esse problema é simples: aguarde mais de 1 confirmação antes de considerar uma transação irreversível. Claro que esse tipo de situação não acontece com frequência, mas isso poderia ser utilizado por uma pessoa maliciosa para tentar fazer um double-spend mesmo depois de 1 confirmação no bloco que será deixado de lado caso perca a corrida para se tornar parte da chain mais longa.

Acho que a resposta mais curta é essa: Órfão não tem pais (não pode ser verificado) e stale não tem filhos (não é a chain mais longa)

E por fim todo mundo usa o nome "blocos órfãos" quando na verdade estão se referindo a stale blocks..

Este gráfico mostra o quão raro é um bloco órfão: https://www.blockchain.com/charts/n-orphaned-blocks

Interessante, eu to acostumado com Stale Shares minerando Ethereum que no caso é quando o pool já está em um bloco a frente e o minerador envia uma resposta referente ao um bloco que já foi minerado.

No caso de um Stale Block seriam 2 mineradores que chegaram a solução de um bloco praticamente ao mesmo tempo, ai os nodes começam a receber a informação sobre esse novo bloco... alguns nodes recebem primeiro a informação vinda do minerador1 e alguns nodes recebem a do minerador2 (principalmente questão de latência da internet)... No fim das contas oque vai prevalecer é oque formar a corrente mais longa, posteriormente os outros nodes também vão seguir a corrente mais longa e vão abandonar esse Stale block. (por isso é tão importante aguardar mais do que 1 confirmação)  

A situação do bloco órfão também ocorre quando 2 blocos são minerados praticamente ao mesmo tempo e acabam sendo validados na ordem inversa... o mais recente (filho) aparece antes do anterior (pai), essa situação foi prevista e é tratada deixando o bloco órfão aguardando até a inclusão do pai.

Devido a diferença de tempo entre blocos (~14s vs ~10min) entre o ETH e BTC, o Ethereum gera muito mais blocos "inúteis" e então trabalha de forma um pouco diferente.. ele anexa os blocos tios (uncle blocks) ao bloco principal e estes uncle blocks agregam peso aos blocos principais e o protocolo da preferência a cadeia mais pesada ao invés da mais longa como é o caso do BTC..

Acredito que no caso do ETH tal "problema" vá para os shares dentro das pools, dependendo da velocidade da internet você vai ter muito mais shares inválidos.. O que diminui o lucro de tal minerador..


Title: Re: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: tg88 on October 01, 2020, 02:39:20 AM
Devido a diferença de tempo entre blocos (~14s vs ~10min) entre o ETH e BTC, o Ethereum gera muito mais blocos "inúteis" e então trabalha de forma um pouco diferente.. ele anexa os blocos tios (uncle blocks) ao bloco principal e estes uncle blocks agregam peso aos blocos principais e o protocolo da preferência a cadeia mais pesada ao invés da mais longa como é o caso do BTC..

Acredito que no caso do ETH tal "problema" vá para os shares dentro das pools, dependendo da velocidade da internet você vai ter muito mais shares inválidos.. O que diminui o lucro de tal minerador..

Legal, não sabia de todos esses pormenores... a alguns anos atrás fiquei sem internet e resolvi ligar um modem 3G na rig, ficou com uma latencia de mais de 1000ms e cada 10 shares 1 era válido.  ;D ;D ;D

Interessante que no dia 29 acabou gerando mais um Stale block no BTC, foi o 650.473 e logo em seguida o 650.491.. muito raro ocorrer 2 deles em um único dia.


Title: Re: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: alexrossi on October 03, 2020, 06:40:16 PM
Devido a diferença de tempo entre blocos (~14s vs ~10min) entre o ETH e BTC, o Ethereum gera muito mais blocos "inúteis" e então trabalha de forma um pouco diferente.. ele anexa os blocos tios (uncle blocks) ao bloco principal e estes uncle blocks agregam peso aos blocos principais e o protocolo da preferência a cadeia mais pesada ao invés da mais longa como é o caso do BTC..

Acredito que no caso do ETH tal "problema" vá para os shares dentro das pools, dependendo da velocidade da internet você vai ter muito mais shares inválidos.. O que diminui o lucro de tal minerador..

Legal, não sabia de todos esses pormenores... a alguns anos atrás fiquei sem internet e resolvi ligar um modem 3G na rig, ficou com uma latencia de mais de 1000ms e cada 10 shares 1 era válido.  ;D ;D ;D

Interessante que no dia 29 acabou gerando mais um Stale block no BTC, foi o 650.473 e logo em seguida o 650.491.. muito raro ocorrer 2 deles em um único dia.


Se a latencia for de 1000ms mas o link estiver estavel, acredito que nao teria muita perda de shares. No seu caso imagino que alem da latencia alta tinha perda de pacotes (comun quando o sinal 3G nao è bom).


Title: Re: Bitcoin teve um stale block hoje pela manhã height 650,491
Post by: bitmover on October 04, 2020, 02:13:17 AM
Devido a diferença de tempo entre blocos (~14s vs ~10min) entre o ETH e BTC, o Ethereum gera muito mais blocos "inúteis" e então trabalha de forma um pouco diferente.. ele anexa os blocos tios (uncle blocks) ao bloco principal e estes uncle blocks agregam peso aos blocos principais e o protocolo da preferência a cadeia mais pesada ao invés da mais longa como é o caso do BTC..

Acredito que no caso do ETH tal "problema" vá para os shares dentro das pools, dependendo da velocidade da internet você vai ter muito mais shares inválidos.. O que diminui o lucro de tal minerador..

Esse é exatamente o motivo de termos um blocktime de 10minutos.

Teoricamente, satoshi fez um calculo e acreditou que o tempo ótimo de um bloco, que iria maximar a eficiencia/ espera / n orfaos é 10minutos.
Existem muitas blockchains com blocktimes diferentes. muitas blockchains, como o bitcore, litecoin, ethereum, etc simplesmente reduzem o blocktime e dizem que são uma "tecnologia superior". Enquatno na verdade existe um custo (para os mineradores) dessa confirmacao mais rapida.