WEB3DEV

Cover image for Conheça sobre a Ethereum mais do que ETH
Fatima Lima
Fatima Lima

Posted on

Conheça sobre a Ethereum mais do que ETH

Ethereum

Durante o lockdown em 2020, enquanto navegava no Chrome e no Instagram, deparei-me com as criptomoedas, especialmente o Bitcoin. Como estudante, fiquei intrigado e decidi me aprofundar no mundo das criptomoedas. Após realizar uma extensa pesquisa, desenvolvi uma forte crença no potencial da tecnologia blockchain. Sem hesitar, decidi investir uma pequena quantia em criptomoedas, apenas para experimentar uma pequena perda, que considerei uma valiosa experiência de aprendizado.

Meu interesse pela blockchain cresceu e eu me aprofundei em plataformas centralizadas como a Binance, onde adquiri uma riqueza de conhecimentos sobre atualizações de preços, fluxos de trabalho de transações e os conceitos subjacentes da blockchain. Como resultado, desenvolvi uma paixão e um entusiasmo genuínos para me tornar um desenvolvedor de blockchain, sendo a Ethereum a blockchain de minha escolha. Para atingir meu objetivo, percebi a importância de aperfeiçoar minhas habilidades e praticar com afinco na plataforma Ethereum.

Para um novato que deseja se tornar um desenvolvedor de blockchain com foco na Ethereum, há vários artigos. Esses artigos ajudarão a construir bases sólidas e eu tenho várias perguntas intrigantes que despertam meu interesse e, acredito, interessarão a você também! Vamos nos aprofundar juntos nessas seis perguntas instigantes! :)

O Que é a Ethereum!

A Ethereum é um projeto aberto que opera com base nos princípios de descentralização e transparência. Ela elimina a necessidade de intermediários, permitindo interações diretas entre usuários sem o envolvimento de terceiros. Essa abordagem peer-to-peer (ponto a ponto) garante maior controle sobre os dados e ativos de uma pessoa. Além disso, o código executado na blockchain da Ethereum é imutável, o que significa que, uma vez implantado, ele não pode ser alterado, aumentando a segurança e a confiança no sistema. Com sua arquitetura robusta, a Ethereum garante que as interações na rede sejam altamente seguras, promovendo um senso de propriedade e capacitação para seus usuários, que mantêm controle total sobre seus dados e o valor que possuem. Como resultado, a Ethereum se destaca como uma plataforma revolucionária que defende a autonomia e a privacidade, ao mesmo tempo em que oferece uma série de oportunidades para vários aplicativos e serviços.

Se você estiver familiarizado com terminologias fundamentais, como Blockchain, Criptomoeda, Contratos Inteligentes, Descentralização, Nós, DApp (Aplicativo Descentralizado), Mecanismos de Consenso como PoW e PoS, Mineração, Carteira, Chave Pública e Chave Privada, Fork, Gas, Token, Blockchains Públicas e Privadas, Explorador de Blocos, Token Não Fungível (NFT), então você tem uma compreensão abrangente da Ethereum e de seus princípios subjacentes.

Esclareça estas Questões!

==>Por que uma linguagem separada, como Solidity, para Ethereum, além das já existentes Rust, C++, JS e outras?

O Solidity foi desenvolvido especificamente para atender aos requisitos e desafios específicos dos contratos inteligentes baseados em blockchain, como:

  1. Compatibilidade EVM: A Ethereum usa a Máquina Virtual Ethereum (EVM) para executar contratos inteligentes. O Solidity foi projetado especificamente com o alvo na EVM, permitindo que ele seja executado uniformemente em todos os nós da Ethereum.

  2. Linguagem orientada a contratos: O Solidity foi projetado como uma linguagem de programação orientada a contratos, o que significa que seu foco principal é escrever contratos inteligentes e gerenciar suas interações.

  3. Segurança e determinismo: Os contratos inteligentes na Ethereum são executados em um ambiente descentralizado e lidam com ativos e valores do mundo real. O Solidity foi projetado com foco em segurança e determinismo para garantir que o código se comporte de forma previsível e segura sob todas as condições.

Embora outras linguagens de programação, como Rust, C++ e JavaScript, tenham seus méritos, elas podem não ser tão adequadas aos requisitos exclusivos dos contratos inteligentes de blockchain ou podem não ter compatibilidade nativa com a Máquina Virtual Ethereum. Além disso, ter uma linguagem exclusiva como o Solidity ajuda a criar um ambiente de desenvolvimento padronizado e consistente para aplicativos descentralizados baseados na Ethereum.

==> Onde esse EVM está presente? mais sobre EVM?

A Máquina Virtual Ethereum (EVM) não é uma entidade física ou um servidor centralizado. Em vez disso, é uma máquina virtual que existe em cada nó da rede Ethereum. Cada computador (nó) que participa da rede Ethereum executa uma instância da EVM e é isso que permite a execução de contratos inteligentes e o processamento de transações.

Mais utilidades da EVM:

  1. Execução de contratos inteligentes: O objetivo principal da EVM é executar contratos inteligentes escritos em linguagens como Solidity.
  2. Aplicativos Descentralizados (DApps) : A EVM permite o desenvolvimento e a implantação de aplicativos descentralizados (DApps) na rede Ethereum.
  3. Finanças Descentralizadas (DeFi): os aplicativos DeFi aproveitam a EVM para permitir vários serviços financeiros, como empréstimos, financiamentos, comércio e yield farming, sem a necessidade dos tradicionais intermediários financeiros.
  4. Organizações Autônomas Descentralizadas (DAOs): As DAOs são organizações governadas por contratos inteligentes e votação da comunidade. A EVM é fundamental para a operação das DAOs, pois executa os mecanismos de votação e governança que determinam as ações da organização.

e muito mais! Em geral, a versatilidade e a natureza descentralizada da EVM a tornam um componente essencial para a criação de uma ampla gama de aplicativos e serviços na blockchain Ethereum, promovendo a inovação e o crescimento do ecossistema descentralizado.

==> Implementação de Contratos Inteligentes e realização de transações em Blockchain, o que isso realmente significa?

A implantação de Contratos Inteligentes e a realização de transações são duas ações fundamentais no contexto das blockchains, especialmente em plataformas como a Ethereum. A implantação de um contrato inteligente e a execução de uma transação para interagir com esse contrato inteligente são duas operações distintas que podem ocorrer em momentos diferentes e, potencialmente, em blocos diferentes.

1.Implantação de Contratos Inteligentes:

  • Um contrato inteligente é um código autoexecutável armazenado na blockchain. Ele contém as regras e a lógica para ações e acordos específicos entre as partes. Esses contratos são escritos em linguagens de programação específicas (como Solidity para Ethereum) e compilados em bytecode que pode ser executado pela Máquina Virtual Ethereum (EVM).
  • Implantar um contrato inteligente significa fazer o upload e inicializar o código do contrato na rede blockchain. Isso geralmente é feito por um usuário (ou uma organização) conhecido como implantador ou criador do contrato.
  • Ao implantar um contrato inteligente, o implantador especifica o bytecode do contrato, os argumentos do construtor (se houver) e quaisquer configurações ou permissões adicionais relacionadas ao contrato.
  • Após a implantação, o contrato inteligente recebe um endereço exclusivo na blockchain, permitindo que outros usuários interajam com ele por meio de transações.

2.Realização de transações:

  • Uma transação é uma operação fundamental em uma rede blockchain. É um registro de uma ação específica iniciada por uma conta de propriedade externa (EOA) ou outro contrato inteligente na rede.
  • As transações podem representar várias ações, como a transferência de criptomoedas (por exemplo, Ether, no caso da Ethereum) de um endereço para outro, a interação com um contrato inteligente (chamando suas funções) ou a alteração do estado da blockchain de alguma outra forma.
  • Para fazer uma transação, um usuário cria e assina uma mensagem de transação usando sua chave privada. A transação inclui informações como o endereço do destinatário, o montante da criptomoeda (se aplicável) e qualquer dado ou chamada de função relevante para uma interação de contrato inteligente.
  • Depois que a transação é criada, ela é transmitida para a rede e aguarda a validação por mineradores (no caso de redes de prova de trabalho, como a Ethereum) ou validadores (no caso de redes de prova de participação, como a Ethereum 2.0).
  • Depois que a transação é incluída em um bloco e confirmada pela rede, as alterações que ela implica (por exemplo, atualização de estados de contratos inteligentes ou transferência de criptomoeda) são aplicadas à blockchain, tornando-se imutáveis e parte do histórico do livro-razão.

Portanto, embora a implantação de um contrato inteligente geralmente ocorra em um bloco específico dedicado à criação do contrato, a execução de transações para interagir com o contrato inteligente ocorre em blocos diferentes à medida que os usuários iniciam essas interações ao longo do tempo. As duas ações não estão necessariamente incluídas no mesmo bloco. A ordem em que as transações e as criações de contratos são incluídas nos blocos depende de vários fatores, como preço do gas, taxas de transação, congestionamento da rede e o algoritmo de seleção dos mineradores.

Em resumo, a implantação de um contrato inteligente ocorre em sua própria transação de criação, geralmente em um bloco exclusivo, enquanto as interações com o contrato inteligente por meio de transações regulares ocorrem em blocos subsequentes, à medida que os usuários iniciam essas interações.

==> A Blockchain Ethereum usa outro banco de dados (como o centralizado) para armazenar vários dados de uma conta ou transações ou algo assim?

Sim, a blockchain Ethereum usa bancos de dados para armazenar vários dados relacionados a contas, transações e outras informações. No entanto, é importante entender que a maneira como os dados são armazenados em uma blockchain é fundamentalmente diferente dos bancos de dados centralizados tradicionais.

Na Ethereum, há principalmente dois tipos de bancos de dados usados:

  1. Estado On-chain: O estado on-chain é o estado atual de toda a rede Ethereum. Ele representa o estado coletivo de todas as contas e contratos inteligentes na blockchain. Esse estado é armazenado diretamente na blockchain e é replicado em todos os nós da rede. Ele inclui informações como saldos de contas, armazenamento de contratos e código de contratos.
  2. Banco de dados off-chain: Embora o estado on-chain contenha dados essenciais, não é prático armazenar todos os dados na blockchain devido à sua natureza distribuída e imutável. Alguns dados, como arquivos grandes ou informações que mudam com frequência, são mais adequados para o armazenamento off-chain. Nesses casos, os desenvolvedores usam bancos de dados off-chain ou sistemas de armazenamento de arquivos descentralizados (por exemplo, IPFS) para armazenar esses dados.

Veja a seguir um detalhamento de como os diferentes tipos de dados são armazenados:

a. Dados de Conta: O estado on-chain armazena dados relacionados à conta, como endereços de conta, saldos de conta (quantidade de Ether) e histórico de transações. Os dados de cada conta são armazenados na blockchain.

b. Dados de Transação: As próprias transações são armazenadas na blockchain, formando o histórico de transações. No entanto, os dados reais contidos na transação (por exemplo, chamadas de função e argumentos para interações de contratos inteligentes) são armazenados no campo de entrada da transação, que faz parte dos dados da blockchain.

c. Código e Armazenamento do Contrato Inteligente: O bytecode dos contratos inteligentes é armazenado on-chain no estado on-chain. Quando um contrato inteligente é implantado, seu código é incluído em uma transação e armazenado permanentemente na blockchain. Além disso, os contratos inteligentes podem ter variáveis de armazenamento, que fazem parte do estado do contrato e são armazenadas on-chain.

d. Dados off-chain: Conforme mencionado anteriormente, alguns dados, como arquivos grandes ou informações atualizadas com frequência, não são armazenados diretamente na blockchain devido a considerações de armazenamento e custo. Em vez disso, esses dados são armazenados off-chain, seja em bancos de dados centralizados ou em sistemas de armazenamento de arquivos descentralizados, como o IPFS. Nesses casos, a blockchain pode armazenar uma referência ou hash que aponte para o local dos dados off-chain.

Em resumo, a Ethereum depende predominantemente do estado on-chain para armazenar dados relacionados à conta, código de contrato inteligente e determinados dados essenciais de transações. No entanto, os desenvolvedores podem usar bancos de dados off-chain ou armazenamento descentralizado de arquivos para tipos específicos de dados que não são práticos para serem armazenados diretamente na blockchain. A combinação de soluções de armazenamento on-chain e off-chain permite que a Ethereum atinja um equilíbrio entre imutabilidade de dados, descentralização e escalabilidade.

==> Qual é a parte mais difícil no desenvolvimento na blockchain ETH, além de qualquer outra blockchain de camada 1?

O desenvolvimento na blockchain Ethereum, em comparação com outras blockchains de Camada 1, vem com seu conjunto exclusivo de desafios. Embora a Ethereum seja uma das plataformas de blockchain mais maduras e amplamente adotadas, ela também enfrenta certas dificuldades que os desenvolvedores precisam superar. Algumas das partes mais difíceis do desenvolvimento na Ethereum incluem:

  1. Escalabilidade: No início, a Ethereum usava o mecanismo de consenso Proof-of-Work (PoW ou prova de trabalho). A rede tem uma capacidade limitada de processamento de transações, o que leva ao congestionamento durante os períodos de alta demanda e ao aumento das taxas de transação. E a transição da Ethereum 2.0 para o Proof-of-Stake (prova de participação) tem o objetivo de abordar a escalabilidade, mas o desenvolvimento de aplicativos altamente escaláveis na Ethereum continua sendo um desafio.
  2. Taxas de Gas: As transações da Ethereum exigem o pagamento de taxas de gas, que flutuam com base no congestionamento da rede e na complexidade da computação. As altas taxas de gas podem tornar certas transações economicamente inviáveis para os usuários, especialmente para operações simples, como a transferência de pequenas quantidades de Ether ou a interação com contratos inteligentes básicos. Isso pode ser um obstáculo para aplicativos que exigem transações frequentes e de baixo custo.
  3. Segurança de Contratos Inteligentes: Escrever contratos inteligentes seguros é fundamental, pois qualquer vulnerabilidade ou erro no código pode levar a consequências catastróficas, inclusive a perda de fundos. A complexidade das interações de contratos inteligentes, juntamente com a irreversibilidade das transações de blockchain, exige um entendimento completo das práticas recomendadas, técnicas de verificação formal e testes rigorosos para garantir a segurança.
  4. Interoperabilidade: O domínio da Ethereum no espaço da blockchain fez com que uma ampla gama de aplicativos descentralizados fosse desenvolvida na plataforma. Entretanto, a interoperabilidade de cadeias cruzadas entre a Ethereum e outras blockchains ainda é um desafio. Os projetos que visam à integração com outras redes ou à migração entre blockchains precisam resolver problemas de compatibilidade e consistência de dados.

Apesar desses desafios, a Ethereum continua sendo a plataforma de contrato inteligente mais amplamente usada e estabelecida, oferecendo um ecossistema vibrante e uma comunidade de desenvolvedores significativa. À medida que a Ethereum continua a evoluir e a adotar atualizações, muitos desses desafios estão sendo resolvidos e os desenvolvedores podem aproveitar a robustez, a segurança e os efeitos de rede da plataforma para criar aplicativos descentralizados inovadores.

==> Quais problemas reais foram resolvidos pela Blockchain, como a Ethereum, para evitar tecnologias de nuvem como AWS, AZURE?

As plataformas de blockchain, como a Ethereum, oferecem soluções e vantagens exclusivas que as diferenciam das tecnologias tradicionais de nuvem, como AWS (Amazon Web Services) e Azure (Microsoft Azure). Embora ambas sirvam a propósitos distintos e tenham seus pontos fortes, a blockchain atende a desafios específicos que não são totalmente abordados pelos serviços de nuvem tradicionais. Aqui estão alguns dos problemas resolvidos por plataformas de blockchain como a Ethereum:

  1. Descentralização: A principal vantagem da blockchain, incluindo a Ethereum, é a descentralização. Os serviços tradicionais de nuvem dependem de servidores centralizados e data centers gerenciados por uma única entidade. Em contrapartida, a blockchain opera em uma rede distribuída de nós, o que a torna mais resistente a pontos únicos de falha, censura e ataques. A descentralização promove um ambiente sem necessidade de confiança em que os dados e as transações são verificáveis por qualquer participante sem depender de uma autoridade central.
  2. Confiança e Imutabilidade: a blockchain alcança a integridade e a imutabilidade dos dados por meio de técnicas criptográficas. Depois que os dados são registrados na blockchain, é extremamente difícil alterá-los ou excluí-los. Essa propriedade é valiosa para aplicativos que exigem um registro histórico imutável, como rastreamento da cadeia de suprimentos, proveniência de dados e sistemas de votação. Ela elimina a necessidade de terceiros confiáveis para manter a integridade dos dados.
  3. Contratos Inteligentes: Plataformas como a Ethereum suportam contratos inteligentes, códigos autoexecutáveis que aplicam automaticamente os termos de um acordo. Os contratos inteligentes facilitam interações seguras e transparentes entre as partes sem intermediários. Eles permitem a criação de aplicativos descentralizados (DApps) e sistemas financeiros descentralizados (DeFi), eliminando a necessidade de controle central.
  4. Transparência e Auditabilidade: A Blockchain oferece transparência, pois cada transação e entrada de dados é registrada em um livro-razão público. Essa visibilidade permite a auditabilidade e ajuda a evitar fraudes ou manipulação de registros. É particularmente benéfica para setores como finanças, gerenciamento da cadeia de suprimentos e saúde, onde a transparência e a responsabilidade são essenciais.
  5. Tokenização e Propriedade: As plataformas de blockchain suportam a tokenização, permitindo a representação de ativos do mundo real (por exemplo, imóveis, arte) ou ativos digitais (por exemplo, NFTs) como tokens. Esse recurso permite a propriedade fracionária, a liquidez e a transferência eficiente de ativos, expandindo o acesso a várias classes de ativos e criando novos mercados.
  6. Privacidade e Segurança dos Dados: A Blockchain emprega técnicas criptográficas avançadas para proteger a privacidade dos dados e manter a segurança. Ela permite que os usuários controlem o acesso aos seus dados sem revelar informações confidenciais, melhorando a privacidade em comparação com os sistemas centralizados, nos quais os dados podem estar vulneráveis a violações ou acesso não autorizado.
  7. Transações sem fronteiras: A Blockchain permite transações sem fronteiras, sem a necessidade de conversões de moeda ou intermediários. Essa acessibilidade global abre novas oportunidades para o comércio internacional, as transferências e a inclusão financeira.

Embora a blockchain Eth ofereça essas vantagens exclusivas, ela também apresenta certas limitações e desafios, como escalabilidade, maior consumo de recursos e menor eficiência em comparação com os serviços de nuvem centralizados para casos de uso específicos. Portanto, a escolha entre blockchain e tecnologias de nuvem depende dos requisitos e das características específicas do aplicativo ou sistema que está sendo desenvolvido. Alguns aplicativos podem se beneficiar do aproveitamento de ambas as tecnologias em combinação, dependendo de suas necessidades exclusivas.

BONUS UM: A blockchain, como a ETH, substituirá a Web2?

NÃO, ambas têm suas próprias vantagens! As plataformas de blockchain, como a Ethereum, têm o potencial de revolucionar vários aspectos da Internet e desafiar o modelo tradicional da Web2 (centralizado). No entanto, é essencial entender que a substituição completa da Web2 pela blockchain é um processo complexo e gradual e pode não acontecer de maneira direta. Aqui estão alguns pontos importantes a serem considerados:

  1. Coexistência: É provável que as tecnologias Web2 e blockchain coexistam por um futuro próximo. A blockchain introduz novos paradigmas, como descentralização, ausência de necessidade de confiança e transparência, enquanto a Web2 oferece escalabilidade, conveniência e experiências de usabilidade amigável. Casos de uso diferentes podem exigir tecnologias diferentes ou uma combinação de ambas.
  2. Descentralização vs. Centralização: A Web2 é baseada em servidores centralizados controlados por organizações, que atuam como intermediários entre usuários e dados ou serviços. Em contrapartida, a blockchain introduz a descentralização, permitindo interações peer-to-peer e eliminando a necessidade de autoridades centrais. Essa mudança no controle e na propriedade dos dados é uma mudança significativa em relação ao modelo atual da Web2.
  3. Aplicativos de Blockchain: As plataformas de blockchain, como a Ethereum, permitem o desenvolvimento de aplicativos descentralizados (DApps). Os DApps podem fornecer serviços e experiências que são resistentes à censura, transparentes e à prova de adulteração. Embora não possam substituir totalmente os aplicativos da Web tradicionais, eles oferecem uma alternativa para determinados casos de uso em que a descentralização e a ausência de necessidade de confiança são essenciais.
  4. Web3 e o Metaverso: O conceito da Web3 gira em torno da criação de uma internet descentralizada, na qual os usuários têm mais propriedade e controle sobre seus dados, ativos digitais e identidades. O Metaverso, um espaço virtual compartilhado, é um conceito em evolução que aproveita a blockchain, a realidade virtual e a inteligência artificial para criar experiências digitais imersivas. Essas tecnologias estão prontas para remodelar a forma como as pessoas interagem e fazem transações on-line.
  5. Escalabilidade e Adoção: Para que a blockchain possa competir efetivamente com a Web2, ela precisa enfrentar os desafios de escalabilidade. A Ethereum, por exemplo, está fazendo a transição para a Ethereum 2.0, que visa melhorar a escalabilidade e a eficiência. A adoção generalizada das tecnologias de blockchain dependerá da superação de obstáculos técnicos e do fornecimento de experiências de usabilidade amigável.
  6. Soluções Híbridas: É provável que surjam soluções híbridas que combinem elementos da blockchain e da Web2. Por exemplo, os projetos podem usar a blockchain para casos de uso específicos, como verificação de identidade, proveniência de dados ou finanças descentralizadas (DeFi), enquanto utilizam serviços de nuvem tradicionais para escalabilidade e armazenamento.

Em resumo, as tecnologias de blockchain, como a Ethereum, representam uma mudança de paradigma na forma como interagimos com dados e serviços na Internet. Embora tenham o potencial de interromper certos aspectos do modelo centralizado da Web2, uma substituição completa é um processo gradual e complexo. É provável que ambas as tecnologias coexistam, e sua integração dependerá das necessidades e características específicas de diferentes aplicativos e indústrias. À medida que o espaço da blockchain continuar a evoluir, será fascinante ver como a Web3 e os aplicativos descentralizados moldarão o futuro da Internet.

Obrigado a todos pela leitura. Se eu estiver errado, por favor, me corrijam! Fico feliz em conhecer as coisas que não sei 😊

Esse artigo foi escrito por Mujahidshaik e traduzido por Fátima Lima. O original pode ser lido aqui.

Latest comments (0)