Pular para o conteúdo

O que é um contrato inteligente?

Smart contracts são códigos executáveis que funcionam sem intermediários e são a base do DeFi, stablecoins e NFTs. Saiba como funcionam.

7 minutos
O que é um contrato inteligente?

O que é um smart contract?

Um smart contract é um código autoexecutável armazenado em uma rede blockchain que realiza automaticamente um acordo quando suas condições são atendidas, sem precisar de um intermediário. Os smart contracts impulsionam apps, DeFi, NFTs e DAOs ao aplicar regras de forma transparente e confiável. Os smart contracts não são específicos de uma única rede; Ethereum e outras blockchains compatíveis com EVM, Solana, Cardano, Polkadot e Sui executam smart contracts, cada uma usando sua própria linguagem de programação e modelo de execução. Como um smart contract vive onchain, ele funciona sem intermediários, suas regras são visíveis para qualquer pessoa que queira verificá-las e, uma vez implantado, geralmente não pode ser alterado. Os smart contracts são os blocos de construção por trás da maioria dos apps blockchain, incluindo protocolos DeFi, stablecoins, NFTs e DAOs.

Aviso: Este guia tem fins educacionais apenas. Não é aconselhamento financeiro, não é uma solicitação e não se destina ao público do Reino Unido. Interagir com smart contracts é arriscado e não é adequado para todos os usuários.

Como funcionam os smart contracts

Um desenvolvedor escreve um contrato e o implanta em uma blockchain uma única vez. A partir desse momento, qualquer pessoa pode interagir com ele, e ele executa sua lógica sempre que suas condições são acionadas — por exemplo, liberando tokens quando um pagamento é recebido, ou permitindo que um usuário saque fundos após uma determinada altura de bloco. Duas propriedades definem os smart contracts em todas as redes que os suportam: a execução é automática e não precisa de intermediários, e o código é imutável por padrão, portanto um bug é permanente a menos que o contrato tenha sido especificamente projetado para ser atualizável.

Executar um smart contract também tem um custo. Cada rede cobra uma taxa de rede para processar a computação e o armazenamento que um contrato utiliza — chamada de "gas" no Ethereum e na maioria das redes EVM, e com nomes e modelos de taxas diferentes em outros lugares (taxas por transação da Solana, taxas por transação mais unidades de execução de script da Cardano, taxas baseadas em peso da Polkadot). A mecânica é diferente, mas o princípio é o mesmo: executar código em blockchains consome recursos de rede, e alguém precisa pagar por isso.

Um breve histórico dos smart contracts

A ideia por trás dos smart contracts é anterior a qualquer blockchain. O cientista da computação e estudioso de direito Nick Szabo cunhou o termo "smart contract" em 1994 e o desenvolveu em um ensaio de 1996, descrevendo um protocolo de transação computadorizado que executa os termos de um acordo, comparando o conceito a uma máquina de venda automática que entrega um produto de forma confiável ao receber o pagamento, sem necessidade de confiar na outra parte (escrita original de Szabo, conforme referenciada em históricos do conceito). Na época, não existia nenhuma plataforma capaz de executar esse tipo de código de forma minimamente confiável e resistente a adulterações, então a ideia permaneceu amplamente teórica por duas décadas.

O Bitcoin, lançado em 2009, introduziu uma blockchain, mas apenas uma linguagem de script limitada (Bitcoin Script), que intencionalmente não é Turing-completa — ela pode aplicar condições de gasto como requisitos de múltiplas assinaturas e timelocks, mas não pode executar programas arbitrários de uso geral. O Bitcoin Script controla como os fundos existentes podem ser gastos; ele não consegue expressar lógica aberta sobre o que acontece a seguir, portanto o Bitcoin não é considerado uma plataforma de smart contracts de uso geral.

O Ethereum, lançado em 30 de julho de 2015, foi a primeira grande blockchain construída especificamente para executar smart contracts de uso geral, por meio da Ethereum Virtual Machine (EVM), um runtime compartilhado que cada nó Ethereum executa de forma idêntica (ethereum.org, History of Ethereum). Isso tornou o Ethereum programável de uma forma que as blockchains anteriores não eram, e é por isso que a maior parte da terminologia de smart contracts — gas (também conhecido como taxas de rede), contas de contrato, Solidity — tem origem lá. Nos anos seguintes, outras redes construíram seus próprios ambientes de smart contracts usando diferentes linguagens e modelos de execução, incluindo Solana (2020), os scripts Plutus da Cardano (2021), os contratos ink! da Polkadot e os objetos baseados em Move da Sui (2023), estendendo o conceito muito além de uma única rede.

Onde os smart contracts são executados?

O runtime e a linguagem que um smart contract utiliza dependem inteiramente da rede em que ele é implantado. Algumas redes rastreiam o estado como saldos de contas que os contratos leem e escrevem (modelo de contas do Ethereum); outras rastreiam o estado como outputs discretos e gastáveis (modelo eUTXO da Cardano, uma extensão do modelo UTXO do Bitcoin) ou como objetos de propriedade individual (modelo centrado em objetos da Sui). Essas diferenças afetam como os contratos são escritos e como podem ser compostos, mas não a garantia básica: código que é executado automaticamente e, uma vez implantado, é difícil ou impossível de alterar.

Rede

Linguagem

Modelo de execução

Uso notável no ecossistema

Ethereum e redes EVM

Solidity; Vyper; Compilado para EVM bytecode

Baseado em contas; uma chamada de contrato é executada por vez por chain

DeFi; Stablecoins; Tokens ERC-20 e ERC-721

Solana

Rust, comumente com o framework Anchor

Sealevel: executa transações em paralelo quando não acessam os mesmos dados

DeFi de alto throughput; Marketplaces de NFT

Cardano

Plutus (baseado em Haskell)

Extended UTXO (eUTXO): os resultados das transações podem ser verificados antes do envio

DeFi; Emissão de tokens nativos

Polkadot (via parachains)

ink! (baseado em Rust); Parachains EVM como Moonbeam também executam Solidity

Executado sobre parachains baseadas em Substrate; implantação sem permissão

Apps de parachain; Prototipagem

Sui

Move

Centrado em objetos: as transações modificam objetos de propriedade, permitindo processamento paralelo

NFTs; Gaming; DeFi

Bitcoin

Bitcoin Script

Limitado, não Turing-completo; aplica apenas condições de gasto

Carteiras multisignature; Timelocks; Protocolos de Layer 2

Fonte: ethereum.org; Solana Sealevel; Cardano eUTXO; documentação use.ink; conceitos Sui Move.

Quem escreve e usa smart contracts?

Desenvolvedores escrevem e implantam smart contracts; qualquer pessoa com as ferramentas certas e tokens nativos suficientes da rede para cobrir os custos de implantação pode fazê-lo, e a implantação não requer permissão da rede subjacente. Uma vez que um contrato está ativo, qualquer pessoa pode interagir com ele — geralmente por meio da interface de um app, em vez de escrever código diretamente. Uma pessoa que troca tokens, cria um NFT ou vota em uma DAO está acionando a execução de um smart contract, normalmente sem precisar entender a linguagem ou o runtime subjacente.

Padrões de tokens

Muitos ativos descritos como "tokens" são smart contracts que seguem um padrão compartilhado, o que permite que carteiras e apps interajam com qualquer token compatível da mesma forma. No Ethereum e em outras redes EVM, o ERC-20 é o padrão para tokens fungíveis, incluindo a maioria das stablecoins e utility tokens, e o ERC-721 é o padrão para NFTs, onde cada token é único. Outras redes têm seus próprios equivalentes — o padrão de token SPL da Solana, por exemplo — construídos para seus respectivos modelos de execução.

O que os smart contracts impulsionam?

Em todos os ecossistemas, os smart contracts são o motor por trás dos apps: protocolos DeFi para empréstimos, financiamentos e negociações; marketplaces de NFTs e ativos digitais; e DAOs cujas regras de governança vivem em código, em vez de nas políticas internas de uma empresa. A implementação específica varia por rede, mas o padrão subjacente — código que aplica um acordo sem intermediários — é consistente.

Por que os smart contracts existem?

Os smart contracts existem para eliminar a necessidade de um intermediário confiável para fazer cumprir um acordo. Em vez de depender de um banco, um agente de custódia ou um operador de plataforma para guardar fundos e seguir um conjunto de regras, as regras são codificadas diretamente e executadas da mesma forma para todos que interagem com o contrato. Essa é a propriedade que torna possível as finanças programáveis e autocustodiadas, a propriedade digital e a governança blockchain em escala — independentemente de qual rede hospeda o código.

Aprovações de tokens e segurança

Usar um app geralmente significa conceder a um smart contract uma aprovação de token — permissão para movimentar um token específico em seu nome. Isso é normal, mas também é um vetor de ataque comum, porque um contrato malicioso pode solicitar uma aprovação que permite mover mais do que o usuário pretendia. Uma aprovação de token pode ser limitada a um valor específico ou ilimitada. A extensão MetaMask exibe o escopo completo da aprovação de token — incluindo o endereço do contrato e se a aprovação é limitada ou ilimitada — antes de assinar, o que permite ao usuário revisá-la primeiro. Nosso guia sobre aprovações de tokens explica como revisá-las e revogá-las.

Riscos dos smart contracts

  • Bugs são permanentes: código imutável com uma falha geralmente não pode ser corrigido após a implantação.

  • Auditorias reduzem, mas não eliminam o risco: contratos auditados já foram explorados.

  • Contratos maliciosos existem em todas as redes que os suportam, não apenas em uma.

Perguntas frequentes sobre contratos inteligentes

Traduzido por IA. Pode conter erros. Por favor, verifique sempre as informações.

Avalie a tradução

Este artigo foi escrito por:

  • MetaMask

    A MetaMask, anteriormente Consensys Software Inc, é a maior plataforma financeira self-custodial do mundo, oferecendo às pessoas um único lugar para guardar, gastar, economizar e fazer seu dinheiro crescer em ativos cripto e tradicionais. A empresa está construindo a plataforma de consumo onde isso acontece, reunindo pagamentos, poupança, investimentos e ativos digitais em uma experiência integrada e fluida. Tendo crescido a partir da carteira self-custodial mais amplamente utilizada do mundo, a MetaMask oferece aos usuários controle direto sobre seu dinheiro e ativos, com alcance em aproximadamente 190 países. A MetaMask desempenhou um papel fundamental no crescimento do Ethereum desde 2016. Hoje, a MetaMask está no centro da economia blockchain, construindo o sistema operacional para o Open Money e colocando as pessoas em total controle de suas vidas financeiras.

    Ler todos os artigos