Como as auditorias de contratos inteligentes DAO ajudam a reforçar a segurança? Inteligência de dados PlatoBlockchain. Pesquisa vertical. Ai.

Como as auditorias de contratos inteligentes DAO ajudam a reforçar a segurança?

Tempo de leitura: 6 minutos

A criação do DAO é exclusiva da web3, que aproveita a competência do blockchain em governar os protocolos sem envolver entidades centralizadas.  

O DAO é fortemente centrado em duas facetas: criptografia e armazenamento distribuído. Isso lhes confere a capacidade de executar com base na decisão coletiva dos membros da comunidade.

Como acontece com qualquer protocolo Web3, as preocupações de segurança também envolvem os protocolos DAO. 

Este artigo tem como objetivo apresentar a infraestrutura subjacente do DAO e as diretrizes para improvisar sua segurança de contrato inteligente para resistir a ataques.   

Objetivo do DAO

Ethereum sempre detém o crédito por ser o primeiro blockchain programável. Ele tem um papel imenso em trazer a verdadeira descentralização, permitindo que os desenvolvedores brinquem com o código.

Nesse sentido, DAO contratos inteligentes são projetados para promover Governança na cadeia

A governança on-chain é um meio pelo qual as mudanças são implementadas em projetos de blockchain. As regras estão codificadas nos protocolos e os desenvolvedores propõem mudanças por meio de atualizações de código. A mudança proposta é executada com base nos votos dos membros/participantes da comunidade.

”data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>governança on-chain justificando o fato de que as comunidades operam puramente no blockchain. 

Assim como qualquer outro contrato inteligente, os contratos DAO são basicamente projetados para automatizar o processo e executar ações quando as condições predefinidas são atendidas. 

Para ilustrar com um exemplo, considere um contrato de token ERC-20. Ele é criado com base nos padrões ERC-20 com informações como endereço do contrato, fornecimento do token, nome do token, condições de transferência do token, etc. 

A operação do token é executada quando as regras definidas são atendidas. Da mesma forma, o contrato DAO é codificado para ditar o funcionamento da organização, como decidir sobre a distribuição de fundos de acordo com as propostas de votação dos membros. 

Por exemplo, o DAO possui tesourarias embutidas. Os recursos provenientes destes são gastos após a aprovação do grupo, e nenhuma autoridade única tem acesso para executar qualquer plano. 

As propostas de votação para a tomada de decisões críticas relacionadas ao projeto garantem que a voz de todos os participantes seja ouvida, levando a uma maior confiança e transparência nas atividades on-chain. 

Os direitos que regem as atividades das organizações variam de protocolo para protocolo, e é puramente subjetivo como a codificação DAO é feita. Portanto, é importante prestar atenção aos direitos que os usuários têm no protocolo antes de se inscrever em qualquer DAO. 

Etapas envolvidas na configuração de contratos inteligentes DAO

A mecânica de Governança na cadeia

A governança on-chain é um meio pelo qual as mudanças são implementadas em projetos de blockchain. As regras estão codificadas nos protocolos e os desenvolvedores propõem mudanças por meio de atualizações de código. A mudança proposta é executada com base nos votos dos membros/participantes da comunidade.

”data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>a governança on-chain é executada por meio de um conjunto de contratos – token, governador e timelock . Vamos descobrir o papel de cada um deles. 

Token: Os tokens determinam o poder de voto dos membros da comunidade para participar Governança na cadeia

A governança on-chain é um meio pelo qual as mudanças são implementadas em projetos de blockchain. As regras estão codificadas nos protocolos e os desenvolvedores propõem mudanças por meio de atualizações de código. A mudança proposta é executada com base nos votos dos membros/participantes da comunidade.

”data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>governança em cadeia. O contrato simbólico garante que o equilíbrio seja verificado para recuperar o poder e permitir que os participantes expressem a sua escolha sobre as propostas de governação. 

Governador: O contrato do governador é codificado com condições de alocação de poder aos detentores de tokens, o tipo de tokens aceitável, contagem do número de votos necessários para o fórum e assim por diante. No entanto, os desenvolvedores podem codificar com os recursos específicos sobre como desejam que os contratos sejam executados. 

Além disso, o contrato do governador também inclui atraso de votação e especificações de proposta de votação no código. Serve para dar instruções sobre por quanto tempo a proposta de votação fica aberta para os participantes votarem. 

Bloqueio de tempo: O aspecto Timelock envolve a configuração do AccessControl para a função proposta, função de executor e função de administrador. A integração do componente timelock com os sistemas de governança dá a liberdade para os participantes se retirarem em caso de desacordo com a decisão. 

Visão de alto nível sobre os temores de segurança para DAOs. 

A confiança dos DAOs em contratos inteligentes os responsabiliza pela votação de governança e manutenção do tesouro. E cada um desses elementos tem suas próprias preocupações de segurança; vamos desenrolá-los abaixo. 

Preocupações de segurança em contratos inteligentes

Vamos retroceder um pouco e relembrar a conhecida ‘queda do DAO’. A causa predominante foi o bug no código DAO. O hacker conseguiu explorar a vulnerabilidade e drenar fundos do contrato, fazendo chamadas recursivas

Chamada recursiva é uma condição que pode referir-se a si mesma e recuperá-la repetidamente em um loop. A função recursiva usa caso base (if) e caso de indução (else). Os ataques de reentrada são realizados explorando chamadas recursivas no código.

”data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>chamadas recursivas. 

O contrato continha 12.7 milhões de Ether, dos quais o hacker roubou 3.6 milhões de ETH aproveitando a brecha no contrato.

Este incidente mostra claramente a necessidade de mais experiência e experimentação com segurança DAO. Embora o DAO seja muito elogiado por sua inovação, a qualidade do código causou danos maiores.

Além disso, a codificação dos contratos inteligentes deve ser completamente transparente para garantir que nenhum recurso se transforme em um bug posteriormente. 

Preocupações de segurança na governança

Existem várias maneiras pelas quais os hackers podem se intrometer na governança do protocolo. Para começar, as notificações descentralizadas são uma maneira em que, se um hacker pode bloquear as notificações, ele pode introduzir propostas maliciosas que passam despercebidas por outros membros do DAO. 

A seguir está a proposta que requer transações multicall. Se a proposta não for revisada ou auditada pelo DAO, o invasor pode usá-la para produzir resultados complexos. 

Limites incorretos e bloqueios de tempo inadequados levam à possibilidade de atividades ruins. Os empréstimos rápidos são outra preocupação para a segurança da governança. Os invasores podem emprestar uma grande quantidade de tokens que os conferem o poder majoritário para aprovar uma proposta. 

As propostas com intenções maliciosas levantam um séria preocupação de segurança sobre as mudanças implementadas no protocolo. AAVE e Compound sofreram com esses tipos de hacks no passado. 

Preocupações de segurança na execução

O MakerDAO, lançado na rede Ethereum em 2017, estava indo bem. Até que ocorreu um crash do mercado em 2020, quando o preço do Ether caiu 50%. Foi a garantia mais importante usada no MakerDAO, e a queda do preço desencadeou uma liquidez massiva.

O MakerDAO não foi projetado para lidar com uma liquidação tão grande que resultou em uma perda financeira maior. Embora a codificação fosse forte aqui, a falha estava na execução do mecanismo de liquidação. 

A partir de então, a execução do mecanismo DAO também foi adicionada à lista de outras preocupações de segurança existentes. 

Lista de verificação para auditorias de contratos inteligentes DAO

A segurança é o aspecto predominante em Governança na cadeia

A governança on-chain é um meio pelo qual as mudanças são implementadas em projetos de blockchain. As regras estão codificadas nos protocolos e os desenvolvedores propõem mudanças por meio de atualizações de código. A mudança proposta é executada com base nos votos dos membros/participantes da comunidade.

”data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>governança em cadeia para proteger o poder de cair em mãos erradas. Portanto, do ponto de vista da segurança, vamos encontrar as diretrizes para o desenvolvimento de contratos DAO robustos.

Chamadas de baixo nível: As chamadas para contratos arbitrários que buscam dados arbitrários devem ser tratadas com cuidado. 

Lidar com chamadas de baixo nível é complicado porque pode abrir a chance de vetores de ataque de reentrância. Portanto, é sempre uma boa prática verificar a condição de sucesso das chamadas e depois manipular os dados retornados. 

Detenções de ETH: Com base nas descobertas da auditoria, houve muitos casos em que a ETH não foi tratada adequadamente em contratos relacionados à governança. Portanto, sugere-se garantir a forma de envio de ETH quando os contratos de governança exigirem o manuseio de ETH.

Outra precaução a ser observada é ao usar msg.value que permite chamadas em lote. As chances são de que esse padrão pode dar errado. 

Abster-se de exploits de empréstimo Flash: Os empréstimos instantâneos são utilizados por exploradores que desejam influenciar as decisões de governança e lançar um ataque. Eles pegam empréstimos instantâneos e garantem os votos de governança por meio de posse de tokens para manipular uma decisão de governança. 

Assim, evita-se a medição do poder de voto no bloco atual, pois o empréstimo-relâmpago feito para ganhar poder de governança coloca em risco o sistema. 

Atualizações regulares: Mesmo que não haja necessariamente falhas no contrato, você deve sempre verificar o mercado de tokens de governança e ajustar o limite de acordo. Caso contrário, permitiria que atores mal-intencionados assumissem as decisões.

Certifique-se de prestar atenção aos detalhes ao migrar e atualizar o sistema de governança. Houve casos como o que aconteceu com o Uniswap. Sua migração para o Governor Bravo inicializou uma falha contratual que suspendeu temporariamente as decisões de governança. 

Incluir atrasos usando o contrato de timelock: As ações com atraso permitem que a comunidade revise as alterações no protocolo antes que entrem em vigor. Esses atrasos de tempo podem ser implementados por meio de contratos Timelock. 

Vulnerabilidades relacionadas ao protocolo: O software usado para codificar um protocolo funciona em uma lógica de negócios específica que pode variar entre si. O mesmo acontece com os problemas que surgem ao executar alterações nesse sistema. 

Na verdade, o protocolo Compound sofreu um problema devido à aprovação de uma proposta manipuladora da comunidade. Portanto, é sempre bom ter uma revisão completa do código por pares e partes independentes para garantir a força e solidez do contrato.

QuillAudits eminência em DAO Smart Contract Auditing

Nos tempos de hoje, para que um sistema funcione puramente autonomamente, muitos projetos estão descobrindo uma maneira de incorporá-lo. Governança na cadeia

A governança on-chain é um meio pelo qual as mudanças são implementadas em projetos de blockchain. As regras estão codificadas nos protocolos e os desenvolvedores propõem mudanças por meio de atualizações de código. A mudança proposta é executada com base nos votos dos membros/participantes da comunidade.

”data-gt-translate-attributes=”[{“attribute”:”data-cmtooltip”, “format”:”html”}]”>governança em cadeia. Portanto, o campo está evoluindo rapidamente e florescendo de acordo com as necessidades da comunidade. 

Os ataques também estão ficando complicados, o que é desafiador e tem um custo alto. Portanto, é necessário garantir que os processos estejam em vigor e que o código seja seguido de perto. QuillAuditorias realiza um estudo extensivo e audita o código para descartar possíveis armadilhas e proteger o projeto de atividades maliciosas.

16 Visualizações

Carimbo de hora:

Mais de Quilhash