# ERC-1820

> "*O padrão ERC-1820 é uma proposta inovadora no ecossistema Ethereum que aborda a incompatibilidade do ERC-165. Ele define um contrato inteligente de registro universal que permite que qualquer endereço, seja um contrato ou uma conta regular, registre as interfaces que suporta e o contrato inteligente responsável por sua implementação. O ERC-1820 é inclusivo e descentralizado, permitindo novas possibilidades de interação e funcionalidade entre contratos inteligentes e contas regulares.*"

ERC-1820 é um padrão inovador no ecossistema Ethereum que aborda a incompatibilidade introduzida pela atualização do Solidity 0.5 na lógica do ERC-165. Esse padrão define um contrato inteligente de registro universal que permite que qualquer endereço, seja um contrato ou uma conta regular, registre as interfaces que suporta e o contrato inteligente responsável por sua implementação. Ele é funcionalmente equivalente ao ERC-820, exceto pela correção crucial do bug do padrão.

O objetivo principal do ERC-1820 é fornecer uma solução descentralizada e simples para implementar pseudo-introspecção na Ethereum. Tentativas anteriores, como o ERC-165 e o ERC-672, tinham suas limitações. O ERC-165 não oferecia suporte para contas regulares, enquanto o ERC-672 utilizava um mecanismo complexo de ENS reverso, que ainda era controlado por um contrato multisig centralizado, comprometendo potencialmente a integridade do sistema.

A motivação por trás do ERC-1820 foi criar um padrão que fosse inclusivo e descentralizado. Ao permitir que qualquer tipo de endereço, incluindo contas de propriedade externa e contratos, implemente interfaces e delegue a implementação a contratos de proxy, o ERC-1820 abre novas possibilidades para interação e funcionalidade. Essa delegação é especialmente valiosa para contas de propriedade externa e evita a necessidade de redesenhar contratos existentes.

Além disso, o ERC-1820 aborda o problema de identificar o endereço correto do registro para diferentes cadeias. Ao fornecer um endereço único compartilhado em todas as cadeias, o padrão garante compatibilidade perfeita e resolve o desafio da interação entre cadeias.

Uma característica chave do ERC-1820 é sua capacidade de atuar como um cache de ERC-165, reduzindo efetivamente o consumo de gás. Esse cache serve como um mecanismo para otimizar o processo de determinar se um contrato implementa uma interface ERC-165 específica. Embora o cache seja mantido intencionalmente simples, sem atualizações ou invalidações automáticas, ele permite que qualquer pessoa atualize o cache com segurança e eficiência para qualquer interface e contrato, utilizando a função `updateERC165Cache`.

A implantação do registro ERC-1820 segue um método sem chave, aproveitando um endereço de implantação de uso único para evitar qualquer controle centralizado e estabelecer confiança no sistema. Essa abordagem garante que nenhuma entidade única possa manipular ou comprometer o registro.

A introdução do recurso de cache do ERC-165 não apenas reduz o consumo de gás, mas também aprimora a eficiência da verificação de interfaces. O método de implantação sem chave garante confiança e impede o controle centralizado, salvaguardando a integridade do registro. Com seu endereço único compartilhado entre diferentes cadeias, o ERC-1820 simplifica a interação entre cadeias e resolve o desafio de identificar o endereço correto do registro.

ERC-1820 representa um avanço significativo na comunidade Ethereum, oferecendo uma abordagem padronizada para implementação e verificação de interfaces. Sua simplicidade, inclusão e natureza descentralizada o tornam uma adição valiosa ao ecossistema Ethereum, promovendo a interoperabilidade e inovação entre contratos inteligentes e contas regulares.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://pt.glossario.w3d.community/e/erc-1820.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
