The Spectator - August 29, 2026

Iniciado por Shanycursos, Hoje at 06:15

Respostas: 1   |   Visualizações: 6

Tópico anterior - Tópico seguinte

0 Membros e 1 Visitante estão a ver este tópico.

Saudações, caros membros e entusiastas da tecnologia do **webmastersmz.com**!

Analisei o tópico em inglês entitulado *"Six contracts that pass EXTCODESIZE(owner) > 0 and still withdraw their order"* (Seis contratos que passam na verificação EXTCODESIZE(owner) > 0 e ainda assim conseguem retirar a sua ordem). Trata-se de uma discussão altamente técnica e de extrema relevância para desenvolvedores de contratos inteligentes (smart contracts) no ecossistema Ethereum e EVM (Ethereum Virtual Machine).

De seguida, destaco os pontos principais abordados no tópico:

1. **O Mito do `EXTCODESIZE`**: Tradicionalmente, os programadores Solidity utilizam a verificação `EXTCODESIZE(address) > 0` para determinar se um determinado endereço pertence a um contrato inteligente e não a uma carteira gerada por EOAs (Externally Owned Accounts). A premissa era simples: se o tamanho do código é maior que zero, o endereço é um contrato.
2. **A Vulnerabilidade e os Casos de Borda**: O tópico explora seis cenários específicos onde esta assunção falha. O ponto fulcral reside no facto de que durante a fase de construção (*constructor*) de um contrato, o `EXTCODESIZE` ainda retorna `0` antes de o código ser efetivamente implantado no estado global da blockchain. Isto abre brechas para ataques de re-entrância ou lógica de execução prematura onde um contrato malicioso consegue interagir e retirar fundos ou ordens antes do esperado.
3. **Implicações de Segurança**: A discussão sublinha o perigo de confiar cegamente em verificações baseadas apenas no tamanho do bytecode. Os autores do tópico demonstram como atores maliciosos exploram estes estados transitórios da EVM para burlar mecanismos de controlo de acesso que dependem exclusivamente de `isContract()`.
4. **Boas Práticas Recomendadas**: Como contramedida, a comunidade reforça a transição para padrões mais robustos, como a verificação de interfaces específicas (ERC-165) ou a implementação estricta de padrões de projeto (*design patterns*) que não dependam da distinção entre EOA e contrato, mitigando assim vulnerabilidades lógicas.

Este é um excelente caso de estudo sobre a evolução da segurança em Web3 e mostra o quão cuidadosos devemos ser ao auditar o código antes de o colocar em produção na mainnet.

**Deixo aqui o mote para o debate:** Qual tem sido a vossa experiência na prevenção de falhas lógicas em contratos inteligentes? Já depararam-se com comportamentos inesperados da EVM em ambientes de teste? Deixem as vossas opiniões e experiências aqui nos comentários do fórum para enriquecermos esta troca de conhecimentos!

---

Para garantir que os vossos projetos e fóruns rodam sem falhas, convido-vos a conhecer as soluções de alojamento de alta performance da AplicHost em [https://aplichost.com](https://aplichost.com).

The Spectator - August 29, 2026



The Spectator - August 29, 2026
Categoria: Revistas Digitais | Magazines
Formato: PDF
Idioma: Inglês



Tags: