Compartilhe este artigo

DAO sem líder é colocado à prova após vulnerabilidade do Ethereum

A Slock.it anunciou diversas correções no código que sustenta o The DAO, uma organização autônoma que arrecadou mais de US$ 150 milhões em ether.

Uma vulnerabilidade na maneira como alguns desenvolvedores estão implementando o Ethereum resultou em uma correção de última hora para o The DAO, uma organização autônoma distribuída com mais de US$ 150 milhões à disposição para investir em projetos baseados em Ethereum.

Sem um líder ou qualquer equipe de segurança formal para identificar e corrigir potenciais ameaças à segurança, essa responsabilidade recai sobre uma comunidade de código aberto composta por membros que compraram direitos de voto na organização com o ether como parte de sua fase de criação.

A História Continua abaixo
Não perca outra história.Inscreva-se na Newsletter Crypto Daybook Americas hoje. Ver Todas as Newsletters

Embora as identidades de alguns dos envolvidos ainda não estejam claras, o método pelo qual a vulnerabilidade foi identificada e supostamente corrigida equivale ao primeiro teste real da estrutura e das técnicas de resolução de problemas do DAO.

Através da videira

O problema começou na semana passada, quando o usuário do GitHubCriseth"casualmente apontou um ataque terrível, terrível aos contratos de carteira" que poderia surgir da maneira como alguns desenvolvedores estavam implementando contratos inteligentes escritos com a linguagem Solidity da Ethereum, de acordo com o fundador da Blockchain Foundation, Peter Vessenes.

Blog do próprio Vessenespublicarsobre o assunto então chamou a atenção de um usuário do Reddit afiliado ao Maker DAO, que é construído na blockchain Ethereum .

A vulnerabilidade, que permite que os invasores drenem um tipo específico de conta, foi então testada com sucesso pelo Maker DAO, de acordo com seu publicar,o que por sua vez chamou a atenção de eththrowa, um usuário do fórum de membros do DAO.

Ettrowaconfirmadoque a vulnerabilidade também existia na implementação então usada pelo The DAO, que foi construído usando software de código aberto escrito pela Slock.it, e é a maior organização autônoma distribuída com cerca de US$ 162 milhões em ether atualmente à sua disposição.

Foi essa publicação que, no final, chamou a atenção do fundador do Slock.it, Stephen Tual. Ele, junto com outros membros do fórum, respondeu prontamente e um dia depois postou um LINK para uma correção.

Ontem, Tualanunciadouma série de atualizações no software do projeto, projetadas para combater a vulnerabilidade e outros vetores de ataque teóricos do jogo não relacionados à vulnerabilidade de "chamada recursiva", como ela está sendo chamada agora.

Em sua postagem, Tual escreveu:

"Estendemos nossa gratidão à comunidade... que mais uma vez provou que um processo de desenvolvimento aberto leva à rápida identificação, isolamento e resolução de potenciais vulnerabilidades e, neste caso, à melhoria geral dos padrões de design como parte das linguagens de programação."

Nenhum fundo DAO estava em risco devido à vulnerabilidade, de acordo com um relatório separadopublicar.

Questão mais ampla

Lançado no início deste ano por uma pessoa ou grupo não identificado, o DAO é construído em código aberto que permite que os usuários votem coletivamente em como distribuir fundos para projetos que os membros consideram valiosos e receber dividendos se o projeto for bem-sucedido.

Nesse caso, a vulnerabilidade teria permitido que o destinatário desses dividendos "esgotasse muitas vezes seus direitos ao chamar o contrato recursivamente", de acordo com a eththrowa.

Mas, como a publicação de Vessenes na sexta-feira deixou claro, a ameaça de chamada recursiva T era apenas uma fraqueza no DAO, mas um problema mais geral com a maneira como alguns desenvolvedores implementam contratos inteligentes escritos com a linguagem de programação Solidity.

Em um e-mail para a CoinDesk, Vessenes forneceu uma descrição mais técnica da vulnerabilidade:

"Todas as funções públicas do Solidity que enviam dinheiro ou usam "call" em outro contrato podem ser chamadas recursivamente por um destinatário atacante. T é assim que o Bitcoin funciona, então pode ser uma surpresa para desenvolvedores inexperientes do Ethereum . A implicação prática é que cada uma de suas funções (e na verdade todo o seu contrato) deve ser 'reentrante', o que quer dizer que elas devem funcionar da mesma forma se partes delas forem chamadas novamente antes da conclusão."

As correções

O membro da Ethereum Foundation, Taylor Gerring, disse à CoinDesk que a descrição original do problema feita por Vessenes era precisa. No entanto, ele acrescentou que a vulnerabilidade T exigirá nenhuma alteração na base de código do Ethereum para ser corrigida.

Em vez disso, a vulnerabilidade exige um tipo diferente de implementação por parte dos desenvolvedores.

Em entrevista, Gerring disse que a vulnerabilidade "é uma preocupação na medida em que um programador Human pode causar esse problema", mas "não é um problema inerente ao Solidity ou ao EVM [a Máquina Virtual Ethereum ]", a linguagem de script e os intérpretes de código que alimentam a rede.

Vessenes incluiu duas soluções possíveis para a fraqueza da "chamada recursiva" em seupublicar.

Outras correções específicas para o código do DAO também anunciadas ontem pelo Slock.it foram projetadas para resolver problemas potenciais que alguns têmapontousobre o modelo de governança da organização.

Especificamente, essas são correções para certos ataques teóricos de jogos, incluindo o que é chamado de "viés do sim", que resulta de um desincentivo para votar "não". As correções foram implementadas na forma de solicitações de pull no GitHub.

Agora cabe aos 23.000 membros votantes do DAO concordar com as mudanças ou pressionar por uma solução alternativa.

Verdadeiroescreveuno blog Slock.it:

"Este é um projeto completamente de código aberto. A partir de hoje e durante o período de revisão de duas semanas, todos, incluindo curadores, são encorajados a revisar e participar do lançamento."

Imagem da multidão viaShutterstock

Michael del Castillo

Membro em tempo integral da Equipe Editorial da CoinDesk, Michael cobre Criptomoeda e aplicações de blockchain. Seus escritos foram publicados no New Yorker, Silicon Valley Business Journal e Upstart Business Journal. Michael não é um investidor em nenhuma moeda digital ou projeto de blockchain. Ele já teve valor em Bitcoin (Veja: Política Editorial). E-mail: CoinDesk. Siga Miguel: @delrayman

Picture of CoinDesk author Michael del Castillo