Smart Contract: Como um Código Autoexecutável Funciona em uma Blockchain

Smart Contract: Como um Código Autoexecutável Funciona em uma Blockchain

Um smart contract (contrato inteligente) é um programa armazenado em uma blockchain que executa automaticamente os termos escritos em seu código assim que uma transação ou outro contrato o chama. Um programa é um conjunto de instruções de computador. Uma blockchain é um registro compartilhado ao qual novas entradas são adicionadas uma após a outra. Uma transação é uma solicitação enviada a uma blockchain.

Onde Fica um Smart Contract?

Um smart contract fica armazenado em um endereço na blockchain. Um endereço é um identificador, na blockchain, de um usuário ou de um smart contract. O código do contrato e os dados que esse código mantém ficam armazenados nesse endereço. Estado é o conjunto de dados que um smart contract mantém, de modo que esses dados continuem disponíveis na próxima vez que o contrato for executado.

Implantar (deploy) um smart contract significa colocar seu código na blockchain por meio de uma transação que carrega esse código. Após a implantação, o contrato passa a ter um endereço para o qual transações podem ser enviadas.

Como Funcionam os Smart Contracts?

Um smart contract é executado quando uma transação ou outro contrato chama uma de suas funções. Chamar uma função significa pedir ao contrato que a execute. Uma função é um trecho nomeado do código do contrato. Uma transação enviada ao endereço do contrato indica o nome da função e fornece suas entradas, que são os dados de que a função precisa.

Os nós da rede blockchain executam o código de um smart contract. Um nó é um computador que executa o software de uma rede blockchain e se conecta a outros computadores da rede. Quando o código altera o estado do contrato, essa alteração é registrada na blockchain.

Uma conta é um registro em uma blockchain que possui um endereço e um saldo. Um saldo é a quantidade da moeda nativa da blockchain que uma conta possui. Uma moeda nativa é a unidade nativa de uma blockchain, como o BTC na Bitcoin.

Na Ethereum, como descrito em sua documentação, existem dois tipos de conta. Uma conta de usuário é controlada por uma pessoa que possui uma chave privada. Uma chave privada é um número secreto que assina transações. Uma conta de contrato armazena código, e é no endereço de uma conta de contrato que fica guardado um smart contract.

Uma chamada a um smart contract vem de uma conta de usuário ou de outro contrato. Nesta publicação, a expressão “autoexecutável” descreve um contrato cujo código executa suas instruções assim que é chamado. Ela não descreve um contrato que inicia uma execução por conta própria, pois uma conta de contrato só pode enviar mensagens em resposta ao recebimento de uma transação.

Um exemplo fictício ilustra uma única chamada. Contratos reais variam quanto ao que armazenam e à forma como suas funções são escritas. No exemplo, um contrato mantém uma quantidade de unidades para cada um de dois endereços. Uma unidade é uma contagem que o contrato mantém. O endereço A tem 100 unidades, e o endereço B tem 20 unidades.

  1. Uma conta de usuário envia uma transação que chama a função transfer do contrato, solicitando a transferência de 30 unidades do endereço A para o endereço B.
  2. Os nós executam o código do contrato.
  3. O código verifica se o endereço A possui pelo menos 30 unidades.
  4. O código reduz o endereço A para 70 unidades e aumenta o endereço B para 50 unidades.
  5. A alteração é registrada na blockchain. Os dois endereços somam 120 unidades no total, tanto antes quanto depois da chamada.

O Que um Smart Contract Pode Guardar e Fazer?

Um smart contract pode manter um saldo da moeda nativa da blockchain, assim como uma conta de usuário. Um smart contract também pode manter registros em seu estado, como uma contagem para cada endereço, e a chamada de uma de suas funções pode alterar esses registros.

Um smart contract pode chamar outros contratos, o que permite que o código de um contrato utilize as funções de outro. Uma função pode registrar um evento, que é um aviso na blockchain que softwares externos à blockchain podem monitorar.

Um contrato de token é um smart contract que cria e controla tokens. Diferentemente de uma moeda nativa, um token é uma unidade emitida em uma blockchain já existente, por meio de um smart contract. Um padrão de token é uma especificação publicada das funções e eventos que um contrato de token oferece.

O Que Determina o Comportamento de um Smart Contract, e Ele Ainda Pode Mudar?

O código armazenado no endereço de um smart contract determina o que o contrato faz. Um smart contract executa exatamente o que seu código diz, o que pode diferir do que seu autor pretendia. O código no endereço de um smart contract não muda depois que o contrato é implantado, mas um contrato pode ser projetado de modo que o comportamento executado seja substituído.

Um smart contract ainda pode ser projetado de forma que seu comportamento possa ser substituído. Um contrato pode armazenar o endereço de um segundo contrato e repassar chamadas a ele. Se o primeiro contrato foi projetado para permitir que o endereço armazenado seja alterado, o comportamento executado pode mudar enquanto o endereço do primeiro contrato permanece o mesmo. Um contrato projetado dessa forma também pode definir quais contas têm permissão para alterar o endereço para o qual ele repassa as chamadas.

Qual é o Equivalente da Bitcoin a um Smart Contract?

A Bitcoin, uma rede de criptomoeda cuja moeda é o BTC, tem um equivalente nos scripts. Um script é uma regra, escrita na linguagem de script da Bitcoin, que precisa ser satisfeita antes que uma quantidade de BTC possa ser movimentada. Em outubro de 2026, a documentação da Bitcoin descreve sua linguagem de script como deliberadamente limitada. BTCFi, abreviação de finanças nativas da Bitcoin, é um termo usado por diversas partes para descrever atividades financeiras construídas em torno do BTC, incluindo smart contracts e outros modelos.

O Que é uma Revisão de Código de um Smart Contract?

Uma revisão de código de um smart contract é uma verificação do código do contrato feita por pessoas diferentes de seu autor, que leem o código em busca de erros. Uma auditoria é uma das formas de realizar uma revisão de código. Uma revisão pode deixar passar erros, então uma revisão não comprova que o código de um contrato esteja livre de falhas.

Quais São os Limites de um Smart Contract?

Sem um oráculo, um smart contract funciona apenas com dados presentes na blockchain em que é executado. Um oráculo é um serviço que envia dados externos a um contrato. Dados externos são dados que não estão armazenados na blockchain do contrato, como uma data externa ou um resultado externo.

Um erro no código de um smart contract já implantado pode permanecer ali, a menos que o contrato tenha sido projetado de forma que seu comportamento possa ser substituído.

27 de novembro de 2025

Notícias da GoMining

Talvez você se interesse por: