🇧🇷
Ethereum Developer Pack - PT
  • Ethereum Developer Pack - PT
  • Módulo 1
    • Introdução a Smart Contracts
      • Fundamentos de Blockchain
        • Histórico
        • Bitcoin
        • O que é Blockchain
        • Conceitos-chave em Blockchain
        • Como funciona a Blockchain
        • Tipos de Blockchain
        • Modelos de Consenso
      • A nova Internet
        • Web 3
        • Elementos Fundamentais
        • Impacto do Ethereum em Diversos Setores
      • Wallets
        • Componentes de uma wallet
        • Tipos de Wallet
        • Códigos Mnemônicos
      • Ethereum 101
        • Smart Contracts
        • Contas
          • Tipos de contas
          • Conteúdo das contas
        • Transações
          • Componentes
          • Ciclo de vida
        • Gás
        • Solidity
        • EVM
          • A máquina de estados
          • Opcodes
          • Como funciona a EVM
          • Clientes de execução
          • DApps
      • Blockchain Explorer
        • Funções de um blockchain explorer
        • Beneficios de utilizar um blockchain explorer
      • Remix
        • Características do Remix
        • Workspaces ou espaços de trabalho
        • Carregar e compilar um contrato
        • Implantar na máquina virtual do Remix (Remix VM)
        • Interagindo com funções
        • Deployar em uma rede pública
      • Crie seu primeiro Smart Contract
  • Módulo 2
    • Fundamentos de Solidity
      • Hello World
      • Tipos de Dados
      • Funções
      • Variáveis
        • Exercício 1
      • Operadores
        • Ejercicio 2
      • Constructor
        • Exercício 3
      • Convenções de nomenclatura
      • Tipos de armazenamento para variáveis
      • Estruturas de Controle
        • Exercício 4
      • Modificadores
      • Eventos
        • Exercício 5
      • Tipos de Referencia
        • Arrays
          • Exercício 6
        • Mappings
          • Exercício 7
        • Structs
          • Exercício 8
      • Address Payable
      • Como os contratos e funções recebem Ether.
      • Transferências de Ether
      • Conceitos Avançados
        • Codificação de ABI
        • Hashing
        • This
        • Herança
        • Abstract
        • Interface
        • Chamada entre contratos
        • EVM
        • ABI
        • Bytecode
        • Opcodes
  • Módulo 3
    • ERCs, Bibliotecas e Padrões de Desenvolvimento
      • Boas Práticas de Desenvolvimento
      • Padrões de Desenvolvimento
      • EIP & ERC
      • ERC-20
      • ERC-721
      • Open Zeppelin
      • Crie um Token ERC-20
      • Almacenamiento Descentralizado: IPFS
      • Crea un Token ERC-721
      • DeFi
  • Módulo 4
    • Kit de ferramentas para desenvolvimento na Ethereum
      • Requisitos para o módulo 4
        • Terminal
        • Git e Github
        • Node.js e npm
        • Visual Studio Code para Solidity
      • Toolkit
        • JSON-RPC
        • Ethers.js
          • Exercício
        • Hardhat
          • Implantação de um contrato no Hardhat
          • Implantação de um contrato em uma rede pública
        • Scaffold-ETH
          • Características do Scaffold-ETHCaracterísticas
          • Como instalar o Scaffold-ETH
  • Módulo 5
    • Segurança, Testes e Auditorias
      • Testes
        • Importância de realizar testes
        • Métodos para testar contratos inteligentes
          • Testes automatizados
          • Testes manuais
        • Conceitos importantes em testes
        • Ferramentas para testes
        • Testes com Hardhat
        • Recursos adicionais
      • Segurança
        • Uma mentalidade diferente de design
        • Principais vulnerabilidades em contratos inteligentes
          • Reentrancy attack (ataque de reentrada)
          • Replay attack (ataque de repetición)
          • Price Oracle Manipulation (Manipulación de Oráculos de Precios)
          • Missing Access Control (Pérdida de Control de Acceso)
          • Reward Manipulation (Manipulación de Recompensas)
          • Failure to Initialize (Falla al Inicializar)
          • Front-running
          • Invariant Breaks (Quebra de Invariantes)
          • Mishandling of ETH (Má gestão de ETH)
          • Denial of Service (DoS - Negação de Serviço)
          • Integer overflow and underflow (Overflow e Underflow de inteiros)
          • Phishing y Typosquatting
        • Recursos adicionais
      • Auditoria de smart contracts
        • Processo de Auditoria
        • Ferramentas
        • Como se preparar para uma auditoria
        • O teste Rekt
        • Desafios
        • Recursos adicionais
  • Contribuye
    • Kipu Explorer
Powered by GitBook
On this page
  1. Módulo 1
  2. Introdução a Smart Contracts

A nova Internet

PreviousModelos de ConsensoNextWeb 3

Last updated 6 months ago

O Bitcoin é uma blockchain especializada na criação de uma moeda digital (bitcoin) e no registro das transações realizadas com ela. Em seu tempo, alguns pioneiros reconheceram que essa tecnologia poderia ser utilizada para outras aplicações. Por exemplo, o projeto Colored Coins buscava gerenciar ativos do mundo real (ações, moedas, propriedades imobiliárias) na forma de tokens sobre a rede Bitcoin. Assim como nesse caso, começaram a surgir aplicações específicas para diferentes casos de uso, utilizando o Bitcoin Script, o linguagem de programação do protocolo Bitcoin, que empurrava o protocolo ao limite de seu potencial.

No entanto, o Bitcoin Script tem suas limitações. Ele não é um linguagem de programação Turing-complete, pois carece de funções comuns, como loops, que permitem executar uma mesma instrução várias vezes utilizando um contador. Faz sentido restringir essa funcionalidade em uma blockchain de uso específico para controlar dinheiro digital, evitando, por exemplo, que alguém, por erro ou má intenção, crie um loop infinito que paralise a rede. Porém, essas restrições tornam-se inadequadas para a criação de aplicações que vão além do controle de transações financeiras. Assim, esses pioneiros precisavam desenvolver suas ideias utilizando um linguagem de programação limitado, fabricando suas próprias "canivetes suíços", úteis apenas para um número limitado de casos de uso.

Em 2013, um jovem russo-canadense de 19 anos chamado Vitalik Buterin, estudante da Universidade de Waterloo no Canadá, solicitou um ano sabático para trabalhar em projetos de criptomoedas. Ele iniciou uma viagem por diferentes países, como Estados Unidos, Holanda e Israel, onde tinha amigos explorando o potencial do Bitcoin.

Em Israel, havia dois projetos inovadores chamados Colored Coins e Mastercoin. Vitalik colaborou com esses projetos, mas rapidamente percebeu que o enfoque utilizado não era o ideal. Em vez de criar "canivetes suíços" para propósitos limitados, seria mais eficaz criar blocos de LEGO, permitindo que cada um construísse o que quisesse.

Sua ideia não foi tão bem recebida como ele esperava, pois os líderes dos projetos aos quais ele fez sua proposta priorizavam mais a oportunidade de sair ao mercado com o que já tinham, em vez de se aventurar em algo novo.

Dado que Vitalik não teve eco, decidiu criar uma nova blockchain que fosse de propósito geral, na qual se pudesse programar o que se quisesse. Para isso, escreveu o White Paper de Ethereum «Uma plataforma de próxima geração para smart contracts e aplicações descentralizadas», onde descreveu as especificações de uma tecnologia que revolucionaria o mundo, como anos atrás o havia feito Satoshi Nakamoto.

O de Vitalik, publicado em 2013, capturou o interesse de um grupo de colaboradores, entre os quais se destacam Gavin Wood, Charles Hoskinson, Mihai Alisie, Anthony Di Iorio e Joseph Lubin. Em 2014, obtiveram o financiamento para o projeto sob a forma de crowdfunding e, em 2015, puderam colocar o Ethereum em funcionamento graças ao esforço de um exército de colaboradores a nível mundial.

Ethereum é uma evolução do Bitcoin, que incorpora um linguagem de programação Turing complete e a possibilidade de executar código que se guarda na própria blockchain.

É uma grande computador mundial capaz de executar contratos inteligentes e aplicações descentralizadas.

Essas aplicações funcionam exatamente como estão programadas, sem possibilidade de censura, fraude ou interferência de terceiros, já que o código-fonte do contrato inteligente é imutável.

White Paper