O que s√£o Contratos Inteligentes?
P√°gina Inicial
Artigos
O que s√£o Contratos Inteligentes?

O que s√£o Contratos Inteligentes?

Intermedi√°rio
Publicado em Sep 16, 2019Atualizado em Jun 9, 2023
9m

Introdução

Nick Szabo introduziu os contratos inteligentes na década de 1990. Na época, ele definiu um contrato inteligente como uma ferramenta que formaliza e protege redes de computadores combinando protocolos com interfaces de usuário.

Szabo discutiu o uso potencial de contratos inteligentes em v√°rios campos que envolvem acordos contratuais - como sistemas de cr√©dito, processamento de pagamentos e gerenciamento de direitos sobre conte√ļdos.

No mundo das criptomoedas, podemos definir um contrato inteligente como um aplicativo ou programa que é executado em uma blockchain. Normalmente, eles funcionam como um contrato digital que é aplicado com um conjunto específico de regras. Essas regras são predefinidas por código de computador, que é replicado e executado por todos os nodes da rede.

Os contratos inteligentes de blockchain permitem a cria√ß√£o de protocolos trustless (que n√£o exigem a necessidade de confian√ßa entre as partes envolvidas). Ou seja, duas partes podem assumir compromissos atrav√©s da blockchain, sem precisar se conhecer ou confiar uma na outra. Existe a garantia de que, se as condi√ß√Ķes n√£o forem cumpridas, o contrato n√£o ser√° executado. Al√©m disso, o uso de contratos inteligentes descarta a necessidade de intermedi√°rios, reduzindo significativamente os custos operacionais.

Embora o protocolo do Bitcoin ofereça suporte para contratos inteligentes há muitos anos, eles se tornaram populares graças ao criador e cofundador da Ethereum, Vitalik Buterin. Vale ressaltar, porém, que cada blockchain apresenta seu próprio método de implementação de contratos inteligentes. 

Este artigo irá abordar os contratos inteligentes que funcionam na Ethereum Virtual Machine (EVM), que é uma parte essencial da blockchain Ethereum.


Como funcionam?

Resumidamente, um contrato inteligente funciona como um programa determin√≠stico. Ele executa uma tarefa espec√≠fica quando certas condi√ß√Ķes s√£o cumpridas. Ou seja, um sistema de contrato inteligente geralmente segue a l√≥gica "se‚Ķ ent√£o‚Ķ". Mas apesar da terminologia, os contratos inteligentes n√£o s√£o contratos legais, nem 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 gest√£o das opera√ß√Ķes da 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 externa (EOA, do ingl√™s, externally owned account). Isso significa que os contratos inteligentes s√£o controlados por c√≥digos de computador e as EOAs s√£o controladas pelos usu√°rios.

Basicamente, os contratos inteligentes da Ethereum s√£o compostos por 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 contrato em si, agindo como um identificador digital que √© √ļnico para cada contrato inteligente.

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


Principais características

Geralmente, um contrato inteligente da Ethereum apresenta 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 baseadas em servidores centralizados.

Determin√≠stico. Contratos inteligentes executam apenas as a√ß√Ķes para as quais foram 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, agindo como um programa de execu√ß√£o autom√°tica. Entretanto, na maioria dos casos, se um contrato inteligente n√£o for acionado, ele permanecer√° "inativo" e n√£o ir√° executar nenhuma a√ß√£o.

Imutável. Os contratos inteligentes não podem ser alterados após a implantação. Eles podem somente ser "excluídos" caso uma função específica tenha sido implementada anteriormente. Dessa forma, podemos dizer que contratos inteligentes têm capacidade de fornecer codificação inviolável.

Personalizável. Antes da implementação, os contratos inteligentes podem ser codificados de muitas maneiras diferentes. Sendo assim, eles podem ser usados para criar muitos tipos de aplicativos descentralizados (DApps). Isso está relacionado ao fato de que a Ethereum é uma blockchain Turing Complete.

Trustless. Duas ou mais partes podem interagir através de contratos inteligentes sem a necessidade de se conhecerem ou de confiar uns nos outros. Além disso, a tecnologia blockchain garante a precisão dos dados.

Transparente. Como contratos inteligentes s√£o baseados em uma blockchain p√ļblica, o c√≥digo-fonte n√£o s√≥ √© imut√°vel como tamb√©m vis√≠vel para qualquer pessoa.


Posso alterar ou excluir um contrato inteligente?

√Č imposs√≠vel adicionar novas fun√ß√Ķes a um contrato inteligente da Ethereum ap√≥s a sua implementa√ß√£o. No entanto, se o criador incluir uma fun√ß√£o chamada¬†SELFDESTRUCT¬†(autodestrui√ß√£o) no c√≥digo √© poss√≠vel "excluir" o contrato inteligente no futuro - e substitu√≠-lo por um novo. Contudo, se essa fun√ß√£o n√£o for inclu√≠da antecipadamente no c√≥digo, n√£o ser√° poss√≠vel exclu√≠-lo.

Os chamados contratos inteligentes atualiz√°veis (upgradeable smart contracts) permitem que os desenvolvedores tenham mais flexibilidade sobre a imutabilidade dos contratos. Existem muitas maneiras de criar contratos inteligentes atualiz√°veis, com diferentes graus de complexidade.

Como exemplo, vamos imaginar que um contrato inteligente é dividido em vários contratos menores. Alguns deles são projetados para serem imutáveis, enquanto outros têm a função de 'exclusão' habilitada. Isso significa que parte do código (contratos inteligentes) pode ser excluída e substituída, enquanto outras funcionalidades permanecem intactas.


Vantagens e casos de uso

Como possuem 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 redução de custos operacionais. Dependendo da implementação, eles podem também aumentar a eficiência e reduzir despesas burocráticas.

Os contratos inteligentes s√£o especialmente √ļteis em situa√ß√Ķes que envolvem a transfer√™ncia ou o interc√Ęmbio de fundos entre duas ou mais partes.

Em outras palavras, contratos inteligentes podem ser projetados para uma ampla variedade de casos de uso. Alguns exemplos incluem a cria√ß√£o de ativos tokenizados, sistemas de vota√ß√£o, carteiras de criptomoedas, corretoras descentralizadas (DEX), jogos e aplicativos para dispositivos m√≥veis. Eles tamb√©m podem ser implementados com outras solu√ß√Ķes de blockchain que abordam os setores de sa√ļde, institui√ß√Ķes de caridade, cadeia de suprimentos (supply chain), governan√ßa e finan√ßas descentralizadas (DeFi).


ERC-20

Os tokens emitidos na blockchain da Ethereum seguem um padr√£o conhecido como ERC-20. O padr√£o descreve as principais fun√ß√Ķes de todos os tokens baseados na Ethereum. Por isso, esses ativos digitais s√£o frequentemente chamados de tokens ERC-20 e representam uma grande parte das criptomoedas existentes.
Muitas empresas e startups de blockchain implantaram contratos inteligentes para emitir seus tokens digitais na rede Ethereum. Após a emissão, a maioria dessas empresas distribuiu seus tokens ERC-20 por meio de eventos de Initial Coin Offering (ICO). Na maioria dos casos, o uso de contratos inteligentes permitiu a negociação de fundos e a distribuição dos tokens de forma confiável e eficiente.


Limita√ß√Ķes

Contratos inteligentes s√£o feitos por c√≥digos de computador criados por humanos. Isso acaba trazendo alguns riscos, uma vez que o c√≥digo est√° sujeito a vulnerabilidades e bugs. Em um cen√°rio ideal, eles devem ser escritos e usados por programadores experientes, especialmente quando envolvem informa√ß√Ķes confidenciais ou muito dinheiro.

Al√©m disso, alguns argumentam que os sistemas centralizados s√£o capazes de fornecer a maioria das solu√ß√Ķes e funcionalidades oferecidas pelos contratos inteligentes. A principal diferen√ßa √© que os contratos inteligentes s√£o executados em uma rede P2P distribu√≠da, em vez de utilizar um servidor centralizado. E por serem baseados em um sistema de blockchain, eles tendem a ser imut√°veis ou muito dif√≠ceis de se alterar.

Ser imut√°vel pode ser um aspecto √≥timo em algumas situa√ß√Ķes, mas muito ruim em outras. Por exemplo, quando uma Organiza√ß√£o Aut√īnoma Descentralizada (DAO) chamada "The DAO" foi hackeada em 2016, milh√Ķes de Ether (ETH) foram roubados devido a falhas no c√≥digo do contrato inteligente.

Como o contrato inteligente era imutável, os desenvolvedores não conseguiram corrigir o código. Isso resultou em um hard fork, que deu origem a uma segunda blockchain da Ethereum. Basicamente, uma parte da blockchain foi capaz de "reverter" a ação dos hackers e devolver os fundos aos respectivos donos (esta é a parte que integra a blockchain atual da Ethereum). A outra parte da blockchain decidiu não interferir nas consequências do ataque, afirmando que o que acontece em uma blockchain nunca deve ser alterado (esta é a atual blockchain da Ethereum Classic).

√Č importante ressaltar que o problema n√£o teve origem na blockchain Ethereum. Ele foi causado por uma implementa√ß√£o defeituosa de contrato inteligente.

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

Por exemplo, muitos contratos exigem que ambas as partes sejam devidamente identificadas e com mais de 18 anos: o anonimato fornecido pela tecnologia blockchain, juntamente com a falta de intermedi√°rios, pode comprometer esses requisitos. Embora existam potenciais solu√ß√Ķes para isso, a aplica√ß√£o legal de contratos inteligentes √© um verdadeiro desafio - especialmente no que se refere a redes sem fronteiras e distribu√≠das.


Crítica

Alguns entusiastas da blockchain vêem 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 está longe de acontecer.

Os contratos inteligentes s√£o certamente uma tecnologia interessante. Entretanto, por serem distribu√≠dos, determin√≠sticos, transparentes e, de certa forma, imut√°veis, podem ser menos atraentes em algumas situa√ß√Ķes.

Essencialmente, a cr√≠tica √© baseada no fato de os contratos inteligentes n√£o serem uma solu√ß√£o adequada para muitos problemas do mundo real. Na verdade, para algumas organiza√ß√Ķes, √© bem mais conveniente utilizar alternativas convencionais com base no servidor.¬†

Em comparação com contratos inteligentes, os servidores centralizados são mais baratos e mais fáceis de manter. Além disso, tendem a apresentar maior eficiência em termos de velocidade e comunicação entre redes (interoperabilidade).


Considera√ß√Ķes finais

N√£o h√° d√ļvidas de que os contratos inteligentes causaram um grande impacto no mundo das criptomoedas e certamente revolucionaram o ambiente da blockchain. Embora os usu√°rios finais possam n√£o interagir diretamente com contratos inteligentes, √© prov√°vel que eles atendam a uma ampla gama de aplica√ß√Ķes no futuro, desde servi√ßos financeiros at√© gerenciamento da cadeia de suprimentos.

Juntos, os contratos inteligentes e a tecnologia blockchain têm o potencial de influenciar quase todas as áreas da nossa sociedade. Mas só o tempo dirá se estas tecnologias inovadoras conseguirão superar as muitas barreiras que dificultam a adoção em grande escala.

Compartilhar publica√ß√Ķes
Registre uma conta
Coloque seus conhecimentos em pr√°tica. Abra uma conta na Binance hoje mesmo.