# Contrato inteligente

Um contrato inteligente (em inglês: smart contract) é um protocolo de computador autoexecutável criado com a popularização das criptomoedas e feito para facilitar e reforçar a negociação ou desempenho de um contrato, proporcionando confiabilidade em transações online. Com objetivo principal de permitir que pessoas desconhecidas façam negócios de confiança entre si, pela internet sem a necessidade de intermédio de uma autoridade central.
Para que seja considerado um contrato inteligente, a transação deve envolver mais do que uma simples transferência de moeda virtual entre duas pessoas (como uma transferência de pagamento, por exemplo), deve envolver duas ou mais partes (como todo contrato), e a implementação do contrato não deve requerer envolvimento humano direto a partir do momento este é firmado. Em vez de escritos num papel em linguagem jurídica, são implementados com linguagem de programação e executados em um computador. Neste protocolo, são definidas regras e consequências estritas, do mesmo modo que um documento jurídico, declarando as obrigações, os benefícios e as penalidades dos envolvidos. Além disso, diferentemente de um contrato tradicional, um contrato inteligente é capaz de obter informações, processá-las e tomar as devidas ações previstas de acordo com as regras do contrato.
A maioria dos negócios necessita de algum elemento de confiança, como por exemplo, ao fazer uma compra online, o cliente confia que o estabelecimento irá enviar o produto após efetuar o pagamento. Por sua vez, o dono do estabelecimento confia que, após o envio do produto, o crédito do cliente que foi usado para comprar o produto não será revertido, para que o cliente não leve o produto de graça. Esse tipo de cenário acontece rotineiramente, e vem sido resolvido, até agora, fazendo a transação por meio de grandes instituições nas quais as duas partes envolvidas confiam. Por exemplo, mesmo a internet permitindo que pessoas comprem e vendam produtos entre si, a maioria do comércio pessoa a pessoa no ocidente acontece por meio de um único website gigante chamado eBay (no Brasil, o Mercado Livre), devido ao problema da confiança. Além desses intermediários gigantes cobrarem taxas significativas pelo serviço de mediação, eles ainda têm o controle sobre o que é comercializado e como esse comércio pode se dar, limitando a liberdade de mercado das pessoas. Por isso, ao resolver o problema da confiança sem a necessidade de um intermediário, os contratos inteligentes podem reduzir os custos de transação e os preços para o consumidor, além de aumentar a liberdade para que os negócios sejam geridos da maneira que as pessoas envolvidas no processo quiserem.

## Exemplos

Existem os seguintes exemplos de contratos inteligentes:
* Prevenção de violação: Gestão de direitos digitais são exemplos simples de contratos inteligentes. Esse tipo de contrato enforça a si próprio ao impedir um cidadão de quebrar o contrato por agir de uma forma não autorizada. Um exemplo desse tipo de contrato são as licenças de direitos autorais, que proibem pessoas de copiar músicas ou vídeos protegidos por essas licenças.
* Lei da propriedade: Técnicas de criptografia são utilizadas para garantir que apenas o dono do token digital, como por exemplo um bitcoin, pode gastá-lo. Desse modo, moedas criptográficas podem ser consideradas como um conjunto de contratos digitais que aplicam a lei da Propriedade.
* Serviços financeiros: Com o advento das criptomoedas, a quantidade de aplicações relacionadas a finanças utilizando contratos inteligentes aumentou bastante, como por exemplo sistemas que realizam leilões, os quais verificam automaticamente pela aposta maior dentro de um determinado período de tempo, reembolsam os participantes, realizam loterias descentralizadas, entre outros. O funcionamento desse tipo de contrato inteligente é bem simples: uma quantidade pequena de entradas numéricas é alimentada no sistema, e com essas entradas são feitos cálculos numéricos para produzir uma transação financeira como saída, que será efetuada utilizando um protocolo de criptomoeda.
* Aplicação de crédito: Contratos inteligentes podem ser utilizados também para a conformidade de crédito, tal que o produto seja desabilitado caso o pagamento não seja feito. Esse tipo de contrato inteligente é uma extensão da lei da propriedade. Uma exemplo de uso futuro desse tipo de contrato seria um cliente fazer uma compra, via um contrato inteligente, de um produto eletrônico e este, contendo um switch que desabilitasse seu funcionamento caso alguma condição do contrato não estivesse sendo cumprida, pararia automaticamente de funcionar se uma parcela da compra a crédito não fosse feita.
* Contratos de oráculo: A execução de um contrato inteligente, assim como de qualquer programa de computador, só é tão boa quanto as entradas alimentadas nele. Por isso, uma das grandes limitações deles é identificar exatamente o que se passa no mundo físico, ou quem está falando a verdade, pois dependendo da entrada do sistema, a decisão poderá favorecer uma parte ou a outra do contrato. Desse modo, é importante que os contratos inteligentes obtenham entradas que não só sejam suficientes para a execução do mesmos mas também que as duas partes confiem. Uma solução para isso seria ter provedores de serviço online cuja função é difundir os dados necessários para a execução dos contratos inteligentes. Tais entidades, chamadas de oráculos, poderiam ser utizadas em situações de execução de testamento, ao difundir os registros de morte do governo, ou em apostas de eventos esportivos, ao difundir os resultados de um canal de notícias esportivo.
* Método de duplo depósito: Esse tipo de método consiste em, ao iniciar um contrato, cada pessoa envolvida deve fazer um depósito em criptomoeda no programa do contrato, que determina um prazo de validade. Se as pessoas que entraram no contrato não chegarem em um acordo em relação ao que fazer até o contrato expirar, todo o dinheiro depositado é então 'queimado', ou seja, ele fica impossibilitado de ser gasto por qualquer pessoa. Para fazer isso, o contrato envia esse fundo para um endereço para o qual ninguém saiba a chave privada. Desse modo, o programa não tenta decidir se cada pessoa envolvida no contrato cumpriu suas obrigações ou quem deve fazer o que para cumprir o acordado, mas impede que qualquer pessoa obtenha algum lucro ao enganar os demais, porque ele garante que, numa situação de quebra de contrato, todos os participantes irão perder exatamente tudo o que eles poderiam ganhar. Além disso, o prazo de validade e o destino final do dinheiro caso o contrato não seja cumprido até ser expirado faz com que os envolvidos se esforcem ao máximo para o cumprimento do mesmo, e como o cumprimento é avaliado pelo acordo entre as partes, ajuda na resolução de disputas. Alguns dos primeiros exemplos de contratos inteligentes na área de criptomoedas utilizavam o método do duplo depósito, por ser razoavelmente simples mas muito poderoso.

## História

Agoric computing foi um movimento nas décadas de 1970 e 1980 para trazer mecanismos de mercado como os leilões para a gestão de recursos computacionais. Enquanto isso, a criptografia de chave pública revolucionou o que era possível em segurança online.
A frase "smart contracts" ("contratos inteligentes", em português) foi cunhada pelo cientista da computação Nick Szabo, provavelmente por volta de 1993, para enfatizar o ojetivo de trazer o que ele chama de práticas "altamente evolídas" para o projeto de protocolos de comércio eletrônico entre desconhecidos na Internet. Inspirado por pesquisadores como David Chaum, Szabo também teve uma expectativa mais ampla de que, por especificação em lógica clara, e verificação ou execução via protocolos critográficos e outros mecanismos digitais de segurança, poderia constituir uma forte melhora na lei de contratos tradicional, até para alguns tipos de cláusulas contratuais tradicionais (como empréstimos para automóveis que fornecem reitegração de posse) que poderiam ser comprados no domínio de protocolos de computador. Mark Miller e outros insistiram que capabilities seriam a base de segurança dos contratos inteligentes, ao contrário de Chaum e outros pesquisadores na comunidade de criptografia financeira, que enfatizaram que protocolos criptográficos avançados que irão trazer segurança e privacidade para dinheiro, credenciais, assinaturas de contrato, leilões e outros mecanismos comerciais na forma digital. Entretanto, a maior parte dos exemplos supracitados têm sido provavelmente desenvolvido larga e independentemente dessas linhas de atividade, e de fato alguns proponentes vêem contratos inteligentes como um resultado inevitável dos muitos esforços independentes para melhorar as transações usando tecnologia digital, em várias indústrias.
Muitas linguagens formais foram desenvolvidas ou propostas para especificar cláusulas contratuais. A IEEE realizou dois workshops em contratação eletrônica, as quais deram prosseguimento a essa pesquisa.

## Execução dos contratos

A infra-estrutura de um contrato inteligente pode ser implementada por registros de ativos replicados e, a execução dos contratos usando replicação de árvores de dispersão (estrutura que contém um resumo de uma estrutura grande de dados) e tolerante a defeitos bizantinos. Cada nó na rede peer-to-peer funciona como um registro de título e como uma garantia, executando mudanças de propriedade e regras automaticamente verificáveis que governam essas transações, e verificam a mesma atividade dos outros nós.
Criptomoedas como o Bitcoin têm implementado casos especiais desses tipos de registros, nos quais a propriedade é o dinheiro. O Bitcoin e boa parte das suas variações possuem mecanismos que possibilitam a execução de contratos e títulos de propriedade mais gerais. O Código que suporta esse tipo de aplicação é uma parte não muito à vista do protocolo bitcoin, baseado na replicação Bizantina probabilística e anônima (proof-of-work). Uma proposta para utilizar bitcoin para execução de contratos e registros de ativos replicados é chamada de "moedas coloridas" Um registro de nome de domínio replicado é implementado em Namecoin; títulos replicados para formas arbitrárias de propriedade, assim como execuções de contratos replicados, são implementados em Crypti, Ripple, Mastercoin, ErisDB e Ethereum. A NXT implementa títulos de propriedade replicados baseado no proof-of-stake na moeda subjacente.
Aplicações incluem instrumentos financeiros como as Obrigações (economia), Ações (finanças) e Derivativos, contratos de seguro, e outros instrumentos e transações nas quais os nós podem monitorar os eventos nos quais as regras do contrato inteligente são condicionadas.

## Na cultura popular

Permanence (2002) pelo autor Karl Schroeder mostra um universo no qual existe uma "economia de direitos", na qual todos os objetos físicos são nano-etiquetados com requisitos contratuais, de forma que é possível fazer cumprir o pagamento para todos os usos de informação de propriedade, como por exemplo, uma nave espacial poderia parar de funcionar após o a missão militar espacial em questão deixar de ser justificada pela razão custo-benefício da mesma.

## Veja também

* Gerenciamento de processos de negócio
* Código e outras leis do Ciberespaço
* Credencial digital
* Intercâmbio Eletrônico de Dados
* Computação multi-partes segura
* Selo de tempo seguro
* Fluxo de trabalho
* Contrato eletrônico