Pular para o conteúdo
Boring Security
Perfil
Ferramentas

Fundamentos do Etherscan

11 min26 de nov. de 2023, 22:12Disponível em::EnglishEspañolFrançais한국어日本語Русский

O que é o Etherscan?

Etherscan é um explorador de blockchain muito popular que permite que os usuários vejam e procurem diversas coisas na blockchain da Ethereum. Ele providencia uma grande gama de informações e ferramentas para usuários, incluindo a habilidade de ver transações, procurar endereços e interagir com contratos inteligentes. Neste artigo nós iremos falar sobre:

  • Ver transações
  • Procurar por endereços de carteira
  • Interagir com contratos inteligentes
  • Localizar tokens
  • Então… Este contrato é legítimo?
  • Analisar estatísticas da rede (ex: preço do gás no momento)

Observando Transações

Um cenário comum é querer observar o status de transações pendentes para checar se ela foi incluída no bloco ou se é necessário acelerá-la. Veja como verificar:

Da MetaMask ou da sua carteira de sua preferência, clique na transação pendente e copie sua hash da transação (a Metamask a chama de “ID da transação”). Após isso navegue até o Etherscan.io, insira a hash da transação na barra de pesquisa e aperte Enter. (Alternativamente na Metamask, você pode simplesmente apertar a opção “ver no explorador de blocos”). Agora você pode observar a transação. Veja o que cada opção significa:

CampoDefinição
Status
O status denota o status da transação. Sempre será uma das seguintes opções:
  • Pendente (esperando para ser incluído no bloco)
  • Cancelado (não incluído no bloco, cancelado da lista de transações pendentes)
  • Confirmado (incluído no bloco)
  • Falha (incluído no bloco, porém a transação falhou então nenhuma mudança de estado ocorreu)

| | Hash de Transação | Esta é a string hexadecimal única da transação. | | Número do Bloco | Este é o número do bloco que a transação foi incluída | | Data/Hora | Esta é a data e hora que a transação foi processada pela rede da Ethereum (ou no caso de uma transação pendente, quando a transação foi vista pela última vez na mempool). | | Endereços De/Para | Estes são os endereços que estão enviando a transação (de) e o endereço/contrato que está sendo chamado (para). | | Valor | Esta é a quantidade de Ether que está sendo transferida na transação. | | Taxa de Transação (txn) | Esta é a quantidade de Ether gasto em gás para o processamento da transação. | | Dados de Entrada | Estes são os dados incluído na transação (quando enviado para um contrato, este campo mostra qual função está sendo chamado e os argumentos desta função) |

Há um rastreador do valor do gás muito útil que nos mostra o tempo estimado até a transação ser incluída no bloco: neste exemplo podemos ver que irá demorar mais de uma hora então caso nós queiramos confirmá-la mais rapidamente nós devemos acelerá-la (Metamask: Como Acelerar uma transação)!

Procurando por Endereços

Você também pode utilizar o Etherscan para ver o saldo e o histórico de transação de qualquer endereço da Ethereum. Há dois tipos de endereços na Ethereum, Contratos (NFTs, tokens, cofres multisig como Gnosis, etc) e EOAs (Endereços de Propriedade Externa, também conhecidos como endereços de carteiras) e cada um deles é mostrado no Etherscan de uma forma um pouco diferente. Para pesquisar, apenas digite o endereço (ou nome ENS) na barra de pesquisa na página inicial e você será redirecionado para uma página mostrando os detalhes do endereço, incluindo o saldo, histórico de transações e quaisquer contratos inteligentes associados ao endereço de carteira.

Na página do endereço você pode visualizar as seguintes informações:

  • O endereço: Esta é a sequência única de caracteres que representam seu endereço na Ethereum (42 dígitos, começando com “0x”).
  • O saldo: Este é o saldo atual de Ether do endereço. Você também pode ver tokens ERC20/721/1155 que o endereço possui.
  • O histórico de transações: Esta é uma lista de todas as transações na Ethereum confirmadas de e para o endereço.
  • O rastreador de token: Caso o endereço seja um contrato de um token, você pode localizar as transações do token, proprietários e seus saldos.
  • O contrato: Caso o endereço seja um contrato inteligente, você pode observar os detalhes do contrato, incluindo o código do contrato, histórico de transações e quaisquer eventos emitidos.
  • As transações internas: Você pode observar as transações internas do endereço (e para contratos inteligentes, transações internas feitas pelo endereço também). Transações internas são explicadas com maior detalhe em nosso curso 102, mas transações internas são basicamente transações que ocorrem entre contratos inteligentes. Isto pode também incluir transações de um contrato inteligente para um endereço externo quando se é enviado ETH para o usuário. Isso é útil de se entender e explorar, já que você pode encontrar mais transações no seu endereço do que você imagina! Caso você tenha se inscrito na nossa aula 102, nós enviamos em massa ETH na rede de teste Goerli e você não conseguirá vê-la na sua aba de transações, apenas na aba de transações Internas!

Você também pode filtrar as transações por data, número do bloco, De/Para endereço e método utilizando os botões de filtro nas colunas. O menu acima do “Txn Fee” permite filtrar por transações pendentes/falhas assim como transações entrando/saindo.

Interagindo com Contratos Inteligentes

Contratos inteligentes podem ser visualizados do mesmo jeito que mostrado acima, porém eles possuem algumas características adicionais se comparado com EOAs(Endereços de Propriedade Externa) regulares::

  • O nome do contrato: Caso o contrato seja verificado, você poderá ver o nome do contrato.
  • O código do contrato: Este é o código fonte do contrato inteligente, que você pode ver e analisar.
  • O criador do contrato: Este é o endereço da Ethereum que implantou o contrato na blockchain
  • O histórico de transações: Esta é uma lista de todas as transações que já foram processadas na rede da Ethereum envolvendo o contrato.
  • Os eventos: Esta é uma lista de todos os eventos emitidos pelo contrato inteligente, incluindo assinaturas, dados e tópicos
  • As abas de Leitura/Escrita: Isto te permite chamar as funções de Leitura/Escrita do contrato: você poderia utilizar isso para investir(stake) o seu Apecoin diretamente pelo Etherscan ou para incrementar o seu nonce do seaport como neste artigo.

Para um tutorial de como interagir com um contrato no Etherscan, veja o embed abaixo:

Rastreando Tokens

Para tokens, nós podemos ver a página que dá detalhes como transferências do token, contas nas redes sociais, proprietários e mais.

Navegue para a página do localizador de tokens inserindo o endereço do contrato do token na barra de pesquisa no Etherscan, da mesma forma que se faz para procurar endereços. Após isso clique no link abaixo de “Token Tracker” (localizar token) caso você esteja no endereço ao invés da página do token.

Agora você pode ver o:

  • Nome do Token: Este é o nome do token, como especificado no contrato inteligente.
  • Símbolo do Token: Este é o símbolo do token, como especificado no contrato inteligente.
  • Fornecimento máximo: Este é o número máximo de tokens que foram criados pelo contrato inteligente.
  • Proprietários: Esta é a lista de endereços que possuem o token e a quantidade possuída.
  • Histórico de transferência: Esta é uma lista de todas as transferências do token.

Para NFTs, o “NFT Trades” irá mostrar uma lista das vendas em marketplaces suportados. Para tokens ERC20 a aba “DEX Trades” irá mostrar vendas/compras recentes em DEXs(Uniswap, etc) suportadas. Tokens ERC20s também possuem uma aba de gráficos que te permite visualizar as compras/vendas em determinadas DEXs em uma ferramenta de tradingview que te permite analisar a ação de preço (price action).

Este Contrato é Legítimo?

Então agora que você sabe bastante sobre as funcionalidades básicas, umas das melhores formas de uso em uma perspectiva de segurança é observar com o que você está interagindo. Sempre que você estiver fazendo uma transação, você está provavelmente interagindo com um contrato. Mas como você identifica se aquele contrato é legítimo ou se é o contrato correto? Então, após determinar sua legitimidade uma vez, você não precisa determinar novamente o mesmo contrato! Algo que nós enfatizamos no no curso 101 é a utilização dos Contatos na Metamask para contratos por duas razões principais:

  1. Caso você entre em um website que você normalmente interage e faça uma interação com um contrato conhecido, você esperaria que aparecesse como na figura abaixo.
  2. Caso você esteja interagindo com um website que você normalmente não utiliza, digamos para mintar uma NFT, você ficaria bem surpreso caso aparecesse o contrato de um dos seus NFTs ou tokens mais valiosos ao invés de um endereço 0x____ aleatório, correto?

ApecoinClaimer.png

Porém antes de adicionar algo nos seus contatos, nós devemos primeiramente examinar e investigar o contrato no Etherscan (e potencialmente outros locais também como parte da nossa rotina de DYOR), aqui estão algumas das coisas que o Etherscan analisa e mostra para seus usuários como uma forma de aumentar o nível de confiança de que você está interagindo com um contrato real e bem conceituado:

  • Marca de Verificação Azul: Diferentemente do Marca de Verificação Verde para Contratos, que simplesmente confirma que o código mostrado no Etherscan é o mesmo que implementado na rede da Ethereum. A marca de verificação azul mensura quão conhecido é o projeto, suas redes sociais, contratos e ecossistema além de outros fatores binários (incluindo a verificação de contratos mencionada anteriormente, a “marca verde”).
  • Reputação do Token: Embora um número de fatores sejam considerados aqui também, o Etherscan reforça que isso não é um aval, mas sim uma série de critérios para determinar sua legitimidade. Ele considera fatores como a data do ICO, se o projeto é negociado em uma corretora com KYC/AML obrigatórios entre outros.
  • Etiqueta Pública: Etiquetas públicas e rótulos são colocados em projetos na página do Etherscan pela própria equipe do Etherscan para auxiliar usuários a tomar uma decisão mais informada sobre o projeto. Geralmente eles auxiliam para que pessoas saibam a que projeto ele pertence, mas também pode ser usado como um rótulo para identificar endereços de hackers/exploiters e também de pessoas públicas.

Nota: É importante saber que nomes de tokens no Etherscan NÃO são verificados apenas por estarem no Etherscan. Qualquer pessoa pode implementar o nome que ele quiser para o token.

Bônus: Analisando Estatísticas da Rede

O Etherscan também fornece estatísticas sobre a rede, como o número total de transações, número total de endereços e quantidade total de Ether em circulação, visível na página inicial do Etherscan. Alguns deles são:

  • Número total de transações: Este é o número total de transações que foram processadas na rede da Ethereum.
  • Número total de endereços: Este é o número total de endereços únicos que utilizaram alguma vez a rede da Ethereum.
  • Quantidade total de Ether em circulação: Esta é a quantidade total de Ether que existe na rede da Ethereum, incluindo ambas em circulação e travadas em contratos inteligentes.
  • Nodes (nós) Ativos: Este é o número de nós conectados atualmente na rede.
  • Transações diárias na rede: Este é o número de transações processadas na rede em um período de 24 horas.

No entanto, há uma estatística muito importante que você deve se familiarizar, o preço das taxas(gás) na rede. Você pode pensar que o preço atual do gás é a demanda atual para espaços no bloco, ou seja, o preço que as pessoas estão dispostas a pagar para terem suas transações processadas. Observando nossa transação pendente no começo do artigo, nós podemos ver quanto precisamos pagar para termos nossa transação processada em um período de tempo razoável ao visitar etherscan.io/gastracker, onde o valor do gás e tempo estimado para ser confirmado são listados. Outro site útil para observar a utilização do gás na rede é o UltraSound Money. Use este site para ver quais contratos estão utilizando mais a rede, as estatísticas de inflação / deflação do ETH, status de staking de ETH e mais!

Concluindo

Espero que com este artigo você tenha entendido os diferentes recursos que o Etherscan oferece e como eles podem ser utilizados. Caso você queira saber mais sobre isso, nós falamos mais e fazemos alguns exercícios práticos na nossa classe do Boring Security 102 que também te dará um NFT de brinde! O Etherscan também possui uma extensa base de dados e as respostas para suas perguntas podem ser encontradas lá ao pesquisar na barra de pesquisa do site!

Disclaimer: Though there has been little reason to doubt what etherscan shows in the past, Etherscan is a 3rd party service, and  its employees are not immune to social engineering or potential bribery, so interact with caution. You can always reference information with other blockchain explorers (e.g. Blockchair) to get a second source just in case or if etherscan is down!

Possui alguma questão ou gostaria de aprender mais sobre segurança na web3 e estar a par das informações de segurança, golpes e táticas? Junte-se a nós no discord em https://discord.gg/boringsecurity .

artigos