O que é Contrato Inteligente? Guia Completo

O conceito de um contrato inteligente teve origem com Nick Szabo nos anos 90. Na época, ele definiu um contrato inteligente como uma ferramenta capaz de tornar as redes de computadores seguras e formais através da combinação de protocolos com interfaces de usuário. Szabo discutiu o uso potencial de contratos inteligentes em vários campos que envolvem acordos contratuais — tais como sistemas de crédito, processamento de pagamentos, e gerenciamento de direitos autorais e conteúdo.

No mundo da moeda digital, podemos definir um contrato inteligente como uma aplicação ou programa que roda em uma cadeia de blocos. Tipicamente, eles funcionam como um acordo digital que é aplicado com um conjunto específico de regras. Estas regras são predefinidas por códigos de computador, replicados e executados em todos os “nós” da rede.

Basicamente, os contratos inteligentes de blockchain permitem a criação de protocolos trustless (protocolos que não requerem um terceiro de confiança). Isto significa que duas partes podem assumir compromissos sobre a cadeia de blocos sem ter que conhecer ou confiar uma na outra.

Há uma garantia de que se as condições não forem cumpridas, o contrato não será executado. Também, o uso de contratos inteligentes pode desprezar a necessidade de atravessador, reduzindo significativamente os custos operacionais.

Embora o protocolo Bitcoin tenha oferecido suporte a contratos inteligentes por muitos anos, eles se tornaram mais populares graças ao criador do Ethereum e cofundador Vitalik Buterin. Vale notar, no entanto, que cada cadeia de blocos pode apresentar um método diferente de implementação de contratos inteligentes.

Este artigo abrangerá os contratos inteligentes que trabalham na Máquina Virtual Ethereum (EVM), que é uma parte central da cadeia de blocos Ethereum.

Como Contrato Inteligente Funciona?

Resumidamente, um contrato inteligente funciona como um programa determinístico. Ele executa uma tarefa individualiza quando certas condições são cumpridas. Em outros termos, um sistema de contrato inteligente constantemente segue a lógica “se… então… “. Mas apesar da terminologia, os contratos inteligentes não são contratos legais, nem são contratos inteligentes. Eles são apenas um fragmento de código rodando em um sistema distribuído (blockchain).

Na rede Ethereum, os contratos inteligentes são responsáveis pela execução e gerenciamento das operações de blockchain, que ocorrem quando os usuários (endereços) interagem uns com os outros. Qualquer endereço que não seja um contrato inteligente é chamado de conta de propriedade externa (EOA). Isto significa que os contratos inteligentes são controlados por código de computador e as EOAs são controladas pelos usuários.

Basicamente, os contratos inteligentes Ethereum são compostos de um código de contrato e duas chaves públicas. A primeira chave pública é a fornecida pelo criador do contrato. A outra chave representa o próprio contrato, atuando como um identificador digital que é único para cada contrato inteligente.

A implantação de qualquer contrato inteligente é feita através de uma transação em cadeia de blocos e o contrato só pode ser ativado quando chamado por uma conta EOA (ou por outros contratos inteligentes). Entretanto, o ativador inicial será sempre uma EOA (usuário).

Principais Características

Geralmente, um contrato inteligente Ethereum (ETH) tem as seguintes características:

Distribuído

Os contratos inteligentes são replicados e distribuídos em todos os nós da rede Ethereum. Esta é uma das principais diferenças em relação a outras soluções centralizadas baseadas em servidores.

Determinista

Os contratos inteligentes executam apenas as ações para as quais são projetados, levando em conta os requisitos a serem cumpridos. Além disso, o resultado será sempre o mesmo, independentemente de quem os executa.

Autônomo

Contratos inteligentes podem automatizar todos os tipos de tarefas, atuando como um programa auto-executório. Entretanto, na maioria dos casos, se um contrato inteligente não for acionado, ele permanecerá “adormecido” e não executará nenhuma ação.

Imutável

Os contratos inteligentes não podem ser alterados após a implementação. Eles só podem ser “apagados” se uma função específica tiver sido implementada anteriormente. Desta forma, podemos dizer que os contratos inteligentes são capazes de fornecer uma criptografia à prova de adulteração.

Personalizável

Antes da implementação, os contratos inteligentes podem ser codificados de muitas maneiras diferentes. Eles podem ser usados para criar vários tipos de aplicações descentralizadas (DApps). Esta característica está diretamente relacionada ao fato de que o Ethereum é uma cadeia de blocos completa da Turing.

Sem confiança

Duas ou mais partes podem interagir através de contratos inteligentes, sem a necessidade de conhecer ou confiar uma na outra. Além disso, a tecnologia da cadeia de blocos garante a precisão dos dados.

Transparente

Como os contratos inteligentes são baseados em uma cadeia de blocos pública, o código-fonte não só é imutável, mas também visível para qualquer pessoa.

Posso Alterar ou Apagar um Contrato Inteligente?

É impossível adicionar novas funções a um contrato inteligente Ethereum uma vez que ele tenha sido implementado. Entretanto, se o criador incluir uma função chamada SELFDESTRUCT (autodestruição) no código, é possível “apagar” o contrato inteligente no futuro — e substituí-lo por um novo. Entretanto, se a função não for incluída no código com antecedência, não será possível apagá-la.

Os chamados contratos inteligentes atualizáveis permitem aos desenvolvedores maiores flexibilidades sobre a imutabilidade dos contratos. Há muitas maneiras de criar contratos inteligentes atualizáveis, com diferentes graus de complexidade.

Como exemplo, vamos imaginar que um contrato inteligente seja dividido em vários contratos menores. Alguns deles são projetados para serem imutáveis, enquanto outros têm uma função de “opt-out” ativada. Isto significa que parte do código (contratos inteligentes) pode ser apagado e substituído, enquanto outras funcionalidades permanecem intactas.

Vantagens e Casos de Uso

Como eles têm código programável, os contratos inteligentes são altamente personalizáveis e podem ser projetados de muitas maneiras diferentes, oferecendo muitos tipos de serviços e soluções.

Por serem programas descentralizados e autoexecutáveis, os contratos inteligentes podem proporcionar maior transparência e custos operacionais reduzidos. Dependendo da implementação, eles também podem aumentar a eficiência e reduzir as despesas burocráticas.

Os contratos inteligentes são especialmente úteis em situações que envolvem a transferência ou troca de fundos entre duas, ou mais partes.

Em outras palavras, os contratos inteligentes podem ser projetados para uma grande variedade de casos de uso. Alguns exemplos incluem a criação de ativos simbólicos, sistemas de votação, carteiras de Criptomoedas, trocas descentralizadas, jogos e aplicativos móveis.

Eles também podem ser implementados junto com outras cadeias de blocos que estão buscando soluções nas áreas de saúde, caridade, cadeia de fornecimento, administração e finanças descentralizadas (DeFi).

ERC-20

Os tokens emitidos na cadeia de blocos Ethereum seguem um padrão conhecido como ERC-20. A norma descreve as funções fundamentais de todas as fichas baseadas na cadeia de blocos Ethereum. Em outras palavras, estes ativos digitais são frequentemente chamados de tokens ERC-20 e representam uma grande parte das Criptomoedas existentes.

Muitas empresas startups e blockchain implementaram contratos inteligentes para emitir seus tokens digitais na rede Ethereum. Após a emissão, a maioria dessas empresas distribuiu suas fichas ERC-20 através de eventos de oferta inicial de moedas (ICO).

Na maioria dos casos, o uso de contratos inteligentes permitiu o comércio de fundos e a distribuição das tokens de maneira confiável e eficiente.

Limitações

Os contratos inteligentes são feitos por código de computador criado por humanos. Isto traz consigo alguns riscos, já que o código está sujeito a vulnerabilidades e bugs. Em um cenário ideal, eles devem ser escritos e utilizados por programadores experientes, especialmente quando envolvem informações confidenciais ou muito dinheiro.

Além disso, alguns justificando que sistemas centralizados podem proporcionar a maioria das soluções e aplicabilidade oferecidas por contratos inteligentes. A principal diferença é que os contratos inteligentes são executados em uma rede P2P distribuída ao invés de um servidor centralizado. Além disso, eles são baseados em um sistema de cadeia de blocos e tendem a ser imutáveis ou muito difíceis de mudar.

Ser imutável pode ser uma grande característica em algumas situações, mas muito ruim em outras. Por exemplo, quando uma organização autônoma descentralizada (DAO) chamada “The DAO” foi invadida em 2016, milhões de étheres (ETH) foram roubados devido a falhas no código do contrato inteligente.

Como o contrato inteligente era imutável, os desenvolvedores não foram capazes de corrigir o problema do código. Isto acabou resultando em um garfo duro (hard fork), o que deu origem a uma segunda cadeia de Ethereum. Simplificando, uma parte da cadeia “reverteu” a ação do hacker e devolveu os fundos a seus respectivos proprietários (isto faz parte da atual cadeia de blocos Ethereum).

A outra parte da cadeia decidiu não interferir nas consequências do ataque, afirmando que o que acontece em uma cadeia de blocos nunca deveria ser mudado (esta é a atual cadeia de blocos Ethereum Classic).

É importante notar que o problema não se originou na cadeia de blocos Ethereum. Ele foi causado por uma implementação inteligente e defeituosa do contrato.

Outra limitação dos contratos inteligentes está relacionada ao seu status jurídico incerto. Não apenas porque faz parte de uma área sub explorada na maioria dos países, mas também porque os contratos inteligentes ainda não se encaixam na estrutura legal atual.

Por exemplo, muitos contratos exigem que ambas as partes sejam devidamente identificadas e maiores de 18 anos: o anonimato proporcionado pela tecnologia de cadeia de blocos, juntamente com a falta de intermediários, pode comprometer estes requisitos.

Embora existam soluções potenciais para isso, a aplicação legal de contratos inteligentes é um verdadeiro desafio — especialmente quando se trata de redes sem fronteiras e distribuídas.

Crítica

Alguns entusiastas do blockchain veem os contratos inteligentes como uma solução que em breve substituirá e automatizará grande parte de nossos sistemas comerciais e burocráticos. Embora esta seja uma realidade possível, provavelmente ela está longe de acontecer.

Os contratos inteligentes são seguramente uma tecnologia instigante. Entretanto, por serem distribuídos, determinísticos, transparentes e um tanto imutáveis, eles podem ser menos atraentes em algumas situações.

Essencialmente, a crítica se baseia no fato de que os contratos inteligentes não são uma solução adequada para muitos problemas reais. Na verdade, para algumas organizações, é muito mais conveniente utilizar alternativas convencionais baseadas em servidores.

Em comparação com os contratos inteligentes, os servidores centralizados são mais baratos e mais fáceis de manter. Além disso, eles tendem a ser mais eficientes em termos de velocidade e comunicação através das redes (interoperabilidade).

Resumo

Contrato inteligente, como qualquer outro contrato, estabelece os termos de um acordo. Mas, ao contrário de um contrato tradicional, os termos de um contrato inteligente são executados como um código executado em uma cadeia de blocos, como o Ethereum (ETH). Os contratos inteligentes permitem aos desenvolvedores criar aplicações que se beneficiam da segurança, confiabilidade e acessibilidade da cadeia de blocos, oferecendo sofisticadas funcionalidades peer-to-peer em tudo, desde empréstimos e seguros até logística e jogos.

Por que Contratos Inteligentes São Importantes?

Os contratos inteligentes permitem aos desenvolvedores criar uma grande variedade de aplicações e tokens descentralizados. Eles são usados em tudo, desde novas ferramentas financeiras até experiências de logística e jogos, e são armazenados em uma cadeia de blocos (blockchain) como qualquer outra transação de criptomoedas. Uma vez que uma aplicação de contrato inteligente é adicionada à cadeia de blocos, ela geralmente não pode ser revertida ou alterada (embora haja exceções).

As aplicações inteligentes baseadas em contratos são frequentemente referidas como “aplicações descentralizadas” ou “dapps” e incluem tecnologia financeira descentralizada (ou DeFi) destinada a transformar a indústria bancária.

As aplicações DeFi permitem aos detentores de moeda criptográfica realizar transações financeiras complexas (poupança, empréstimos, seguros) sem a intervenção de um banco ou outra instituição financeira e de qualquer lugar do mundo. Algumas das aplicações inteligentes baseadas em contratos mais populares atualmente incluem:

Uniswap: câmbio descentralizado que permite aos usuários, através de um contrato inteligente, transacionar certos tipos de moedas criptográficas sem qualquer autoridade central que estabeleça taxas de câmbio.

Compound: plataforma que utiliza contratos inteligentes para permitir aos investidores ganhar juros e àqueles que precisam de um empréstimo para obtê-lo imediatamente sem necessidade de ir ao banco.

USDC: moeda criptográfica ligada através de um contrato inteligente ao USD, o que faz com que um USDC valha um USD. A USDC faz parte de uma categoria mais nova de dinheiro digital conhecido como moedas de moeda estável.

Como você usaria então estas ferramentas inteligentes baseadas em contratos? Imagine que você possui algum Ethereum (ETH) que você gostaria de trocar por USDC. Você poderia colocar algum Ethereum na Uniswap, que, via contrato inteligente, pode determinar imediatamente a melhor taxa de câmbio, realizar a transação e enviar-lhe seus USDCs.

Você poderia então colocar alguns de seus USDCs em Compound para emprestar a outros e receber uma taxa de juros determinada algorítmicamente, sem nunca ir ao banco ou outra instituição financeira.

Nas finanças tradicionais, câmbio de moedas é caro e demorado. E não é fácil nem seguro para as pessoas emprestarem seus ativos líquidos a estranhos do outro lado do mundo. Mas contratos inteligentes tornam estes e muitos outros cenários possíveis.

Conclusão

Não há dúvida de que os contratos inteligentes causaram um enorme impacto no mundo das Criptomoedas e certamente revolucionaram o ambiente da cadeia de blocos. Embora os usuários finais possam não interagir diretamente com os contratos inteligentes, é provável que eles venham a servir uma ampla gama de aplicações no futuro, desde serviços financeiros até o gerenciamento da cadeia de fornecimento.

Os contratos inteligentes, juntamente com a tecnologia da cadeia de blocos, têm o potencial de revolucionar quase todas as áreas da sociedade. Somente o tempo dirá se essas tecnologias inovadoras conseguirão superar as muitas barreiras que impedem a adoção em larga escala.

O que é Contrato Inteligente? Guia Completo
O que é Contrato Inteligente? Guia Completo
O que é Contrato Inteligente? Guia Completo
Registro Rápido

Plataforma única para seus traders. A estrutura é clara e transparente.

89%
Pontuação de Confiança

icon Teste Agora! icon Teste Agora!
Pontuação de Confiança

FBS

Exnova

PocketOption

Expertoption

Quotex

XM

EXNOVA