Pages:
Author

Topic: O maior ponto de falha do ETH e a vantagem do BTC. O problema dos big blocks. (Read 644 times)

legendary
Activity: 2688
Merit: 2297
Vale ressaltar que o ataque na rede pode ser facilmente desferido através de seu particionamento ou shapping.
Aqui tem um artigo que fala sobre as inseguranças do PoS https://hugonguyen.medium.com/proof-of-stake-the-wrong-engineering-mindset-15e641ab65a2
O que deixamos passar despercebidos quando avaliamos esses sistemas é a questão do tipo que eles se enquadram, pois o bitcoin é um sistema de missão crítica, ou seja, aqueles que não podem haver falhas, o que custaria perdas financeiras e humanas, igual computadores de bordo de aviões e equipamentos médicos.

Não concordo com o artigo, o cenário 1 (o 2 é igual) é sobre a separação/desligamento de parte da internet..

Imagine uma chain de BTC operando na China ou nos EUA e outra resto do mundo.. Mesmo sabendo-se qual é a chain maior, vai ter muito gasto duplo, etc.. E no PoS os participantes devem chegar a um consenso para escolher qual chain irão usar nesse cenário apocalíptico..

Não vejo muita diferença, o estrago é o mesmo, esse cenário é uma ameaça a qualquer protocolo descentralizado e poderia ter sido escrito por um nocoiner para criticar o BTC/qualquer cripto..


Sobre o cenário 3, é o mesmo que dizer que a China pode sequestrar todas ASICs dos mineradores de lá e tomar conta da rede.. e que então o BTC é inseguro por isso.
legendary
Activity: 1722
Merit: 4711
**In BTC since 2013**
Vale ressaltar que o ataque na rede pode ser facilmente desferido através de seu particionamento ou shapping.
Aqui tem um artigo que fala sobre as inseguranças do PoS https://hugonguyen.medium.com/proof-of-stake-the-wrong-engineering-mindset-15e641ab65a2

Artigo muito interessante e bem explicado.
Dá para perceber o porque do valor do Bitcoin. É complicado enganar a rede.

Será que uma rede como ETH vai realmente beneficiar com o PoS?
legendary
Activity: 1697
Merit: 1074

Um ataque do tipo que eu estou falando, de governos, a fim de controlar a rede, não estão nem aí para o valor.  Eles querem mesmo é matar a moeda. Se os holders forem a pobreza melhor ainda.

Voce acha que o governo chines está preocupado com a lucratividade dos holders do bitcoin quando eles proíbem o uso?

O mesmo seria no caso de um ataque PoS. Eles comprariam as moedas e matariam/controlariam a rede. Seria um investimento na moeda fiat deles, caso exista interesse suficiente. Poderiam até lançar várias noticias junto proibindo o uso, daí despencariam o preço e compram baratinho. E ainda assumem o controle da rede.

Vale ressaltar que o ataque na rede pode ser facilmente desferido através de seu particionamento ou shapping.
Aqui tem um artigo que fala sobre as inseguranças do PoS https://hugonguyen.medium.com/proof-of-stake-the-wrong-engineering-mindset-15e641ab65a2
O que deixamos passar despercebidos quando avaliamos esses sistemas é a questão do tipo que eles se enquadram, pois o bitcoin é um sistema de missão crítica, ou seja, aqueles que não podem haver falhas, o que custaria perdas financeiras e humanas, igual computadores de bordo de aviões e equipamentos médicos.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Eu consigo visualizar um caminho para o controle de uma rede PoS: só comprar um monte de moedas e/ou coagir quem tem muitas.
Mas numa rede PoW o caminho não é tão simples.

Ai as suas moedas perdem valor, ou seja, tal ataque não é lucrativo..

No PoW basta você comprar um monte de ASICs.. porém o problema é o mesmo, se você atacar a rede as suas moedas e seu equipamento perdem valor..


Um ataque do tipo que eu estou falando, de governos, a fim de controlar a rede, não estão nem aí para o valor.  Eles querem mesmo é matar a moeda. Se os holders forem a pobreza melhor ainda.

Voce acha que o governo chines está preocupado com a lucratividade dos holders do bitcoin quando eles proíbem o uso?

O mesmo seria no caso de um ataque PoS. Eles comprariam as moedas e matariam/controlariam a rede. Seria um investimento na moeda fiat deles, caso exista interesse suficiente. Poderiam até lançar várias noticias junto proibindo o uso, daí despencariam o preço e compram baratinho. E ainda assumem o controle da rede.
legendary
Activity: 2688
Merit: 2297
Mas e se o ataque vale mais a pena? E se manter a rede 2 viva diminui o seu lucro a longo prazo? Você continua com o seu stake da rede 1 e só perde o lucro extra que seria gerado aproveitando da rede 2.
E quem vai confiar na rede 1 após os maiores stakeholders terem atacado a outra rede apenas por não gostar dela?

Nessa mesma situação, só que no PoW, você teria que decidir entre minerar 1 ou atacar 2.

Você ataca a 1 e a 2 está segura e dando lucros (mesmo com menos hashrate)..

Caso os defensores da 1 contra-ataquem (a 2), ai é só mover as defesas para a chain 2 (e continuar o ataque na 1).. Quem tem mais hashrate consegue atacar uma e defender/minerar a outra..

O que você chutaria que é melhor?

Não faço ideia.


edit: por mim podem aumentar o tempo para "2 horas" e melhorar a LN Cheesy
legendary
Activity: 2758
Merit: 6830
Estou falando sobre um fork após o ataque.. Talvez você esteja falando sobre um fork antes do ataque?
Um ataque a uma das chains resultadas de um fork.

- Um grupo 1 quer deixar a rede como está e um grupo 2 quer implementar tal hard fork.
- Acontece que tem um split da rede e agora temos o fork 1 e fork 2.
- O grupo 1 não gosta do fork 2, ai ele usa as suas moedas PoS para desestabilizar o fork 2.

De qualquer modo se suas moedas da rede 2 valem algo você estaria perdendo/gastando dinheiro ao atacá-la..
Você perde "a oportunidade" de ganhar mais vendendo/lucrando com a rede 2. Você não tem gastos por que as suas moedas originais da rede 1 continuam lá, e o ataque não influencia elas.

Mas e se o ataque vale mais a pena? E se manter a rede 2 viva diminui o seu lucro a longo prazo? Você continua com o seu stake da rede 1 e só perde o lucro extra que seria gerado aproveitando da rede 2.

Nessa mesma situação, só que no PoW, você teria que decidir entre minerar 1 ou atacar 2.

80% do hashrate é.. sacanagem Cheesy
É 80% dentro de um grupo, digamos Huobi, BTC.com, Antpool, F2Pool, etc... não necessariamente um único minerador ou pool centralizada. Como todos são chineses, não fica muito longe de ser verdade apenas pela localização geográfica.

"The configuration used in the code right now simulates two groups of miners
(one 80%=25%+25%+30%, one 20%=5%+5%+5%+5%), which are well-connected
internally, but are only connected to each other through a slow 2 Mbit/s
link."

Também acho que os 10 minutos foi um número ao acaso.. e penso que não deve ser o melhor..
O que você chutaria que é melhor?
legendary
Activity: 2688
Merit: 2297
Então, no PoW você matou a primeira e agora vai atacar a segunda.. No PoS é igual, a primeira já vai estar morta de qualquer maneira, não importa se você tem moedas lá ou não, agora você vai atacar a segunda..
Vou ser sincero... não entendi nada do que você acabou de falar. Cheesy

edit: Talvez eu tenha entendido um pouco... estou falando no caso do ataque de um player de uma rede em outra, não de uma ameaça externa, como um governo. Você é uma baleia que tem 30% de todo o stake da rede, acontece um fork e agora você tem 30% na rede 1 e rede 2. Você consegue usar os 30% na rede 2 para atacá-la com o objetivo de destrui-la e não arrisca os seus 30% "originais" da rede 1.

Sobre um ataque para destruir a moeda (tanto em preço quanto em segurança, os dois pontos estão interligados de qualquer maneira), tanto faz quem é o ator..

Estou falando sobre um fork após o ataque.. Talvez você esteja falando sobre um fork antes do ataque?

De qualquer modo se suas moedas da rede 2 valem algo você estaria perdendo/gastando dinheiro ao atacá-la..

Não sei se tem algum estudo especifico sobre isso, o satoshi provavelmente escolheu esses 10 minutos de forma arbitraria.

Encontrei essa simulação interessante: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008581.html

"This shows how the group of smaller miners loses around 8% of their
relative income (if they create larger blocks, their loss percentage goes
up slightly further)"


80% do hashrate é.. sacanagem Cheesy

Também acho que os 10 minutos foi um número ao acaso.. e penso que não deve ser o melhor..
legendary
Activity: 2758
Merit: 6830
Então, no PoW você matou a primeira e agora vai atacar a segunda.. No PoS é igual, a primeira já vai estar morta de qualquer maneira, não importa se você tem moedas lá ou não, agora você vai atacar a segunda..
Vou ser sincero... não entendi nada do que você acabou de falar. Cheesy

edit: Talvez eu tenha entendido um pouco... estou falando no caso do ataque de um player de uma rede em outra, não de uma ameaça externa, como um governo. Você é uma baleia que tem 30% de todo o stake da rede, acontece um fork e agora você tem 30% na rede 1 e rede 2. Você consegue usar os 30% na rede 2 para atacá-la com o objetivo de destrui-la e não arrisca os seus 30% "originais" da rede 1.

Foi o que eu falei, tanto em PoW quanto PoS, não é lucrativo atacar a rede.. e por isso não o fazem.. tirando quando alugam hashrate para isso, em moedas menores.. neste caso você não tem moedas ou equipamentos que vão desvalorizar.
Nenhuma vai ser lucrativo, mas isso não importa se você não tiver nada para arriscar. Nesse caso da PoS, você tem o mesmo poder de fogo na sua chain favorita e na "inimiga", e aí pode só dar um camicase na segunda (que você não se importa) e continuar na primeira sem perder nada. Ganho/perda é neutro.

Na PoW, você não consegue ter o mesmo poder de fogo nas duas ao mesmo tempo, então o ganho de atacar é negativo.

(Ainda considerando que não entendi nada do que você falou lá em cima)

A internet evoluiu muito desde a criação do BTC e ele só teve 1 aumento no tamanho dos blocos (com o segwit).. Para mim o problema é o armazenamento e não o número de blocos órfãos..
A maioria considera a internet, e não o armazenamento, o maior problema. Em específico, o tempo de propagação dos blocos.

Falando nisso, gostaria de ler algum estudo sobre o assunto para saber quais seriam o tamanho e tempo ideais (desconsiderando o espaço de armazenamento).. será que existe?
Não sei se tem algum estudo especifico sobre isso, o satoshi provavelmente escolheu esses 10 minutos de forma arbitraria.

Encontrei essa simulação interessante: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-June/008581.html

"This shows how the group of smaller miners loses around 8% of their
relative income (if they create larger blocks, their loss percentage goes
up slightly further)"
legendary
Activity: 2688
Merit: 2297
Tem um outro lado que você não está considerando. O que acontece se houver um fork da rede?

No PoW, você tem que direcionar o seu hash rate para uma das chains. Ou você ataca uma ou suporta a outra. Se atacar uma, vai gastar energia a troco de nenhum ganho financeiro.

Já na PoS, você vai ter a mesma quantidade de moedas em ambas as chains. Você pode usar isso para atacar uma das redes enquanto suporta a outra. Como você acha que (ou tem o objetivo de tornar) a outra chain inútil e sem valor, não tem nenhuma perda.

Então, no PoW você matou a primeira e agora vai atacar a segunda.. No PoS é igual, a primeira já vai estar morta de qualquer maneira, não importa se você tem moedas lá ou não, agora você vai atacar a segunda..

Se atacar uma, vai gastar energia a troco de nenhum ganho financeiro.

Foi o que eu falei, tanto em PoW quanto PoS, não é lucrativo atacar a rede.. e por isso não o fazem.. tirando quando alugam hashrate para isso, em moedas menores.. neste caso você não tem moedas ou equipamentos que vão desvalorizar.

É a questão do equilíbrio. Qual a chance de causar blocos órfãos em uma rede com blocos de X MB e X tempo? Tem que encontrar o meio termo entre velocidade/capacidade e a taxa de "abandono".

Se diminuir o tamanho do bloco e aumentar o tempo, será que tem tanta diferença nesse quesito que justifique a lentidão?

A internet evoluiu muito desde a criação do BTC e ele só teve 1 aumento no tamanho dos blocos (com o segwit).. Para mim o problema é o armazenamento e não o número de blocos órfãos..

Falando nisso, gostaria de ler algum estudo sobre o assunto para saber quais seriam o tamanho e tempo ideais (desconsiderando o espaço de armazenamento).. será que existe?
legendary
Activity: 2758
Merit: 6830
Ai as suas moedas perdem valor, ou seja, tal ataque não é lucrativo..

No PoW basta você comprar um monte de ASICs.. porém o problema é o mesmo, se você atacar a rede as suas moedas e seu equipamento perdem valor..
Tem um outro lado que você não está considerando. O que acontece se houver um fork da rede?

No PoW, você tem que direcionar o seu hash rate para uma das chains. Ou você ataca uma ou suporta a outra. Se atacar uma, vai gastar energia a troco de nenhum ganho financeiro.

Já na PoS, você vai ter a mesma quantidade de moedas em ambas as chains. Você pode usar isso para atacar uma das redes enquanto suporta a outra. Como você acha que (ou tem o objetivo de tornar) a outra chain inútil e sem valor, não tem nenhuma perda.

Sobre o tamanho da chain, também é difícil.. é o mesmo que clonar o BTC e criar uma moeda com blocos de 0,1 MB e dizer que é melhor pois é "20x" mais seguro que o BTC pois terá "20x" mais full nodes dessa moeda.. Imagine apenas 30GB, seria acessível a todos para assegurar as transações de 20x menos pessoas, sem ser remunerado, é claro Roll Eyes
É a questão do equilíbrio. Qual a chance de causar blocos órfãos em uma rede com blocos de X MB e X tempo? Tem que encontrar o meio termo entre velocidade/capacidade e a taxa de "abandono".

Se diminuir o tamanho do bloco e aumentar o tempo, será que tem tanta diferença nesse quesito que justifique a lentidão?
legendary
Activity: 2688
Merit: 2297
Eu consigo visualizar um caminho para o controle de uma rede PoS: só comprar um monte de moedas e/ou coagir quem tem muitas.
Mas numa rede PoW o caminho não é tão simples.

Ai as suas moedas perdem valor, ou seja, tal ataque não é lucrativo..

No PoW basta você comprar um monte de ASICs.. porém o problema é o mesmo, se você atacar a rede as suas moedas e seu equipamento perdem valor..

Bump por que o Vitalik acabou de publicar um pequeno post em seu site/blog que basicamente comprova que a rede do BTC é muito mais segura do que a rede do ETH e que baratear um full node é uma das partes mais importantes de uma blockchain segura. Incrível, não? Cheesy

https://vitalik.ca/general/2021/05/23/scaling.html

Eu discordo de alguns aspectos ali, como de os registros serem permanentes.. Quem é que quer saber, daqui "10 meses", sobre os 10 centavos que fulano tirou de um faucet?

IMO é necessário criar um sistema que consiga reduzir o peso das transações passadas, caso contrário ficaremos reféns de protocolos caros, lentos ou centralizados.


Sobre o tamanho da chain, também é difícil.. é o mesmo que clonar o BTC e criar uma moeda com blocos de 0,1 MB e dizer que é melhor pois é "20x" mais seguro que o BTC pois terá "20x" mais full nodes dessa moeda.. Imagine apenas 30GB, seria acessível a todos para assegurar as transações de 20x menos pessoas, sem ser remunerado, é claro Roll Eyes
legendary
Activity: 2758
Merit: 6830
Quem diria, justo o Vitalik que apoiou tanto tempo bitcoin cash (uma moeda que propoe onerar os full nodes para aumentar a escalabilidade)
Bom, ele também já falou mal do Bitcoin por causa das suas taxas altas ($0.05 na época).

"The Internet of Money should not cost 5 cents per transaction"
https://www.youtube.com/watch?v=unMnAVAGIp0

Hoje em dia, transacionar no ETH custa um rim, chegando a $600 por um ERC20 swap durante um crash geral.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Bump por que o Vitalik acabou de publicar um pequeno post em seu site/blog que basicamente comprova que a rede do BTC é muito mais segura do que a rede do ETH e que baratear um full node é uma das partes mais importantes de uma blockchain segura. Incrível, não? Cheesy

https://vitalik.ca/general/2021/05/23/scaling.html

Basicamente:

- BTC: fácil de rodar um full node; centenas de milhares de nodes pelo mundo, validando as transações da rede.
- ETH: ninguém roda um full node, e muito menos um "archive" node; todo mundo depende de poucos provedores (e.g Infura).


Quem diria, justo o Vitalik que apoiou tanto tempo bitcoin cash (uma moeda que propoe onerar os full nodes para aumentar a escalabilidade)

Fui pesquisar agora e parece que ele andou dando umas alfinetadas no bitcoin cash recentemente. Mas eu já vi ele apoiando muito, principalmente no periodo 2017-2019


Com o recente drama do consumo de energia do PoW, eu tenho receio de que os governos incentivem as grandes corporações(e até os proprios governos) a adotar uma moeda PoS, como o Ethereum.

Eu consigo visualizar um caminho para o controle de uma rede PoS: só comprar um monte de moedas e/ou coagir quem tem muitas.
Mas numa rede PoW o caminho não é tão simples.
legendary
Activity: 2758
Merit: 6830
Bump por que o Vitalik acabou de publicar um pequeno post em seu site/blog que basicamente comprova que a rede do BTC é muito mais segura do que a rede do ETH e que baratear um full node é uma das partes mais importantes de uma blockchain segura. Incrível, não? Cheesy

https://vitalik.ca/general/2021/05/23/scaling.html

Basicamente:

- BTC: fácil de rodar um full node; centenas de milhares de nodes pelo mundo, validando as transações da rede.
- ETH: ninguém roda um full node, e muito menos um "archive" node; todo mundo depende de poucos provedores (e.g Infura).

Resultado:

BTC:
Quote
Imagine how the story would have played out if the users were running nodes that verify the chain (whether directly or through more advanced indirect techniques), and automatically reject blocks that break the protocol rules even if over 90% of the miners or stakers support those blocks. If every user ran a verifying node, then the attack would have quickly failed: a few mining pools and exchanges would have forked off and looked quite foolish in the process. But even if some users ran verifying nodes, the attack would not have led to a clean victory for the attacker; rather, it would have led to chaos, with different users seeing different views of the chain. At the very least, the ensuing market panic and likely persistent chain split would greatly reduce the attackers' profits. The thought of navigating such a protracted conflict would itself deter most attacks.

ETH:
Quote
If you have a community of 37 node runners and 80000 passive listeners that check signatures and block headers, the attacker wins. If you have a community where everyone runs a node, the attacker loses. We don't know what the exact threshold is at which herd immunity against coordinated attacks kicks in, but there is one thing that's absolutely clear: more nodes good, fewer nodes bad, and we definitely need more than a few dozen or few hundred.


Recomendo a leitura, já que explica o por que os "blocos 10x mais rápidos, 10x maiores e com fees 10x mais baratas" do Elon são *meio* que um problema.

Quote
For a blockchain to be decentralized, it's crucially important for regular users to be able to run a node, and to have a culture where running nodes is a common activity.

Cheesy
legendary
Activity: 2688
Merit: 2297
E lá vamos nós de novo... Cheesy

Entrei no fórum para procurar esse tópico e postar isso Cheesy pelo visto você foi mais rápido..

Eu que não arrisco fazer transações durante essas atualizações do ETH, vai que eu perca minhas moedinhas Tongue
legendary
Activity: 2758
Merit: 6830
E lá vamos nós de novo... Cheesy

It appears that there is a consensus error at block 12244294. And as far as we know it only affects Openethereum Nodes, the core devs are diagnosing the root cause.

Aparentemente, a tentativa de realizar o upgrade "Berlin" na rede resultou em um problema de consensus entre alguns nodes do openethereum (mais de 11% da rede).

O mais engraçado é esse comentário no Issue do problema:


Pelo menos já enviaram um hotfix para resolver o problema.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Daí mostra o problema de voce usar um pruned node.
Mas os pruned nodes ainda precisam baixar toda a blockchain. Esse problema só ocorreria caso eles começassem de um ponto definido por outros nodes (e.g utilizando um checkpoint, que não tem nada a ver com pruned nodes em si).

A única diferença de um node comum vs pruned é que o segundo deleta os blocos antigos depois que tudo é verificado. E confirmado os mais recentes de acordo com os primeiros, é impossivel simplesmente meter um bloco aleatorio no topo da cadeia. O terceiro malicioso teria que re-construir toda a blockchain do zero com toda a prova de trabalho para tentar algo do tipo.

Pruned nodes também não contribuem na propagação de blocos. Mas concordo que eles não trazem grandes vantagens versus carteiras SPV.

Eu Achei a  pruned nodes nao baixavam tudo, so a partir de certo ponto. Acho q li issi em algum pruned de alfcoin

Daí fui pesquisar e essa pessoa contou diferente de pruned node. Q eles validam transações  checando no mempool. E q eles tem todas as utxo
https://bitcoin.stackexchange.com/questions/72617/how-can-a-pruned-node-be-classed-a-full-node-without-the-full-blockchain

Certamente tem problemas de segurança e descentralização, Se Não teríamos mais
legendary
Activity: 2758
Merit: 6830
Daí mostra o problema de voce usar um pruned node.
Mas os pruned nodes ainda precisam baixar toda a blockchain. Esse problema só ocorreria caso eles começassem de um ponto definido por outros nodes (e.g utilizando um checkpoint, que não tem nada a ver com pruned nodes em si).

A única diferença de um node comum vs pruned é que o segundo deleta os blocos antigos depois que tudo é verificado. E confirmado os mais recentes de acordo com os primeiros, é impossivel simplesmente meter um bloco aleatorio no topo da cadeia. O terceiro malicioso teria que re-construir toda a blockchain do zero com toda a prova de trabalho para tentar algo do tipo.

Pruned nodes também não contribuem na propagação de blocos. Mas concordo que eles não trazem grandes vantagens versus carteiras SPV.
legendary
Activity: 2352
Merit: 6089
bitcoindata.science
Assim como um novo bloco precisa ser validado pela maioria dos nodes da rede, o download da blockchain não passa pelo mesmo procedimento?
Sim. Você baixa a blockchain de vários peers e posteriormente repassa a blockchain para outros peers. Caso um deles seja maligno e tente te passar a perna transmitindo blocos de um fork malicioso, logo ele será descoberto pois as informações com os outros peers não vai bater.

Ai deve entrar a questão dos ataques Sybil, onde um terceiro cria centenas ou milhares de nodes maliciosos. Uma solução que o BTC trás para tornar esses ataques mais dificies é só permitir conexões outbound de um IP por intervalo de subrede /16 (ELI5: apenas 1 IP por  XXX.XXX.0.0).

Daí mostra o problema de voce usar um pruned node.

Voce baixa o blockchain a partir de certo ponto. Mas se a epssoa que fez esse blockchain até certo ponto tiver colocado uma transacao falsa, o estrago pode ser pior do que esse ataque sybil (se existirem muitos pruneds nodes)

Pruned node acho que é bom apenas para a propria privacidade (ninguem sabe quais endereços voce esta monitorando, pq voce monitora todos). Mas nao da ganhos de seguranca/descentralizacao pra rede.
legendary
Activity: 2758
Merit: 6830
Assim como um novo bloco precisa ser validado pela maioria dos nodes da rede, o download da blockchain não passa pelo mesmo procedimento?
Sim. Você baixa a blockchain de vários peers e posteriormente repassa a blockchain para outros peers. Caso um deles seja maligno e tente te passar a perna transmitindo blocos de um fork malicioso, logo ele será descoberto pois as informações com os outros peers não vai bater.

Ai deve entrar a questão dos ataques Sybil, onde um terceiro cria centenas ou milhares de nodes maliciosos. Uma solução que o BTC trás para tornar esses ataques mais dificies é só permitir conexões outbound de um IP por intervalo de subrede /16 (ELI5: apenas 1 IP por XXX.XXX.0.0).
Pages:
Jump to: