Códigos falhos causam perda de $500 milhões em criptomoedas em um ano
Criptomoedas podem ser perdidas de várias formas, desde hack até senhas esquecidas e pendrives defeituosos. Contudo, em questão de dólares, uma das maiores causas de perda de criptomoedas são códigos falhos e, geralmente, os desenvolvedores não são os culpados. Terceiros, smart contracts de má qualidade e exchanges escusas são os culpados pela perda de quase meio bilhão de dólares em sete meses.
Leia mais: Microsoft de olho em blockchain
Bitgrail sai dos trilhos por conta de código defeituoso
Semana passada, a Bitgrail perdeu $170 milhões em nano. Embora a sequência exata de eventos que causou o colapso catastrófico da exchange, que continha ativos de milhares de clientes, careça de confirmação, uma má codificação está sendo apontada como a causa. Conforme publicado à época:
“Existem rumores de que a Bitgrail se tornou insolvente após um bug de saque descoberto por alguns usuários ser compartilhado em vários grupos, causando a diminuição do saldo das wallets. Um dos usuários explicou: havia um bug na Bitgrail onde, caso você colocasse duas ordens de saque, você recebia os valores dobrados na sua conta. Você poderia, então, realizar o saque, o que muitos fizeram para roubar moedas. No final, você terminava com saldo negativo, mas era apenas uma questão de criar uma nova conta e repetir o processo.”
Após o incidente, essa teoria foi impulsionada por alegações de que um bug foi realmente responsável, não estando este presente no código da nano, mas no da Bitgrail. Uma fonte afirmou:
“Havia um bug na página de saque. Ele ocorria apenas na parte de java-script do client, você encontrava o js que estava enviando o pedido, inspecionava o elemento – abria o console, e rodava o java-script manualmente, a fim de enviar um requerimento para um saque de uma quantia maior do que o seu saldo. A Bitgrail permitiu esses saques. Como inúmeras pessoas fizeram isso? Ninguém sabe.”
A fonte acrescentou:
“Havia um outro bug, onde você podia solicitar um saque para o seu endereço – de outra conta, de outra identidade. Isso fez com que o saldo de outros usuários tivessem ‘fundos faltantes’ ou ‘saldo negativo’. A Bitgrail resolveu esse bug inserindo manualmente os números corretos em sua base de dados. Isso é o que você ganha por usar um site PHP codificado com a mesma habilidade do CfB de IDIOTA.”
Até mesmo as melhores criptomoedas não estão imunes a códigos defeituosos
A criptomoeda que é frequentemente associada a bugs catastróficos é a ethereum. Isto não se deve ao seu código, mas em função de smart contracts feitos sobre seu framework.
Primeiro foi a DAO, o que fez com que o ethereum recebesse um fork, seguido do bug da Parity, onde 150000 ETH foram roubados. Após, ocorreu um outro bug na Parity, ocasionando o congelamento de $168 milhões em ETH.
Leia mais: GMO Internet planeja lançamento de cloud mining de Bitcoin e Bitcoin Cash para agosto
Nas últimas semanas, os bugs relacionados a ethereum emergiram novamente, mas em uma escala menor. Proof of Weak Hands (PoWH) foi uma scamcoin criada como uma piada, que se tornou um golpe real após a perda de 900 ether (cerca de $1 milhão) enviados para um endereço contratual. O desenvolvedor desapareceu após receber ameaças de morte de investidores que descobriram que a Ponzi comprada por eles era ainda menos legítima do que eles acreditavam.
Desde então, a PoWH fez surgir uma nova scamcoin, a ethpyramid, que foi feita apenas para “mãos fortes”. Para a pergunta “seria a Ethpyramid segura?”, o site responde “sim, nosso time de desenvolvedores dedicou muito tempo para refinar e testar este contrato para ter certeza que nossos tokens são seguros. Funções internas do contrato não são acessíveis ao usuário final”. Há ainda a PoWH420, “o esquema de pirâmide autônomo e auto-suficiente mais descolado do mundo”.
Mesmo que joke coins e seus desenvolvedores sejam tirados da equação, é evidente que as criptomoedas são tão fortes quanto seu elo mais fraco. Altcoins como ethereum e nano possuem potencial indubitável e, como qualquer outra cripto, elas são reféns de bugs nas wallets, smart contracts e exchanges. É necessária apenas uma linha defeituosa de código.
Fonte: Bitcoin.com
Edição: Webitcoin