- Voltar ao menu
- Voltar ao menuPreços
- Voltar ao menuPesquisar
- Voltar ao menuConsenso
- Voltar ao menu
- Voltar ao menu
- Voltar ao menu
- Voltar ao menuWebinars e Eventos
Nós e clientes Ethereum : um guia completo
Os termos “cliente Ethereum ” e “nó Ethereum ” são frequentemente usados de forma intercambiável, mas há uma diferença.
No mundo da computação, um “cliente” se refere a qualquer tipo de software que é baixado para o seu computador e ajuda você a interagir com outro tipo de software ou serviço fornecido por um servidor. Por exemplo, o Gmail é um cliente de software que se conecta a um servidor de e-mail e permite que os usuários enviem e recebam e-mails.
Um cliente Ethereum é o software necessário para permitir que os nós Ethereum leiam blocos no blockchain Ethereum e contratos inteligentes baseados em Ethereum. Um “nó” é a parte em execução do software cliente. Para executar um nó, você precisa primeiro baixar um aplicativo cliente Ethereum .
O que são nós Ethereum ?
Um “nó” é um computador que executa uma determinada função na rede Ethereum e executa software cliente para fazê-lo. Dependendo de quais são suas necessidades específicas, seja um aplicativo descentralizado (dapp) ou uma carteira, há três tipos diferentes de nós que podem ser executados por qualquer cliente: nós completos, nós leves e nós de arquivo. Cada nó interpretará os dados de forma diferente e oferecerá métodos diferentes para sincronização – isso se refere à rapidez com que seu nó é capaz de recuperar informações atualizadas para seu cliente interpretar.
- Os full nodes estão cheios de dados; eles armazenam e podem distribuir todos os dados do blockchain da rede Ethereum . Um full node participará adicionalmente da validação de bloco (ou seja, verificará todos os blocos e estados na rede).
Uma vantagem de implementar um nó completo é que ele pode interagir diretamente com qualquer contrato inteligente no blockchain público. Os nós completos também podem implementar contratos inteligentes diretamente no blockchain público.
No entanto, o uso e armazenamento completos de dados, bem como a funcionalidade direta do contrato inteligente, têm um custo. Os nós completos podem ser desgastantes para os recursos de hardware e largura de banda do seu computador. A recuperação de dados completos também pode ser muito demorada, às vezes levando vários dias para sincronizar seus dados quando o nó é implantado pela primeira vez. Então, o nó deve ser mantido, atualizado e mantido online para não ter que repetir o processo de sincronização completo.
- Os nós leves são semelhantes ao nó completo, mas lidam com menos informações. O nó leve armazena informações da cadeia de cabeçalho (informações básicas armazenadas em um bloco, como um carimbo de data/hora e o hash do bloco anterior), mas só receberá informações adicionais mediante Request. Eles são capazes de verificar a validade dos dados, mas não participam totalmente da validação do bloco. Os nós leves são quase sempre implementados em clientes remotos. Como esses nós não assumem processos de armazenamento e gravação de dados mais intensivos, eles provaram ser úteis para dispositivos de baixa capacidade, como smartphones.
- Os nós de arquivo são nós que armazenam todas as informações que um nó completo faz e constroem um arquivo de estados históricos do blockchain. Os nós de arquivo reterão dados históricos mesmo depois que um cliente tiver concluído a sincronização. Os nós completos e leves, por outro lado, “podarão” os dados históricos do blockchain, o que significa que eles podem reconstruir, mas não reter essas informações.
Embora os nós de arquivo possam não ser úteis para o usuário médio, eles se mostraram eficazes na aplicação de exploradores de blocos, fornecedores de carteiras e análises de cadeias.
O que é um cliente Ethereum ?
Os clientes podem ser úteis para desenvolvedores porque os deixam interagir com a rede e outros nós de rede usando várias linguagens de programação. A Ethereum Foundation mantém vários clientes diferentes para diferentes linguagens de programação, incluindo Go, Rust, Java e C#. Vários desenvolvedores terceirizados também criaram clientes Ethereum para suporte adicional a linguagens.
Os usos mais comuns para clientes Ethereum incluem interfaces de transação e mineração, mas seus casos de uso podem ir muito além das interações básicas de blockchain.
A Fundação Ethereum mantém os seguintes clientes:
- Geth (Vai)
- OpenEthereum (Ferrugem)
- Nethermind (C#, .NET)https://nethermind.io/client
- Besu (Java)
- Erigon (Vá/Multi)
Elas dão aos desenvolvedores opções na implementação de seus projetos baseados em Ethereum. Se sua linguagem preferida T for oficialmente suportada pela Ethereum Foundation, existem vários clientes Ethereum de terceiros para fornecer suporte adicional a idiomas.
A razão pela qual todos esses clientes diferentes são possíveis é porque o Ethereum é definido por uma especificação formal (ou seja, o “Papel Amarelo”). As especificações formais que compõem o Ethereum diferenciam o blockchain do Bitcoin. Enquanto o Ethereum define comportamentos padrão para todos os clientes Ethereum Siga, o Bitcoin CORE não tem tais definições. Ao fornecer documentação consistente e linguagem clara, as especificações do Ethereum permitiram que o blockchain permitisse implementações de software independentes, mas interoperáveis, de um cliente Ethereum .
Tipos de cliente Ethereum
Cliente completo
Os clientes completos armazenam todo o blockchain Ethereum ; um processo que pode levar vários dias para sincronizar e requer uma grande quantidade de espaço em disco – mais de 1 Terabyte para ser exato, de acordo com o últimos números. Clientes completos permitem que nós conectados executem todas as tarefas na rede, incluindo mineração, validação de transações e cabeçalhos de bloco e execução de contratos inteligentes.
Cliente leve
Os clientes Ethereum podem ser implementados total ou parcialmente. A visão geral acima fornece uma explicação de como um cliente “completo” funciona, no entanto, é importante saber que você T sempre precisa executar um cliente completo. Normalmente, quando o armazenamento de dados e a velocidade estão em questão, os desenvolvedores optam por usar o que são chamados de “clientes leves”.
Os clientes leves oferecem um subconjunto da funcionalidade de um cliente completo. Os clientes leves podem fornecer velocidades mais rápidas e liberar disponibilidade de armazenamento de dados porque, diferentemente dos clientes completos, eles não armazenam o blockchain Ethereum completo.
O escopo da funcionalidade de um cliente light é adaptado para os objetivos do cliente Ethereum . Por exemplo, clientes light são frequentemente usados para chaves privadas e gerenciamento de endereços Ethereum dentro de uma carteira. Além disso, eles tendem a lidar com interações de contratos inteligentes e transmissões de transações. Outros usos para clientes remotos incluem instâncias web3 dentro de objetos JavaScript, navegadores dapp e recuperação de dados de taxa de câmbio.
Cliente remoto
Há um terceiro tipo de cliente chamado cliente remoto que é semelhante a um cliente light. A principal diferença é que um cliente remoto não armazena sua própria cópia do blockchain, nem valida transações ou bloqueia cabeçalhos. Em vez disso, os clientes remotos dependem totalmente de um cliente completo ou light para fornecer a eles acesso à rede blockchain Ethereum . Esses tipos de clientes são usados predominantemente como uma carteira para enviar e receber transações.
A diferença entre nós e clientes
Nodos e clientes trabalham lado a lado e ambos os termos são frequentemente usados de forma intercambiável. No entanto, ambos operam separadamente para acessar a rede Ethereum .
Pense em nós e clientes operando como um computador acessando a internet: o nó é um sistema operacional, como Windows ou iOS, e o cliente é o próprio computador. O computador cliente dá ao usuário a capacidade de acessar o sistema operacional do nó, que por sua vez, dá a você a capacidade de acessar a internet. Computadores diferentes poderão dar a você acesso ao mesmo sistema operacional e os diferentes sistemas operacionais darão a você acesso à mesma internet.
MetaMáscara
Para ver como os clientes Ethereum funcionam no mundo real, podemos olhar para o MetaMask como um exemplo. O MetaMask é uma carteira baseada em navegador, cliente Remote Procedure Call (RPC) e explorador de contratos básico. Qualquer computador com Chrome, Firefox, Opera ou Brave Browser é capaz de executar o MetaMask.
MetaMask é uma implementação de um cliente remoto que interage com o blockchain por meio de um cliente leve. Para evitar quaisquer problemas de segurança, a MetaMask opera seu próprio cliente leve para se comunicar com o cliente remoto a fim de garantir segurança efetiva e certeza de transações.
O MetaMask é diferente de outras carteiras baseadas em navegador porque aplica uma instância web3 no leitor JavaScript de um navegador, fornecendo acesso à rede principal Ethereum e outras redes de teste também, incluindo a rede de teste Ropsten, a rede de teste Kovan e a instância local de um nó RPC. Mesmo com sua funcionalidade única, o MetaMask ainda executa um cliente remoto, assim como a maioria das outras carteiras de navegador. O cliente remoto permite a funcionalidade de armazenamento de carteira, transmissão de transações e injeções JavaScript web3.
Griffin Mcshane
Griffin McShane é um transplantado de Nova York que atualmente mora no Brooklyn, NY. Ele é graduado pelo Providence College, onde estudou ciência da computação e negócios, e pela University of Maine School of Law, onde obteve seu JD. Além de seu trabalho escrevendo para a CoinDesk, Griffin escreveu o boletim informativo Inside Cripto para o Inside.com de Jason Calacanis e é membro da International Association of Política de Privacidade Professionals (IAPP). Ele não detém uma quantia material de nenhuma Criptomoeda.
