Introdução

Na década de 1990, Nick Szabo propôs pela primeira vez o conceito de contratos inteligentes. Naquela época, ele definiu contratos inteligentes como ferramentas que padronizam e garantem a segurança das redes de computadores, combinando protocolos e interfaces de usuário.

Szabo discutiu o uso potencial de contratos inteligentes em diversas áreas relacionadas a acordos contratuais, como sistemas de crédito, processos de pagamento e gestão de direitos de conteúdo.

No campo das criptomoedas, os contratos inteligentes podem ser definidos como aplicativos ou programas executados no blockchain. Normalmente, eles funcionam como um protocolo digital imposto por regras específicas. Estas regras são predefinidas por código de computador e são replicadas e executadas por todos os nós da rede.

Os contratos inteligentes Blockchain apoiam a criação de protocolos confiáveis. Isto significa que as partes de um contrato assumem um compromisso através da blockchain sem se conhecerem ou confiarem umas nas outras. As partes determinaram que se as condições não fossem cumpridas, o contrato não seria executado. Além disso, a utilização de contratos inteligentes elimina a necessidade de intermediários, reduzindo significativamente os custos operacionais.

Embora os contratos inteligentes sejam apoiados pelo protocolo Bitcoin há muitos anos, eles se popularizaram pelas mãos do criador e cofundador do Ethereum, Vitalik Buterin. É importante notar que cada blockchain implementa contratos inteligentes de forma diferente.​

Este artigo se concentrará nos contratos inteligentes executados na Máquina Virtual Ethereum (EVM), uma parte importante do blockchain Ethereum.


Como funcionam os contratos inteligentes?

Simplificando, um contrato inteligente é um programa determinístico que executa tarefas específicas quando determinadas condições são atendidas. Portanto, os sistemas de contratos inteligentes geralmente seguem declarações condicionais do tipo "se...então...". Embora o conceito de “contrato inteligente” seja bem conhecido, não é um contrato legal nem inteligente. Eles são apenas um pedaço de código executado em um sistema distribuído blockchain.

Na rede Ethereum, os contratos inteligentes são responsáveis ​​por executar e gerenciar operações de blockchain quando os usuários (endereços) interagem entre si. Endereços fora dos contratos inteligentes são chamados de “Contas Externas (EOA)”. Portanto, os contratos inteligentes são controlados por código de computador, enquanto as contas externas (EOA) são controladas pelos usuários.

Os contratos inteligentes Ethereum consistem basicamente em um código de contrato e duas chaves públicas. A primeira chave pública é fornecida pelo criador do contrato, e a outra chave pública é o próprio contrato e é usada como um identificador digital exclusivo para cada contrato inteligente.

Toda implantação de contrato inteligente ocorre por meio de transações blockchain e só é ativada quando uma conta externa (EOA) ou outro contrato inteligente é chamado. Porém, os contratos inteligentes são geralmente acionados por uma conta externa (EOA), ou seja, pelo usuário pela primeira vez.


Principais recursos

Os contratos inteligentes Ethereum têm as seguintes características comuns:

distribuído. Os contratos inteligentes são replicados e distribuídos por todos os nós da rede Ethereum. Isso é muito diferente de outras soluções centralizadas baseadas em servidor.

Certeza. Os contratos inteligentes só executam ações pré-concebidas quando os requisitos são atendidos. E, não importa quem o faça, os resultados permanecem consistentes.

autonomia. Comparados aos programas "autoexecutáveis", os contratos inteligentes concluirão automaticamente várias tarefas. Na maioria das vezes, os contratos inteligentes não acionados permanecem em estado de “sono” e não executam nenhuma ação.

Imutabilidade. Os contratos inteligentes não podem ser alterados após serem implantados. Os contratos inteligentes só podem ser “excluídos” após a implementação de funções específicas. Portanto, poderíamos também dizer que os contratos inteligentes fornecem código à prova de falsificação.

Personalização. Antes da implantação, os contratos inteligentes são codificados de diversas maneiras. Portanto, pode ser usado para criar uma ampla variedade de aplicativos descentralizados (DApps). Isso anda de mãos dadas com o fato de que Ethereum é um blockchain Turing-completo.

Desconfie. Duas ou mais partes podem interagir através de contratos inteligentes sem a necessidade de se conhecerem ou confiarem uma na outra. Além disso, a tecnologia blockchain garantirá a precisão dos dados.

Transparência. A base dos contratos inteligentes é uma blockchain pública, de modo que o código-fonte não é apenas imutável, mas também aberto e transparente para todos.


Os contratos inteligentes podem ser alterados ou excluídos?

Uma vez implantados, os contratos inteligentes Ethereum não podem adicionar novas funções. Porém, desde que o criador do contrato reserve a função "AUTODESTRUÇÃO" no código, esta função poderá posteriormente "excluir" o contrato inteligente e substituí-lo por um novo contrato. Se esta função não estiver reservada no código, o contrato inteligente não poderá ser excluído.

Vale a pena notar que através dos chamados contratos inteligentes atualizáveis, os desenvolvedores podem operar de forma mais flexível na imutabilidade do contrato. Há muitas maneiras de criar contratos inteligentes atualizáveis, cada um com níveis variados de complexidade.

Como exemplo simples, suponha que um contrato inteligente seja dividido em vários contratos menores. Algumas partes são projetadas para serem imutáveis, enquanto outras permitem funções de “exclusão”. Ou seja, partes do código (contratos inteligentes) podem ser excluídas e substituídas, enquanto outras funcionalidades permanecem inalteradas.


Benefícios e casos de uso

Como códigos programáveis, os contratos inteligentes são altamente personalizáveis, projetados de diversas maneiras e fornecem uma ampla variedade de serviços e soluções.

Sendo programas descentralizados e autoexecutáveis, os contratos inteligentes aumentam a transparência e reduzem os custos operacionais. Dependendo da implementação, os contratos inteligentes também podem melhorar a eficiência da implementação e reduzir custos pesados.

Os contratos inteligentes são particularmente úteis quando se trata de transferências de fundos ou transações entre duas ou mais partes.

Em outras palavras, os contratos inteligentes podem ser adaptados para uma ampla gama de casos de uso, incluindo a criação de ativos tokenizados, sistemas de votação, carteiras de criptomoedas, exchanges descentralizadas, jogos e aplicativos móveis. Os contratos inteligentes também podem ser implementados com outras soluções blockchain que abrangem áreas como saúde, caridade, cadeia de abastecimento, governação e finanças descentralizadas (DeFi).


ERC-20

Os tokens emitidos na blockchain Ethereum seguem o padrão ERC-20. Este padrão especifica a funcionalidade central de todos os tokens Ethereum. Portanto, esses ativos digitais são frequentemente chamados de “tokens ERC-20” e representam uma grande proporção das criptomoedas existentes.

Muitas empresas e startups de blockchain implantaram contratos inteligentes para emitir tokens digitais de forma autônoma na rede Ethereum. Após a emissão de um token, a maioria das empresas distribui seus tokens ERC-20 por meio de uma oferta inicial de moedas (ICO). Na maioria dos casos, o uso de contratos inteligentes pode efetivamente realizar transações de fundos e distribuição de tokens sem confiança.


limitações

Os contratos inteligentes consistem em código de computador escrito por humanos. O código terá defeitos e lacunas, o que trará muitos riscos. Idealmente, os contratos inteligentes devem ser escritos e implementados por programadores experientes, especialmente quando estão envolvidas informações sensíveis e grandes quantias de dinheiro.

Além disso, algumas pessoas acreditam que os sistemas centralizados podem fornecer a maioria das soluções e funções dos contratos inteligentes. A principal diferença é que os contratos inteligentes são executados em uma rede P2P distribuída, em vez de em um servidor centralizado. Além disso, os contratos inteligentes são baseados em sistemas blockchain e, portanto, muitas vezes não podem ser adulterados ou difíceis de alterar.

A imutabilidade dos contratos inteligentes tem vantagens óbvias, mas em alguns casos pode ser contraproducente. Por exemplo, a organização autônoma descentralizada "The DAO" foi hackeada em 2016 e milhões de moedas Ethereum (ETH) desapareceram. A razão foi que o código do contrato inteligente tinha falhas.

Como os contratos inteligentes são imutáveis, os desenvolvedores não podem corrigir o código. Isso eventualmente levou a um hard fork, do qual nasceu a segunda cadeia Ethereum. Simplificando, uma cadeia (parte da atual blockchain Ethereum) é “restaurada” ao que era antes do hack, devolvendo os fundos aos seus proprietários originais. A outra cadeia, agora conhecida como Ethereum Classic, decidiu não intervir no hack, insistindo que os eventos que ocorrem na blockchain nunca deveriam ser adulterados.

É importante notar que este problema não é causado pela blockchain Ethereum, mas sim pela execução incorreta de contratos inteligentes.

Outra limitação dos contratos inteligentes está relacionada com os seus efeitos jurídicos pouco claros. Os contratos inteligentes encontram-se numa zona cinzenta na maioria dos países e ainda não se aplicam aos atuais quadros jurídicos.

Por exemplo, muitos contratos exigem que ambas as partes da transação passem pela autenticação apropriada de nome real e tenham mais de 18 anos. No entanto, o anonimato da tecnologia blockchain e a falta de intermediários entrarão em conflito com os requisitos contratuais. Uma solução para este problema pode surgir no futuro. No entanto, os contratos inteligentes funcionam numa rede distribuída sem fronteiras, tornando a aplicação da lei muito difícil.


Desvantagens

Alguns entusiastas do blockchain veem os contratos inteligentes como soluções autônomas que substituirão grande parte dos sistemas empresariais e burocráticos existentes. Embora a ideia possa se concretizar, ainda há um longo caminho a percorrer antes que se torne a norma.

Os contratos inteligentes são de fato uma tecnologia interessante. No entanto, características como distribuição, determinismo, transparência e imutabilidade por vezes reduzem a atratividade dos contratos inteligentes.

A desvantagem essencial dos contratos inteligentes é que eles não conseguem resolver bem muitos problemas práticos. Na verdade, algumas organizações estão atualmente usando soluções de servidores tradicionais como uma solução provisória.​

Em comparação com os contratos inteligentes, os servidores centralizados são mais fáceis e menos dispendiosos de manter e muitas vezes apresentam grandes vantagens em termos de velocidade e comunicação entre redes (interoperabilidade).


Resumir

Não há dúvida de que os contratos inteligentes tiveram um impacto profundo no campo das criptomoedas e, de fato, trouxeram grandes mudanças no campo do blockchain. Os usuários finais não interagem necessariamente diretamente com contratos inteligentes. Mas num futuro próximo, os contratos inteligentes serão utilizados de forma mais ampla, abrangendo vários domínios, como serviços financeiros e gestão da cadeia de abastecimento.

Juntos, os contratos inteligentes e o blockchain estão revolucionando quase todas as áreas da sociedade atual. Mas só o tempo dirá se estas tecnologias inovadoras conseguirão ultrapassar os obstáculos e, eventualmente, alcançar a adoção em massa.