Prévia gratuita7 min de leitura

O que é um contrato inteligente?

Um contrato inteligente (smart contract) é um programa armazenado em uma blockchain que roda quando alguém o chama. Ele não é inteligente nem, no sentido jurídico, um contrato. É uma máquina de vendas automática: coloque a coisa certa, sai a coisa definida, e ninguém precisa aprovar.

As propriedades que importam

  • Determinístico: a mesma chamada no mesmo estado sempre produz o mesmo resultado.
  • Público: qualquer um pode ler o bytecode implantado e, geralmente, o código-fonte.
  • Autônomo: depois de implantado, roda sem o autor e, muitas vezes, sem nenhuma forma de ser parado.

"O código é a lei" é um alerta, não um slogan

Um contrato faz o que diz, não o que o autor quis dizer. Não existe cláusula sobre intenção nem juiz a quem recorrer. Se o código deixa alguém esvaziá-lo, isso não viola o contrato. É o contrato funcionando.

É por isso que auditorias existem, e por isso que um contrato não auditado que guarda dinheiro de verdade é um risco real, e não uma falha burocrática. É também por isso que a frase "o contrato é verificado" significa apenas que o código-fonte publicado corresponde ao bytecode implantado. Ela não diz absolutamente nada sobre se esse código é seguro.

Verificado significa "este é mesmo o código que está rodando". Não significa "este código é seguro", e confundir as duas coisas já custou muito dinheiro a muita gente.
O que é um contrato inteligente? · Crypto Academy