Hard fork na BNB Chain: segurança aumenta

Poucos dias atrás, uma ponte baseada na BNB Chain sofreu um ataque de hack que permitiu que os invasores roubassem cerca de $ 100 milhões em criptografia

Apesar do hack não ter sido feito diretamente no BNB Chain, mas em um contrato inteligente rodando neste blockchain, a equipe do BNB Chain ainda decidiu aumentar os níveis de segurança. 

Por isso, eles criaram um patch urgente para “mitigar a infraestrutura de cadeia cruzada entre Beacon Chain e Smart Chain”, para que pudessem reativar a cadeia cruzada. 

BNB Chain executa um hard fork

Para aplicar esse patch eles foram forçados a liberar uma nova versão, 1.1.16, que é efetivamente um hard fork do anterior. 

Muitas vezes, para atualizar protocolos descentralizados, é necessário realizar hard forks, que na verdade são atualizações que não são compatíveis com versões anteriores. 

Quando uma atualização que não é compatível com versões anteriores é aplicada a um protocolo, uma divisão é criada, com o novo protocolo se tornando algo diferente do anterior por não ser compatível com versões anteriores. Isso cria efetivamente dois protocolos diferentes, mas se usuários e operadores pararem de usar o anterior e o substituirem pela nova versão atualizada, restará apenas um protocolo ativo. 

Portanto, neste caso específico não houve divisão real da cadeia, pois o protocolo antigo foi abandonado e completamente substituído pelo novo, então continua existindo apenas uma Cadeia BNB. 

Por outro lado, por exemplo, quando o hard fork que iniciou o Ethereum ir ocorreu, alguns mineradores decidiram não atualizar e continuar a usar a versão antiga baseada em Proof-of-Work. Ao fazer isso, a cadeia se dividiu e duas criptomoedas nasceram, ETHW (Ethereum PoW) que nada mais é do que uma continuação do antigo protocolo baseado em PoW não atualizado, e ETH (Ethereum real), que é a nova versão atualizada baseada em PoS. 

O hard fork da BNB Chain que introduziu o patch urgente foi chamado de Moran e ocorreu no bloco 22,107,423. 

As alterações feitas por esta atualização incluem não apenas a correção da vulnerabilidade na verificação de hash iavl, mas também a introdução do cabeçalho do bloco na verificação de sequência em contratos inteligentes de cadeia cruzada e listas brancas do retransmissor candidato genesis. 

As vulnerabilidades das pontes de cadeia cruzada

As pontes de cadeia cruzada permitem que os usuários transfiram recursos entre duas blockchains diferentes. Em particular, o atacado há alguns dias é uma ponte que permite trocas entre Beacon Chain e Smart Chain da mesma BNB Chain. Na verdade, o BNB Beacon Chain lida com a governança e staking da rede, enquanto o Smart Chain é usado para contratos inteligentes compatíveis com Ethereum Virtual Machine. Além disso, ambas as cadeias podem se conectar a outras cadeias por meio de outra ponte chamada Token Hub.

Assim, embora o ataque não tenha ocorrido diretamente na BNB Chain, mas apenas no contrato inteligente da ponte, é uma ponte muito importante para simplesmente parar de usá-la. Portanto, foi necessária uma intervenção da equipe da Rede BNB para corrigir a vulnerabilidade para que pudesse ser reativada. 

Em particular, o invasor explorou a vulnerabilidade relacionada à verificação de hash iavl incorporada à ponte, e isso exigiu a aplicação do patch correspondente. 

O invasor conseguiu cunhar 2 milhões de tokens BNB do nada, no valor de cerca de US$ 560 milhões. Mais tarde, ele conseguiu transferir tokens com um valor total de cerca de US$ 100 milhões para outras blockchains, como Ethereum, Fantom, Polygon, Avalanche e Arbitrum. A maioria dos tokens BNB criados, no entanto, permaneceram na BNB Chain e foram posteriormente congelados.

Ao perceber o ataque, a equipe da BNB Chain pediu a todos os 44 validadores que parassem momentaneamente as operações, apenas para reativá-los mais tarde, após o fechamento da ponte atacada. Graças ao patch aplicado ontem, a ponte deve ser reativada. 

Vale ressaltar que esse tipo de operação, ou seja, suspender as atividades de todo o blockchain, em protocolos verdadeiramente descentralizados, é praticamente impossível, pois é extremamente difícil que todos os nós parem de operar. Por exemplo, o Bitcoin tem mais de 15,000 nós, em grande parte desconhecido, por isso seria efetivamente impossível convencê-los a desligar, mesmo que apenas por um certo período de tempo. 

O BNB Chain, por outro lado, é um protocolo originalmente criado pela Binance e com apenas 44 nós validadores, todos conhecidos. O fato de ter sido possível contatar todos eles e convencê-los muito rapidamente a interromper as operações revela muito claramente que não é um protocolo verdadeiramente descentralizado.


Fonte: https://en.cryptonomist.ch/2022/10/13/hard-fork-on-bnb-chain-to-boost-security/