O que é um Smart Contract?
Um contrato inteligente é um programa de computador que é armazenado e executado em uma rede descentralizada e sem confiança, como uma blockchain.
Quando digo “sem confiança”, quero dizer que a validade das informações na rede pode ser verificada por qualquer pessoa. Muitas pessoas acham que os contratos inteligentes se aplicam apenas a redes blockchain mais recentes, como o Ethereum, mas o Bitcoin também utiliza contratos inteligentes, embora com funcionalidade limitada.
História e Origem dos Contratos Inteligentes
O Ethereum foi concebido, em parte, como uma forma de generalizar a funcionalidade dos contratos inteligentes do Bitcoin. Dessa forma, a rede Ethereum é uma “máquina de estado Turing completa”, o que significa, de maneira simples, que é um computador de uso geral que também é descentralizado.
Os contratos inteligentes dessa rede podem, em teoria, “computar” qualquer coisa que um programa em um computador normal poderia. Isso significa que a rede poderia, teoricamente, hospedar um aplicativo de mensagens, um jogo ou até mesmo uma plataforma de mídia social inteira. No entanto, no estado atual, as redes descentralizadas são muito limitadas nos tipos de aplicativos que podem suportar, sendo a velocidade e o custo os principais fatores limitantes.
Exploramos isso com mais detalhes em outro artigo sobre o Trilema da Blockchain. Também é importante notar que o Ethereum foi apenas a primeira de muitas redes a criar uma máquina de computação descentralizada de uso geral.
Por que alguém escolheria implantar um contrato inteligente em uma rede descentralizada, em vez de usar uma rede de computação em nuvem centralizada, como a Amazon Web Services (AWS)?
A computação em nuvem, afinal, é muito mais rápida e barata do que suas contrapartes descentralizadas. A resposta é que as redes centralizadas fazem concessões importantes para alcançar essa velocidade e custo.
Como os contratos inteligentes existem em uma rede descentralizada e sem confiança, eles oferecem uma garantia maior na execução justa dos programas. Por exemplo, você precisa confiar que seu banco executará corretamente suas transações bancárias online. Mesmo que o banco seja confiável, pode haver um funcionário mal-intencionado, um hacker que tenha invadido a rede do banco, ou até mesmo um defeito no hardware.
Além disso, você quase não tem como auditar diretamente as transações do banco, muito menos o software que eles usam. Os contratos inteligentes e as redes descentralizadas em que operam reduzem significativamente a necessidade dessas suposições de confiança.
Para muitos casos de uso, os benefícios de transparência, ausência de confiança e garantias sobre a integridade da execução não são necessários. Por exemplo, um programa que modela o clima ou um programa de monitoramento de controle de tráfego aéreo provavelmente não ganharia muito com contratos inteligentes e ainda sofreria grandes penalidades em termos de velocidade e custo.
No entanto, para muitos casos de uso que envolvem dinheiro ou propriedade, as concessões de velocidade e custo provavelmente valem a pena. Exemplos incluem um jogo de cartas digital, uma bolsa de ativos ou um programa para enviar e receber criptoativos.
Como funcionam os contratos inteligentes
Redes descentralizadas e sem confiança, como o Ethereum, podem ser vistas como um computador compartilhado, onde os contratos inteligentes são os programas de software que rodam nesse computador. Os desenvolvedores escrevem contratos inteligentes em uma linguagem de programação e, em seguida, os implantam nesse computador compartilhado.
Quando você implanta um contrato inteligente no “computador”, na verdade, está registrando um endereço especial na rede. Qualquer pessoa pode interagir com um contrato inteligente implantado enviando o token nativo dessa rede para o endereço do contrato. No caso da rede Ethereum, você usaria ETH.
Isso aciona o código no contrato para ser executado de acordo com sua lógica. O código é executado automaticamente seguindo o modelo ‘se isso, então aquilo’, como em qualquer outra linguagem de programação.
Por exemplo, na rede Ethereum, um contrato inteligente simples poderia ser escrito para que, quando você enviasse 1 ETH para ele, seu 1 ETH fosse dividido em 12 partes iguais, cada uma sendo enviada para um endereço especificado em intervalos de um mês. Isso criaria algo semelhante a um fundo fiduciário.
Para casos de uso que existem inteiramente no mundo digital, os contratos inteligentes permitem que as pessoas evitem completamente intermediários. Por exemplo, no exemplo do “fundo fiduciário” mencionado, eliminamos a necessidade de advogados e contas de custódia gerenciadas. Em vez disso, simplesmente enviamos ETH para o contrato e temos a certeza de que ele será enviado ao beneficiário do fundo exatamente como o contrato estabelece, sem necessidade de mais intervenções.
Os contratos inteligentes estão sendo usados de maneiras muito mais complexas para criar Aplicações Descentralizadas (dApps) que permitem, por exemplo, a troca de criptoativos sem necessidade de permissões, ou até mesmo jogos com propriedades digitais que os jogadores podem realmente possuir.
Ficou com alguma dúvida?
Participe do nosso grupo no WhatsApp e tire suas dúvidas diretamente conosco! Clique aqui para entrar.