Compartilhe este artigo

Compreendendo o ataque DAO

O estrategista de blockchain David Siegel oferece uma visão geral passo a passo do ataque ao The DAO para jornalistas e membros da mídia.


O básico

A rede Ethereum é uma rede de computadores, todos executando o blockchain Ethereum . O blockchain permite que as pessoas troquem tokens de valor, chamados ether, que atualmente é a segunda Criptomoeda mais popular, atrás do Bitcoin. O Ethereum também permite que as pessoas escrevam e coloquem na rede contratos inteligentes – código de propósito geral que é executado em todos os computadores da rede (atualmente mais de 6.000 computadores). As pessoas então executam esses programas enviando ether para elas.

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

UmDAO é uma organização autônoma descentralizada. Seu objetivo é codificar as regras e o aparato de tomada de decisão de uma organização, eliminando a necessidade de documentos e pessoas na governança, criando uma estrutura com controle descentralizado.

Veja como funciona um DAO:

  • Um grupo de pessoas escreve os contratos inteligentes (programas) que irão gerir a organização
  • Há um período de financiamento inicial, no qual as pessoas adicionam fundos ao DAO comprando tokens que representam propriedade – isso é chamado de crowdsale ou oferta inicial de moeda (ICO) – para fornecer os recursos de que ele precisa.
  • Quando o período de financiamento termina, o DAO começa a operar.
  • As pessoas podem então fazer propostas ao DAO sobre como gastar o dinheiro, e os membros que aderiram podem votar para aprovar essas propostas.

É importante entender que muito cuidado foi tomado para não transformar esses tokens em ações de capital – eles são mais como contribuições que dão às pessoas direitos de voto, mas não propriedade. Na maioria dos casos, uma DAO não é propriedade de ninguém – é apenas um software em execução na rede Ethereum .

O primeiro DAO é o próprio Bitcoin , que é governado por consenso entre sua equipe CORE e sua rede de mineração. Todos os outros DAOs foram lançados na plataforma Ethereum .

O DAO" é o nome de um DAO específico, concebido e programado pela equipe por trás da startup alemã Slock.it – uma empresa que cria “fechaduras inteligentes” que permitem que as pessoas compartilhem suas coisas (carros, barcos, apartamentos) em uma versão descentralizada do Airbnb.

O DAO foi lançado em 30 de abril de 2016, com uma janela de financiamento de 28 dias.

Por alguma razão, o DAO era popular, arrecadando mais de $100 milhões até 15 de maio, e até o final do período de financiamento, o DAO era o maior crowdfunding da história, tendo arrecadado mais de $150 milhões de mais de 11.000 membros entusiasmados. O DAO arrecadou muito mais dinheiro do que seus criadores esperavam.

Pode-se dizer que o marketing foi melhor que a execução, pois durante o crowdsale, várias pessoas expressaram preocupações de que o código era vulnerável a ataques.

Uma vez que o crowdsale terminou, houve muita discussão sobre primeiro abordar as vulnerabilidades antes de começar a financiar propostas. Em particular, Stephan Tual, um dos criadores do The DAO, anunciou em 12 de junhoque um "bug de chamada recursiva" foi encontrado no software, mas que "nenhum fundo DAO [estava] em risco".

Na época, mais de 50 propostas de projetos estavam esperando que os detentores de tokens do DAO votassem sobre elas.

É importante reiterar que a rede Ethereum não tem tais bugs e tem funcionado perfeitamente o tempo todo. Todos os sistemas em rede são vulneráveis ​​a vários tipos de ataques. A rede Ethereum , que suporta (dependendo do preço) cerca de US$ 1 bilhão em ether, não foi hackeada e está continuamente executando muitos outros contratos inteligentes.

Todos que escrevem um contrato inteligente sabem que se ele puder movimentar uma grande quantia de dinheiro, ele estará sujeito a ataques. Essa vulnerabilidade em particular foi descoberta recentemente em outro sistema, chamado Maker DAO, e foi neutralizada rapidamente porque esse DAO ainda estava em teste.

Muitas pessoas acham que testar e certificar contratos inteligentes será uma parte importante para manter o ecossistema Ethereum seguro. Você encontrará vários serviços de validação de contratos inteligentes listados em DecentralStation.com.

O hack do DAO

Infelizmente, enquanto os programadores trabalhavam para corrigir esse e outros problemas, um invasor desconhecido começou a usar essa abordagem para começar a drenar o ether coletado pela venda de seus tokens pelo DAO.

Até sábado, 18 de junho, o atacante conseguiu drenar mais de3,6m éterem um “DAO filho” que tem a mesma estrutura que o DAO. O preço do ether caiu de mais de $20 para menos de $13.

Várias pessoas tentaram dividir o DAO para evitar que mais ether fosse levado, mas T conseguiram os votos necessários em tão pouco tempo. Como os designers T esperavam tanto dinheiro, todo o ether estava em um único endereço (má ideia), e acreditamos que o invasor parou voluntariamente após ouvir sobre a proposta de fork (veja abaixo). Na verdade, esse ataque, ou outro ONE, pode continuar a qualquer momento.

Os contratos inteligentes devem ser acordos autônomos – não sujeitos à interpretação por entidades ou jurisdições externas. O código em si deve ser o árbitro final do "acordo" que representa. Mas, claro, essa é uma perspectiva idealista (criptoanarquista).

Mesmo antes do ataque, vários advogados levantaram preocupações de que o DAO extrapolou seu mandato de crowdfunding e entrou em conflito com as leis de valores mobiliários em vários países. Os advogados também apontaram seus criadores como potencialmente responsáveis por quaisquer problemas que possam ocorrer, e vários expressaram preocupação de que os detentores de tokens do DAO estavam aceitando responsabilidades das quais provavelmente não tinham conhecimento. O DAO existe em uma área cinzenta de lei e regulamentação.

Como o DAO filho tem a mesma estrutura, limitações e vulnerabilidades do DAO pai, o ether neste DAO filho recém-criado T pode ser acessado por 28 dias, pois esse é o período de financiamento inicial.

Todos podem ver o ether neste DAO infantil – qualquer tentativa de sacá-lo acionará alarmes e investigações. Pode ser que o invasor nunca consiga sacar ou gastar um único ether dele.

É inteiramente possível que o atacante tivesse uma grande posição vendida em ether no momento do ataque, que ele ou ela então sacou depois que o ether foi cortado aproximadamente pela metade. O atacante pode já ter feito seu dinheiro, independentemente do ether estar no DAO filho.

Há coisas que a Ethereum Foundation poderia fazer que podem anular o ether neste DAO. É aí que as coisas ficam complicadas.

A Proposta Soft-Fork

O DAO contém cerca de 15% de todo o ether, então uma falha do DAO tem um impacto negativo na rede Ethereum e sua Criptomoeda.

Vale a pena notar que dezenas de startups estão trabalhando em DAO ou produtos de governança, muitos contratos inteligentes têm vulnerabilidades semelhantes e a construção de software complexo usando contratos inteligentes ainda está em sua infância. Todos os envolvidos têm interesse no que acontece a seguir.

Todos os olhos estão voltados para o DAO e a Fundação Ethereum , esperando por uma resolução que permita que o ecossistema continue a se desenvolver como antes.

Para entender o que acontece em seguida, você precisará entender os princípios básicos do blockchain: uma rede de nós coloca transações em blocos e blocos em uma única cadeia que representa a "verdade" do que aconteceu. Se duas transações concorrentes acontecem quase ao mesmo tempo, a rede resolve esse conflito escolhendo uma e rejeitando a outra, então todos os nós têm exatamente a mesma cópia do livro-razão distribuído.

A única maneira de "reescrever a história" seria ter pelo menos 51% de todos os nós concordando com tal conluio – algo que nunca aconteceu na história do Bitcoin ou do Ethereum. O objetivo de uma rede descentralizada é que ONE tenha o poder de fazer isso, ou a própria rede se torna não confiável.

Sobre 17 de junhoVitalik Buterin, da Fundação Ethereum , emitiu uma atualização crítica, dizendo que o DAO estava sob ataque e que ele havia encontrado uma solução:

Foi proposto um fork de software (SEM ROLLBACK; nenhuma transação ou bloco será "revertido") que fará com que quaisquer transações que façam chamadas/códigos de chamada/chamadas de delegado que reduzam o saldo de uma conta com o código hash0x7278d050619a624f84f51987149ddb439cdaadfba5966f7cfaea7ad44340a4ba (ou seja, o DAO e os filhos) levem à transação (não apenas a chamada, a transação) sendo inválida...

Nisso, Buterin afirma especificamente que T está propondo reescrever nenhum bloco, mas apenas instalar um “interruptor” no código básico do Ethereum que impede a movimentação de qualquer ether para fora do DAO ou de seus filhos.

Efetivamente, esta é uma correção única (chamada de “fork”) para um evento único que sela aqueles ethers naquele endereço para sempre.

Buterin continuou:

"Mineiros e pools de mineração devem retomar a permissão de transações normalmente, esperar pelo código do soft fork e estar prontos para baixá-lo e executá-lo se concordarem com esse caminho a seguir para o ecossistema Ethereum . Os detentores de tokens DAO e usuários de Ethereum devem sentar e permanecer calmos. As exchanges devem se sentir seguras em retomar a negociação de ETH."

Em outras palavras, uma lista negra será construída no código do Ethereum para KEEP que o bandido reivindique seu prêmio. Neste cenário de “congelamento de ativos”, Buterin pede uma discussão sobre como ajudar os detentores de tokens DAO a recuperar seu investimento inicial.

Esta proposta aparentemente inócua e bem-intencionada de “Deus ex machina” – que ainda deve ser adotada pela maioria dos nós da rede Ethereum para entrar em vigor – abriu uma enorme caixa de Pandora.

O atacante responde — ou não?

Chamarei o agressor de homem solitário, mesmo que eu não tenha ideia se ele é um.

O que aconteceu a seguir foi interessante. Em umcarta aberta para a DAO e a comunidade Ethereum , o atacante supostamente alegou que sua “recompensa” era legal e ameaçou tomar medidas legais contra qualquer um que tentasse invalidar seu trabalho. Várias pessoas apontaram que a assinatura criptográfica nesta mensagem T era válida – ela poderia ser falsa.

Mas está bem escrito e, de um certo ponto de vista, bem fundamentado: a premissa dos contratos inteligentes é que eles são seus próprios árbitros e que nada fora do código pode “mudar as regras” da transação.

Mais tarde, por meio de um intermediário, o invasor alegou que poria fim ao “roubo” organizado de sua propriedade recompensando os mineradores (nós) que T concordassem com o soft fork proposto, dizendo:

"[E]m breve teremos um contrato inteligente para recompensar os mineradores que se opuserem ao soft fork e minerarem a transação. 1 milhão de ETH + 100 BTC serão compartilhados com os mineradores."

Este é claramente um sistema dinâmico complexo.

Essas mensagens do "atacante" não podem ser verificadas, então teremos que esperar para ver o que acontece.

A proposta do Hard-Fork

Outra proposta é mais agressiva: pedir aos mineradores que desfaçam completamente o roubo e devolvam todo o ether ao DAO, onde ele pode ser resgatado pelos detentores de tokens automaticamente, encerrando assim o DAO.

Como diz Stephan Tualno seu blog

Um hard fork subsequente poderia até mesmo retornar todo o ether, incluindo o ‘extraBalance’ do DAO e os fundos roubados, de volta para um contrato inteligente. Esse contrato inteligente conteria uma única função: withdraw().

Isso tornaria possível que todos que participassem do DAO retirassem seus fundos: graças ao apoio dos mineradores, e porque nada foi gasto até agora, nada seria perdido."

Isso tem o efeito de reescrever as regras pelas quais o blockchain é executado, o que supostamente é impossível. Devemos deixar essa regra passar só ONE vez, para colocar o projeto Ethereum de volta nos trilhos?

O pessoal do Slock.it e a maioria dos detentores de tokens DAO ficariam gratos se o fizéssemos.

Respostas ao soft fork

Vista por si só, a proposta é razoável. É uma solução única para um problema único. Mas muitas pessoas T veem dessa forma.

Você pode ler oresposta massiva no Reddit, que tentarei resumir:

A confiabilidade da rede é sagrada.

Como disse uma pessoa no Reddit:

"O envolvimento da fundação Ethereum no DAO foi e é um erro. Como eu vejo, o Ethereum deve ser a infraestrutura fundamental sobre a qual uma enxurrada de projetos e experimentos deve florescer, e para que eles floresçam, eles precisam de uma fundação que seja forte e que tenha integridade diante dos desafios. A proposta de hard fork é um compromisso que arruína essa integridade e sinaliza que projetos como o DAO podem influenciar a fundação subjacente para sua própria vantagem. Para mim, isso é totalmente inaceitável e é um afastamento dos princípios que me atraíram para o Ethereum."

O hard fork é uma opção válida, mas deve ser mantida para situações que exijam modificações emergenciais do próprio protocolo Ethereum , e não para projetos que rodam nele.

O fato de a Fundação Ethereum ter se envolvido e promovido o projeto DAO foi um erro e apenas usurpou a confiança que as pessoas têm no Ethereum como uma infraestrutura fundamental para outros projetos.

Espero que corrijam esse erro.

ONE entrou na conversa:

"Fiz um contrato ruim nos primeiros dias em que o ETH estava online e perdi 2K ETH com ele, também posso recuperá-lo? Obrigado!"

E finalmente:

"O Ethereum funcionou exatamente como pretendido. T acredito que o software deva ser atualizado quando funciona exatamente como pretendido. Você assume os riscos do seu investimento. Se você T entende seu investimento, você assume um risco desconhecido. Qualquer outra coisa é um resgate por uma autoridade central, ou seja, a antítese do mundo Cripto . De forma relacionada, é por isso que o Lehman Brothers foi autorizado a falir – porque o acordo é o acordo, e se você dobrar as regras para um jogador em particular, todos os outros jogadores também vão querer tratamento especial."

Grande demais para falir

Apenas um mês depois do Lehman Brothers, outros bancos receberam tratamento especial, e você pode decidir por si mesmo se isso foi uma boa ideia – é bem análogo à situação em questão. O DAO não é uma ilha.

É considerado "grande demais para falir" do ponto de vista do ecossistema Ethereum . Pode-se notar que várias pessoas da Ethereum Foundation são detentoras de tokens DAO e também têm posições de consultoria no The DAO. Até Gavin Wood, um dos fundadores originais do Ethereum , apoiou o fork em uma postagem de blog.

Nessa visão, então, é possível que alguns outros grandes projetos precisem ser resgatados e a Fundação Ethereum , tendo estabelecido um precedente uma vez, pode mais uma vez pedir aos mineradores que reescrevam a história.

A analogia com os resgates bancários é notável: os bancos foram capazes de assumir riscos enormes esperando por retornos enormes, e quando essas negociações foram para o sul, os contribuintes os resgataram (exceto o pobre Lehman Brothers). Essa assimetria de risco é geralmente considerada uma maneira ruim de incentivar os participantes do mercado.

Esses são os dois extremos, mas a maioria das pessoas cai em um ou outro. O longo braço da lei, sem mencionar o fisco

A discussão acima assume que estamos operando em um vácuo, em um espaço de criptoanarquia, onde as leis T se aplicam. Mas as pessoas investiram dinheiro real e leis reais podem e se aplicarão a este caso.

Na verdade, todas as partes aqui podem ter reivindicações legítimas que podem levar anos para serem resolvidas em tribunais ao redor do mundo.

Quem está em risco?

Mesmo que eles tenham tomado muito cuidado para não criar títulos e garantir que as pessoas estivessem cientes dos riscos, eles ainda podem ser responsabilizados. Se os detentores do token DAO perderem a maior parte de seu investimento de mais de US$ 150 milhões, uma ação coletiva contra os originadores parece provável.

Outros DAOs


Algumas pessoas pegaram o contrato inteligente do DAO palavra por palavra para implementar outros DAOs. No caso de um hard fork, todo o ether em qualquer DAO que usa os contratos inteligentes 1.0 do DAO perderá seu ether em um endereço de reembolso, a ser dividido entre os detentores de tokens DAO. Assim, os detentores de tokens DAO podem acabar recebendo mais do que investiram. Isso certamente irritará aqueles que investiram seu próprio dinheiro em seus próprios DAOs usando o código do DAO 1.0.

Detentores de tokens DAO


Como investidores, e sem a proteção de uma corporação, todos os mais de 11.000 detentores de tokens DAO podem ser vistos como sócios gerais do fundo. Nesse caso, o invasor pode processar detentores individuais de tokens DAO em suas próprias jurisdições, alegando que eles representam a entidade que apreendeu sua propriedade legítima.

As Trocas


Pouco depois do período de financiamento inicial, diversas exchanges de Criptomoeda começaram a criar Mercados em tokens DAO.

Como parte da cadeia, qualquer um que comprou tokens DAO de qualquer exchange pode processar a exchange por vender investimentos falhos. Isso pode ir muito fundo – ao nível de violações da lei de valores mobiliários, ou eles podem simplesmente ser responsabilizados pelo lucro que obtiveram com os tokens.

Dado que várias bolsas têm bastante dinheiro, elas podem estar entre os primeiros alvos.

A Fundação Ethereum


A Ethereum Foundation tem muito em jogo aqui. Eles querem que a rede seja sólida como uma rocha, que suporte bilhões de dólares em comércio e que seja "o sistema operacional do futuro".

Mas agora eles estão entre a cruz e a espada: se não fizerem nada, a rede Ethereum sofrerá um revés do qual poderá levar anos para se recuperar; se intervirem, eles estabelecerão um precedente perigoso que corrói o contrato social que estabeleceram com sua rede de nós independentes.

Eles T projetaram a rede Ethereum para ser o juiz e o júri caso uma ou mais partes sejam prejudicadas.

Mineradores e nós


Os mais de 6.000 nós completos do Ethereum podem ser responsabilizados por quaisquer bifurcações nas quais votarem.

Se o atacante puder ser visto como tendo adquirido seu ether como resultado de um "recurso" de um contrato inteligente, então ele pode (e já ameaçou) processar qualquer um dos mineradores que tentarem tirar o que ele sente que é seu por direito. Ele também pode processar a Ethereum Foundation se eles escreverem o software que implementa o fork.

Por outro lado, os detentores de tokens DAO podem processar nós que T votam pelo fork, alegando que eles T estão fazendo a coisa certa. Por outro lado, as pessoas que administram nós gostam de dinheiro, e podem obter dinheiro do "atacante" para não fazer o fork. É inteiramente possível que os governos intervenham aqui e tentem fazer grandes mudanças na governança do sistema Ethereum .

O atacante


O atacante pode já ter feito uma quantia substancial por meio de manipulação de mercado – isso é ilegal em muitas jurisdições. Ele também pode ter uma enorme responsabilidade fiscal. Obviamente, há um tremendo incentivo para a comunidade Aprenda sua identidade e "expulsá-lo".

Provavelmente há informação suficiente por aí para que as pessoas descubram quem ele é — pode ser apenas uma questão de tempo até que isso aconteça.

O rescaldo

Parece que neste momento o DAO vai morrer, e que os detentores de tokens DAO receberão de volta algo entre 0% e 100% de seu ether.

É seguro dizer que os caras do Slock.it estão ocupados por um tempo, eles podem não conseguir financiamento para o projeto (me disseram que eles investiram uma boa BIT do próprio dinheiro no The DAO) e podem ter que conversar com advogados por meses.

O DAO ainda está sujeito a outro ataque semelhante.

Vitalik pode propor uma solução baseada em ethereum, mas os nós devem decidir. Não está claro qual desses caminhos os nós tomarão. Muitas pessoas dizem que "não fazer nada é talvez a pior opção". Depende de qual lado das várias cercas você está. Há ladeiras escorregadias em todos os lugares.

Há outro detalhe: a Fundação Ethereum está a caminho de mudar para um novo mecanismo de consenso chamado "prova de participação" e, nesse cenário, qualquer um que possua 14% de todo o ether terá um controle tremendo sobre o futuro blockchain.

De fato, Vitalik pediu que os projetos tivessem um limite de US$ 10 milhões ou mais, para ajudar a conter a magnitude de erros não intencionais.

Também é muito provável que haja processos judiciais. Poderíamos ver uma bagunça total, com processos judiciais se estendendo por muitos anos. Ou poderíamos ver um final bem limpo e arrumado, o Ethereum continua e “o invasor” nunca mais aparece.

Embora eu apostaria 5 ether que o atacante será encontrado dentro de um ou dois meses. Embora a letra e o espírito dos contratos inteligentes seja que “contratos inteligentes governam”, e a regra da lei T se aplica – neste caso, a maioria das pessoas gostaria de ver um refazer. Eu estou supondo que veremos várias regras da lei se aplicarem.

Tentei me ater aos fatos e agora darei uma Opinião simples: essa situação se resolverá bem se o invasor simplesmente comprar um monte de ether e concordar em trabalhar com o pessoal da DAO para devolver o dinheiro a todos os detentores de tokens e dissolver a DAO completamente.

O invasor terá ganhado algum dinheiro, demonstrado seu ponto de vista, nenhum advogado estará envolvido, todos nós teremos aprendido uma lição difícil e a Fundação Ethereum poderá começar a planejar um futuro mais seguro e resiliente.

Resumo

Acredito que podemos dizer que este evento marca o início de uma nova era do blockchain público do ethereum.

Embora a abordagem ágil de "preparar, disparar, mirar" geralmente funcione melhor com novos softwares, ela pode ser perigosa quando US$ 150 milhões são colocados na câmara.

O Ethereum foi anunciado como um computador de propósito geral e o prenúncio de um novo modelo descentralizado para computação e para a sociedade. Veremos, um BIT mais cedo do que gostaríamos, como tudo isso se desenrola no mundo real.

Alguns recursos:

Este post apareceu originalmente emMédioe foi republicado com a permissão do autor.

David Siegel é um estrategista e palestrante de blockchain, fundador daKryptodesign.come curador deDecentralStation.com, um lugar para Aprenda sobre blockchain.

Isenção de responsabilidade: Siegal possui um pequeno número de tokens DAO.


Picture of CoinDesk author David Siegel