Smart Contracts são acordos digitais automatizados que usam tecnologia blockchain para assegurar a execução das ações. São codificados com regras e penalidades claras, garantindo que as obrigações sejam cumpridas sem a necessidade de mediadores. Oferecem, ainda, transparência e imutabilidade às partes.
A palavra “smart” já faz parte do nosso dia a dia. Se você não caiu num monte de neve e ficou congelado pelos últimos 50 anos, certamente tem familiaridade com SmartPhones, SmartWatches, Smart TVs e mais uma série de outros equipamentos inteligentes.
Mas você sabia que, por meio do Blockchain, é possível gerar contratos que se “auto-executam”? (não é feitiçaria, é tecnologia). Esses são os chamados Smart Contracts (Contratos Inteligentes, em português), que podem dar vida a uma infinidade de coisas, como tokens, empresas descentralizadas, acordos no mercado imobiliário e por aí vai.
Neste megapost traremos tudo o que você precisa saber sobre Smart Contracts para iniciar ou aprofundar seus conhecimentos sobre Blockchain, tokens e criptomoedas. É QUASE um curso gratuito. Na verdade, tem informações aqui que a maioria dos cursos nacionais pagos não ensinam (#prontofalei), eu mesmo tive que fazer aulas na gringa, buscar referências com mentores e aprender na prática para compartilhar esses conhecimentos com você.
E tudo isso de forma leve, usando analogias, humor e exemplos. Portanto, fique conosco e acompanhe cada tópico (vai valer a pena)!
Ouça este conteúdo: | Assista no YouTube: |
Afinal, o que são Smart Contracts?
Smart Contracts são acordos digitais automatizados que usam tecnologia blockchain para assegurar a execução das ações. São codificados com regras e penalidades claras, garantindo que as obrigações sejam cumpridas sem a necessidade de mediadores. Oferecem, ainda, transparência e imutabilidade às partes.
Eu sei, a explicação parece muita técnica. Então vamos a uma analogia. Imagine uma dessas máquinas que vendem bebidas e salgadinhos (vending machines). Da mesma forma que você insere moedas e escolhe o seu lanche na máquina, em um smart contract você coloca dinheiro na sua carteira digital (criptomoedas e tokens) e escolhe quais ações o smart contract deve executar.
A diferença é que, enquanto a máquina de guloseimas só entrega os produtos escolhidos, o smart contract executa uma série de ações, como transferir valores, aprovar transações, comprar ativos digitais, fazer empréstimos etc. Além disso, tudo é feito de forma automática e segura, sem a necessidade de um intermediário humano. Assim, Smart Contracts são parecidos com máquinas de bebidas e comidas, só que executam negócios e transações financeiras.
Quais são as diferenças entre Smart Contracts e contratos convencionais?
Da forma convencional, o relacionamento entre as partes em um contrato ocorre por meio de uma autoridade central que garante o cumprimento e a confiança do acordado — relação centralizada em um órgão regulador. Como exemplo, podemos pensar nos contratos sociais, que regem todas as normas e objetivos da empresa e dos sócios. Esse tipo de contrato é validado por um advogado, contador ou cartório.
O Blockchain aparece como uma alternativa descentralizada que permite que os contratos sejam executados automaticamente sempre que uma condição previamente acordada é cumprida. Ou seja, é como se o contrato “pensasse” sozinho por meio da linguagem de programação que funciona mais ou menos assim: “se (if) a coisa tal acontecer, então (else) eu vou fazer aquilo”.
Assim, o papel do validador central é descartado e a confiança passa a ser embasada nos códigos que não podem ser alterados — seguindo as características dos blocos no Blockchain que são imutáveis.
Em outras palavras, podemos dizer que o Blockchain faz com que a confiança em um contrato se torne uma commodity, uma vez que os acordos podem ser produzidos em massa, e tem validade (rodam) independentemente de quem os escreveu.
Parece complicado, mas é bastante simples. É igual com a soja ou com o milho, que o preço do produto não depende de quem plantou ou do local onde foi plantado, mas somente de seu conteúdo (tá bom, e das leis da oferta e da procura, preço do dólar e por aí vai… Mas isso não é tema para este artigo).
Exatamente por isso você pode copiar o smart contract da criptomoeda do Ethereum (o ETH), por exemplo, e criar o seu próprio token obedecendo as mesmas leis e sem nem precisar saber muito de programação. Se esse conceito ficou um pouco confuso, nós temos um artigo que explica as diferenças entre tokens e criptomoedas.
Vale ressaltar que, dentro do Blockchain, o contrato é apenas um código que demonstra o que foi acordado. Além disso, as partes envolvidas em um smart contract podem atuar com pseudônimos. Isso porque são identificadas apenas por endereços de carteira, e não pelo nome real.
A esta altura, você deve estar imaginando que quem inventou tudo isso foi o Satoshi Nakamoto. Mas saiba, meu amigo ingênuo, que você está redondamente enganado. Existem outros nomes importantes na história do Blockchain.
Nick Szabo
Em 1997, o jurista e criptógrafo Nick Szabo elaborou o conceito de “Smart Contract”, ou “contrato inteligente” e publicou o artigo “Formalizing and Securing Relationships on Public Networks”. De acordo com o próprio Szabo, não há inteligência artificial empregada à tecnologia.
Mas a ideia só foi colocada em prática em 2013 com o surgimento do Ethereum, a blockchain de Vitalik Buterin, que utiliza os contratos inteligentes em sua base e executa ações automaticamente de acordo com as regras aplicadas a ela. Além do Ethereum, diversas outras Blockchains utilizam Smart Contracts. Entre elas, podemos citar:
- EOS;
- Cardano;
- Tezos;
- TRON;
- Solana.
Por outro lado, o Bitcoin não usa Smart Contracts. Na verdade, a criptomoeda do emblemático Satoshi Nakamoto possui um sistema de regras bem simples baseada em assinaturas criptográficas para que apenas o dono do dinheiro possa gastá-lo. Contudo, algumas ferramentas para construção de Smart Contracts podem rodar “por cima” da rede do Bitcoin e trazer soluções interessantes, como o RSK e o Simplicity.
Imutabilidade
Como vimos, ao deixar de confiar os termos do contrato em uma autoridade centralizada e passar a confiar no sistema em Blockchain, esses dados se tornam imutáveis e não é possível alterar um contrato de forma unilateral. Isso porque todos os nodes (nós) — que são os computadores participantes da rede — validam a transação e ela passa a compor o distributed ledger (livro-registro distribuído) do Blockchain.
Dessa forma, se você subir um contrato com erros no código, não tem como voltar atrás. E as taxas de gás do deploy também não voltam mais (perdeu, mané).
Os nodes do blockchain podem ser comparados a membros de uma equipe, cada um com sua tarefa específica, trabalhando juntos para alcançar um objetivo comum — que é garantir a imutabilidade dos dados registrados na rede. Eles precisam se comunicar e colaborar entre si para validar e registrar transações no blockchain.
Uma vez que os dados são registrados no computador de um membro, eles são igualmente armazenados nos computadores de todos os outros e se tornam permanentes (a regra do jogo não pode ser mudada).
A característica da imutabilidade se deve ao fato de que, mesmo que alguém tente modificar ou sabotar as informações da transação em um computador, seria impossível alterar os registros em todos os computadores da rede Blockchain. Portanto, isso garante maior confiança e tira o poder de um órgão regulador único.
A Blockchain do Ethereum, por exemplo, tem mais de 11 mil computadores conectados, ou seja, eles são os nós da rede que validam os smart contracts. Esse conjunto de nós é chamado de EVM (Ethereum Virtual Machine), que é basicamente um “grande computador distribuído ao redor do mundo”.
Aqui cabe citar o conceito de Judge as a Service (JaaS), uma espécie de árbitro com poderes para reverter as ações executadas pelos Smart Contracts e solucionar a questão da imutabilidade que não permite a inserção de aditivos aos Smart Contracts. É importante que esse indivíduo seja definido antes da elaboração do Smart Contract e que os envolvidos concordem e atestem a sua validade. Não vamos aprofundar neste tema porque ele é mais relacionado ao direito.
Objetivos dos Smart Contracts
O principal objetivo dos Smart Contracts é permitir que pessoas desconhecidas consigam realizar acordos sem a necessidade de um intermediário validador, principalmente em negócios pela internet, como a compra de NFTs na OpenSea, aquisição de terrenos no metaverso e até transações em comércios eletrônicos.
Contudo, os contratos inteligentes são amplamente utilizados na criptosfera para emissão de tokens (fan tokens, utility tokens, tokens de governança etc.) — como dito anteriormente, qualquer pessoa consegue emitir tokens sem precisar saber muito de programação. E os Smart Contracts também estão presentes em situações mais complexas, como:
- aplicativos de finanças descentralizadas (DeFi);
- exchanges descentralizadas (DEX), como a PancakeSwap e a UniSwap;
- pools de liquidez;
- contratos de seguradoras;
- contratos de empréstimos;
- contratos imobiliários;
- criptomoedas;
- NFTs (tokens não fungíveis);
- stablecoins;
- votações (inclusive eleitorais, garantindo maior transparência);
- fundos de investimentos.
Claro que os Smart Contracts não se limitam a essas aplicações, e, em um futuro próximo, é provável que eles estejam presentes na maioria dos acordos.
Quais os principais tipos de Smart Contracts?
A seguir, veja quais são os principais tipos de Smart Contracts e suas características:
Prevenção de violação
É o tipo de contrato DRM (Digital Rights Management) que previne a cópia de músicas, e-books ou arquivos audiovisuais protegidos por lei. Ou seja, trata-se de uma forma de evitar a pirataria.
Essa tecnologia geralmente inclui criptografia, autenticação e outras medidas de segurança para assegurar que o conteúdo seja acessado e usado apenas por pessoas autorizadas. Uma vez que o objetivo é bem simples, esse tipo de contrato não executa ações.
Alguns exemplos de tecnologias DRM incluem a proteção de conteúdo da Microsoft e a tecnologia FairPlay da Apple.
Lei de propriedade
Os processos da criptografia garantem que apenas o dono do dinheiro digital possa gastá-lo — como acontece com o ETH. Para tanto, um conjunto de Smart Contracts é aplicado e faz com que as leis da criptomoeda sejam cumpridas.
Esse mesmo conceito pode ser ampliado para garantir a transferência automatizada de propriedade de ativos digitais, como títulos de ações e ativos imobiliários — desde que as condições contratuais sejam cumpridas. Isso pode tornar o processo mais rápido, seguro e eficiente.
No entanto, é importante notar que essa relação ainda está sendo estudada e os contratos inteligentes precisam ser regulamentados e reconhecidos pelas leis de propriedade.
Aplicação de crédito
Os contratos de lei de propriedade, que vimos no tópico anterior, podem ser estendidos como uma forma de garantia de crédito. Imagine que você venda um notebook por parcelamento. Se o comprador deixar de pagar alguma das prestações, automaticamente, o notebook é bloqueado e o comprador perde acesso até regularizar a situação. A mesma lógica pode ser ampliada para carros ou qualquer tipo de produto elétrico que venha embutido com um interruptor de bloqueio.
Mas, claro, esses são apenas exemplos do que a tecnologia é capaz e não significa que funcionarão na prática. Isso porque a aplicação deste tipo de recurso pode trazer limitações legais e éticas. Afinal, imagine o risco de acidentes ao bloquear o carro no meio de uma rodovia movimentada. Ou então restringir acesso ao notebook de um médico durante uma cirurgia porque ele deixou de pagar uma prestação. Ambos os casos seriam trágicos.
Serviços financeiros
Os Smart Contracts possibilitam a realização de transações financeiras por meio de protocolos. Existem, por exemplo, plataformas que executam leilões, como a OpenSea, a Rarible, a SuperRare e a Aavegotchi, que verificam a proposta mais alta para efetivar a transferência do valor ao licitante e a propriedade do bem leiloado ao comprador.
Outro caso comum é o de transações de ativos financeiros por meio dos contratos inteligentes.
Método de depósito duplo
Ao iniciar esse tipo de contrato, cada envolvido na transação deve depositar um determinado valor em criptomoedas ou tokens que terá um prazo para as pessoas chegarem a um consenso sobre o que o sistema deverá fazer com o montante. Caso as partes não cumpram o que foi atribuído a elas e, consequentemente, não façam um acordo até o final desse prazo, o valor é transferido para um endereço em que a chave privada é desconhecida por elas.
A principal característica do método de depósito duplo é que o sistema não tenta solucionar o problema. Ao invés disso, ele “queima” o dinheiro para que ninguém se beneficie com a quebra do contrato.
Assim, o objetivo é fazer com que as partes se esforcem para chegar a um acordo. Do contrário, ambos perdem o seu depósito. Esse modelo é interessante na resolução de disputas.
Para que não exista confusão, é importante deixar claro que o “modelo de depósito duplo” é diferente do “gasto duplo” — ou seja, o uso duplicado do mesmo saldo, que é uma ação evitada no caso das criptomoedas, uma vez que os nodes comprovam as transações.
Além dos modelos de contratos que falamos até aqui, existe também o “Contrato de Oráculo” que foi criado para solucionar uma limitação importante dos Smart Contracts. Veremos mais adiante como ele atua.
O que são padrões de tokens?
No tópico anterior, vimos alguns “tipos” de Smart Contracts — ou algumas formas de aplicação, se você preferir. Só que elas vão muito além disso quando se trata de tokens, permitindo a criação de itens digitais, ações de uma empresa, bilhetes de loteria, moedas virtuais (que podem apresentar valor no mundo físico) e outras usabilidades.
Na rede Ethereum, por exemplo, os contratos inteligentes são escritos na linguagem de programação “Solidity”, que possibilita a criação de tokens obedecendo alguns padrões. E eles são conhecidos como ERC (Ethereum Request for Comments).
O nome confuso é porque trata-se de uma subcategoria de EIP (Propostas de Melhoria da Ethereum), mas para facilitar, podemos considerar ERC como “padrões de tokens”. Isso porque eles definem algumas normas para os tokens que podem ser criados na rede Ethereum. Os 3 principais tipos de ERC são:
- ERC-20: padrões de tokens fungíveis, ou seja, que podem ser trocados. Exemplos: USDT, UNI, LINK e outras moedas digitais;
- ERC-721: padrões de tokens não fungíveis (NFTs). Exemplos: Bored Ape Yacht Club (BAYC), Cryptopunks e outras coleções mais antigas;
- ERC-1155: padrões de tokens mistos. É considerado mais inovador por possibilitar contratos em uma mistura de fungível e não fungível. Exemplos: Azure Heroes (da Microsoft), PPK Models Club (do BHModels), Into the Metaverse (da Adidas) etc.
Cabe reforçar que esses são padrões de tokens específicos da rede Ethereum, por isso não vamos aprofundar em suas funções para não tirar o foco da estrela principal deste conteúdo, que são os Smart Contracts (apesar de que os tokens nem existiriam se não fosse graças aos Smart Contracts).
Até porque, outras Blockchains possuem padrões de tokens diferentes, como a rede Binance que usa BEP-20 e a Solana com sua norma SPL, ambos são bastante similares ao ERC-20.
O que é uma organização autônoma descentralizada (DAO)?
No inícios deste artigo, falamos sobre os contratos sociais para as empresas e como o Blockchain apresenta soluções descentralizadas para estabelecer acordos entre os sócios. Agora vamos extrapolar esse conceito e falar das DAOs.
Para tanto, imagine uma empresa sem um chefe ou cargos de liderança. No lugar disso, um programador estabelece as regras e coloca para serem executadas por um computador. A partir daí, a empresa estará pronta para atuar, sem que alguém precise gerenciá-la. Esse modelo já existe, e recebe o nome de Organização Autônoma Descentralizada (Decentralized Autonomous Organization), ou apenas DAO.
Para que as atividades dessa DAO sejam executadas, os Smart Contracts seguem as regras que foram codificadas em linguagem de software e, a partir daí, eles passam a ser os responsáveis por definir as interações possíveis entre os membros da empresa. Assim, a DAO pode ser considerada uma empresa totalmente robótica e virtual, com a capacidade de contratar e demitir funcionários.
Cerveja.dao
Para ficar mais claro, vamos retomar o exemplo das vending machines. Imagine que você resolve montar um “bar virtual”. A ideia é utilizar vending machines e aplicativo de celular para vender cervejas aos clientes sem um intermediário humano. O pagamento é feito via app em criptomoedas e a máquina entrega automaticamente a bebida gelada ao cliente. A partir daí, você escreve o código com as regras a serem cumpridas pelos Smart Contracts:
- a idade mínima dos consumidores (deve ser checada quando o usuário se cadastra no app);
- a marca das cervejas disponibilizadas para venda;
- o preço por unidade;
- a temperatura do freezer;
- o pagamento automático do aluguel pelo espaço;
- a contratação de funcionários (caso necessário);
- o envio automatizado da participação nas vendas para carteiras digitais;
- quando a máquina deve chamar o serviço de limpeza;
- quando o fornecedor deve ser informado sobre a reposição do estoque.
A ideia parece genial, no entanto, você não tem muito dinheiro para produzir as máquinas. Então você lança tokens no mercado e os coloca à venda. Cada holder desses tokens se torna uma espécie de “sócio” do negócio. Assim, eles têm direito a voto para definir os rumos do projeto e a receber um percentual pelas vendas de cervejas (proporcional à quantidade de tokens que possuem na carteira digital).
Pronto, você acabou de lançar uma DAO bastante promissora, a “cerveja.dao” (a propósito, o domínio NFT cerveja.dao está à venda na OpenSea).
Recordo que este conteúdo tem a única finalidade de educar e entreter. Qualquer decisão que você tomar no mercado depende exclusivamente de você. Mas caso decida levar essa ideia maluca adiante e fique rico, aceito tokens do seu projeto em agradecimento… ou pelo menos uma gelada! #recebidos).
The Dao
Voltando à realidade, a primeira DAO do mundo, chamada “The Dao”, era um projeto baseado em blockchain que visava a criação de uma organização descentralizada governada por seus token holders (os donos de tokens). Nesse sentido, cada unidade representaria um voto para decidir os caminhos da empresa por meio dos contratos inteligentes.
No entanto, foi descoberto um bug que permitiu a um hacker roubar milhões de dólares em tokens Dao. Isso expôs os riscos associados aos Smart Contracts, principalmente quando os códigos não são bem escritos, e acabou forçando um hard fork na rede Ethereum. Entenda o que é fork no nosso conteúdo detalhado.
Aspectos legais
Do ponto de vista do direito, a legalidade da DAO é contestável. Isso porque as leis brasileiras interpretam cada empresa como uma pessoa jurídica, assim conceituada: “a unidade de pessoas naturais ou de patrimônio, que visa à consecução de certos fins, reconhecida pela ordem jurídica como sujeito de direitos e obrigações”.
Logo, se a DAO não tem um representante legal, consequentemente ela não tem alguém que possa ser responsabilizado legalmente — cabe destacarmos que os membros de uma DAO podem ser totalmente anônimos.
Outro aspecto das DAOs que esbarram nas leis é a possibilidade que uma empresa digital e sem representantes abre para que ela opere livre de fronteiras. Assim, elas não seriam registradas em nenhum estado-nação, abrindo dúvidas sobre como os governos e órgãos reguladores locais aplicariam as leis a essas organizações.
Quais são os principais problemas e desvantagens dos Smart Contracts?
Até aqui, mostramos diversas vantagens dos Smart Contracts. Mas como nem tudo na vida são flores, eles também têm alguns pontos negativos. Entre eles, podemos destacar:
Bugs
Erros no código dos Smart Contracts resultam em brechas na segurança. Como consequência, eles ficam suscetíveis a ataques de hackers e a roubos de fundos (como aconteceu com “The Dao”).
Lentidão
Os Smart Contracts estão sujeitos a atrasos na rede blockchain. No entanto, à medida que a tecnologia evolui, como a substituição do mecanismo de consenso de prova de trabalho (PoW) pela prova de participação (PoS), a tendência é se tornar mais rápida.
Fraudes
Uma vez que qualquer pessoa pode criar tokens utilizando Smart Contracts, existem muitos projetos fraudulentos desenvolvidos para roubar fundos. E também moedas que não apresentam funcionalidade (as famosas “shitcoins”). Por isso é sempre importante tomar algumas medidas importantes, como:
- estudar os fundamentos;
- checar o endereço do contrato com o qual está interagindo;
- verificar block explorers (exploradores de blocos que mostram o histórico das transações dos Smart Contracts);
- desconfiar de airdrops (tokens dados gratuitamente — principalmente se pedirem para você realizar transações em troca);
- se precaver e seguir as nossas dicas para não cair em golpes.
Falta de regulação
Ainda não existe uma definição de como os Smart Contracts serão regulados pelo Estado. E isso pode gerar insegurança nas transações.
Outro problema relacionado aos Smart Contracts é a impossibilidade de que a tecnologia, por si só, consiga validar o que se passa no mundo físico. Para esses casos, os Contratos de Oráculo são uma solução. Conheça, a seguir.
Qual a função dos Contratos de Oráculo?
Para que os eventos do “mundo físico” presentes no Smart Contract tenham as ações executadas no momento correto em Blockchain, a contratação de um provedor de serviços online faz-se necessário. Isso é fundamental para garantir a confiança das partes.
As entidades ficam responsáveis por inserir o gatilho na rede que dispara a execução da ação. Esses provedores são chamados de Oráculos e atuam, por exemplo, em testamentos que precisam que as informações da morte sejam validadas ou em apostas esportivas que devem ter os resultados dos jogos inseridos no sistema.
Como vimos, os Smart Contracts possibilitam uma infinidade de ações auto-executáveis na definição de acordos e transações. Eles também são a base para a criação de plataformas descentralizadas, tokens e criptomoedas. Com um campo de atuação tão amplo, não fique assustado caso se tornem tão comuns quanto o smartphone que você carrega no bolso. Assim, aprofunde sempre o conhecimento e busque novas aplicações para a tecnologia.
Gostou de aprender sobre Smart Contracts com o De Coin Pra Lua? Então siga-nos no Youtube e no Spotify para acompanhar nossos vídeos em primeira mão. Nós também estamos no Instagram, Twitter e Telegram!
Leave a Reply